Add batch valuation (POST /analytics/valuation/batch, max 50 properties), valuation comparison (POST /analytics/valuation/compare, 2-5 properties), and history endpoint (GET /analytics/valuation/history/:propertyId) with confidence explanation helper. Frontend: enhanced valuation form with project autocomplete and deep analysis toggle, results with confidence badges and price range visualization, comparables table, history chart, market context card, and PDF export. Co-Authored-By: Paperclip <noreply@paperclip.ing>
18 lines
548 B
TypeScript
18 lines
548 B
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { Transform } from 'class-transformer';
|
|
import { ArrayMaxSize, ArrayMinSize, IsArray, IsString } from 'class-validator';
|
|
|
|
export class ValuationComparisonDto {
|
|
@ApiProperty({
|
|
description: 'Array of property IDs to compare (2-5 properties)',
|
|
example: ['prop-1', 'prop-2', 'prop-3'],
|
|
type: [String],
|
|
})
|
|
@IsArray()
|
|
@ArrayMinSize(2)
|
|
@ArrayMaxSize(5)
|
|
@IsString({ each: true })
|
|
@Transform(({ value }) => (Array.isArray(value) ? value : [value]))
|
|
propertyIds!: string[];
|
|
}
|