Files
gridpilot.gg/core/leagues/application/use-cases/RejectMembershipRequestUseCase.ts
2026-01-26 01:36:22 +01:00

17 lines
725 B
TypeScript

import { LeagueRepository } from '../ports/LeagueRepository';
import { DriverRepository } from '../../../racing/domain/repositories/DriverRepository';
import { LeagueEventPublisher } from '../ports/LeagueEventPublisher';
import { RejectMembershipRequestCommand } from '../ports/RejectMembershipRequestCommand';
export class RejectMembershipRequestUseCase {
constructor(
private readonly leagueRepository: LeagueRepository,
private readonly driverRepository: DriverRepository,
private readonly eventPublisher: LeagueEventPublisher,
) {}
async execute(command: RejectMembershipRequestCommand): Promise<void> {
await this.leagueRepository.removePendingRequest(command.leagueId, command.requestId);
}
}