Laravel 13 + Livewire/Volt app for managing client organizations, documents, passwords, flexible assets, virtual machines, contacts, domains, todos, shortcuts, and role-based user administration.
35 lines
896 B
PHP
35 lines
896 B
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Spatie\Permission\Models\Permission;
|
|
use Spatie\Permission\Models\Role;
|
|
|
|
class RolesAndPermissionsSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$permissions = [
|
|
'manage-users',
|
|
'manage-asset-types',
|
|
'view-content',
|
|
'edit-content',
|
|
'delete-content',
|
|
];
|
|
|
|
foreach ($permissions as $permission) {
|
|
Permission::findOrCreate($permission);
|
|
}
|
|
|
|
$admin = Role::findOrCreate('Administrateur');
|
|
$admin->syncPermissions($permissions);
|
|
|
|
$technician = Role::findOrCreate('Technicien');
|
|
$technician->syncPermissions(['view-content', 'edit-content', 'delete-content']);
|
|
|
|
$readOnly = Role::findOrCreate('Lecture seule');
|
|
$readOnly->syncPermissions(['view-content']);
|
|
}
|
|
}
|