postgraphile-plugin-connection-filter
Version:
Filtering on PostGraphile connections
28 lines (27 loc) • 1.44 kB
TypeScript
import type { Plugin } from "graphile-build";
import type { PgType, QueryBuilder, SQL } from "graphile-build-pg";
import type { GraphQLInputType, GraphQLType } from "graphql";
import { BackwardRelationSpec } from "./PgConnectionArgFilterBackwardRelationsPlugin";
declare const PgConnectionArgFilterPlugin: Plugin;
export interface ConnectionFilterResolver {
(input: {
sourceAlias: SQL;
fieldName: string;
fieldValue?: unknown;
queryBuilder: QueryBuilder;
pgType: PgType;
pgTypeModifier: number | null;
parentFieldName: string;
parentFieldInfo?: {
backwardRelationSpec?: BackwardRelationSpec;
};
}): SQL | null;
}
export interface AddConnectionFilterOperator {
(typeNames: string | string[], operatorName: string, description: string | null, resolveType: (fieldInputType: GraphQLInputType, rangeElementInputType: GraphQLInputType) => GraphQLType, resolve: (sqlIdentifier: SQL, sqlValue: SQL, input: unknown, parentFieldName: string, queryBuilder: QueryBuilder) => SQL | null, options?: {
resolveInput?: (input: unknown) => unknown;
resolveSqlIdentifier?: (sqlIdentifier: SQL, pgType: PgType, pgTypeModifier: number | null) => SQL;
resolveSqlValue?: (input: unknown, pgType: PgType, pgTypeModifier: number | null, resolveListItemSqlValue?: any) => SQL | null;
}): void;
}
export default PgConnectionArgFilterPlugin;