<?php
namespace Database\Seeders;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Database\Seeder;

class RolesAndPermissionsSeeder  extends Seeder
{
    public function run()
    {
        // Permissions for Admin
        $adminPermission = Permission::create(['name' => 'admin access']);
        
        // Permissions for Patient
        $viewPatientPermission = Permission::create(['name' => 'view patient']);
        
        // Permissions for User
        $createUserPermission = Permission::create(['name' => 'create user']);
        
        // Permissions for HCP (Healthcare Providers)
        $manageHcpPermission = Permission::create(['name' => 'manage hcp']);
        
        // Create Roles for Admins
        $adminRole = Role::create(['name' => 'admin']);
        $adminRole->givePermissionTo($adminPermission);
        
        // Create Roles for Patients
        $patientRole = Role::create(['name' => 'patient']);
        $patientRole->givePermissionTo($viewPatientPermission);
        
        // Create Roles for Users
        $userRole = Role::create(['name' => 'user']);
        $userRole->givePermissionTo($createUserPermission);
        
        // Create Roles for HCPs 
        $hcpRole = Role::create(['name' => 'hcp']);
        $hcpRole->givePermissionTo($manageHcpPermission);
    }
}
?>  