import '../../../../core/network/api_handler.dart'; import '../../../../shared/models/permission_matrix_models.dart'; import '../../../../shared/models/role_model.dart'; import '../../../../shared/models/user_management_models.dart'; import '../repositories/role_repository.dart'; class GetRoleCardsUseCase { GetRoleCardsUseCase(this._repository); final RoleRepository _repository; Future>> call({String? search}) => _repository.getRoleCards(search: search); } class GetRoleByIdUseCase { GetRoleByIdUseCase(this._repository); final RoleRepository _repository; Future> call(String id) => _repository.getRoleById(id); } class GetPermissionMatrixUseCase { GetPermissionMatrixUseCase(this._repository); final RoleRepository _repository; Future> call(String roleId) => _repository.getPermissionMatrix(roleId); } class SavePermissionMatrixUseCase { SavePermissionMatrixUseCase(this._repository); final RoleRepository _repository; Future> call(String roleId, RolePermissionMatrix matrix) => _repository.savePermissionMatrix(roleId, matrix); } class CreateRoleUseCase { CreateRoleUseCase(this._repository); final RoleRepository _repository; Future> call(CreateRoleRequest request) => _repository.createRole(request); } class UpdateRoleUseCase { UpdateRoleUseCase(this._repository); final RoleRepository _repository; Future> call(String id, UpdateRoleRequest request) => _repository.updateRole(id, request); } class DeleteRoleUseCase { DeleteRoleUseCase(this._repository); final RoleRepository _repository; Future> call(String id) => _repository.deleteRole(id); } class GetPermissionCatalogUseCase { GetPermissionCatalogUseCase(this._repository); final RoleRepository _repository; Future>> call() => _repository.getPermissionCatalog(); }