45 lines
1.4 KiB
PHP
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,
|
|
]);
|
|
}
|
|
}
|