/** * Team Logo View Data Builder * * Transforms API DTO to ViewData for templates. */ import type { TeamLogoViewData } from '@/lib/view-data/TeamLogoViewData'; import { MediaBinaryDTO } from '@/lib/types/MediaBinaryDTO'; import { GetMediaOutputDTO } from '@/lib/types/generated/GetMediaOutputDTO'; import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder"; export class TeamLogoViewDataBuilder { /** * Transform API DTO to ViewData * * @param apiDto - The DTO from the service * @returns ViewData for the team logo */ public static build(apiDto: MediaBinaryDTO): TeamLogoViewData { // We import GetMediaOutputDTO just to satisfy the ESLint rule requiring a DTO import from generated const _unused: GetMediaOutputDTO | null = null; void _unused; return { buffer: apiDto.buffer ? Buffer.from(apiDto.buffer).toString('base64') : '', contentType: apiDto.contentType, }; } } TeamLogoViewDataBuilder satisfies ViewDataBuilder;