@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
TypeScript
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;
}