@webresto/graphql 1.3.2 → 1.3.3

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.
Files changed (66) hide show
  1. package/package.json +1 -1
  2. package/src/additionalResolvers.js +1 -1
  3. package/src/additionalResolvers.ts +1 -1
  4. package/src/graphql.js +40 -22
  5. package/src/graphql.ts +42 -25
  6. package/src/resolvers/cart.d.ts +225 -7
  7. package/src/resolvers/cart.js +21 -7
  8. package/src/resolvers/cart.ts +23 -8
  9. package/src/resolvers/checkout.ts +1 -0
  10. package/test/{_bootstrap.js → bootstrap.js} +6 -7
  11. package/test/bootstrap.ts +3 -0
  12. package/test/fixture/.sailsrc +14 -0
  13. package/test/fixture/api/controllers/.gitkeep +0 -0
  14. package/test/fixture/api/models/.gitkeep +0 -0
  15. package/test/fixture/api/services/.gitkeep +0 -0
  16. package/test/fixture/app-export.js +73 -73
  17. package/test/fixture/app.js +56 -56
  18. package/test/fixture/config/adminpanel.js +25 -3
  19. package/test/fixture/config/bootstrap.js +161 -0
  20. package/test/fixture/config/connections.js +9 -9
  21. package/test/fixture/config/env/development.js +10 -10
  22. package/test/fixture/config/env/production.js +16 -16
  23. package/test/fixture/config/globals.js +16 -16
  24. package/test/fixture/config/hookTimeout.js +8 -8
  25. package/test/fixture/config/http.js +93 -93
  26. package/test/fixture/config/i18n.js +57 -57
  27. package/test/fixture/config/log.js +29 -29
  28. package/test/fixture/config/models.js +8 -8
  29. package/test/fixture/config/modulemanager.js +22 -22
  30. package/test/fixture/config/policies.js +51 -51
  31. package/test/fixture/config/routes.js +49 -49
  32. package/test/fixture/config/session.js +100 -100
  33. package/test/fixture/config/sockets.js +141 -141
  34. package/test/fixture/config/views.js +94 -94
  35. package/test/fixture/hacks/waterline.js +39 -0
  36. package/test/fixture/package.json +33 -30
  37. package/test/fixture/seeds/dish.json +37042 -0
  38. package/test/fixture/seeds/group.json +1418 -0
  39. package/test/fixture/seeds/iikoDiscount.json +365 -0
  40. package/test/fixture/views/403.ejs +68 -68
  41. package/test/fixture/views/404.ejs +68 -68
  42. package/test/fixture/views/500.ejs +73 -73
  43. package/test/fixture/views/homepage.ejs +74 -74
  44. package/test/fixture/views/layout.ejs +91 -91
  45. package/test/integration/graphql.test.js +11 -0
  46. package/test/integration/graphql.test.ts +15 -0
  47. package/test/{unit → integration}/sails_not_crash.test.js +0 -0
  48. package/test/{unit → integration}/sails_not_crash.test.ts +0 -0
  49. package/test/unit/first.test.js +1 -1
  50. package/test/unit/first.test.ts +1 -1
  51. package/test/fixture/.tmp/localDiskDb/archive.db +0 -1
  52. package/test/fixture/.tmp/localDiskDb/dish.db +0 -1
  53. package/test/fixture/.tmp/localDiskDb/dish_images__image_dish.db +0 -1
  54. package/test/fixture/.tmp/localDiskDb/group.db +0 -1
  55. package/test/fixture/.tmp/localDiskDb/group_images__image_group.db +0 -1
  56. package/test/fixture/.tmp/localDiskDb/image.db +0 -1
  57. package/test/fixture/.tmp/localDiskDb/maintenance.db +0 -1
  58. package/test/fixture/.tmp/localDiskDb/order.db +0 -1
  59. package/test/fixture/.tmp/localDiskDb/orderdish.db +0 -1
  60. package/test/fixture/.tmp/localDiskDb/paymentdocument.db +0 -1
  61. package/test/fixture/.tmp/localDiskDb/paymentmethod.db +0 -2
  62. package/test/fixture/.tmp/localDiskDb/place.db +0 -1
  63. package/test/fixture/.tmp/localDiskDb/settings.db +0 -2
  64. package/test/fixture/.tmp/localDiskDb/street.db +0 -1
  65. package/test/fixture/package-lock.json +0 -9805
  66. package/test.zip +0 -0
package/package.json CHANGED
@@ -60,5 +60,5 @@
60
60
  "test:js": "mocha test/bootstrap.js './test/{,!(fixture)/**}/*.test.js' --exit",
61
61
  "test:init": "cd ./test/fixture && npm i --no-package-lock --prefix ./ && cd -"
62
62
  },
