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 { await this.leagueRepository.updateLeagueMember(command.leagueId, command.targetDriverId, { role: 'member' }); } }