76 lines
2.0 KiB
Dart
76 lines
2.0 KiB
Dart
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<Result<List<RoleCardModel>>> call({String? search}) =>
|
|
_repository.getRoleCards(search: search);
|
|
}
|
|
|
|
class GetRoleByIdUseCase {
|
|
GetRoleByIdUseCase(this._repository);
|
|
|
|
final RoleRepository _repository;
|
|
|
|
Future<Result<RoleModel>> call(String id) => _repository.getRoleById(id);
|
|
}
|
|
|
|
class GetPermissionMatrixUseCase {
|
|
GetPermissionMatrixUseCase(this._repository);
|
|
|
|
final RoleRepository _repository;
|
|
|
|
Future<Result<RolePermissionMatrix>> call(String roleId) =>
|
|
_repository.getPermissionMatrix(roleId);
|
|
}
|
|
|
|
class SavePermissionMatrixUseCase {
|
|
SavePermissionMatrixUseCase(this._repository);
|
|
|
|
final RoleRepository _repository;
|
|
|
|
Future<Result<void>> call(String roleId, RolePermissionMatrix matrix) =>
|
|
_repository.savePermissionMatrix(roleId, matrix);
|
|
}
|
|
|
|
class CreateRoleUseCase {
|
|
CreateRoleUseCase(this._repository);
|
|
|
|
final RoleRepository _repository;
|
|
|
|
Future<Result<RoleModel>> call(CreateRoleRequest request) =>
|
|
_repository.createRole(request);
|
|
}
|
|
|
|
class UpdateRoleUseCase {
|
|
UpdateRoleUseCase(this._repository);
|
|
|
|
final RoleRepository _repository;
|
|
|
|
Future<Result<RoleModel>> call(String id, UpdateRoleRequest request) =>
|
|
_repository.updateRole(id, request);
|
|
}
|
|
|
|
class DeleteRoleUseCase {
|
|
DeleteRoleUseCase(this._repository);
|
|
|
|
final RoleRepository _repository;
|
|
|
|
Future<Result<void>> call(String id) => _repository.deleteRole(id);
|
|
}
|
|
|
|
class GetPermissionCatalogUseCase {
|
|
GetPermissionCatalogUseCase(this._repository);
|
|
|
|
final RoleRepository _repository;
|
|
|
|
Future<Result<List<PermissionModuleCatalog>>> call() =>
|
|
_repository.getPermissionCatalog();
|
|
}
|