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