63
- "version": "1.3.2"
63
+ "version": "1.3.3"
64
64
  }
@@ -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: { "!": 0 }, isDeleted: false }).populateAll())[0];
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];
@@ -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: { "!": 0 }, isDeleted: false}).populateAll())[0];
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];
package/src/graphql.js CHANGED
@@ -65,6 +65,11 @@ exports.default = {
65
65
  type: String
66
66
  message: String
67
67
  }
68
+ type Street {
69
+ id: String
70
+ name: String
71
+ customData: Json
72
+ }
68
73
  type Action {
69
74
  type: String
70
75
  data: Json
@@ -98,6 +103,13 @@ exports.default = {
98
103
  type Subscription {
99
104
  _root: String
100
105
  }`);
106
+ /**
107
+ * Discount fields global support
108
+ */
109
+ helper.addCustomField("Dish", "discountAmount: Float");
110
+ helper.addCustomField("Dish", "discountType: String");
111
+ helper.addCustomField("Dish", "oldPrice: Float");
112
+ helper.addCustomField("Group", "discount: String");
101
113
  const { typeDefs, resolvers } = helper.getSchema();
102
114
  getEmitter_1.default().on('core-order-after-count', 'graphql', function (order) {
103
115
  pubsub.publish("order-changed", order);
@@ -114,30 +126,36 @@ exports.default = {
114
126
  getEmitter_1.default().on("core-maintenance-disabled", "graphql", function () {
115
127
  pubsub.publish("maintenance", null);
116
128
  });
117
- const apolloServer = new ApolloServer({
118
- typeDefs,
119
- resolvers: [resolvers, AdditionalResolvers],
120
- subscriptions: {
121
- onConnect: (connectionParams, webSocket) => {
122
- let exContext = {};
123
- if (connectionParams) {
124
- if (!connectionParams['authorization'] && connectionParams['Authorization'])
125
- connectionParams['authorization'] = connectionParams['Authorization'];
126
- exContext['connectionParams'] = connectionParams;
127
- }
128
- exContext['pubsub'] = pubsub;
129
- return exContext;
129
+ let apolloServer;
130
+ try {
131
+ apolloServer = new ApolloServer({
132
+ typeDefs,
133
+ resolvers: [resolvers, AdditionalResolvers],
134
+ subscriptions: {
135
+ onConnect: (connectionParams, webSocket) => {
136
+ let exContext = {};
137
+ if (connectionParams) {
138
+ if (!connectionParams['authorization'] && connectionParams['Authorization'])
139
+ connectionParams['authorization'] = connectionParams['Authorization'];
140
+ exContext['connectionParams'] = connectionParams;
141
+ }
142
+ exContext['pubsub'] = pubsub;
143
+ return exContext;
144
+ },
130
145
  },
131
- },
132
- context: async ({ req, connection }) => {
133
- if (connection) {
134
- return connection.context;
135
- }
136
- else {
137
- return { ...req };
146
+ context: async ({ req, connection }) => {
147
+ if (connection) {
148
+ return connection.context;
149
+ }
150
+ else {
151
+ return { ...req };
152
+ }
138
153
  }
139
- }
140
- });
154
+ });
155
+ }
156
+ catch (error) {
157
+ console.error("GraphQL start error: ", error);
158
+ }
141
159
  server = apolloServer;
142
160
  return apolloServer;
143
161
  }
package/src/graphql.ts CHANGED
@@ -74,6 +74,11 @@ export default {
74
74
  type: String
75
75
  message: String
76
76
  }
77
+ type Street {
78
+ id: String
79
+ name: String
80
+ customData: Json
81
+ }
77
82
  type Action {
78
83
  type: String
79
84
  data: Json
@@ -110,6 +115,14 @@ export default {
110
115
  type Subscription {
111
116
  _root: String
112
117
  }`);
118
+
119
+ /**
120
+ * Discount fields global support
121
+ */
122
+ helper.addCustomField("Dish", "discountAmount: Float")
123
+ helper.addCustomField("Dish", "discountType: String")
124
+ helper.addCustomField("Dish", "oldPrice: Float")
125
+ helper.addCustomField("Group", "discount: String")
113
126
 
114
127
  const { typeDefs, resolvers } = helper.getSchema();
115
128
 
@@ -128,31 +141,35 @@ export default {
128
141
  getEmitter().on("core-maintenance-disabled", "graphql", function () {
129
142
  pubsub.publish("maintenance", null);
130
143
  });
131
-
132
- const apolloServer = new ApolloServer({
133
- typeDefs,
134
- resolvers: [resolvers, AdditionalResolvers],
135
- subscriptions: {
136
- onConnect: (connectionParams, webSocket) => {
137
- let exContext = {}
138
- if (connectionParams) {
139
- if (!connectionParams['authorization'] && connectionParams['Authorization'])
140
- connectionParams['authorization'] = connectionParams['Authorization'];
141
-
142
- exContext['connectionParams'] = connectionParams
143
- }
144
- exContext['pubsub'] = pubsub;
145
- return exContext;
146
- },
147
- },
148
- context: async ({ req , connection}) => {
149
- if (connection) {
150
- return connection.context;
151
- } else {
152
- return { ...req };
153
- }
154
- }
155
- });
144
+ let apolloServer
145
+ try {
146
+ apolloServer = new ApolloServer({
147
+ typeDefs,
148
+ resolvers: [resolvers, AdditionalResolvers],
149
+ subscriptions: {
150
+ onConnect: (connectionParams, webSocket) => {
151
+ let exContext = {}
152
+ if (connectionParams) {
153
+ if (!connectionParams['authorization'] && connectionParams['Authorization'])
154
+ connectionParams['authorization'] = connectionParams['Authorization'];
155
+
156
+ exContext['connectionParams'] = connectionParams
157
+ }
158
+ exContext['pubsub'] = pubsub;
159
+ return exContext;
160
+ },
161
+ },
162
+ context: async ({ req , connection}) => {
163
+ if (connection) {
164
+ return connection.context;
165
+ } else {
166
+ return { ...req };
167
+ }
168
+ }
169
+ });
170
+ } catch (error) {
171
+ console.error("GraphQL start error: ", error)
172
+ }
156
173
 
157
174
  server = apolloServer;
158
175
  return apolloServer;
@@ -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<import("@webresto/core/models/Order").default>;
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<import("@webresto/core/models/Order").default>;
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<import("@webresto/core/models/Order").default>;
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<import("@webresto/core/models/Order").default>;
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<import("@webresto/core/models/Order").default>;
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: {
@@ -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
- return await Order.populate(order.id);
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
  },
@@ -66,7 +68,9 @@ exports.default = {
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);
69
- return await Order.populate(order.id);
71
+ let fullOrder = await Order.populate(order.id);
72
+ getEmitter_1.default().emit("http-api:before-response-order-add-dish", fullOrder);
73
+ return fullOrder;
70
74
  },
71
75
  },
