UNPKG

@alba-cars/common-modules

Version:

A package containing DTOs, validation classes and common modules and interfaces for Alba Cars

134 lines (133 loc) 4.48 kB
import { BaseCreateDTO, BaseUpdateDTO } from "./BaseDTO"; import { DynamicMakeDTO } from "./VehicleMakeDTO"; import { DynamicModelDTO } from "./VehicleModelDTO"; import { DynamicVehicleBodyTypeDTO } from "./VehicleTypeDTO"; import { VehicleMediaCreateDTO, VehicleMediaUpdateDTO } from "./VehicleMedia"; import { VehicleFilter, VehicleOptions, VehicleUniqueFilter } from "./VehicleFilterDTO"; import { VehicleFinanceCreateDTO } from "./VehicleFinanceDTO"; import { VehicleWarrantyYearType } from "../enums"; import { VehicleDraft } from "../../../models/Vehicle"; export declare class VehicleGetDTO { filter?: VehicleFilter; options?: VehicleOptions; validate?: (shouldValidate?: boolean) => string[]; constructor(shouldIncludeValidate?: boolean); static fromPlain(plain: Record<string, unknown>): VehicleGetDTO; toPlain(): Record<string, unknown>; } export declare class VehicleGetUniqueDTO { filter?: VehicleUniqueFilter; options?: Omit<VehicleOptions, "page" | "limit" | "sort">; validate(): string[]; static fromPlain(plain: Record<string, unknown>): VehicleGetUniqueDTO; static toPlain(entity: any): Record<string, unknown>; } export declare class VehicleMetaDataDTO { metaTitle?: string; metaDescription?: string; metaKeywords?: string; vehicleDescription: string; vehicleId: string; others?: Record<string, string>; validate(): string[]; static fromPlain(plain: Record<string, unknown>): VehicleMetaDataDTO; static toPlain(entity: any): Record<string, unknown>; } export declare class VehicleCreateDTO extends BaseCreateDTO { title: string; make: DynamicMakeDTO; model: DynamicModelDTO; bodyType: DynamicVehicleBodyTypeDTO; vin: string; vehicleSpec: string; chassisNumber: string; trim: string; mileage: number; odometer: number; fuelType: string; color: string; engineCapacity: string; numberOfCylinders: number; evRange?: number; cylinderCapacity: number; doors: number; seats: number; keys: number; wheelsType: string; airbags: number; transmission: string; driveType: string; emissions: string; warrantyYears?: VehicleWarrantyYearType; warrantyKm?: number; warranty?: string; serviceContractYears?: VehicleWarrantyYearType; serviceContractKm?: number; serviceContract?: string; media?: VehicleMediaCreateDTO[]; finance?: VehicleFinanceCreateDTO; year: number; price: number; status: string; features?: string[]; metaData?: VehicleMetaDataDTO; isDraft?: boolean; pageNo?: number; draft?: VehicleDraft; validate(): string[]; static fromPlain(plain: Record<string, unknown>): VehicleCreateDTO; static toPlain(entity: any): Record<string, unknown>; } export declare class VehicleFeaturesUpdateDTO { data: string[]; replace?: boolean; filter?: string | string[]; validate(): string[]; static fromPlain(plain: Record<string, unknown>): VehicleFeaturesUpdateDTO; static toPlain(entity: any): Record<string, unknown>; } export declare class VehicleUpdateDTO extends BaseUpdateDTO { title: string; make: DynamicMakeDTO; model: DynamicModelDTO; bodyType: DynamicVehicleBodyTypeDTO; vin: string; chassisNumber: string; trim: string; mileage: number; fuelType: string; color: string; engineCapacity?: string; numberOfCylinders: number; evRange?: number; cylinderCapacity: number; doors: number; seats: number; keys: number; odometer?: number; wheelsType: string; airbags: number; transmission: string; driveType: string; emissions: string; warrantyYears?: VehicleWarrantyYearType; warrantyKm?: number; serviceContractYears?: VehicleWarrantyYearType; serviceContractKm?: number; media: VehicleMediaUpdateDTO; year: number; price: number; status: string; isDraft?: boolean; pageNo?: number; features: VehicleFeaturesUpdateDTO; metaData: VehicleMetaDataDTO; validate(): string[]; static fromPlain(plain: Record<string, unknown>): VehicleUpdateDTO; static toPlain(entity: any): Record<string, unknown>; } export declare class DynamicVehicleDTO { existingId?: string; new?: VehicleCreateDTO; validate(): void; }