@alba-cars/common-modules
Version:
A package containing DTOs, validation classes and common modules and interfaces for Alba Cars
106 lines (105 loc) • 2.82 kB
TypeScript
import { FaqCategory } from "../enums";
export declare class MultilingualContentFetch {
en: string;
ar: string;
ru: string;
zh: string;
toPlain(): {
en: string;
ar: string;
ru: string;
zh: string;
};
static fromPlain(plain: any): MultilingualContentFetch;
}
export declare class FaqFilterDTO {
search?: string;
searchLanguage?: 'en' | 'ar' | 'ru' | 'zh';
searchInAnswers?: boolean;
category?: FaqCategory;
isActive?: boolean;
constructor(init?: Partial<FaqFilterDTO>);
validate(shouldValidate?: boolean): string[];
static fromPlain(plain: any): FaqFilterDTO;
static toPlain(instance: FaqFilterDTO): Record<string, unknown>;
}
export declare class SortDTO {
field: string;
direction: 'asc' | 'desc';
}
export declare class FaqOptionsDTO {
page: number;
limit: number;
sort?: {
field: string;
direction: 'asc' | 'desc';
};
constructor(init?: Partial<FaqOptionsDTO>);
validate(shouldValidate?: boolean): string[];
static toPlain(instance: FaqOptionsDTO): Record<string, any>;
static fromPlain(plain: any): FaqOptionsDTO;
}
export declare class FaqFetchDTO {
filter?: FaqFilterDTO;
options?: FaqOptionsDTO;
static fromPlain(plain: any): FaqFetchDTO;
constructor(init?: Partial<FaqFetchDTO>);
static toPlain(instance: FaqFetchDTO): Record<string, unknown>;
}
export declare class FaqResponseDTO {
id: string;
question: MultilingualContentFetch;
answer: MultilingualContentFetch;
category: string;
isActive: boolean;
order: number;
createdAt: string;
updatedAt: string;
toPlain(): {
id: string;
question: {
en: string;
ar: string;
ru: string;
zh: string;
};
answer: {
en: string;
ar: string;
ru: string;
zh: string;
};
category: string;
isActive: boolean;
order: number;
createdAt: string;
updatedAt: string;
};
static fromPlain(plain: Record<string, any>): FaqResponseDTO;
validate(): string[];
}
export interface FaqApiResponse {
success: boolean;
message?: string;
error?: {
message: string;
code?: string;
details?: Record<string, any>;
};
data?: FaqResponseDTO;
}
export interface FaqListApiResponse {
success: boolean;
message?: string;
error?: {
message: string;
code?: string;
details?: Record<string, any>;
};
data?: {
items: FaqResponseDTO[];
total: number;
page: number;
limit: number;
};
}