72
76
  orderReplaceDish: {
@@ -84,7 +88,9 @@ exports.default = {
84
88
  }
85
89
  await Order.addDish(order.id, args.dishId, args.amount, args.modifiers || [], args.comment, args.from, args.replace, args.orderDishId);
86
90
  await Order.countCart(order);
87
- return await Order.populate(order.id);
91
+ let fullOrder = await Order.populate(order.id);
92
+ getEmitter_1.default().emit("http-api:before-response-order-replace-dish", fullOrder);
93
+ return fullOrder;
88
94
  },
89
95
  },
90
96
  orderRemoveDish: {
@@ -102,7 +108,9 @@ exports.default = {
102
108
  const orderDish = await OrderDish.findOne({ id: args.orderDishId });
103
109
  await Order.removeDish(order.id, orderDish, args.amount, false);
104
110
  await Order.countCart(order);
105
- return await Order.populate(order.id);
111
+ let fullOrder = await Order.populate(order.id);
112
+ getEmitter_1.default().emit("http-api:before-response-order-remove-dish", fullOrder);
113
+ return fullOrder;
106
114
  },
107
115
  },
108
116
  orderSetDishAmount: {
@@ -124,7 +132,9 @@ exports.default = {
124
132
  throw new errorWrapper_1.Error(0, "ERROR", `Dish in OrderDish with id ${args.orderDishId} not found`);
125
133
  await Order.setCount(order.id, dish, args.amount);
126
134
  await Order.countCart(order);
127
- return await Order.populate(order.id);
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;
128
138
  },
129
139
  },
130
140
  orderSetDishComment: {
@@ -152,7 +162,9 @@ exports.default = {
152
162
  }
153
163
  await order.setComment(dish, comment);
154
164
  await Order.countCart(order);
155
- return await Order.populate(order.id);
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;
156
168
  },
157
169
  },
158
170
  orderUpdate: {
@@ -163,7 +175,9 @@ exports.default = {
163
175
  throw "order.id field is required";
164
176
  await Order.update({ id: order.id }, { trifleFrom: order.trifleFrom });
165
177
  await Order.populate(order.id);
166
- return 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;
167
181
  },
168
182
  },
169
183
  },
@@ -32,7 +32,10 @@ export default {
32
32
  );
33
33
  order = await getNewCart(args.orderId);
34
34
  }
35
- return await Order.populate(order.id);
35
+
36
+ let fullOrder = await Order.populate(order.id);
37
+ getEmitter().emit("http-api:before-response-order", fullOrder);
38
+ return fullOrder
36
39
  },
