import type { IndustrialParkStatus, VietnamRegion } from '@prisma/client';

export class CreateIndustrialParkCommand {
  constructor(
    public readonly name: string,
    public readonly nameEn: string | null,
    public readonly slug: string,
    public readonly developer: string,
    public readonly operator: string | null,
    public readonly status: IndustrialParkStatus,
    public readonly latitude: number,
    public readonly longitude: number,
    public readonly address: string,
    public readonly district: string,
    public readonly province: string,
    public readonly region: VietnamRegion,
    public readonly totalAreaHa: number,
    public readonly leasableAreaHa: number,
    public readonly occupancyRate: number,
    public readonly remainingAreaHa: number,
    public readonly tenantCount: number,
    public readonly establishedYear: number | null,
    public readonly landRentUsdM2Year: number | null,
    public readonly rbfRentUsdM2Month: number | null,
    public readonly rbwRentUsdM2Month: number | null,
    public readonly managementFeeUsd: number | null,
    public readonly infrastructure: Record<string, unknown> | null,
    public readonly connectivity: Record<string, unknown> | null,
    public readonly incentives: Record<string, unknown> | null,
    public readonly targetIndustries: string[],
    public readonly description: string | null,
    public readonly descriptionEn: string | null,
    public readonly ownerId: string | null = null,
  ) {}
}
