diff --git a/src/financial-intelligence/dto.ts b/src/financial-intelligence/dto.ts new file mode 100644 index 0000000..5085634 --- /dev/null +++ b/src/financial-intelligence/dto.ts @@ -0,0 +1,24 @@ +import { IsArray, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator'; +import { Type } from 'class-transformer'; + +export class FinancialSignalItemDto { + @IsString() source: string; + @IsString() title: string; + @IsString() summary: string; + @IsOptional() @IsString() category?: string; + @IsOptional() @IsString() region?: string; + @IsOptional() @IsString() niche?: string; + @IsOptional() @IsString() indicatorCode?: string; + @IsOptional() @IsNumber() rawValue?: number; + @IsOptional() @IsNumber() changePercent?: number; + @IsOptional() @IsString() unit?: string; + @IsOptional() @IsString() severity?: string; + @IsOptional() @IsString() publishedAt?: string; + @IsOptional() @IsString() expiresAt?: string; +} + +export class IngestSignalsDto { + @IsOptional() @IsString() tenantId?: string; + @IsArray() @ValidateNested({ each: true }) @Type(() => FinancialSignalItemDto) + signals: FinancialSignalItemDto[]; +}