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