view data fixes
This commit is contained in:
@@ -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>;
|
||||
|
||||
Reference in New Issue
Block a user