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]
);