Files
gridpilot.gg/core/leagues/application/use-cases/DemoteAdminUseCase.ts
Marc Mintel 9ccecbf3bb
Some checks failed
CI / lint-typecheck (pull_request) Failing after 4m51s
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
integration tests
2026-01-24 01:13:49 +01:00

17 lines
673 B
TypeScript

import { LeagueRepository } from '../ports/LeagueRepository';
import { DriverRepository } from '../ports/DriverRepository';
import { LeagueEventPublisher } from '../ports/LeagueEventPublisher';
import { DemoteAdminCommand } from '../ports/DemoteAdminCommand';
export class DemoteAdminUseCase {
constructor(
private readonly leagueRepository: LeagueRepository,
private readonly driverRepository: DriverRepository,
private readonly eventPublisher: LeagueEventPublisher,
) {}
async execute(command: DemoteAdminCommand): Promise<void> {
await this.leagueRepository.updateLeagueMember(command.leagueId, command.targetDriverId, { role: 'member' });
}
}