import { type PropertyType } from '@prisma/client';
import { type FloodZoneRisk } from '../../../domain/services/avm-service';

export class PredictValuationQuery {
  constructor(
    public readonly userId: string | null,
    public readonly propertyType: PropertyType,
    public readonly area: number,
    public readonly district: string,
    public readonly city: string,
    public readonly bedrooms?: number,
    public readonly bathrooms?: number,
    public readonly floors?: number,
    public readonly frontage?: number,
    public readonly roadWidth?: number,
    public readonly yearBuilt?: number,
    public readonly hasLegalPaper?: boolean,
    public readonly latitude?: number,
    public readonly longitude?: number,
    public readonly projectId?: string,
    public readonly imageUrl?: string,
    public readonly description?: string,
    public readonly deepAnalysis?: boolean,
    public readonly useV2?: boolean,
    public readonly distanceToHospitalKm?: number,
    public readonly distanceToParkKm?: number,
    public readonly distanceToMallKm?: number,
    public readonly floodZoneRisk?: FloodZoneRisk,
    public readonly hasElevator?: boolean,
    public readonly hasParking?: boolean,
    public readonly hasPool?: boolean,
  ) {}
}
