UNPKG

graphql-compose-mongoose

Version:

Plugin for `graphql-compose` which derive a graphql types from a mongoose model.

37 lines (31 loc) 892 B
import { Resolver, TypeComposer } from 'graphql-compose'; import { Model } from 'mongoose'; import { MongoId } from '../types/mongoid'; import { FilterHelperArgs, SortHelperArgs } from './helpers'; export type PaginationResolverOpts = { perPage?: number; }; export default function pagination( model: Model<any>, tc: TypeComposer<any>, opts?: PaginationResolverOpts, ): Resolver<any, any> | undefined; export type PaginationArgs<TSource, IndexedFields = { _id: MongoId }> = { page: number; perPage: number; filter: FilterHelperArgs<TSource, IndexedFields>; sort: SortHelperArgs; }; export type PaginationPageInfo = { currentPage?: number; perPage: number; perCount: number; itemCount: number; hasNextPage: boolean; hasPreviousPage: boolean; }; export type PaginationRSource<TSource> = { count: number; items: TSource[]; pageInfo: PaginationPageInfo; };