singleloginsystem/database/seeders/DefaultRoleWithPermissionSeeder.php
= d7c2491fed Refactor: consolidate and replace permission enums for streamlined access management
- Replaced `AccessManager`, `Apps`, and `Settings` enums with modular enums like `RoleAndAppsPermissionEnum`, `AppPermissionEnum`, etc.
- Updated route, view, Livewire components, and tests to use new modular enums.
- Enhanced `DefaultRoleWithPermissionSeeder` and `PermissionSeeder` with updated enums.
- Added README in the Enums/Permissions directory to explain usage and naming conventions.
- Refactored dashboard sidebar and route definitions for better enum-based permission handling.
- Improved test coverage to validate new permission enums functionality.
2026-05-25 06:18:09 +00:00

28 lines
774 B
PHP

<?php
declare(strict_types=1);
namespace Database\Seeders;
use App\Enums\DefaultUserRole;
use App\Enums\Permissions\{ProfilePermissionEnum, SecurityPermissionEnum};
use App\Models\Role;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
class DefaultRoleWithPermissionSeeder extends Seeder
{
public function run(): void
{
$role = Role::findOrCreate(DefaultUserRole::Admin->value);
$role->givePermissionTo(Permission::all());
$role = Role::findOrCreate(DefaultUserRole::User->value);
$this->syncUserPermissions($role);
}
private function syncUserPermissions(Role $role): void
{
$role->givePermissionTo(ProfilePermissionEnum::Access->value, SecurityPermissionEnum::Access->value);
}
}