Files
gridpilot.gg/apps/website/lib/builders/view-data/GenerateAvatarsViewDataBuilder.ts
Marc Mintel d97f50ed72
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 6m4s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-23 11:59:49 +01:00

33 lines
1.0 KiB
TypeScript

/**
* GenerateAvatars ViewData Builder
*
* Transforms avatar generation result into ViewData for templates.
* Must be used in mutations to avoid returning DTOs directly.
*/
import { RequestAvatarGenerationOutputDTO } from '@/lib/types/generated/RequestAvatarGenerationOutputDTO';
import { GenerateAvatarsViewData } from './GenerateAvatarsViewData';
import { ViewData } from '@/lib/contracts/view-data/ViewData';
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
export class GenerateAvatarsViewDataBuilder implements ViewDataBuilder<any, any> {
build(input: any): any {
return GenerateAvatarsViewDataBuilder.build(input);
}
static build(
/**
* Transform DTO into ViewData
*
* @param apiDto - The API DTO to transform
* @returns ViewData for templates
*/
static build(apiDto: RequestAvatarGenerationOutputDTO): GenerateAvatarsViewData {
return {
success: apiDto.success,
avatarUrls: apiDto.avatarUrls || [],
errorMessage: apiDto.errorMessage,
};
}
}