UNPKG

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