1
1
import { Schema , model } from 'mongoose' ;
2
2
import { composeMongoose } from 'graphql-compose-mongoose' ;
3
3
import { 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' ;
8
8
9
9
export const OrderDetailsSchema : Schema < any > = new Schema (
10
10
{
@@ -36,7 +36,6 @@ export const OrderSchema: Schema<any> = new Schema(
36
36
shipAddress : AddressSchema ,
37
37
details : {
38
38
type : [ OrderDetailsSchema ] ,
39
- index : true ,
40
39
description : 'List of ordered products' ,
41
40
} ,
42
41
} ,
@@ -49,18 +48,8 @@ export const Order = model<any>('Order', OrderSchema);
49
48
50
49
export const OrderTC = composeMongoose ( Order ) ;
51
50
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
-
62
51
OrderTC . addRelation ( 'customer' , {
63
- resolver : ( ) => CustomerTC . getResolver ( 'findOne' ) ,
52
+ resolver : ( ) => customerFindOneResolver ,
64
53
prepareArgs : {
65
54
filter : ( source ) => ( { customerID : source . customerID } ) ,
66
55
skip : null ,
@@ -70,7 +59,7 @@ OrderTC.addRelation('customer', {
70
59
} ) ;
71
60
72
61
OrderTC . addRelation ( 'employee' , {
73
- resolver : ( ) => EmployeeTC . getResolver ( 'findOne' ) ,
62
+ resolver : ( ) => employeeFindOneResolver ,
74
63
prepareArgs : {
75
64
filter : ( source ) => ( { employeeID : source . employeeID } ) ,
76
65
skip : null ,
@@ -80,7 +69,7 @@ OrderTC.addRelation('employee', {
80
69
} ) ;
81
70
82
71
OrderTC . addRelation ( 'shipper' , {
83
- resolver : ( ) => ShipperTC . getResolver ( 'findOne' ) ,
72
+ resolver : ( ) => shipperFindOneResolver ,
84
73
prepareArgs : {
85
74
filter : ( source ) => ( { shipperID : source . shipVia } ) ,
86
75
skip : null ,
@@ -91,11 +80,32 @@ OrderTC.addRelation('shipper', {
91
80
92
81
const OrderDetailsTC = OrderTC . getFieldOTC ( 'details' ) ;
93
82
OrderDetailsTC . addRelation ( 'product' , {
94
- resolver : ( ) => ProductTC . getResolver ( 'findOne' ) ,
83
+ resolver : ( ) => productFindOneResolver ,
95
84
prepareArgs : {
96
85
filter : ( source ) => ( { productID : source . productID } ) ,
97
86
skip : null ,
98
87
sort : null ,
99
88
} ,
100
89
projection : { productID : true } ,
101
90
} ) ;
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