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
25 lines
942 B
TypeScript
25 lines
942 B
TypeScript
import { LeagueRepository } from '../ports/LeagueRepository';
|
|
import { DriverRepository } from '../ports/DriverRepository';
|
|
import { EventPublisher } from '../ports/EventPublisher';
|
|
import { RemoveMemberCommand } from '../ports/RemoveMemberCommand';
|
|
|
|
export class RemoveMemberUseCase {
|
|
constructor(
|
|
private readonly leagueRepository: LeagueRepository,
|
|
private readonly driverRepository: DriverRepository,
|
|
private readonly eventPublisher: EventPublisher,
|
|
) {}
|
|
|
|
async execute(command: RemoveMemberCommand): Promise<void> {
|
|
// TODO: Implement remove member logic
|
|
// This is a placeholder implementation
|
|
// In a real implementation, this would:
|
|
// 1. Validate the league exists
|
|
// 2. Validate the admin has permission to remove
|
|
// 3. Find the member to remove
|
|
// 4. Remove the member from the league
|
|
// 5. Emit appropriate events
|
|
throw new Error('RemoveMemberUseCase not implemented');
|
|
}
|
|
}
|