@terabits/grapi
Version:
Grapi Schema Generator For GraphQL Server
31 lines (30 loc) • 1.67 kB
TypeScript
import { Operator, Where, WhereOperator } from '..';
import { RelationShip, RelationType } from '../dataModel/relation/types';
import { FilterListObject } from '../dataModel/type';
export interface RelationWhereConfig {
foreignKey: string;
filter: FilterListObject;
source: string;
target: string;
ship: RelationShip;
list: boolean;
type: RelationType;
}
export interface RelationWhere {
sourceKey: string;
targetKey: string;
relation: RelationWhereConfig;
filters: Where;
}
export declare const iterateWhere: (where: Where, callback: (field: string, op: Operator, value: any) => void) => void;
export declare const iterateRelationsWhere: (where: Record<string, RelationWhere>, callback: (relationWhere: RelationWhere) => Promise<boolean>) => Promise<boolean>;
export declare const iterateWhereFilter: (where: (Record<string, RelationWhere> | Array<Record<string, RelationWhere>>), callback: (relationWhere: (Record<string, RelationWhere> | Array<Record<string, RelationWhere>>), operator: Operator | WhereOperator) => Promise<void>) => Promise<void>;
export declare const iterateWhereRelationsFilter: (relationFilter: Record<string, RelationWhere>, callback: (relationWhere: RelationWhere) => Promise<void>) => Promise<void>;
export declare const iterateBaseFilter: (where: Record<string, any>) => Where;
export declare const getRelationItemKeyId: (item: any, relation: RelationWhereConfig) => {
itemId: string;
key: string;
};
export declare const iterateFilters: (where: Where) => Where;
export declare const createFilter: (where: Where) => any;
export declare const filter: (rows: any[], where: Where) => any;