UNPKG

@alba-cars/common-modules

Version:

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

31 lines (30 loc) 1.51 kB
import { VehicleSelectFields } from "../../vehicle/data/utilities"; import { LeadThrough, TestDriveRequestStatus } from "./enums"; import { TestDriveRequest } from "./models/TestDriveRequest"; import { DateFilter, PaginationOptions, TypedFilter } from "../../../global/utilities"; export type TestDriveRequestSelectFields = keyof TestDriveRequest; export declare class TestDriveRequestFilter extends TypedFilter { vehicles?: string | string[]; referenceNumber?: string | string[]; testerName?: string | string[]; testerMobile?: string | string[]; testerEmail?: string | string[]; search?: string | string[]; status?: TestDriveRequestStatus | TestDriveRequestStatus[]; requestedDate?: DateFilter; testDriveDate?: DateFilter; leadThrough?: LeadThrough | LeadThrough[]; comments?: string; createdAt?: DateFilter; validate(): string[]; fromPlain(plain: Record<string, unknown>): TestDriveRequestFilter; toPlain(): Record<string, unknown>; } export type TestDriveRequestSort = Record<keyof Pick<TestDriveRequest, 'testerName' | 'testerMobile' | 'testerEmail' | 'requestedDate' | 'testDriveDate' | 'status' | 'leadThrough'>, 'asc' | 'desc'>; export declare class TestDriveRequestOptions extends PaginationOptions { sort?: TestDriveRequestSort; withVehicle?: boolean; select?: (TestDriveRequestSelectFields | `vehicle.${VehicleSelectFields}`)[]; validate(): string[]; fromPlain(plain: Record<string, unknown>): TestDriveRequestOptions; }