Files
gridpilot.gg/adapters/media/ports/InMemoryImageServiceAdapter.ts
2026-01-16 15:20:25 +01:00

28 lines
1.1 KiB
TypeScript

import type { ImageServicePort } from '@core/racing/application/ports/ImageServicePort';
import type { Logger } from '@core/shared/domain/Logger';
export class InMemoryImageServiceAdapter implements ImageServicePort {
constructor(private readonly logger: Logger) {
this.logger.info('InMemoryImageServiceAdapter initialized.');
}
getDriverAvatar(driverId: string): string {
this.logger.debug(`[InMemoryImageServiceAdapter] Getting avatar for driver: ${driverId}`);
return `/media/avatar/${driverId}`;
}
getTeamLogo(teamId: string): string {
this.logger.debug(`[InMemoryImageServiceAdapter] Getting logo for team: ${teamId}`);
return `/media/teams/${teamId}/logo`;
}
getLeagueCover(leagueId: string): string {
this.logger.debug(`[InMemoryImageServiceAdapter] Getting cover for league: ${leagueId}`);
return `/media/leagues/${leagueId}/cover`;
}
getLeagueLogo(leagueId: string): string {
this.logger.debug(`[InMemoryImageServiceAdapter] Getting logo for league: ${leagueId}`);
return `/media/leagues/${leagueId}/logo`;
}
}