@webresto/graphql 1.3.1 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/eventHelper.js +1 -0
- package/lib/eventHelper.ts +1 -0
- package/package.json +1 -1
- package/src/additionalResolvers.js +33 -5
- package/src/additionalResolvers.ts +38 -5
- package/src/graphql.js +35 -22
- package/src/graphql.ts +38 -25
- package/src/resolvers/cart.d.ts +225 -7
- package/src/resolvers/cart.js +27 -7
- package/src/resolvers/cart.ts +24 -8
- package/src/resolvers/checkout.js +9 -7
- package/src/resolvers/checkout.ts +14 -9
- package/test/{_bootstrap.js → bootstrap.js} +6 -7
- package/test/bootstrap.ts +3 -0
- package/test/fixture/.sailsrc +14 -0
- package/test/fixture/api/controllers/.gitkeep +0 -0
- package/test/fixture/api/models/.gitkeep +0 -0
- package/test/fixture/api/services/.gitkeep +0 -0
- package/test/fixture/app-export.js +73 -73
- package/test/fixture/app.js +56 -56
- package/test/fixture/config/adminpanel.js +25 -3
- package/test/fixture/config/bootstrap.js +161 -0
- package/test/fixture/config/connections.js +9 -9
- package/test/fixture/config/env/development.js +10 -10
- package/test/fixture/config/env/production.js +16 -16
- package/test/fixture/config/globals.js +16 -16
- package/test/fixture/config/hookTimeout.js +8 -8
- package/test/fixture/config/http.js +93 -93
- package/test/fixture/config/i18n.js +57 -57
- package/test/fixture/config/log.js +29 -29
- package/test/fixture/config/models.js +8 -8
- package/test/fixture/config/modulemanager.js +22 -22
- package/test/fixture/config/policies.js +51 -51
- package/test/fixture/config/routes.js +49 -49
- package/test/fixture/config/session.js +100 -100
- package/test/fixture/config/sockets.js +141 -141
- package/test/fixture/config/views.js +94 -94
- package/test/fixture/hacks/waterline.js +39 -0
- package/test/fixture/package.json +33 -30
- package/test/fixture/seeds/dish.json +37042 -0
- package/test/fixture/seeds/group.json +1418 -0
- package/test/fixture/seeds/iikoDiscount.json +365 -0
- package/test/fixture/views/403.ejs +68 -68
- package/test/fixture/views/404.ejs +68 -68
- package/test/fixture/views/500.ejs +73 -73
- package/test/fixture/views/homepage.ejs +74 -74
- package/test/fixture/views/layout.ejs +91 -91
- package/test/integration/graphql.test.js +11 -0
- package/test/integration/graphql.test.ts +15 -0
- package/test/integration/order.test.js +86 -0
- package/test/integration/order.test.ts +108 -0
- package/test/{unit → integration}/sails_not_crash.test.js +0 -0
- package/test/{unit → integration}/sails_not_crash.test.ts +0 -0
- package/test/unit/first.test.js +1 -1
- package/test/unit/first.test.ts +1 -1
- package/test/fixture/.tmp/localDiskDb/archive.db +0 -1
- package/test/fixture/.tmp/localDiskDb/dish.db +0 -1
- package/test/fixture/.tmp/localDiskDb/dish_images__image_dish.db +0 -1
- package/test/fixture/.tmp/localDiskDb/group.db +0 -1
- package/test/fixture/.tmp/localDiskDb/group_images__image_group.db +0 -1
- package/test/fixture/.tmp/localDiskDb/image.db +0 -1
- package/test/fixture/.tmp/localDiskDb/maintenance.db +0 -1
- package/test/fixture/.tmp/localDiskDb/order.db +0 -1
- package/test/fixture/.tmp/localDiskDb/orderdish.db +0 -1
- package/test/fixture/.tmp/localDiskDb/paymentdocument.db +0 -1
- package/test/fixture/.tmp/localDiskDb/paymentmethod.db +0 -2
- package/test/fixture/.tmp/localDiskDb/place.db +0 -1
- package/test/fixture/.tmp/localDiskDb/settings.db +0 -2
- package/test/fixture/.tmp/localDiskDb/street.db +0 -1
- package/test/fixture/package-lock.json +0 -9805
- package/test.zip +0 -0
package/lib/eventHelper.js
CHANGED
package/lib/eventHelper.ts
CHANGED
package/package.json
CHANGED
@@ -46,7 +46,7 @@ exports.additionalResolver = {
|
|
46
46
|
},
|
47
47
|
OrderModifier: {
|
48
48
|
dish: async (parent, args, context, info) => {
|
49
|
-
return (await Dish.find({ id: parent.id, balance: { "
|
49
|
+
return (await Dish.find({ id: parent.id, balance: { "!=": 0 }, isDeleted: false }).populateAll())[0];
|
50
50
|
},
|
51
51
|
group: async (parent, args) => {
|
52
52
|
return (await Group.find({ id: parent.groupId, isDeleted: false }).populateAll())[0];
|
@@ -70,7 +70,7 @@ exports.additionalResolver = {
|
|
70
70
|
});
|
71
71
|
dataloaders.set(info.fieldNodes, dl);
|
72
72
|
}
|
73
|
-
return dl.load(parent.parentGroup);
|
73
|
+
return await dl.load(parent.parentGroup);
|
74
74
|
},
|
75
75
|
images: async (parent, args, context, info) => {
|
76
76
|
if (!parent.id)
|
@@ -87,7 +87,7 @@ exports.additionalResolver = {
|
|
87
87
|
});
|
88
88
|
dataloaders.set(info.fieldNodes, dl);
|
89
89
|
}
|
90
|
-
return dl.load(parent.id);
|
90
|
+
return await dl.load(parent.id);
|
91
91
|
}
|
92
92
|
},
|
93
93
|
Group: {
|
@@ -108,7 +108,35 @@ exports.additionalResolver = {
|
|
108
108
|
});
|
109
109
|
dataloaders.set(info.fieldNodes, dl);
|
110
110
|
}
|
111
|
-
return dl.load(parent.parentGroup);
|
111
|
+
return await dl.load(parent.parentGroup);
|
112
112
|
}
|
113
|
-
}
|
113
|
+
},
|
114
|
+
Order: {
|
115
|
+
dishes: async (parent, args, context, info) => {
|
116
|
+
if (typeof parent.dishes === "object") {
|
117
|
+
return parent.dishes;
|
118
|
+
}
|
119
|
+
return await OrderDish.find({ order: parent.id });
|
120
|
+
},
|
121
|
+
},
|
122
|
+
OrderDish: {
|
123
|
+
dish: async (parent, args, context, info) => {
|
124
|
+
if (!parent.dish)
|
125
|
+
return;
|
126
|
+
if (!context.dataloaders)
|
127
|
+
context.dataloaders = new WeakMap();
|
128
|
+
const dataloaders = context.dataloaders;
|
129
|
+
if (typeof parent.dish === "object") {
|
130
|
+
return parent.dish;
|
131
|
+
}
|
132
|
+
let dl = dataloaders.get(info.fieldNodes);
|
133
|
+
if (!dl) {
|
134
|
+
dl = new DataLoader(async (dishId) => {
|
135
|
+
return await Dish.find({ id: dishId }).sort('id ASC');
|
136
|
+
});
|
137
|
+
dataloaders.set(info.fieldNodes, dl);
|
138
|
+
}
|
139
|
+
return await dl.load(parent.dish);
|
140
|
+
},
|
141
|
+
},
|
114
142
|
};
|
@@ -43,7 +43,7 @@ export const additionalResolver = {
|
|
43
43
|
|
44
44
|
OrderModifier: {
|
45
45
|
dish: async (parent, args, context, info) => {
|
46
|
-
return (await Dish.find({id: parent.id, balance: { "
|
46
|
+
return (await Dish.find({id: parent.id, balance: { "!=": 0 }, isDeleted: false}).populateAll())[0];
|
47
47
|
},
|
48
48
|
group: async (parent, args) => {
|
49
49
|
return (await Group.find({id: parent.groupId, isDeleted: false}).populateAll())[0];
|
@@ -68,7 +68,7 @@ export const additionalResolver = {
|
|
68
68
|
});
|
69
69
|
dataloaders.set(info.fieldNodes, dl);
|
70
70
|
}
|
71
|
-
return dl.load(parent.parentGroup);
|
71
|
+
return await dl.load(parent.parentGroup);
|
72
72
|
},
|
73
73
|
images: async (parent, args, context, info) => {
|
74
74
|
if (!parent.id) return;
|
@@ -84,7 +84,7 @@ export const additionalResolver = {
|
|
84
84
|
});
|
85
85
|
dataloaders.set(info.fieldNodes, dl);
|
86
86
|
}
|
87
|
-
return dl.load(parent.id);
|
87
|
+
return await dl.load(parent.id);
|
88
88
|
}
|
89
89
|
},
|
90
90
|
Group: {
|
@@ -105,7 +105,40 @@ export const additionalResolver = {
|
|
105
105
|
});
|
106
106
|
dataloaders.set(info.fieldNodes, dl);
|
107
107
|
}
|
108
|
-
return dl.load(parent.parentGroup);
|
108
|
+
return await dl.load(parent.parentGroup);
|
109
109
|
}
|
110
|
-
}
|
110
|
+
},
|
111
|
+
Order: {
|
112
|
+
dishes: async (parent, args, context, info) => {
|
113
|
+
if (typeof parent.dishes === "object") {
|
114
|
+
return parent.dishes;
|
115
|
+
}
|
116
|
+
|
117
|
+
return await OrderDish.find({order: parent.id});
|
118
|
+
|
119
|
+
},
|
120
|
+
|
121
|
+
},
|
122
|
+
OrderDish: {
|
123
|
+
dish: async (parent, args, context, info) => {
|
124
|
+
|
125
|
+
if (!parent.dish) return;
|
126
|
+
if (!context.dataloaders) context.dataloaders = new WeakMap();
|
127
|
+
const dataloaders = context.dataloaders;
|
128
|
+
|
129
|
+
if (typeof parent.dish === "object") {
|
130
|
+
return parent.dish;
|
131
|
+
}
|
132
|
+
|
133
|
+
let dl = dataloaders.get(info.fieldNodes);
|
134
|
+
if (!dl) {
|
135
|
+
dl = new DataLoader(async (dishId: string) => {
|
136
|
+
return await Dish.find({id: dishId}).sort('id ASC');
|
137
|
+
});
|
138
|
+
dataloaders.set(info.fieldNodes, dl);
|
139
|
+
}
|
140
|
+
return await dl.load(parent.dish);
|
141
|
+
},
|
142
|
+
|
143
|
+
},
|
111
144
|
}
|
package/src/graphql.js
CHANGED
@@ -98,6 +98,13 @@ exports.default = {
|
|
98
98
|
type Subscription {
|
99
99
|
_root: String
|
100
100
|
}`);
|
101
|
+
/**
|
102
|
+
* Discount fields global support
|
103
|
+
*/
|
104
|
+
helper.addCustomField("Dish", "discountAmount: Float");
|
105
|
+
helper.addCustomField("Dish", "discountType: String");
|
106
|
+
helper.addCustomField("Dish", "oldPrice: Float");
|
107
|
+
helper.addCustomField("Group", "discount: String");
|
101
108
|
const { typeDefs, resolvers } = helper.getSchema();
|
102
109
|
getEmitter_1.default().on('core-order-after-count', 'graphql', function (order) {
|
103
110
|
pubsub.publish("order-changed", order);
|
@@ -114,30 +121,36 @@ exports.default = {
|
|
114
121
|
getEmitter_1.default().on("core-maintenance-disabled", "graphql", function () {
|
115
122
|
pubsub.publish("maintenance", null);
|
116
123
|
});
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
124
|
+
let apolloServer;
|
125
|
+
try {
|
126
|
+
apolloServer = new ApolloServer({
|
127
|
+
typeDefs,
|
128
|
+
resolvers: [resolvers, AdditionalResolvers],
|
129
|
+
subscriptions: {
|
130
|
+
onConnect: (connectionParams, webSocket) => {
|
131
|
+
let exContext = {};
|
132
|
+
if (connectionParams) {
|
133
|
+
if (!connectionParams['authorization'] && connectionParams['Authorization'])
|
134
|
+
connectionParams['authorization'] = connectionParams['Authorization'];
|
135
|
+
exContext['connectionParams'] = connectionParams;
|
136
|
+
}
|
137
|
+
exContext['pubsub'] = pubsub;
|
138
|
+
return exContext;
|
139
|
+
},
|
130
140
|
},
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
141
|
+
context: async ({ req, connection }) => {
|
142
|
+
if (connection) {
|
143
|
+
return connection.context;
|
144
|
+
}
|
145
|
+
else {
|
146
|
+
return { ...req };
|
147
|
+
}
|
138
148
|
}
|
139
|
-
}
|
140
|
-
}
|
149
|
+
});
|
150
|
+
}
|
151
|
+
catch (error) {
|
152
|
+
console.error("GraphQL start error: ", error);
|
153
|
+
}
|
141
154
|
server = apolloServer;
|
142
155
|
return apolloServer;
|
143
156
|
}
|
package/src/graphql.ts
CHANGED
@@ -110,6 +110,14 @@ export default {
|
|
110
110
|
type Subscription {
|
111
111
|
_root: String
|
112
112
|
}`);
|
113
|
+
|
114
|
+
/**
|
115
|
+
* Discount fields global support
|
116
|
+
*/
|
117
|
+
helper.addCustomField("Dish", "discountAmount: Float")
|
118
|
+
helper.addCustomField("Dish", "discountType: String")
|
119
|
+
helper.addCustomField("Dish", "oldPrice: Float")
|
120
|
+
helper.addCustomField("Group", "discount: String")
|
113
121
|
|
114
122
|
const { typeDefs, resolvers } = helper.getSchema();
|
115
123
|
|
@@ -128,31 +136,36 @@ export default {
|
|
128
136
|
getEmitter().on("core-maintenance-disabled", "graphql", function () {
|
129
137
|
pubsub.publish("maintenance", null);
|
130
138
|
});
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
connectionParams
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
139
|
+
|
140
|
+
let apolloServer
|
141
|
+
try {
|
142
|
+
apolloServer = new ApolloServer({
|
143
|
+
typeDefs,
|
144
|
+
resolvers: [resolvers, AdditionalResolvers],
|
145
|
+
subscriptions: {
|
146
|
+
onConnect: (connectionParams, webSocket) => {
|
147
|
+
let exContext = {}
|
148
|
+
if (connectionParams) {
|
149
|
+
if (!connectionParams['authorization'] && connectionParams['Authorization'])
|
150
|
+
connectionParams['authorization'] = connectionParams['Authorization'];
|
151
|
+
|
152
|
+
exContext['connectionParams'] = connectionParams
|
153
|
+
}
|
154
|
+
exContext['pubsub'] = pubsub;
|
155
|
+
return exContext;
|
156
|
+
},
|
157
|
+
},
|
158
|
+
context: async ({ req , connection}) => {
|
159
|
+
if (connection) {
|
160
|
+
return connection.context;
|
161
|
+
} else {
|
162
|
+
return { ...req };
|
163
|
+
}
|
164
|
+
}
|
165
|
+
});
|
166
|
+
} catch (error) {
|
167
|
+
console.error("GraphQL start error: ", error)
|
168
|
+
}
|
156
169
|
|
157
170
|
server = apolloServer;
|
158
171
|
return apolloServer;
|
package/src/resolvers/cart.d.ts
CHANGED
@@ -6,7 +6,6 @@ declare const _default: {
|
|
6
6
|
id: string;
|
7
7
|
shortId: string;
|
8
8
|
dishes: number[] | import("@webresto/core/models/OrderDish").default[];
|
9
|
-
discount: any;
|
10
9
|
paymentMethod: any;
|
11
10
|
paymentMethodTitle: string;
|
12
11
|
paid: {
|
@@ -53,23 +52,243 @@ declare const _default: {
|
|
53
52
|
Mutation: {
|
54
53
|
orderAddDish: {
|
55
54
|
def: string;
|
56
|
-
fn: (parent: any, args: any, context: any) => Promise<
|
55
|
+
fn: (parent: any, args: any, context: any) => Promise<{
|
56
|
+
id: string;
|
57
|
+
shortId: string;
|
58
|
+
dishes: number[] | import("@webresto/core/models/OrderDish").default[];
|
59
|
+
paymentMethod: any;
|
60
|
+
paymentMethodTitle: string;
|
61
|
+
paid: {
|
62
|
+
type: string;
|
63
|
+
defaultsTo: boolean;
|
64
|
+
};
|
65
|
+
isPaymentPromise: boolean;
|
66
|
+
dishesCount: number;
|
67
|
+
uniqueDishes: number;
|
68
|
+
modifiers: any;
|
69
|
+
customer: any;
|
70
|
+
address: any;
|
71
|
+
comment: string;
|
72
|
+
personsCount: string;
|
73
|
+
date: string;
|
74
|
+
problem: boolean;
|
75
|
+
rmsDelivered: boolean;
|
76
|
+
rmsId: string;
|
77
|
+
rmsOrderNumber: string;
|
78
|
+
rmsOrderData: any;
|
79
|
+
rmsDeliveryDate: string;
|
80
|
+
rmsErrorMessage: string;
|
81
|
+
rmsErrorCode: string;
|
82
|
+
rmsStatusCode: string;
|
83
|
+
deliveryStatus: string;
|
84
|
+
selfService: boolean;
|
85
|
+
deliveryDescription: string;
|
86
|
+
message: string;
|
87
|
+
deliveryItem: any;
|
88
|
+
deliveryCost: number;
|
89
|
+
totalWeight: number;
|
90
|
+
trifleFrom: number;
|
91
|
+
bonusesTotal: number;
|
92
|
+
total: number;
|
93
|
+
orderTotal: number;
|
94
|
+
discountTotal: number;
|
95
|
+
orderDate: string;
|
96
|
+
customData: any;
|
97
|
+
state: string;
|
98
|
+
toJSON(): any;
|
99
|
+
}>;
|
57
100
|
};
|
58
101
|
orderReplaceDish: {
|
59
102
|
def: string;
|
60
|
-
fn: (parent: any, args: any, context: any) => Promise<
|
103
|
+
fn: (parent: any, args: any, context: any) => Promise<{
|
104
|
+
id: string;
|
105
|
+
shortId: string;
|
106
|
+
dishes: number[] | import("@webresto/core/models/OrderDish").default[];
|
107
|
+
paymentMethod: any;
|
108
|
+
paymentMethodTitle: string;
|
109
|
+
paid: {
|
110
|
+
type: string;
|
111
|
+
defaultsTo: boolean;
|
112
|
+
};
|
113
|
+
isPaymentPromise: boolean;
|
114
|
+
dishesCount: number;
|
115
|
+
uniqueDishes: number;
|
116
|
+
modifiers: any;
|
117
|
+
customer: any;
|
118
|
+
address: any;
|
119
|
+
comment: string;
|
120
|
+
personsCount: string;
|
121
|
+
date: string;
|
122
|
+
problem: boolean;
|
123
|
+
rmsDelivered: boolean;
|
124
|
+
rmsId: string;
|
125
|
+
rmsOrderNumber: string;
|
126
|
+
rmsOrderData: any;
|
127
|
+
rmsDeliveryDate: string;
|
128
|
+
rmsErrorMessage: string;
|
129
|
+
rmsErrorCode: string;
|
130
|
+
rmsStatusCode: string;
|
131
|
+
deliveryStatus: string;
|
132
|
+
selfService: boolean;
|
133
|
+
deliveryDescription: string;
|
134
|
+
message: string;
|
135
|
+
deliveryItem: any;
|
136
|
+
deliveryCost: number;
|
137
|
+
totalWeight: number;
|
138
|
+
trifleFrom: number;
|
139
|
+
bonusesTotal: number;
|
140
|
+
total: number;
|
141
|
+
orderTotal: number;
|
142
|
+
discountTotal: number;
|
143
|
+
orderDate: string;
|
144
|
+
customData: any;
|
145
|
+
state: string;
|
146
|
+
toJSON(): any;
|
147
|
+
}>;
|
61
148
|
};
|
62
149
|
orderRemoveDish: {
|
63
150
|
def: string;
|
64
|
-
fn: (parent: any, args: any, context: any) => Promise<
|
151
|
+
fn: (parent: any, args: any, context: any) => Promise<{
|
152
|
+
id: string;
|
153
|
+
shortId: string;
|
154
|
+
dishes: number[] | import("@webresto/core/models/OrderDish").default[];
|
155
|
+
paymentMethod: any;
|
156
|
+
paymentMethodTitle: string;
|
157
|
+
paid: {
|
158
|
+
type: string;
|
159
|
+
defaultsTo: boolean;
|
160
|
+
};
|
161
|
+
isPaymentPromise: boolean;
|
162
|
+
dishesCount: number;
|
163
|
+
uniqueDishes: number;
|
164
|
+
modifiers: any;
|
165
|
+
customer: any;
|
166
|
+
address: any;
|
167
|
+
comment: string;
|
168
|
+
personsCount: string;
|
169
|
+
date: string;
|
170
|
+
problem: boolean;
|
171
|
+
rmsDelivered: boolean;
|
172
|
+
rmsId: string;
|
173
|
+
rmsOrderNumber: string;
|
174
|
+
rmsOrderData: any;
|
175
|
+
rmsDeliveryDate: string;
|
176
|
+
rmsErrorMessage: string;
|
177
|
+
rmsErrorCode: string;
|
178
|
+
rmsStatusCode: string;
|
179
|
+
deliveryStatus: string;
|
180
|
+
selfService: boolean;
|
181
|
+
deliveryDescription: string;
|
182
|
+
message: string;
|
183
|
+
deliveryItem: any;
|
184
|
+
deliveryCost: number;
|
185
|
+
totalWeight: number;
|
186
|
+
trifleFrom: number;
|
187
|
+
bonusesTotal: number;
|
188
|
+
total: number;
|
189
|
+
orderTotal: number;
|
190
|
+
discountTotal: number;
|
191
|
+
orderDate: string;
|
192
|
+
customData: any;
|
193
|
+
state: string;
|
194
|
+
toJSON(): any;
|
195
|
+
}>;
|
65
196
|
};
|
66
197
|
orderSetDishAmount: {
|
67
198
|
def: string;
|
68
|
-
fn: (parent: any, args: any, context: any) => Promise<
|
199
|
+
fn: (parent: any, args: any, context: any) => Promise<{
|
200
|
+
id: string;
|
201
|
+
shortId: string;
|
202
|
+
dishes: number[] | import("@webresto/core/models/OrderDish").default[];
|
203
|
+
paymentMethod: any;
|
204
|
+
paymentMethodTitle: string;
|
205
|
+
paid: {
|
206
|
+
type: string;
|
207
|
+
defaultsTo: boolean;
|
208
|
+
};
|
209
|
+
isPaymentPromise: boolean;
|
210
|
+
dishesCount: number;
|
211
|
+
uniqueDishes: number;
|
212
|
+
modifiers: any;
|
213
|
+
customer: any;
|
214
|
+
address: any;
|
215
|
+
comment: string;
|
216
|
+
personsCount: string;
|
217
|
+
date: string;
|
218
|
+
problem: boolean;
|
219
|
+
rmsDelivered: boolean;
|
220
|
+
rmsId: string;
|
221
|
+
rmsOrderNumber: string;
|
222
|
+
rmsOrderData: any;
|
223
|
+
rmsDeliveryDate: string;
|
224
|
+
rmsErrorMessage: string;
|
225
|
+
rmsErrorCode: string;
|
226
|
+
rmsStatusCode: string;
|
227
|
+
deliveryStatus: string;
|
228
|
+
selfService: boolean;
|
229
|
+
deliveryDescription: string;
|
230
|
+
message: string;
|
231
|
+
deliveryItem: any;
|
232
|
+
deliveryCost: number;
|
233
|
+
totalWeight: number;
|
234
|
+
trifleFrom: number;
|
235
|
+
bonusesTotal: number;
|
236
|
+
total: number;
|
237
|
+
orderTotal: number;
|
238
|
+
discountTotal: number;
|
239
|
+
orderDate: string;
|
240
|
+
customData: any;
|
241
|
+
state: string;
|
242
|
+
toJSON(): any;
|
243
|
+
}>;
|
69
244
|
};
|
70
245
|
orderSetDishComment: {
|
71
246
|
def: string;
|
72
|
-
fn: (parent: any, args: any, context: any) => Promise<
|
247
|
+
fn: (parent: any, args: any, context: any) => Promise<{
|
248
|
+
id: string;
|
249
|
+
shortId: string;
|
250
|
+
dishes: number[] | import("@webresto/core/models/OrderDish").default[];
|
251
|
+
paymentMethod: any;
|
252
|
+
paymentMethodTitle: string;
|
253
|
+
paid: {
|
254
|
+
type: string;
|
255
|
+
defaultsTo: boolean;
|
256
|
+
};
|
257
|
+
isPaymentPromise: boolean;
|
258
|
+
dishesCount: number;
|
259
|
+
uniqueDishes: number;
|
260
|
+
modifiers: any;
|
261
|
+
customer: any;
|
262
|
+
address: any;
|
263
|
+
comment: string;
|
264
|
+
personsCount: string;
|
265
|
+
date: string;
|
266
|
+
problem: boolean;
|
267
|
+
rmsDelivered: boolean;
|
268
|
+
rmsId: string;
|
269
|
+
rmsOrderNumber: string;
|
270
|
+
rmsOrderData: any;
|
271
|
+
rmsDeliveryDate: string;
|
272
|
+
rmsErrorMessage: string;
|
273
|
+
rmsErrorCode: string;
|
274
|
+
rmsStatusCode: string;
|
275
|
+
deliveryStatus: string;
|
276
|
+
selfService: boolean;
|
277
|
+
deliveryDescription: string;
|
278
|
+
message: string;
|
279
|
+
deliveryItem: any;
|
280
|
+
deliveryCost: number;
|
281
|
+
totalWeight: number;
|
282
|
+
trifleFrom: number;
|
283
|
+
bonusesTotal: number;
|
284
|
+
total: number;
|
285
|
+
orderTotal: number;
|
286
|
+
discountTotal: number;
|
287
|
+
orderDate: string;
|
288
|
+
customData: any;
|
289
|
+
state: string;
|
290
|
+
toJSON(): any;
|
291
|
+
}>;
|
73
292
|
};
|
74
293
|
orderUpdate: {
|
75
294
|
def: string;
|
@@ -77,7 +296,6 @@ declare const _default: {
|
|
77
296
|
id: string;
|
78
297
|
shortId: string;
|
79
298
|
dishes: number[] | import("@webresto/core/models/OrderDish").default[];
|
80
|
-
discount: any;
|
81
299
|
paymentMethod: any;
|
82
300
|
paymentMethodTitle: string;
|
83
301
|
paid: {
|
package/src/resolvers/cart.js
CHANGED
@@ -27,7 +27,9 @@ exports.default = {
|
|
27
27
|
sails.log.error("GQL > order resolver error: ", `order with id ${args.orderId} . Trying make new cart.`);
|
28
28
|
order = await getNewCart(args.orderId);
|
29
29
|
}
|
30
|
-
|
30
|
+
let fullOrder = await Order.populate(order.id);
|
31
|
+
getEmitter_1.default().emit("http-api:before-response-order", fullOrder);
|
32
|
+
return fullOrder;
|
31
33
|
},
|
32
34
|
},
|
33
35
|
},
|
@@ -65,7 +67,10 @@ exports.default = {
|
|
65
67
|
}
|
66
68
|
}
|
67
69
|
await Order.addDish(order.id, args.dishId, args.amount, args.modifiers || [], args.comment, args.from, args.replace, args.orderDishId);
|
68
|
-
|
70
|
+
await Order.countCart(order);
|
71
|
+
let fullOrder = await Order.populate(order.id);
|
72
|
+
getEmitter_1.default().emit("http-api:before-response-order-add-dish", fullOrder);
|
73
|
+
return fullOrder;
|
69
74
|
},
|
70
75
|
},
|
71
76
|
orderReplaceDish: {
|
@@ -82,7 +87,10 @@ exports.default = {
|
|
82
87
|
order = await getNewCart();
|
83
88
|
}
|
84
89
|
await Order.addDish(order.id, args.dishId, args.amount, args.modifiers || [], args.comment, args.from, args.replace, args.orderDishId);
|
85
|
-
|
90
|
+
await Order.countCart(order);
|
91
|
+
let fullOrder = await Order.populate(order.id);
|
92
|
+
getEmitter_1.default().emit("http-api:before-response-order-replace-dish", fullOrder);
|
93
|
+
return fullOrder;
|
86
94
|
},
|
87
95
|
},
|
88
96
|
orderRemoveDish: {
|
@@ -99,7 +107,10 @@ exports.default = {
|
|
99
107
|
}
|
100
108
|
const orderDish = await OrderDish.findOne({ id: args.orderDishId });
|
101
109
|
await Order.removeDish(order.id, orderDish, args.amount, false);
|
102
|
-
|
110
|
+
await Order.countCart(order);
|
111
|
+
let fullOrder = await Order.populate(order.id);
|
112
|
+
getEmitter_1.default().emit("http-api:before-response-order-remove-dish", fullOrder);
|
113
|
+
return fullOrder;
|
103
114
|
},
|
104
115
|
},
|
105
116
|
orderSetDishAmount: {
|
@@ -120,7 +131,10 @@ exports.default = {
|
|
120
131
|
if (!dish.dish)
|
121
132
|
throw new errorWrapper_1.Error(0, "ERROR", `Dish in OrderDish with id ${args.orderDishId} not found`);
|
122
133
|
await Order.setCount(order.id, dish, args.amount);
|
123
|
-
|
134
|
+
await Order.countCart(order);
|
135
|
+
let fullOrder = await Order.populate(order.id);
|
136
|
+
getEmitter_1.default().emit("http-api:before-response-order-set-dish-amount", fullOrder);
|
137
|
+
return fullOrder;
|
124
138
|
},
|
125
139
|
},
|
126
140
|
orderSetDishComment: {
|
@@ -147,7 +161,10 @@ exports.default = {
|
|
147
161
|
throw new errorWrapper_1.Error(0, "ERROR", `Dish with id ${dishId} not found`);
|
148
162
|
}
|
149
163
|
await order.setComment(dish, comment);
|
150
|
-
|
164
|
+
await Order.countCart(order);
|
165
|
+
let fullOrder = await Order.populate(order.id);
|
166
|
+
getEmitter_1.default().emit("http-api:before-response-order-set-dish-comment", fullOrder);
|
167
|
+
return fullOrder;
|
151
168
|
},
|
152
169
|
},
|
153
170
|
orderUpdate: {
|
@@ -157,7 +174,10 @@ exports.default = {
|
|
157
174
|
if (!order.id)
|
158
175
|
throw "order.id field is required";
|
159
176
|
await Order.update({ id: order.id }, { trifleFrom: order.trifleFrom });
|
160
|
-
|
177
|
+
await Order.populate(order.id);
|
178
|
+
let fullOrder = await Order.populate(order.id);
|
179
|
+
getEmitter_1.default().emit("http-api:before-response-order-update", fullOrder);
|
180
|
+
return fullOrder;
|
161
181
|
},
|
162
182
|
},
|
163
183
|
},
|