Skip to content

Commit 988fef4

Browse files
committed
feat: Añadir mixin PermissionMixin para gestionar permisos de usuario
1 parent d152c74 commit 988fef4

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import 'package:boilerplate_frontend_mobile_flutter/app/services/permission_service.dart';
2+
3+
mixin PermissionMixin {
4+
final PermissionService _permissionService = PermissionService.instance;
5+
6+
/// Verifica si el usuario tiene un permiso específico
7+
bool hasPermission(String permission) {
8+
return _permissionService.hasPermission(permission);
9+
}
10+
11+
/// Verifica si el usuario tiene alguno de los permisos especificados
12+
bool hasAnyPermission(List<String> permissions) {
13+
return _permissionService.hasAnyPermission(permissions);
14+
}
15+
16+
/// Verifica si el usuario tiene todos los permisos especificados
17+
bool hasAllPermissions(List<String> permissions) {
18+
return _permissionService.hasAllPermissions(permissions);
19+
}
20+
21+
/// Verifica si puede acceder a un módulo
22+
bool canAccessView(String module) {
23+
return _permissionService.canAccessView(module);
24+
}
25+
26+
/// Verifica si puede ver/mostrar un recurso
27+
bool canView(String module) {
28+
return hasAnyPermission(['$module:index', '$module:view', '$module:show']);
29+
}
30+
31+
/// Verifica si puede mostrar detalles de un recurso
32+
bool canShow(String module) {
33+
return hasPermission('$module:show');
34+
}
35+
36+
/// Verifica si puede crear un recurso
37+
bool canCreate(String module) {
38+
return _permissionService.canCreate(module);
39+
}
40+
41+
/// Verifica si puede editar un recurso
42+
bool canEdit(String module) {
43+
return _permissionService.canEdit(module);
44+
}
45+
46+
/// Verifica si puede eliminar un recurso
47+
bool canDelete(String module) {
48+
return _permissionService.canDelete(module);
49+
}
50+
51+
/// Obtiene todos los permisos CRUD para un módulo
52+
Map<String, bool> getCrudPermissions(String module) {
53+
return _permissionService.getCrudPermissions(module);
54+
}
55+
}

0 commit comments

Comments
 (0)