Enhance MigrationController and ShieldSeeder for improved data migration and role management

- Added new migrators: ModelHasRolesMigrator and OnlinePaymentsMigrator to MigrationController.
- Introduced a test method in MigrationController to facilitate online payments migration.
- Updated ShieldSeeder to include role IDs for better role management and added new roles with specific IDs.
This commit is contained in:
Mekan1206
2025-12-21 20:58:10 +05:00
parent 749208ac97
commit a5bc322170
4 changed files with 92 additions and 7 deletions

View File

@@ -13,7 +13,7 @@ class ShieldSeeder extends Seeder
{
app()[PermissionRegistrar::class]->forgetCachedPermissions();
$rolesWithPermissions = '[{"name":"super_admin","guard_name":"web","permissions":["ViewAny:Role","View:Role","Create:Role","Update:Role","Delete:Role","Restore:Role","ForceDelete:Role","ForceDeleteAny:Role","RestoreAny:Role","Replicate:Role","Reorder:Role"]}]';
$rolesWithPermissions = '[{"id":2,"name":"super_admin","guard_name":"web","permissions":["ViewAny:Role","View:Role","Create:Role","Update:Role","Delete:Role","Restore:Role","ForceDelete:Role","ForceDeleteAny:Role","RestoreAny:Role","Replicate:Role","Reorder:Role"]}]';
$directPermissions = '[]';
static::makeRolesWithPermissions($rolesWithPermissions);
@@ -32,26 +32,32 @@ class ShieldSeeder extends Seeder
$additionalRoles = collect([
[
'id' => 3,
'name' => 'admin',
'guard_name' => 'web',
],
[
'id' => 4,
'name' => 'operator',
'guard_name' => 'web',
],
[
'id' => 10,
'name' => 'operator_card',
'guard_name' => 'web',
],
[
'id' => 11,
'name' => 'operator_loan',
'guard_name' => 'web',
],
[
'id' => 12,
'name' => 'client',
'guard_name' => 'web',
],
[
'id' => 6,
'name' => 'currency_maintainer',
'guard_name' => 'web',
],
@@ -74,6 +80,7 @@ class ShieldSeeder extends Seeder
foreach ($rolePlusPermissions as $rolePlusPermission) {
$role = $roleModel::firstOrCreate([
'id' => $rolePlusPermission['id'],
'name' => $rolePlusPermission['name'],
'guard_name' => $rolePlusPermission['guard_name'],
]);