| Conditions | 3 |
| Paths | 1 |
| Total Lines | 25 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 11 | public function execute() |
||
| 12 | { |
||
| 13 | $guard = config('nova.guard') ?? config('auth.defaults.guard'); |
||
| 14 | |||
| 15 | Nova::resourcesIn(app_path('Nova')); |
||
| 16 | |||
| 17 | /** @var \BBSLab\NovaPermission\Contracts\Permission $permissionModel */ |
||
| 18 | $permissionModel = app(PermissionRegistrar::class)->getPermissionClass(); |
||
| 19 | |||
| 20 | collect(Nova::$resources)->filter(function ($resource) { |
||
| 21 | return $this->resourceIsNotExcluded($resource) && $this->resourceHasAbilities($resource); |
||
| 22 | })->each(function ($resource) use ($guard, $permissionModel) { |
||
| 23 | $group = class_basename($resource); |
||
| 24 | |||
| 25 | foreach ($resource::$permissionsForAbilities as $ability => $permission) { |
||
| 26 | $permissionModel->newQuery()->firstOrCreate([ |
||
| 27 | 'name' => $permission, |
||
| 28 | 'group' => $group, |
||
| 29 | 'guard_name' => $guard, |
||
| 30 | ]); |
||
| 31 | } |
||
| 32 | }); |
||
| 33 | |||
| 34 | $permissionModel->forgetCachedPermissions(); |
||
| 35 | } |
||
| 36 | |||
| 53 |