refactor use cases
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
import type { IProtestRepository } from '../../domain/repositories/IProtestRepository';
|
||||
import type { IRaceRepository } from '../../domain/repositories/IRaceRepository';
|
||||
import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository';
|
||||
import type { Logger, UseCaseOutputPort } from '@core/shared/application';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
|
||||
|
||||
@@ -34,10 +34,9 @@ export class ReviewProtestUseCase {
|
||||
private readonly raceRepository: IRaceRepository,
|
||||
private readonly leagueMembershipRepository: ILeagueMembershipRepository,
|
||||
private readonly logger: Logger,
|
||||
private readonly output: UseCaseOutputPort<ReviewProtestResult>,
|
||||
) {}
|
||||
|
||||
async execute(input: ReviewProtestInput): Promise<Result<void, ReviewProtestApplicationError>> {
|
||||
async execute(input: ReviewProtestInput): Promise<Result<ReviewProtestResult, ReviewProtestApplicationError>> {
|
||||
this.logger.debug('Executing ReviewProtestUseCase', { input });
|
||||
|
||||
try {
|
||||
@@ -93,15 +92,13 @@ export class ReviewProtestUseCase {
|
||||
status: input.decision === 'uphold' ? 'upheld' : 'dismissed',
|
||||
};
|
||||
|
||||
this.output.present(result);
|
||||
|
||||
this.logger.info('Protest reviewed successfully', {
|
||||
protestId: result.protestId,
|
||||
leagueId: result.leagueId,
|
||||
status: result.status,
|
||||
});
|
||||
|
||||
return Result.ok(undefined);
|
||||
return Result.ok(result);
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : 'Failed to review protest';
|
||||
this.logger.error('Failed to review protest', new Error(message));
|
||||
|
||||
Reference in New Issue
Block a user