Seeders

1. PermissionGroupSeeder

Tạo 5 nhóm quyền:

Group name Label
company_management Quản lý công ty
branch_management Quản lý chi nhánh
department_management Quản lý phòng ban
employee_management Quản lý nhân viên
role_permission Phân quyền & Vai trò

2. PermissionSeeder

Tạo 21 permissions, mỗi permission thuộc 1 group:

Group Permissions
company_management company.view, company.create, company.update, company.delete
branch_management branch.view, branch.create, branch.update, branch.delete
department_management department.view, department.create, department.update, department.delete
employee_management employee.view, employee.create, employee.update, employee.delete
role_permission role.view, role.create, role.update, role.delete, permission.assign

Tất cả đều dùng guard employee.

3. RoleSeeder

Tạo 3 roles mặc định:

Role Guard Ghi chú
admin employee Được gán tất cả 21 permissions
manager employee Chưa gán permission (cần gán thủ công)
staff employee Chưa gán permission (cần gán thủ công)

Chạy seeders

php artisan db:seed

# Hoặc chạy riêng từng seeder:
php artisan db:seed --class=PermissionGroupSeeder
php artisan db:seed --class=PermissionSeeder
php artisan db:seed --class=RoleSeeder

Thêm permission mới

use App\Models\Permission;
use App\Models\PermissionGroup;

$group = PermissionGroup::firstOrCreate(['group_name' => 'report_management']);

Permission::firstOrCreate(
    ['name' => 'report.view', 'guard_name' => 'employee'],
    ['permission_group_id' => $group->id]
);
← Middleware & Routes Multi-tenant với Team Feature →