flykup_model_production 1.0.16 → 1.0.17

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 (40) hide show
  1. package/.gitattributes +2 -0
  2. package/.github/workflows/publish.yml +31 -0
  3. package/auth.js +14 -14
  4. package/config.js +1 -1
  5. package/db_connection.js +23 -23
  6. package/index.js +140 -140
  7. package/models/AadhaarVerification.js +131 -131
  8. package/models/AdminEmail.model.js +38 -38
  9. package/models/BankVerification.js +92 -92
  10. package/models/GSTVerification.js +89 -89
  11. package/models/LiveStreamInteraction.model.js +101 -101
  12. package/models/ProductInteraction.model.js +108 -108
  13. package/models/Review.model.js +121 -121
  14. package/models/SearchAnalytics.js +23 -23
  15. package/models/ShoppableInteraction.model.js +106 -106
  16. package/models/Wishlist.model.js +29 -29
  17. package/models/admin.model.js +42 -42
  18. package/models/appUpdate.model.js +19 -19
  19. package/models/assets.model.js +32 -32
  20. package/models/blockedRegion.models.js +27 -27
  21. package/models/chat.model.js +511 -511
  22. package/models/coHostInvitation.model.js +60 -60
  23. package/models/follow.model.js +38 -38
  24. package/models/loginlogs.model.js +26 -26
  25. package/models/notification.model.js +130 -129
  26. package/models/order.modal.js +385 -385
  27. package/models/orderPayment.model.js +218 -218
  28. package/models/productListing.model.js +322 -322
  29. package/models/profileInteractions.model.js +44 -44
  30. package/models/registerShow.model.js +29 -29
  31. package/models/sellerDraft.model.js +27 -27
  32. package/models/shipper.model.js +126 -126
  33. package/models/shoppableVideo.model.js +237 -237
  34. package/models/shoppableVideoComment.model.js +57 -57
  35. package/models/shoppableVideoLike.model.js +29 -29
  36. package/models/shoppableVideoSave.model.js +27 -27
  37. package/models/shows.model.js +603 -603
  38. package/models/stock.model.js +105 -105
  39. package/models/ticket.model.js +115 -115
  40. package/package.json +18 -18
