import { ApiProperty } from '@nestjs/swagger'; import { IsOptional, IsString } from 'class-validator'; export type DashboardFeedItemType = | 'friend-joined-league' | 'friend-joined-team' | 'friend-finished-race' | 'friend-new-personal-best' | 'new-race-scheduled' | 'new-result-posted' | 'league-highlight'; export class DashboardFeedItemSummaryDTO { @ApiProperty() @IsString() id!: string; @ApiProperty({ enum: [ 'friend-joined-league', 'friend-joined-team', 'friend-finished-race', 'friend-new-personal-best', 'new-race-scheduled', 'new-result-posted', 'league-highlight', ], }) type!: DashboardFeedItemType; @ApiProperty() @IsString() headline!: string; @ApiProperty({ required: false }) @IsOptional() @IsString() body?: string; @ApiProperty() @IsString() timestamp!: string; @ApiProperty({ required: false }) @IsOptional() @IsString() ctaLabel?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() ctaHref?: string; }