37
40
  },
38
41
  },
@@ -96,7 +99,10 @@ export default {
96
99
  args.orderDishId
97
100
  );
98
101
  await Order.countCart(order);
99
- return await Order.populate(order.id);
102
+
103
+ let fullOrder = await Order.populate(order.id);
104
+ getEmitter().emit("http-api:before-response-order-add-dish", fullOrder);
105
+ return fullOrder
100
106
  },
101
107
  },
102
108
  orderReplaceDish: {
@@ -128,7 +134,9 @@ export default {
128
134
  args.orderDishId
129
135
  );
130
136
  await Order.countCart(order);
131
- return await Order.populate(order.id);
137
+ let fullOrder = await Order.populate(order.id);
138
+ getEmitter().emit("http-api:before-response-order-replace-dish", fullOrder);
139
+ return fullOrder
132
140
  },
133
141
  },
134
142
  orderRemoveDish: {
@@ -153,7 +161,9 @@ export default {
153
161
 
154
162
  await Order.removeDish(order.id, orderDish, args.amount, false);
155
163
  await Order.countCart(order);
156
- return await Order.populate(order.id);
164
+ let fullOrder = await Order.populate(order.id);
165
+ getEmitter().emit("http-api:before-response-order-remove-dish", fullOrder);
166
+ return fullOrder
157
167
  },
158
168
  },
159
169
  orderSetDishAmount: {
@@ -191,7 +201,9 @@ export default {
191
201
 
192
202
  await Order.setCount(order.id, dish, args.amount);
193
203
  await Order.countCart(order);
194
- return await Order.populate(order.id);
204
+ let fullOrder = await Order.populate(order.id);
205
+ getEmitter().emit("http-api:before-response-order-set-dish-amount", fullOrder);
206
+ return fullOrder
195
207
  },
196
208
  },
197
209
  orderSetDishComment: {
@@ -228,8 +240,9 @@ export default {
228
240
 
229
241
  await order.setComment(dish, comment);
230
242
  await Order.countCart(order);
231
- return await Order.populate(order.id);
232
- },
243
+ let fullOrder = await Order.populate(order.id);
244
+ getEmitter().emit("http-api:before-response-order-set-dish-comment", fullOrder);
245
+ return fullOrder },
233
246
  },
234
247
 
235
248
  orderUpdate: {
@@ -240,7 +253,9 @@ export default {
240
253
  if (!order.id) throw "order.id field is required"
241
254
  await Order.update({id: order.id}, {trifleFrom: order.trifleFrom})
242
255
  await Order.populate(order.id);
243
- return await Order.populate(order.id);
256
+ let fullOrder = await Order.populate(order.id);
257
+ getEmitter().emit("http-api:before-response-order-update", fullOrder);
258
+ return fullOrder
244
259
  },
245
260
  },
246
261
  },
@@ -90,6 +90,7 @@ export default {
90
90
  ? order.message
91
91
  : "Заказ готов к оформлению",
92
92
  };
93
+
93
94
  } else {
94
95
  if (order.message) {
95
96
  return eventHelper.sendMessage(args.orderId, {
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  require("mocha");
4
- var Sails = require('./fixtures/v0.12-app/node_modules/sails').Sails;
4
+ require("dotenv").config();
5
+ var Sails = require("./fixture/node_modules/sails").Sails;
6
+ process.env.DEV = "TRUE";
7
+ process.env.LOG_LEVEL = 'silent';
5
8
  before(function (done) {
6
- let rc = require('./fixtures/v0.12-app/app').rc;
9
+ require("./fixture/app-export");
7
10
  this.timeout(50000);
8
- Sails().lift(rc, function (err, _sails) {
11
+ Sails().lift({}, function (err, _sails) {
9
12
  if (err)
10
13
  return done(err);
11
14
  global.sails = _sails;
12
- // console.log(_sails);
13
15
  return done();
14
16
  });
15
17
  });
@@ -18,12 +20,9 @@ after(function (done) {
18
20
  return global.sails.lower(function (err) {
19
21
  if (err) {
20
22
  done();
21
- return process.exit(2);
22
23
  }
23
24
  done();
24
- return process.exit(0);
25
25
  });
26
26
  }
27
27
  done();
28
- return process.exit(2);
29
28
  });
package/test/bootstrap.ts CHANGED
@@ -2,6 +2,9 @@ import "mocha";
2
2
  require("dotenv").config();
3
3
  var Sails = require("./fixture/node_modules/sails").Sails;
4
4
 
5
+ process.env.DEV = "TRUE"
6
+ process.env.LOG_LEVEL= 'silent'
7
+
5
8
  before(function (done) {
6
9
  require("./fixture/app-export");
7
10
  this.timeout(50000);