import type { IndustrialLeaseType, IndustrialPropertyType } from '@prisma/client';

export class CreateIndustrialListingCommand {
  constructor(
    public readonly parkId: string,
    public readonly sellerId: string,
    public readonly agentId: string | null,
    public readonly propertyType: IndustrialPropertyType,
    public readonly leaseType: IndustrialLeaseType,
    public readonly title: string,
    public readonly description: string | null,
    public readonly areaM2: number,
    public readonly ceilingHeightM: number | null,
    public readonly floorLoadTonM2: number | null,
    public readonly columnSpacingM: number | null,
    public readonly dockCount: number | null,
    public readonly craneCapacityTon: number | null,
    public readonly hasMezzanine: boolean,
    public readonly hasOfficeArea: boolean,
    public readonly officeAreaM2: number | null,
    public readonly priceUsdM2: number | null,
    public readonly pricingUnit: string | null,
    public readonly totalLeasePrice: number | null,
    public readonly managementFee: number | null,
    public readonly depositMonths: number | null,
    public readonly minLeaseYears: number | null,
    public readonly maxLeaseYears: number | null,
    public readonly leaseExpiry: Date | null,
    public readonly availableFrom: Date | null,
    public readonly powerCapacityKva: number | null,
    public readonly waterSupplyM3Day: number | null,
    public readonly media: Record<string, unknown>[] | null,
  ) {}
}
