@alba-cars/common-modules
Version:
A package containing DTOs, validation classes and common modules and interfaces for Alba Cars
186 lines (185 loc) • 8.46 kB
TypeScript
import { Vehicle } from "../../models/Vehicle";
import { VehicleBodyType } from "../../models/VehicleBodyType";
import { VehicleFeature } from "../../models/VehicleFeature";
import { VehicleMake } from "../../models/VehicleMake";
import { VehicleMetaData } from "../../models/VehicleMetaData";
import { VehicleModel } from "../../models/VehicleModel";
import { VehicleCategory } from "../../models/VehicleCategory";
import { BaseFilter, PaginationOptions } from "../../../global/utilities";
import { VehicleCategorySelectFields } from "./dto/VehicleFilterDTO";
export type VehicleMakeSelectFields = keyof VehicleMake;
export type VehicleModelSelectFields = keyof VehicleModel;
export type VehicleSelectFields = keyof Vehicle;
export type VehicleBodyTypeSelectFields = keyof VehicleBodyType;
export type VehicleFeatureSelectFields = keyof VehicleFeature;
export type VehicleFeatureCategorySelectFields = keyof VehicleCategory;
export type VehicleMetaDataSelectFields = keyof VehicleMetaData;
export declare class VehicleMakeFilter extends BaseFilter {
id?: string | string[];
slug?: string | string[];
name?: string;
metaKeywords?: string;
models?: string | string[];
vehicles?: string | string[];
search?: string;
promoted?: boolean;
showInFooter?: boolean;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleMakeFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleMakeUniqueFilter extends BaseFilter {
id?: string;
slug?: string;
name?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleMakeFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export type VehicleMakeSort = Partial<Record<keyof Pick<VehicleMake, "name" | "isActive" | "createdAt" | "updatedAt">, "asc" | "desc">>;
export declare class VehicleMakeOptions extends PaginationOptions {
sort?: VehicleMakeSort;
withModels?: boolean;
withVehicles?: boolean;
select?: (VehicleMakeSelectFields | `models.${VehicleModelSelectFields}` | `vehicles.${VehicleSelectFields}`)[];
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleMakeOptions;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleModelFilter extends BaseFilter {
id?: string | string[];
slug?: string | string[];
name?: string;
metaKeywords?: string;
makes?: string | string[];
vehicles?: string | string[];
search?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleModelUniqueFilter extends BaseFilter {
id?: string;
slug?: string;
name?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelUniqueFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export type VehicleModelSort = Partial<Record<keyof Pick<VehicleModel, "name" | "isActive" | "createdAt" | "updatedAt">, "asc" | "desc">>;
export declare class VehicleModelOptions extends PaginationOptions {
sort?: VehicleModelSort;
withVehicles?: boolean;
withMake?: boolean;
select?: (VehicleModelSelectFields | `vehicles.${VehicleSelectFields}` | `make.${VehicleMakeSelectFields}`)[];
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelOptions;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleBodyTypeFilter extends BaseFilter {
id?: string | string[];
slug?: string | string[];
name?: string;
vehicles?: string | string[];
models?: string | string[];
search?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleBodyTypeUniqueFilter {
id?: string;
slug?: string;
name?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export type VehicleBodyTypeSort = Partial<Record<keyof Pick<VehicleBodyType, "name" | "isActive" | "createdAt" | "updatedAt">, "asc" | "desc">>;
export declare class VehicleBodyTypeOptions extends PaginationOptions {
sort?: VehicleBodyTypeSort;
withVehicles?: boolean;
select?: (VehicleBodyTypeSelectFields | `vehicles.${VehicleSelectFields}` | `models.${VehicleModelSelectFields}`)[];
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelOptions;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleFeatureFilter extends BaseFilter {
id?: string | string[];
slug?: string | string[];
name?: string;
categories?: string | string[];
search?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleFeatureUniqueFilter {
id?: string;
slug?: string;
name?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export type VehicleFeatureSort = Partial<Record<keyof Pick<VehicleFeature, "name" | "isActive" | "createdAt" | "updatedAt">, "asc" | "desc">>;
export declare class VehicleFeatureOptions extends PaginationOptions {
sort?: VehicleFeatureSort;
withCategories?: boolean;
select?: (VehicleFeatureSelectFields | `categories.${VehicleFeatureCategorySelectFields}`)[];
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleFeatureOptions;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleFeatureCategoryFilter extends BaseFilter {
id?: string | string[];
slug?: string | string[];
name?: string;
features?: string | string[];
search?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleFeatureCategoryUniqueFilter {
id?: string;
slug?: string;
name?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleModelFilter;
static toPlain(entity: any): Record<string, unknown>;
}
export type VehicleFeatureCategorySort = Partial<Record<keyof Pick<VehicleCategory, "name" | "isActive" | "createdAt" | "updatedAt">, "asc" | "desc">>;
export declare class VehicleFeatureCategoryOptions extends PaginationOptions {
sort?: VehicleFeatureCategorySort;
withFeatures?: boolean;
select?: (VehicleFeatureCategorySelectFields | `features.${VehicleFeatureSelectFields}`)[];
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleFeatureOptions;
static toPlain(entity: any): Record<string, unknown>;
}
export declare class VehicleCategoryFilter extends BaseFilter {
id?: string | string[];
slug?: string | string[];
name?: string;
search?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleCategoryFilter;
static toPlain(entity: VehicleCategoryFilter): Record<string, unknown>;
}
export declare class VehicleCategoryUniqueFilter {
id?: string;
slug?: string;
name?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleCategoryUniqueFilter;
static toPlain(entity: VehicleCategoryUniqueFilter): Record<string, unknown>;
}
export type VehicleCategorySort = Record<keyof Pick<VehicleCategory, "name" | "isActive" | "createdAt" | "updatedAt">, "asc" | "desc">;
export declare class VehicleCategoryOptions extends PaginationOptions {
sort?: VehicleCategorySort;
select?: (VehicleCategorySelectFields | `features.${VehicleFeatureSelectFields}`)[];
validate(): string[];
static fromPlain(plain: Record<string, unknown>): VehicleFeatureOptions;
static toPlain(entity: VehicleCategoryOptions): Record<string, unknown>;
}