diff --git a/src/AppServiceProvider.php b/src/AppServiceProvider.php index 170b2dbd..b641352f 100644 --- a/src/AppServiceProvider.php +++ b/src/AppServiceProvider.php @@ -43,6 +43,13 @@ private function loadMiddleware() VerifyActiveState::class ); + $this->app['router']->middlewareGroup('core-api', [ + VerifyActiveState::class, + ActionLogger::class, + VerifyRouteAccess::class, + SetLanguage::class, + ]); + $this->app['router']->middlewareGroup('core', [ VerifyActiveState::class, ActionLogger::class, diff --git a/src/Commands/Upgrade.php b/src/Commands/Upgrade.php index 5708202a..551d3cf8 100644 --- a/src/Commands/Upgrade.php +++ b/src/Commands/Upgrade.php @@ -10,6 +10,7 @@ use LaravelEnso\Core\Services\Upgrades\ClientPayments; use LaravelEnso\Core\Services\Upgrades\Companies; use LaravelEnso\Core\Services\Upgrades\ControlPanel; +use LaravelEnso\Core\Services\Upgrades\ControlPanelApiPermission; use LaravelEnso\Core\Services\Upgrades\People; use LaravelEnso\Core\Services\Upgrades\PosterMorphKey; use LaravelEnso\Core\Services\Upgrades\Products; @@ -42,6 +43,7 @@ class Upgrade extends Command RenameMigrations::class, UserResetPasswordPermissions::class, PosterMorphKey::class, + ControlPanelApiPermission::class, ]; public function handle() diff --git a/src/Services/Upgrades/AddressesPermissions.php b/src/Services/Upgrades/AddressesPermissions.php index f750589a..203d5ebb 100644 --- a/src/Services/Upgrades/AddressesPermissions.php +++ b/src/Services/Upgrades/AddressesPermissions.php @@ -13,6 +13,7 @@ class AddressesPermissions implements MigratesStructure ['name' => 'core.addresses.options', 'description' => 'Get addresses for select', 'is_default' => false], ['name' => 'core.addresses.localities', 'description' => 'Get localities for the select', 'is_default' => false], ['name' => 'core.addresses.regions', 'description' => 'Get regions for the select', 'is_default' => false], + ['name' => 'core.addresses.show', 'description' => 'Get Address', 'is_default' => false], ]; protected $roles = ['admin', 'supervisor']; diff --git a/src/Services/Upgrades/ControlPanelApiPermission.php b/src/Services/Upgrades/ControlPanelApiPermission.php new file mode 100644 index 00000000..3e4cecba --- /dev/null +++ b/src/Services/Upgrades/ControlPanelApiPermission.php @@ -0,0 +1,27 @@ + 'apis.controlPanel.statistics', + 'api.controlPanelApi.actions' => 'apis.controlPanel.actions', + 'api.controlPanelApi.action' => 'apis.controlPanel.action', + ]; + + public function migrateData(): void + { + (new Collection($this->permissions)) + ->each(fn ($to, $from) => Permission::whereName($from)->update(['name' => $to])); + } + + public function isMigrated(): bool + { + return Permission::whereIn('name', array_keys($this->permissions))->doesntExist(); + } +}