radfusion/database/seeders/RoleSeeder.php
2024-12-31 21:58:21 +06:00

45 lines
1.4 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\Enums\Permission;
use App\Models\Enums\UserRole;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission as SpatiePermission;
use Spatie\Permission\Models\Role as SpatieRole;
class RoleSeeder extends Seeder
{
public function run(): void
{
$adm = SpatieRole::create(['name' => UserRole::Admin->name]);
$rad = SpatieRole::create(['name' => UserRole::Radiologist->name]);
$tech = SpatieRole::create(['name' => UserRole::Technician->name]);
$guest = SpatieRole::create(['name' => UserRole::Guest->name]);
foreach (Permission::cases() as $perm) {
SpatiePermission::create(['name' => $perm->value]);
}
$rad->givePermissionTo([
Permission::ReportCreate,
Permission::StudyDownload,
Permission::StudyMetadataView,
Permission::StudyNotesCreate,
Permission::StudyNotesView,
Permission::AttachmentDownload,
]);
$tech->givePermissionTo([
Permission::StudyDownload,
Permission::StudyMetadataView,
Permission::StudyMetadataEdit,
Permission::StudyNotesCreate,
Permission::StudyNotesView,
Permission::AttachmentUpload,
Permission::AttachmentDownload,
Permission::StudyArchive,
]);
}
}