File: /home/posscale/public_html/printmanager/database/seeders/RolesAndPermissionsSeeder.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
{
// Create base permissions (display names: Manage Customer, Manage Users, Manage Printers, Monitoring Settings, Notification Settings)
$permissions = [
'manage_customers', // Manage Customer
'manage_users', // Manage Users
'manage_printers', // Manage Printers
'monitoring_settings', // Monitoring Settings
'notification_settings', // Notification Settings
];
foreach ($permissions as $name) {
Permission::firstOrCreate([
'name' => $name,
'guard_name' => 'web',
]);
}
// Create base roles for the application (no permissions assigned here; manage via super-admin panel)
Role::firstOrCreate([
'name' => 'admin',
'guard_name' => 'web',
]);
Role::firstOrCreate([
'name' => 'manager',
'guard_name' => 'web',
]);
Role::firstOrCreate([
'name' => 'user',
'guard_name' => 'web',
]);
}
}