Files
unionflow-mobile-apps/lib/features/finance_workflow/domain/usecases/reject_transaction.dart
dahoud d094d6db9c Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts).

Signed-off-by: lions dev Team
2026-03-15 16:30:08 +00:00

34 lines
873 B
Dart

/// Use case: Rejeter une transaction
library reject_transaction;
import 'package:dartz/dartz.dart';
import 'package:injectable/injectable.dart';
import '../../../../core/error/failures.dart';
import '../entities/transaction_approval.dart';
import '../repositories/finance_workflow_repository.dart';
@lazySingleton
class RejectTransaction {
final FinanceWorkflowRepository repository;
RejectTransaction(this.repository);
Future<Either<Failure, TransactionApproval>> call({
required String approvalId,
required String reason,
}) async {
if (approvalId.isEmpty) {
return Left(ValidationFailure('ID approbation requis'));
}
if (reason.trim().isEmpty) {
return Left(ValidationFailure('Raison du rejet requise'));
}
return await repository.rejectTransaction(
approvalId: approvalId,
reason: reason,
);
}
}