diff --git a/Database/Seeders/CompanyDatabaseSeeder.php b/Database/Seeders/CompanyDatabaseSeeder.php index 49302c7..7d300cb 100644 --- a/Database/Seeders/CompanyDatabaseSeeder.php +++ b/Database/Seeders/CompanyDatabaseSeeder.php @@ -1,21 +1,65 @@ forgetCachedPermissions(); - // $this->call("OthersTableSeeder"); + $data = $this->data(); + foreach ($data as $value) { + $permission = Permission::create([ + 'name' => $value['name'], + 'permission_group_id' => $value['group'], + ]); + + $role = Role::find(1); + $role->givePermissionTo($permission); + } + } + + public function data() + { + $data = []; + // list of model permission + $model = ['company']; + + $permissionGroup = PermissionGroup::create([ + 'name' => 'company' + ]); + + 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; + } } -}