42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { IsString, IsArray, IsObject } from 'class-validator';
|
|
import { SponsorDashboardMetricsDTO } from './SponsorDashboardMetricsDTO';
|
|
import { SponsoredLeagueDTO } from './SponsoredLeagueDTO';
|
|
import { SponsorDashboardInvestmentDTO } from './SponsorDashboardInvestmentDTO';
|
|
import { SponsorshipDTO } from './SponsorshipDTO';
|
|
import { ActivityItemDTO } from './ActivityItemDTO';
|
|
import { RenewalAlertDTO } from './RenewalAlertDTO';
|
|
|
|
export class SponsorDashboardDTO {
|
|
@ApiProperty()
|
|
@IsString()
|
|
sponsorId: string;
|
|
|
|
@ApiProperty()
|
|
@IsString()
|
|
sponsorName: string;
|
|
|
|
@ApiProperty({ type: SponsorDashboardMetricsDTO })
|
|
metrics: SponsorDashboardMetricsDTO;
|
|
|
|
@ApiProperty({ type: [SponsoredLeagueDTO] })
|
|
sponsoredLeagues: SponsoredLeagueDTO[];
|
|
|
|
@ApiProperty({ type: SponsorDashboardInvestmentDTO })
|
|
investment: SponsorDashboardInvestmentDTO;
|
|
|
|
@ApiProperty({ type: Object })
|
|
sponsorships: {
|
|
leagues: SponsorshipDTO[];
|
|
teams: SponsorshipDTO[];
|
|
drivers: SponsorshipDTO[];
|
|
races: SponsorshipDTO[];
|
|
platform: SponsorshipDTO[];
|
|
};
|
|
|
|
@ApiProperty({ type: [ActivityItemDTO] })
|
|
recentActivity: ActivityItemDTO[];
|
|
|
|
@ApiProperty({ type: [RenewalAlertDTO] })
|
|
upcomingRenewals: RenewalAlertDTO[];
|
|
} |