view data fixes
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m51s
Contract Testing / contract-snapshot (pull_request) Has been skipped

This commit is contained in:
2026-01-24 12:14:08 +01:00
parent dde77e717a
commit 046852703f
94 changed files with 1333 additions and 4885 deletions

View File

@@ -1,21 +1,29 @@
/**
* Sponsorship Requests View Data Builder
*
* Transforms API DTO to ViewData for templates.
*/
import type { GetPendingSponsorshipRequestsOutputDTO } from '@/lib/types/generated/GetPendingSponsorshipRequestsOutputDTO';
import type { SponsorshipRequestsViewData } from '@/lib/view-data/SponsorshipRequestsViewData';
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
export class SponsorshipRequestsViewDataBuilder implements ViewDataBuilder<any, any> {
build(input: any): any {
return SponsorshipRequestsViewDataBuilder.build(input);
}
static build(apiDto: GetPendingSponsorshipRequestsOutputDTO): SponsorshipRequestsViewData {
export class SponsorshipRequestsViewDataBuilder {
/**
* Transform API DTO to ViewData
*
* @param apiDto - The DTO from the service
* @returns ViewData for the sponsorship requests
*/
public static build(apiDto: GetPendingSponsorshipRequestsOutputDTO): SponsorshipRequestsViewData {
return {
sections: [
{
entityType: apiDto.entityType as 'driver' | 'team' | 'season',
entityId: apiDto.entityId,
entityName: apiDto.entityType === 'driver' ? 'Driver' : apiDto.entityType,
requests: apiDto.requests.map((request) => ({
requests: (apiDto.requests || []).map((request) => ({
id: request.id,
sponsorId: request.sponsorId,
sponsorName: request.sponsorName,
@@ -28,3 +36,5 @@ export class SponsorshipRequestsViewDataBuilder implements ViewDataBuilder<any,
};
}
}
SponsorshipRequestsViewDataBuilder satisfies ViewDataBuilder<GetPendingSponsorshipRequestsOutputDTO, SponsorshipRequestsViewData>;