graphql-compose-mongoose
Version:
Plugin for `graphql-compose` which derive a graphql types from a mongoose model.
84 lines (72 loc) • 1.99 kB
TypeScript
import { ResolverResolveParams } from 'graphql-compose';
import { DocumentQuery, Model, Query } from 'mongoose';
import connection from './connection';
import count from './count';
import createOne from './createOne';
import createMany from './createMany';
import findById from './findById';
import findByIds from './findByIds';
import findMany from './findMany';
import findOne from './findOne';
import {
FilterHelperArgsOpts,
LimitHelperArgsOpts,
RecordHelperArgsOpts,
SortHelperArgsOpts,
} from './helpers';
import pagination from './pagination';
import removeById from './removeById';
import removeMany from './removeMany';
import removeOne from './removeOne';
import updateById from './updateById';
import updateMany from './updateMany';
import updateOne from './updateOne';
export type GenResolverOpts = {
filter?: FilterHelperArgsOpts;
sort?: SortHelperArgsOpts;
record?: RecordHelperArgsOpts;
records?: RecordHelperArgsOpts;
limit?: LimitHelperArgsOpts;
};
export type ExtendedResolveParams = ResolverResolveParams<any, any> & {
query: DocumentQuery<any, any>;
rawQuery: { [optName: string]: any };
beforeQuery?: (query: any, rp: ExtendedResolveParams) => Promise<any>;
beforeRecordMutate?: (record: any, rp: ExtendedResolveParams) => Promise<any>;
model: Model<any>;
};
export {
findById,
findByIds,
findOne,
findMany,
updateById,
updateOne,
updateMany,
removeById,
removeOne,
removeMany,
createOne,
createMany,
count,
pagination,
connection,
};
export function getAvailableNames(): string[];
export const EMCResolvers: {
findById: 'findById';
findByIds: 'findByIds';
findOne: 'findOne';
findMany: 'findMany';
updateById: 'updateById';
updateOne: 'updateOne';
updateMany: 'updateMany';
removeById: 'removeById';
removeOne: 'removeOne';
removeMany: 'removeMany';
createOne: 'createOne';
createMany: 'createMany';
count: 'count';
connection: 'connection';
pagination: 'pagination';
};