integration tests
Some checks failed
CI / lint-typecheck (pull_request) Failing after 4m50s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped
Some checks failed
CI / lint-typecheck (pull_request) Failing after 4m50s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped
This commit is contained in:
24
core/leagues/application/use-cases/LeaveLeagueUseCase.ts
Normal file
24
core/leagues/application/use-cases/LeaveLeagueUseCase.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { LeagueRepository } from '../ports/LeagueRepository';
|
||||
import { DriverRepository } from '../ports/DriverRepository';
|
||||
import { EventPublisher } from '../ports/EventPublisher';
|
||||
import { LeaveLeagueCommand } from '../ports/LeaveLeagueCommand';
|
||||
|
||||
export class LeaveLeagueUseCase {
|
||||
constructor(
|
||||
private readonly leagueRepository: LeagueRepository,
|
||||
private readonly driverRepository: DriverRepository,
|
||||
private readonly eventPublisher: EventPublisher,
|
||||
) {}
|
||||
|
||||
async execute(command: LeaveLeagueCommand): Promise<void> {
|
||||
// TODO: Implement leave league logic
|
||||
// This is a placeholder implementation
|
||||
// In a real implementation, this would:
|
||||
// 1. Validate the league exists
|
||||
// 2. Validate the driver exists
|
||||
// 3. Check if the driver is a member of the league
|
||||
// 4. Remove the driver from the league
|
||||
// 5. Emit appropriate events
|
||||
throw new Error('LeaveLeagueUseCase not implemented');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user