UNPKG

@materia/interfaces

Version:
90 lines (89 loc) 2.06 kB
import { IAction } from '.'; export interface IQueryCondition { name: string; operator: string; value: any; entity?: string; operand?: string; operandPriority?: number; } export declare type IQueryConditions = IQueryCondition[]; export interface IQueryParamReference { entity: string; field: string; } export interface IQueryParam { name: string; type: string; required: boolean; component: string; reference?: IQueryParamReference; } export interface IQueryInclude { entity: string; fields?: string[]; include?: IQueryInclude[]; } export interface IFindAllQueryResult { count: number; data: any[]; pagination: { limit?: number; page?: number; offset?: number; }; } export interface IQueryOrdering { field: string; desc: boolean; } export interface IQueryValues { [field: string]: any; } export interface IQuery { id: string; type: string; opts?: { values?: IQueryValues; params?: IQueryParam[]; select?: string[]; conditions?: IQueryConditions; include?: IQueryInclude[]; orderBy?: IQueryOrdering[]; page?: number | string; limit?: number | string; offset?: number | string; query?: string; model?: string; action?: string; }; actions?: IAction[]; code?: string; } export interface IFindAllOptions { select?: string[]; include?: IQueryInclude; conditions?: IQueryConditions; limit?: number; offset?: number; page?: number; orderBy?: IQueryOrdering[]; } export interface IFindOneOptions { select?: string[]; include?: IQueryInclude; conditions?: IQueryConditions; orderBy?: IQueryOrdering[]; } export interface IUpdateQueryOptions { values: IQueryValues; conditions?: IQueryConditions; } export interface IDeleteQueryOptions { conditions?: IQueryConditions; } export interface ICustomQueryOptions { action: string; model: string; params?: IQueryParam[]; }