diff --git a/Database/Seeders/LogsDatabaseSeeder.php b/Database/Seeders/LogsDatabaseSeeder.php new file mode 100644 index 0000000..e0324a6 --- /dev/null +++ b/Database/Seeders/LogsDatabaseSeeder.php @@ -0,0 +1,66 @@ +forgetCachedPermissions(); + + $data = $this->data(); + foreach ($data as $value) { + $permission = Permission::updateOrCreate([ + 'name' => $value['name'] + ], [ + 'permission_group_id' => $value['group'], + ]); + + $role = Role::find(1); + $role->givePermissionTo($permission); + } + } + + public function data() + { + $data = []; + // list of model permission + $model = ['system']; + + $permissionGroup = PermissionGroup::create([ + 'name' => 'system' + ]); + + foreach ($model as $value) { + foreach ($this->crudActions($value) as $action) { + $data[] = ['name' => $action, 'group' => $permissionGroup->id]; + } + } + + return $data; + } + + public function crudActions($name) + { + $actions = []; + // list of permission actions + $crud = ['create', 'read', 'update', 'delete']; + + foreach ($crud as $value) { + $actions[] = $name . '.' . $value; + } + + return $actions; + } + }