@@ -1,385 +1,385 @@
1
-
2
- // order.modal.js
3
- import mongoose from 'mongoose';
4
- import { nanoid } from 'nanoid';
5
-
6
- const orderSchema = new mongoose.Schema(
7
- {
8
- orderId: {
9
- type: String,
10
- required: true,
11
- unique: true,
12
- default: () => `FLY-ORD-${nanoid(8)}`
13
- },
14
- userId: {
15
- type: mongoose.Schema.Types.ObjectId,
16
- ref: 'users',
17
- required: true,
18
- index: true
19
- },
20
- notificationSent: {
21
- orderPlaced: { type: Boolean, default: false },
22
- orderConfirmed: { type: Boolean, default: false }
23
- },
24
- products: [{
25
- productId: {
26
- type: mongoose.Schema.Types.ObjectId,
27
- ref: 'productlistings',
28
- required: true
29
- },
30
- sellerUserId: {
31
- type: mongoose.Schema.Types.ObjectId,
32
- ref: 'users',
33
- required: true
34
- },
35
- quantity: {
36
- type: Number,
37
- required: true,
38
- min: 1
39
- },
40
- basePrice: {
41
- type: Number,
42
- required: true
43
- },
44
- gstRate: {
45
- type: Number,
46
- required: true
47
- },
48
- gstAmount: {
49
- type: Number,
50
- required: true
51
- },
52
- gstType: {
53
- type: String,
54
- enum: ['CGST+SGST', 'IGST',"NON-GST"],
55
- required: true
56
- },
57
- isFlashSale: {
58
- type: Boolean,
59
- default: false
60
- },
61
- flashPrice: {
62
- type: Number,
63
- default: null // Store the specific flash price used for this item
64
- }
65
- }],
66
- totalBaseAmount: {
67
- type: Number,
68
- required: true
69
- },
70
- totalGstAmount: {
71
- type: Number,
72
- required: true
73
- },
74
- totalAmount: {
75
- type: Number,
76
- required: true
77
- },
78
- gstSplit: {
79
- cgst: {
80
- rate: Number,
81
- amount: Number
82
- },
83
- sgst: {
84
- rate: Number,
85
- amount: Number
86
- },
87
- igst: {
88
- rate: Number,
89
- amount: Number
90
- }
91
- },
92
- deliveryAddress: {
93
- name: { type: String, maxLength: 50, trim: true, required: true },
94
- mobile: { type: String, trim: true, maxLength: 15, required: true },
95
- alternateMobile: { type: String, trim: true, maxLength: 15, default: null },
96
- line1: { type: String, trim: true, maxLength: 100, required: true },
97
- line2: { type: String, trim: true, maxLength: 100, default: "" },
98
- city: { type: String, trim: true, maxLength: 50, required: true },
99
- state: { type: String, trim: true, maxLength: 50, required: true },
100
- pincode: { type: String, maxLength: 6, trim: true, required: true },
101
- addressType: {
102
- type: String,
103
- enum: ['home', 'work', 'other'],
104
- default: 'home'
105
- },
106
- // --- ADD THESE FIELDS INSIDE deliveryAddress ---
107
- addressModified: {
108
- type: Boolean,
109
- default: false
110
- },
111
- addressModifiedAt: {
112
- type: Date,
113
- default: null
114
- }
115
- },
116
- logisticsDetails: {
117
- shipmentMethod: {
118
- type: String,
119
- enum: ['self_shipment', 'flykup_logistics'],
120
- default: 'flykup_logistics'
121
- },
122
- awbNumber: String,
123
- carrier: String,
124
- carrierId: String,
125
- trackingNumber: String,
126
- trackingUrl: String,
127
- expectedDeliveryDate: Date,
128
- shipmentBookedAt: Date,
129
- logisticsResponse: mongoose.Schema.Types.Mixed,
130
- shipmentBookingStatus: {
131
- type: String,
132
- enum: ['pending', 'booked', 'failed', 'cancelled', 'cancellation_failed'], // Add the new value here
133
- default: 'pending'
134
- },
135
- shipmentBookingError: String,
136
- multipleSellers: {
137
- type: Boolean,
138
- default: false
139
- },
140
- selectedCourier: {
141
- courierId: String,
142
- courierName: String,
143
- deliveryCharges: Number,
144
- estimatedDays: Number,
145
- deliveryDate: String
146
- },
147
- cancellationAttemptedAt: Date,
148
- cancellationResult: {
149
- success: Boolean,
150
- message: String,
151
- error: String,
152
- responseData: mongoose.Schema.Types.Mixed
153
- },
154
- cancellationEligibility: {
155
- eligible: Boolean,
156
- reason: String
157
- },
158
- tracking: {
159
- lastSyncedAt: Date,
160
- currentStatus: String,
161
- statusCode: String,
162
- progressPercentage: Number,
163
- currentLocation: String,
164
- estimatedDelivery: Date,
165
- trackingTimeline: [{
166
- date: Date,
167
- status: String,
168
- location: String,
169
- icon: String
170
- }]
171
- },
172
- },
173
- packageDetails: {
174
- totalWeight: Number,
175
- weightUnit: {
176
- type: String,
177
- default: 'grams'
178
- },
179
- dimensions: {
180
- length: Number,
181
- width: Number,
182
- height: Number
183
- },
184
-
185
- volumetricWeight: Number
186
- },
187
- pickupAddresses: [{
188
- sellerUserId: {
189
- type: mongoose.Schema.Types.ObjectId,
190
- ref: 'users',
191
- required: true
192
- },
193
- name: String,
194
- mobile: String,
195
- addressLine1: {
196
- type: String,
197
- trim: true,
198
- maxLength: 150,
199
- },
200
- addressLine2: {
201
- type: String,
202
- trim: true,
203
- maxLength: 150,
204
- },
205
- city: {
206
- type: String,
207
- trim: true,
208
- maxLength: 50,
209
- },
210
- state: {
211
- type: String,
212
- trim: true,
213
- maxLength: 50,
214
- },
215
- pincode: {
216
- type: String,
217
- trim: true,
218
- maxLength: 6,
219
- },
220
- }],
221
- paymentMethod: {
222
- type: String,
223
- enum: ['CARD', 'UPI', 'NETBANKING', 'WALLET', 'COD', "PENDING_PAYMENT", "CASHFREE","RAZORPAY", "Online"],
224
- required: true
225
- },
226
- paymentStatus: {
227
- type: String,
228
- enum: ['PENDING', 'PAID', 'FAILED', 'REFUNDED'],
229
- default: 'PENDING',
230
- required: true
231
- },
232
- orderStatus: {
233
- type: String,
234
- enum: [
235
- 'PENDING_PAYMENT',
236
- 'ORDERED',
237
- 'PACKED',
238
- 'SHIPPED',
239
- 'OUT_FOR_DELIVERY',
240
- 'DELIVERED',
241
- 'CANCELLED',
242
- 'RETURN_REQUESTED',
243
- 'RETURN_APPROVED',
244
- 'RETURN_SHIPPED',
245
- 'RETURN_RECEIVED',
246
- 'REFUNDED',
247
- 'REPLACEMENT_SHIPPED',
248
- 'REPLACEMENT_DELIVERED'
249
- ],
250
- // default: 'ORDERED', // Default should be the initial state
251
- required: true
252
- },
253
- sourceType: {
254
- type: String,
255
- enum: ['static', 'shoppable_video', 'livestream', 'auction', 'flash_sale', 'giveaway','bundle_sale','bundle_flash_sale'],
256
- required: true
257
- },
258
- sourceRefId: String,
259
- deliveryCharge: {
260
- type: Number,
261
- default: 40
262
- },
263
- statusTimeline: {
264
- ordered: Date,
265
- paid: Date,
266
- packed: Date,
267
- shipped: Date,
268
- outForDelivery: Date,
269
- delivered: Date,
270
- cancelled: Date,
271
- returnRequested: Date,
272
- returnApproved: Date,
273
- returnShipped: Date,
274
- returnReceived: Date,
275
- refunded: Date,
276
- replacementShipped: Date,
277
- replacementDelivered: Date
278
- },
279
- courierDetails: {
280
- carrier: String,
281
- trackingNumber: String,
282
- estimatedDelivery: Date
283
- },
284
- returnDetails: {
285
- reason: String,
286
- type: {
287
- type: String,
288
- enum: ['REFUND', 'REPLACE']
289
- },
290
- items: [{
291
- productId: mongoose.Schema.Types.ObjectId,
292
- quantity: Number
293
- }]
294
- },
295
- refundDetails: {
296
- amount: Number,
297
- method: String,
298
- transactionId: String
299
- },
300
- replacementDetails: {
301
- trackingNumber: String,
302
- replacementOrderId: mongoose.Schema.Types.ObjectId
303
- },
304
- returnRequests: [{
305
- _id: { type: mongoose.Schema.Types.ObjectId, auto: true },
306
- orderItemId: { // Reference to the specific item in the order
307
- type: mongoose.Schema.Types.ObjectId,
308
- required: true
309
- },
310
- reason: String,
311
- additionalNotes: String,
312
- images: [String],
313
- status: {
314
- type: String,
315
- enum: ['PENDING',
316
- 'APPROVED',
317
- 'REJECTED',
318
- 'RETURN_SHIPPED',
319
- 'RETURN_RECEIVED',
320
- 'REFUNDED'],
321
- default: 'PENDING'
322
- },
323
- shipmentDetails: {
324
- carrier: String,
325
- trackingNumber: String,
326
- receiptImage: String, // S3 key for uploaded image
327
- shippedAt: Date
328
- },
329
- receivedAt: Date,
330
- refundProcessedAt: Date,
331
- sellerResponse: String,
332
- requestedAt: Date,
333
- processedAt: Date
334
- }],
335
- cancelReason: String,
336
- cancelSource: {
337
- type: String,
338
- enum: ['user', 'seller', 'system'],
339
- default: 'user'
340
- },
341
- flashSaleItems: [{
342
- productId: {
343
- type: mongoose.Schema.Types.ObjectId,
344
- ref: 'productlistings'
345
- },
346
- flashSaleId: {
347
- type: mongoose.Schema.Types.ObjectId,
348
- ref: 'FlashSale'
349
- },
350
- quantity: Number,
351
- flashPrice: Number,
352
- originalPrice: Number
353
- }],
354
- labelPrinted: {
355
- type: Boolean,
356
- default: false
357
- },
358
- payment: {
359
- type: mongoose.Schema.Types.ObjectId,
360
- ref: 'orderPayment'
361
- },
362
- invoiceKey: {
363
- type: String,
364
- default: null
365
- },
366
- invoiceStatus: {
367
- type: String,
368
- enum: ['pending', 'processing', 'completed', 'failed'],
369
- default: 'pending'
370
- },
371
- invoiceRetries: {
372
- type: Number,
373
- default: 0
374
- },
375
- invoiceError: String
376
- },
377
-
378
- { timestamps: true }
379
- );
380
-
381
-
382
-
383
-
384
- const Order = mongoose.models.Order || mongoose.model('Order', orderSchema);
385
- export default Order;
1
+
2
+ // order.modal.js
3
+ import mongoose from 'mongoose';
4
+ import { nanoid } from 'nanoid';
5
+
6
+ const orderSchema = new mongoose.Schema(
7
+ {
8
+ orderId: {
9
+ type: String,
10
+ required: true,
11
+ unique: true,
12
+ default: () => `FLY-ORD-${nanoid(8)}`
13
+ },
14
+ userId: {
15
+ type: mongoose.Schema.Types.ObjectId,
16
+ ref: 'users',
17
+ required: true,
18
+ index: true
19
+ },
20
+ notificationSent: {
21
+ orderPlaced: { type: Boolean, default: false },
22
+ orderConfirmed: { type: Boolean, default: false }
23
+ },
24
+ products: [{
25
+ productId: {
26
+ type: mongoose.Schema.Types.ObjectId,
27
+ ref: 'productlistings',
28
+ required: true
29
+ },
30
+ sellerUserId: {
31
+ type: mongoose.Schema.Types.ObjectId,
32
+ ref: 'users',
33
+ required: true
34
+ },
35
+ quantity: {
36
+ type: Number,
37
+ required: true,
38
+ min: 1
39
+ },
40
+ basePrice: {
41
+ type: Number,
42
+ required: true
43
+ },
44
+ gstRate: {
45
+ type: Number,
46
+ required: true
47
+ },
48
+ gstAmount: {
49
+ type: Number,
50
+ required: true
51
+ },
52
+ gstType: {
53
+ type: String,
54
+ enum: ['CGST+SGST', 'IGST',"NON-GST"],
55
+ required: true
56
+ },
57
+ isFlashSale: {
58
+ type: Boolean,
59
+ default: false
60
+ },
61
+ flashPrice: {
62
+ type: Number,
63
+ default: null // Store the specific flash price used for this item
64
+ }
65
+ }],
66
+ totalBaseAmount: {
67
+ type: Number,
68
+ required: true
69
+ },
70
+ totalGstAmount: {
71
+ type: Number,
72
+ required: true
73
+ },
74
+ totalAmount: {
75
+ type: Number,
76
+ required: true
77
+ },
78
+ gstSplit: {
79
+ cgst: {
80
+ rate: Number,
81
+ amount: Number
82
+ },
83
+ sgst: {
84
+ rate: Number,
85
+ amount: Number
86
+ },
87
+ igst: {
88
+ rate: Number,
89
+ amount: Number
90
+ }
91
+ },
92
+ deliveryAddress: {
93
+ name: { type: String, maxLength: 50, trim: true, required: true },
94
+ mobile: { type: String, trim: true, maxLength: 15, required: true },
95
+ alternateMobile: { type: String, trim: true, maxLength: 15, default: null },
96
+ line1: { type: String, trim: true, maxLength: 100, required: true },
97
+ line2: { type: String, trim: true, maxLength: 100, default: "" },
98
+ city: { type: String, trim: true, maxLength: 50, required: true },
99
+ state: { type: String, trim: true, maxLength: 50, required: true },
100
+ pincode: { type: String, maxLength: 6, trim: true, required: true },
101
+ addressType: {
102
+ type: String,
103
+ enum: ['home', 'work', 'other'],
104
+ default: 'home'
105
+ },
106
+ // --- ADD THESE FIELDS INSIDE deliveryAddress ---
107
+ addressModified: {
108
+ type: Boolean,
109
+ default: false
110
+ },
111
+ addressModifiedAt: {
112
+ type: Date,
113
+ default: null
114
+ }
115
+ },
116
+ logisticsDetails: {
117
+ shipmentMethod: {
118
+ type: String,
119
+ enum: ['self_shipment', 'flykup_logistics'],
120
+ default: 'flykup_logistics'
121
+ },
122
+ awbNumber: String,
123
+ carrier: String,
124
+ carrierId: String,
125
+ trackingNumber: String,
126
+ trackingUrl: String,
127
+ expectedDeliveryDate: Date,
128
+ shipmentBookedAt: Date,
129
+ logisticsResponse: mongoose.Schema.Types.Mixed,
130
+ shipmentBookingStatus: {
131
+ type: String,
132
+ enum: ['pending', 'booked', 'failed', 'cancelled', 'cancellation_failed'], // Add the new value here
133
+ default: 'pending'
134
+ },
135
+ shipmentBookingError: String,
136
+ multipleSellers: {
137
+ type: Boolean,
138
+ default: false
139
+ },
140
+ selectedCourier: {
141
+ courierId: String,
142
+ courierName: String,
143
+ deliveryCharges: Number,
144
+ estimatedDays: Number,
145
+ deliveryDate: String
146
+ },
147
+ cancellationAttemptedAt: Date,
148
+ cancellationResult: {
149
+ success: Boolean,
150
+ message: String,
151
+ error: String,
152
+ responseData: mongoose.Schema.Types.Mixed
153
+ },
154
+ cancellationEligibility: {
155
+ eligible: Boolean,
156
+ reason: String
157
+ },
158
+ tracking: {
159
+ lastSyncedAt: Date,
160
+ currentStatus: String,
161
+ statusCode: String,
162
+ progressPercentage: Number,
163
+ currentLocation: String,
164
+ estimatedDelivery: Date,
165
+ trackingTimeline: [{
166
+ date: Date,
167
+ status: String,
168
+ location: String,
169
+ icon: String
170
+ }]
171
+ },
172
+ },
173
+ packageDetails: {
174
+ totalWeight: Number,
175
+ weightUnit: {
176
+ type: String,
177
+ default: 'grams'
178
+ },
179
+ dimensions: {
180
+ length: Number,
181
+ width: Number,
182
+ height: Number
183
+ },
184
+
185
+ volumetricWeight: Number
186
+ },
187
+ pickupAddresses: [{
188
+ sellerUserId: {
189
+ type: mongoose.Schema.Types.ObjectId,
190
+ ref: 'users',
191
+ required: true
192
+ },
193
+ name: String,
194
+ mobile: String,
195
+ addressLine1: {
196
+ type: String,
197
+ trim: true,
198
+ maxLength: 150,
199
+ },
200
+ addressLine2: {
201
+ type: String,
202
+ trim: true,
203
+ maxLength: 150,
204
+ },
205
+ city: {
206
+ type: String,
207
+ trim: true,
208
+ maxLength: 50,
209
+ },
210
+ state: {
211
+ type: String,
212
+ trim: true,
213
+ maxLength: 50,
214
+ },
215
+ pincode: {
216
+ type: String,
217
+ trim: true,
218
+ maxLength: 6,
219
+ },
220
+ }],
221
+ paymentMethod: {
222
+ type: String,
223
+ enum: ['CARD', 'UPI', 'NETBANKING', 'WALLET', 'COD', "PENDING_PAYMENT", "CASHFREE","RAZORPAY", "Online"],
224
+ required: true
225
+ },
226
+ paymentStatus: {
227
+ type: String,
228
+ enum: ['PENDING', 'PAID', 'FAILED', 'REFUNDED'],
229
+ default: 'PENDING',
230
+ required: true
231
+ },
232
+ orderStatus: {
233
+ type: String,
234
+ enum: [
235
+ 'PENDING_PAYMENT',
236
+ 'ORDERED',
237
+ 'PACKED',
238
+ 'SHIPPED',
239
+ 'OUT_FOR_DELIVERY',
240
+ 'DELIVERED',
241
+ 'CANCELLED',
242
+ 'RETURN_REQUESTED',
243
+ 'RETURN_APPROVED',
244
+ 'RETURN_SHIPPED',
245
+ 'RETURN_RECEIVED',
246
+ 'REFUNDED',
247
+ 'REPLACEMENT_SHIPPED',
248
+ 'REPLACEMENT_DELIVERED'
249
+ ],
250
+ // default: 'ORDERED', // Default should be the initial state
251
+ required: true
252
+ },
253
+ sourceType: {
254
+ type: String,
255
+ enum: ['static', 'shoppable_video', 'livestream', 'auction', 'flash_sale', 'giveaway','bundle_sale','bundle_flash_sale'],
256
+ required: true
257
+ },
258
+ sourceRefId: String,
259
+ deliveryCharge: {
260
+ type: Number,
261
+ default: 40
262
+ },
263
+ statusTimeline: {
264
+ ordered: Date,
265
+ paid: Date,
266
+ packed: Date,
267
+ shipped: Date,
268
+ outForDelivery: Date,
269
+ delivered: Date,
270
+ cancelled: Date,
271
+ returnRequested: Date,
272
+ returnApproved: Date,
273
+ returnShipped: Date,
274
+ returnReceived: Date,
275
+ refunded: Date,
276
+ replacementShipped: Date,
277
+ replacementDelivered: Date
278
+ },
279
+ courierDetails: {
280
+ carrier: String,
281
+ trackingNumber: String,
282
+ estimatedDelivery: Date
283
+ },
284
+ returnDetails: {
285
+ reason: String,
286
+ type: {
287
+ type: String,
288
+ enum: ['REFUND', 'REPLACE']
289
+ },
290
+ items: [{
291
+ productId: mongoose.Schema.Types.ObjectId,
292
+ quantity: Number
293
+ }]
294
+ },
295
+ refundDetails: {
296
+ amount: Number,
297
+ method: String,
298
+ transactionId: String
299
+ },
300
+ replacementDetails: {
301
+ trackingNumber: String,
302
+ replacementOrderId: mongoose.Schema.Types.ObjectId
303
+ },
304
+ returnRequests: [{
305
+ _id: { type: mongoose.Schema.Types.ObjectId, auto: true },
306
+ orderItemId: { // Reference to the specific item in the order
307
+ type: mongoose.Schema.Types.ObjectId,
308
+ required: true
309
+ },
310
+ reason: String,
311
+ additionalNotes: String,
312
+ images: [String],
313
+ status: {
314
+ type: String,
315
+ enum: ['PENDING',
316
+ 'APPROVED',
317
+ 'REJECTED',
318
+ 'RETURN_SHIPPED',
319
+ 'RETURN_RECEIVED',
320
+ 'REFUNDED'],
321
+ default: 'PENDING'
322
+ },
323
+ shipmentDetails: {
324
+ carrier: String,
325
+ trackingNumber: String,
326
+ receiptImage: String, // S3 key for uploaded image
327
+ shippedAt: Date
328
+ },
329
+ receivedAt: Date,
330
+ refundProcessedAt: Date,
331
+ sellerResponse: String,
332
+ requestedAt: Date,
333
+ processedAt: Date
334
+ }],
335
+ cancelReason: String,
336
+ cancelSource: {
337
+ type: String,
338
+ enum: ['user', 'seller', 'system'],
339
+ default: 'user'
340
+ },
341
+ flashSaleItems: [{
342
+ productId: {
343
+ type: mongoose.Schema.Types.ObjectId,
344
+ ref: 'productlistings'
345
+ },
346
+ flashSaleId: {
347
+ type: mongoose.Schema.Types.ObjectId,
348
+ ref: 'FlashSale'
349
+ },
350
+ quantity: Number,
351
+ flashPrice: Number,
352
+ originalPrice: Number
353
+ }],
354
+ labelPrinted: {
355
+ type: Boolean,
356
+ default: false
357
+ },
358
+ payment: {
359
+ type: mongoose.Schema.Types.ObjectId,
360
+ ref: 'orderPayment'
361
+ },
362
+ invoiceKey: {
363
+ type: String,
364
+ default: null
365
+ },
366
+ invoiceStatus: {
367
+ type: String,
368
+ enum: ['pending', 'processing', 'completed', 'failed'],
369
+ default: 'pending'
370
+ },
371
+ invoiceRetries: {
372
+ type: Number,
373
+ default: 0
374
+ },
375
+ invoiceError: String
376
+ },
377
+
378
+ { timestamps: true }
379
+ );
380
+
381
+
382
+
383
+
384
+ const Order = mongoose.models.Order || mongoose.model('Order', orderSchema);
385
+ export default Order;