11import { Schema , model } from 'mongoose' ;
22import { composeMongoose } from 'graphql-compose-mongoose' ;
33import { AddressSchema } from './addressSchema' ;
4- import { CustomerTC } from './customer' ;
5- import { EmployeeTC } from './employee' ;
6- import { ShipperTC } from './shipper' ;
7- import { ProductTC } from './product' ;
4+ import { customerFindOneResolver } from './customer' ;
5+ import { employeeFindOneResolver } from './employee' ;
6+ import { shipperFindOneResolver } from './shipper' ;
7+ import { productFindOneResolver } from './product' ;
88
99export const OrderDetailsSchema : Schema < any > = new Schema (
1010 {
@@ -36,7 +36,6 @@ export const OrderSchema: Schema<any> = new Schema(
3636 shipAddress : AddressSchema ,
3737 details : {
3838 type : [ OrderDetailsSchema ] ,
39- index : true ,
4039 description : 'List of ordered products' ,
4140 } ,
4241 } ,
@@ -49,18 +48,8 @@ export const Order = model<any>('Order', OrderSchema);
4948
5049export const OrderTC = composeMongoose ( Order ) ;
5150
52- OrderTC . getResolver ( 'connection' ) . extensions = {
53- complexity : ( { args, childComplexity } ) => childComplexity * ( args . first || args . last || 20 ) ,
54- } ;
55- OrderTC . getResolver ( 'pagination' ) . extensions = {
56- complexity : ( { args, childComplexity } ) => childComplexity * ( args . perPage || 20 ) ,
57- } ;
58- OrderTC . getResolver ( 'findMany' ) . extensions = {
59- complexity : ( { args, childComplexity } ) => childComplexity * ( args . limit || 1000 ) ,
60- } ;
61-
6251OrderTC . addRelation ( 'customer' , {
63- resolver : ( ) => CustomerTC . getResolver ( 'findOne' ) ,
52+ resolver : ( ) => customerFindOneResolver ,
6453 prepareArgs : {
6554 filter : ( source ) => ( { customerID : source . customerID } ) ,
6655 skip : null ,
@@ -70,7 +59,7 @@ OrderTC.addRelation('customer', {
7059} ) ;
7160
7261OrderTC . addRelation ( 'employee' , {
73- resolver : ( ) => EmployeeTC . getResolver ( 'findOne' ) ,
62+ resolver : ( ) => employeeFindOneResolver ,
7463 prepareArgs : {
7564 filter : ( source ) => ( { employeeID : source . employeeID } ) ,
7665 skip : null ,
@@ -80,7 +69,7 @@ OrderTC.addRelation('employee', {
8069} ) ;
8170
8271OrderTC . addRelation ( 'shipper' , {
83- resolver : ( ) => ShipperTC . getResolver ( 'findOne' ) ,
72+ resolver : ( ) => shipperFindOneResolver ,
8473 prepareArgs : {
8574 filter : ( source ) => ( { shipperID : source . shipVia } ) ,
8675 skip : null ,
@@ -91,11 +80,32 @@ OrderTC.addRelation('shipper', {
9180
9281const OrderDetailsTC = OrderTC . getFieldOTC ( 'details' ) ;
9382OrderDetailsTC . addRelation ( 'product' , {
94- resolver : ( ) => ProductTC . getResolver ( 'findOne' ) ,
83+ resolver : ( ) => productFindOneResolver ,
9584 prepareArgs : {
9685 filter : ( source ) => ( { productID : source . productID } ) ,
9786 skip : null ,
9887 sort : null ,
9988 } ,
10089 projection : { productID : true } ,
10190} ) ;
91+
92+ export const orderConnectionResolver = OrderTC . mongooseResolvers . connection ( ) ;
93+ orderConnectionResolver . setExtensions ( {
94+ complexity : ( { args, childComplexity } ) => childComplexity * ( args . first || args . last || 20 ) ,
95+ } ) ;
96+
97+ export const orderPaginationResolver = OrderTC . mongooseResolvers . pagination ( ) ;
98+ orderPaginationResolver . setExtensions ( {
99+ complexity : ( { args, childComplexity } ) => childComplexity * ( args . perPage || 20 ) ,
100+ } ) ;
101+
102+ export const orderFindManyResolver = OrderTC . mongooseResolvers . findMany ( ) ;
103+ orderFindManyResolver . setExtensions ( {
104+ complexity : ( { args, childComplexity } ) => childComplexity * ( args . limit || 1000 ) ,
105+ } ) ;
106+
107+ export const orderFindOneResolver = OrderTC . mongooseResolvers . findOne ( ) ;
108+
109+ export const orderCreateOneResolver = OrderTC . mongooseResolvers . createOne ( ) ;
110+ export const orderUpdateByIdResolver = OrderTC . mongooseResolvers . updateById ( ) ;
111+ export const orderRemoveOneResolver = OrderTC . mongooseResolvers . removeOne ( ) ;
0 commit comments