UNPKG

@kenniy/godeye-data-contracts

Version:

Enterprise-grade base repository architecture for GOD-EYE microservices with zero overhead and maximum code reuse

33 lines (32 loc) 1.08 kB
/** * Base Query DTO - Universal for all entities * Auto-transforms HTTP parameters to ICriteria format */ import { ICriteria } from '../../types/repository.types'; export declare class BaseQueryDto { page?: number; limit?: number; include?: string; sort?: string; search?: string; status?: 'active' | 'inactive' | 'deleted'; /** * Auto-transform DTO to ICriteria with unified include handling */ toICriteria(): ICriteria<any>; /** * Parse unified include parameter into potential relations and fields * Repository will validate which items are actual relations using auto-discovery */ protected parseInclude(includeStr?: string): { relations: string[]; fields: string[]; }; /** * Basic heuristic to determine if an item looks like a relation * Repository auto-discovery will provide final validation */ private looksLikeRelation; protected parseSortString(sortStr?: string): Record<string, 'ASC' | 'DESC'> | undefined; protected buildWhereClause(): any; }