@lyxa.ai/core 1.0.19 → 1.0.21

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 (156) hide show
  1. package/dist/index.js +4 -0
  2. package/dist/index.js.map +1 -1
  3. package/dist/libraries/mongo/models/admin-access-control.model.js +13 -2
  4. package/dist/libraries/mongo/models/admin-access-control.model.js.map +1 -1
  5. package/dist/libraries/mongo/models/attribute.model.d.ts +1 -1
  6. package/dist/libraries/mongo/models/attribute.model.js +3 -2
  7. package/dist/libraries/mongo/models/attribute.model.js.map +1 -1
  8. package/dist/libraries/mongo/models/card.model.d.ts +24 -0
  9. package/dist/libraries/mongo/models/card.model.js +109 -0
  10. package/dist/libraries/mongo/models/card.model.js.map +1 -0
  11. package/dist/libraries/mongo/models/cart-participant.model.d.ts +17 -0
  12. package/dist/libraries/mongo/models/cart-participant.model.js +81 -0
  13. package/dist/libraries/mongo/models/cart-participant.model.js.map +1 -0
  14. package/dist/libraries/mongo/models/cart.model.d.ts +6 -9
  15. package/dist/libraries/mongo/models/cart.model.js +16 -33
  16. package/dist/libraries/mongo/models/cart.model.js.map +1 -1
  17. package/dist/libraries/mongo/models/category.model.d.ts +1 -2
  18. package/dist/libraries/mongo/models/category.model.js +2 -7
  19. package/dist/libraries/mongo/models/category.model.js.map +1 -1
  20. package/dist/libraries/mongo/models/core-auth-identity.model.d.ts +1 -2
  21. package/dist/libraries/mongo/models/core-auth-identity.model.js +1 -3
  22. package/dist/libraries/mongo/models/core-auth-identity.model.js.map +1 -1
  23. package/dist/libraries/mongo/models/core-user.model.d.ts +0 -2
  24. package/dist/libraries/mongo/models/core-user.model.js +2 -4
  25. package/dist/libraries/mongo/models/core-user.model.js.map +1 -1
  26. package/dist/libraries/mongo/models/embedded/addon.model.d.ts +8 -0
  27. package/dist/libraries/mongo/models/embedded/addon.model.js +34 -0
  28. package/dist/libraries/mongo/models/embedded/addon.model.js.map +1 -0
  29. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.d.ts +7 -0
  30. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.js +29 -0
  31. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.js.map +1 -0
  32. package/dist/libraries/mongo/models/embedded/order-cancel.model.d.ts +7 -0
  33. package/dist/libraries/mongo/models/embedded/order-cancel.model.js +34 -0
  34. package/dist/libraries/mongo/models/embedded/order-cancel.model.js.map +1 -0
  35. package/dist/libraries/mongo/models/embedded/order-pricing.model.d.ts +18 -0
  36. package/dist/libraries/mongo/models/embedded/order-pricing.model.js +97 -0
  37. package/dist/libraries/mongo/models/embedded/order-pricing.model.js.map +1 -0
  38. package/dist/libraries/mongo/models/embedded/payment-attempt.model.d.ts +10 -0
  39. package/dist/libraries/mongo/models/embedded/payment-attempt.model.js +60 -0
  40. package/dist/libraries/mongo/models/embedded/payment-attempt.model.js.map +1 -0
  41. package/dist/libraries/mongo/models/embedded/payment-details.model.d.ts +9 -0
  42. package/dist/libraries/mongo/models/embedded/payment-details.model.js +52 -0
  43. package/dist/libraries/mongo/models/embedded/payment-details.model.js.map +1 -0
  44. package/dist/libraries/mongo/models/embedded/payment-infromation.model.d.ts +7 -0
  45. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js +43 -0
  46. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js.map +1 -0
  47. package/dist/libraries/mongo/models/embedded/portion.model.d.ts +5 -0
  48. package/dist/libraries/mongo/models/embedded/portion.model.js +32 -0
  49. package/dist/libraries/mongo/models/embedded/portion.model.js.map +1 -0
  50. package/dist/libraries/mongo/models/embedded/rider-equipment.model.d.ts +4 -0
  51. package/dist/libraries/mongo/models/embedded/rider-equipment.model.js +27 -0
  52. package/dist/libraries/mongo/models/embedded/rider-equipment.model.js.map +1 -0
  53. package/dist/libraries/mongo/models/embedded/status-timeline.model.d.ts +14 -0
  54. package/dist/libraries/mongo/models/embedded/status-timeline.model.js +59 -0
  55. package/dist/libraries/mongo/models/embedded/status-timeline.model.js.map +1 -0
  56. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.d.ts +2 -1
  57. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js +2 -1
  58. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js.map +1 -1
  59. package/dist/libraries/mongo/models/faq.model.d.ts +0 -1
  60. package/dist/libraries/mongo/models/faq.model.js +0 -5
  61. package/dist/libraries/mongo/models/faq.model.js.map +1 -1
  62. package/dist/libraries/mongo/models/index.d.ts +46 -29
  63. package/dist/libraries/mongo/models/index.js +48 -31
  64. package/dist/libraries/mongo/models/index.js.map +1 -1
  65. package/dist/libraries/mongo/models/line-item.model.d.ts +19 -0
  66. package/dist/libraries/mongo/models/line-item.model.js +84 -0
  67. package/dist/libraries/mongo/models/line-item.model.js.map +1 -0
  68. package/dist/libraries/mongo/models/order-delivery.model.d.ts +24 -0
  69. package/dist/libraries/mongo/models/order-delivery.model.js +119 -0
  70. package/dist/libraries/mongo/models/order-delivery.model.js.map +1 -0
  71. package/dist/libraries/mongo/models/order-payment.model.d.ts +21 -0
  72. package/dist/libraries/mongo/models/order-payment.model.js +96 -0
  73. package/dist/libraries/mongo/models/order-payment.model.js.map +1 -0
  74. package/dist/libraries/mongo/models/order-pricing.model.d.ts +18 -0
  75. package/dist/libraries/mongo/models/order-pricing.model.js +88 -0
  76. package/dist/libraries/mongo/models/order-pricing.model.js.map +1 -0
  77. package/dist/libraries/mongo/models/order.model.d.ts +17 -1
  78. package/dist/libraries/mongo/models/order.model.js +83 -2
  79. package/dist/libraries/mongo/models/order.model.js.map +1 -1
  80. package/dist/libraries/mongo/models/product.model.js +1 -3
  81. package/dist/libraries/mongo/models/product.model.js.map +1 -1
  82. package/dist/libraries/mongo/models/providers/areeba-card.model.d.ts +14 -0
  83. package/dist/libraries/mongo/models/providers/areeba-card.model.js +69 -0
  84. package/dist/libraries/mongo/models/providers/areeba-card.model.js.map +1 -0
  85. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.d.ts +0 -2
  86. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.js +1 -4
  87. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.js.map +1 -1
  88. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.d.ts +0 -2
  89. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.js +1 -4
  90. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.js.map +1 -1
  91. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.d.ts +0 -2
  92. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.js +1 -4
  93. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.js.map +1 -1
  94. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.d.ts +0 -2
  95. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.js +1 -4
  96. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.js.map +1 -1
  97. package/dist/libraries/mongo/models/providers/courier-order.model.d.ts +23 -0
  98. package/dist/libraries/mongo/models/providers/courier-order.model.js +89 -0
  99. package/dist/libraries/mongo/models/providers/courier-order.model.js.map +1 -0
  100. package/dist/libraries/mongo/models/providers/regular-order.model.d.ts +23 -0
  101. package/dist/libraries/mongo/models/providers/regular-order.model.js +85 -0
  102. package/dist/libraries/mongo/models/providers/regular-order.model.js.map +1 -0
  103. package/dist/libraries/mongo/models/rating-setting.model.d.ts +1 -0
  104. package/dist/libraries/mongo/models/rating-setting.model.js +11 -2
  105. package/dist/libraries/mongo/models/rating-setting.model.js.map +1 -1
  106. package/dist/libraries/mongo/models/request-area.model.d.ts +2 -2
  107. package/dist/libraries/mongo/models/request-area.model.js +2 -2
  108. package/dist/libraries/mongo/models/request-area.model.js.map +1 -1
  109. package/dist/libraries/mongo/models/rider-timeout.model.d.ts +10 -0
  110. package/dist/libraries/mongo/models/rider-timeout.model.js +47 -0
  111. package/dist/libraries/mongo/models/rider-timeout.model.js.map +1 -0
  112. package/dist/libraries/mongo/models/rider-tracking.model.d.ts +10 -0
  113. package/dist/libraries/mongo/models/rider-tracking.model.js +47 -0
  114. package/dist/libraries/mongo/models/rider-tracking.model.js.map +1 -0
  115. package/dist/libraries/mongo/models/rider.model.d.ts +50 -1
  116. package/dist/libraries/mongo/models/rider.model.js +238 -2
  117. package/dist/libraries/mongo/models/rider.model.js.map +1 -1
  118. package/dist/libraries/mongo/models/shared/address.model.d.ts +6 -3
  119. package/dist/libraries/mongo/models/shared/address.model.js +24 -13
  120. package/dist/libraries/mongo/models/shared/address.model.js.map +1 -1
  121. package/dist/libraries/mongo/models/shared/geo-location.model.d.ts +4 -0
  122. package/dist/libraries/mongo/models/shared/geo-location.model.js +27 -0
  123. package/dist/libraries/mongo/models/shared/geo-location.model.js.map +1 -0
  124. package/dist/libraries/mongo/models/shop-category.model.d.ts +1 -0
  125. package/dist/libraries/mongo/models/shop-category.model.js +7 -1
  126. package/dist/libraries/mongo/models/shop-category.model.js.map +1 -1
  127. package/dist/libraries/mongo/models/shop.model.d.ts +1 -1
  128. package/dist/libraries/mongo/models/shop.model.js +2 -2
  129. package/dist/libraries/mongo/models/shop.model.js.map +1 -1
  130. package/dist/libraries/mongo/models/user.model.d.ts +30 -0
  131. package/dist/libraries/mongo/models/user.model.js +129 -0
  132. package/dist/libraries/mongo/models/user.model.js.map +1 -0
  133. package/dist/libraries/mongo/models/zone.model.d.ts +5 -5
  134. package/dist/libraries/mongo/models/zone.model.js +11 -11
  135. package/dist/libraries/mongo/models/zone.model.js.map +1 -1
  136. package/dist/libraries/mongo/plugins/soft-delete-plugin.d.ts +8 -5
  137. package/dist/libraries/mongo/plugins/soft-delete-plugin.js +28 -0
  138. package/dist/libraries/mongo/plugins/soft-delete-plugin.js.map +1 -1
  139. package/dist/utilities/enum.d.ts +87 -9
  140. package/dist/utilities/enum.js +103 -9
  141. package/dist/utilities/enum.js.map +1 -1
  142. package/dist/utilities/pagination.d.ts +4 -1
  143. package/dist/utilities/pagination.js +44 -4
  144. package/dist/utilities/pagination.js.map +1 -1
  145. package/dist/utilities/response.js +1 -1
  146. package/dist/utilities/response.js.map +1 -1
  147. package/dist/utilities/transformers.d.ts +14 -3
  148. package/dist/utilities/transformers.js +37 -6
  149. package/dist/utilities/transformers.js.map +1 -1
  150. package/dist/utilities/validation/common-validation.d.ts +354 -29
  151. package/dist/utilities/validation/common-validation.js +39 -10
  152. package/dist/utilities/validation/common-validation.js.map +1 -1
  153. package/dist/utilities/validation/global-validation.d.ts +49 -20
  154. package/dist/utilities/validation/global-validation.js +6 -4
  155. package/dist/utilities/validation/global-validation.js.map +1 -1
  156. package/package.json +2 -2
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LineItem = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
+ const cart_model_1 = require("./cart.model");
16
+ const product_model_1 = require("./product.model");
17
+ const price_model_1 = require("./embedded/price.model");
18
+ const enum_1 = require("../../../utilities/enum");
19
+ const line_item_attribute_model_1 = require("./embedded/line-item-attribute.model");
20
+ const user_model_1 = require("./user.model");
21
+ let LineItem = class LineItem extends defaultClasses_1.TimeStamps {
22
+ cart;
23
+ user;
24
+ product;
25
+ quantity;
26
+ priceType;
27
+ price;
28
+ attributes;
29
+ removedIngredients;
30
+ specialInstructions;
31
+ };
32
+ exports.LineItem = LineItem;
33
+ __decorate([
34
+ (0, typegoose_1.prop)({ required: true, ref: () => cart_model_1.Cart }),
35
+ __metadata("design:type", Object)
36
+ ], LineItem.prototype, "cart", void 0);
37
+ __decorate([
38
+ (0, typegoose_1.prop)({ required: true, ref: () => user_model_1.User }),
39
+ __metadata("design:type", Object)
40
+ ], LineItem.prototype, "user", void 0);
41
+ __decorate([
42
+ (0, typegoose_1.prop)({ required: true, ref: () => product_model_1.Product }),
43
+ __metadata("design:type", Object)
44
+ ], LineItem.prototype, "product", void 0);
45
+ __decorate([
46
+ (0, typegoose_1.prop)({ min: 1, default: 1 }),
47
+ __metadata("design:type", Number)
48
+ ], LineItem.prototype, "quantity", void 0);
49
+ __decorate([
50
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.PriceType, default: enum_1.PriceType.PRICE }),
51
+ __metadata("design:type", String)
52
+ ], LineItem.prototype, "priceType", void 0);
53
+ __decorate([
54
+ (0, typegoose_1.prop)({ required: true, type: price_model_1.Price }),
55
+ __metadata("design:type", price_model_1.Price)
56
+ ], LineItem.prototype, "price", void 0);
57
+ __decorate([
58
+ (0, typegoose_1.prop)({ type: () => [line_item_attribute_model_1.LineItemAttribute], default: [] }),
59
+ __metadata("design:type", Array)
60
+ ], LineItem.prototype, "attributes", void 0);
61
+ __decorate([
62
+ (0, typegoose_1.prop)({ type: () => [String], default: [] }),
63
+ __metadata("design:type", Array)
64
+ ], LineItem.prototype, "removedIngredients", void 0);
65
+ __decorate([
66
+ (0, typegoose_1.prop)(),
67
+ __metadata("design:type", String)
68
+ ], LineItem.prototype, "specialInstructions", void 0);
69
+ exports.LineItem = LineItem = __decorate([
70
+ (0, typegoose_1.modelOptions)({
71
+ schemaOptions: {
72
+ collection: 'lineItems',
73
+ toJSON: { virtuals: true },
74
+ toObject: { virtuals: true },
75
+ },
76
+ options: {
77
+ allowMixed: typegoose_1.Severity.ALLOW,
78
+ },
79
+ }),
80
+ (0, typegoose_1.index)({ cart: 1 }),
81
+ (0, typegoose_1.index)({ cart: 1, user: 1 }),
82
+ (0, typegoose_1.index)({ product: 1 })
83
+ ], LineItem);
84
+ //# sourceMappingURL=line-item.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-item.model.js","sourceRoot":"/","sources":["libraries/mongo/models/line-item.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAgF;AAChF,4EAAqE;AACrE,6CAAoC;AACpC,mDAA0C;AAC1C,wDAA+C;AAC/C,kDAAoD;AACpD,oFAAyE;AACzE,6CAAoC;AAkB7B,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAa;IAGjB,IAAI,CAAa;IAGjB,OAAO,CAAgB;IAGvB,QAAQ,CAAU;IAGlB,SAAS,CAAa;IAGtB,KAAK,CAAQ;IAGb,UAAU,CAAuB;IAGjC,kBAAkB,CAAY;IAG9B,mBAAmB,CAAU;CACpC,CAAA;AA3BY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;sCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;sCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;yCACf;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0CACJ;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,KAAK,EAAE,CAAC;;2CACrC;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAK,EAAE,CAAC;8BACxB,mBAAK;uCAAC;AAGb;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,6CAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;4CACf;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;oDACP;AAG9B;IADN,IAAA,gBAAI,GAAE;;qDAC6B;mBA1BxB,QAAQ;IAbpB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5B;QACD,OAAO,EAAE;YACR,UAAU,EAAE,oBAAQ,CAAC,KAAK;SAC1B;KACD,CAAC;IACD,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAClB,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3B,IAAA,iBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;GACT,QAAQ,CA2BpB","sourcesContent":["import { prop, Ref, index, modelOptions, Severity } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Cart } from './cart.model';\r\nimport { Product } from './product.model';\r\nimport { Price } from './embedded/price.model';\r\nimport { PriceType } from '../../../utilities/enum';\r\nimport { LineItemAttribute } from './embedded/line-item-attribute.model';\r\nimport { User } from './user.model';\r\n\r\n/**\r\n * LineItem model - Represents individual items in a cart\r\n */\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\tcollection: 'lineItems',\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t},\r\n\toptions: {\r\n\t\tallowMixed: Severity.ALLOW,\r\n\t},\r\n})\r\n@index({ cart: 1 })\r\n@index({ cart: 1, user: 1 })\r\n@index({ product: 1 })\r\nexport class LineItem extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Cart })\r\n\tpublic cart!: Ref<Cart>;\r\n\r\n\t@prop({ required: true, ref: () => User })\r\n\tpublic user!: Ref<User>;\r\n\r\n\t@prop({ required: true, ref: () => Product })\r\n\tpublic product!: Ref<Product>;\r\n\r\n\t@prop({ min: 1, default: 1 })\r\n\tpublic quantity?: number;\r\n\r\n\t@prop({ type: String, enum: PriceType, default: PriceType.PRICE })\r\n\tpublic priceType?: PriceType;\r\n\r\n\t@prop({ required: true, type: Price })\r\n\tpublic price: Price;\r\n\r\n\t@prop({ type: () => [LineItemAttribute], default: [] })\r\n\tpublic attributes?: LineItemAttribute[];\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic removedIngredients?: string[];\r\n\r\n\t@prop()\r\n\tpublic specialInstructions?: string;\r\n}\r\n"]}
@@ -0,0 +1,24 @@
1
+ import { Ref } from '@typegoose/typegoose';
2
+ import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
3
+ import { Order } from './order.model';
4
+ import { Rider } from './rider.model';
5
+ export declare class RiderAssignment {
6
+ rider: Ref<Rider>;
7
+ status: string;
8
+ timestamp: Date;
9
+ reason?: string;
10
+ }
11
+ export declare class OrderDelivery extends TimeStamps {
12
+ order: Ref<Order>;
13
+ rider?: Ref<Rider>;
14
+ riderAssignments: RiderAssignment[];
15
+ estimatedPickupTime?: Date;
16
+ actualPickupTime?: Date;
17
+ estimatedDeliveryTime?: Date;
18
+ actualDeliveryTime?: Date;
19
+ searchingStartTime?: Date;
20
+ totalSearchAttempts?: number;
21
+ lastSearchRadiusInKm?: number;
22
+ deliveryDistanceInKm?: number;
23
+ note?: string;
24
+ }
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OrderDelivery = exports.RiderAssignment = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
+ const order_model_1 = require("./order.model");
16
+ const rider_model_1 = require("./rider.model");
17
+ const enum_1 = require("../../../utilities/enum");
18
+ class RiderAssignment {
19
+ rider;
20
+ status;
21
+ timestamp;
22
+ reason;
23
+ }
24
+ exports.RiderAssignment = RiderAssignment;
25
+ __decorate([
26
+ (0, typegoose_1.prop)({ ref: () => rider_model_1.Rider, required: true }),
27
+ __metadata("design:type", Object)
28
+ ], RiderAssignment.prototype, "rider", void 0);
29
+ __decorate([
30
+ (0, typegoose_1.prop)({
31
+ type: String,
32
+ enum: enum_1.RiderAssignmentStatus,
33
+ default: enum_1.RiderAssignmentStatus.REQUESTED,
34
+ required: true,
35
+ }),
36
+ __metadata("design:type", String)
37
+ ], RiderAssignment.prototype, "status", void 0);
38
+ __decorate([
39
+ (0, typegoose_1.prop)({ required: true, default: Date.now }),
40
+ __metadata("design:type", Date)
41
+ ], RiderAssignment.prototype, "timestamp", void 0);
42
+ __decorate([
43
+ (0, typegoose_1.prop)(),
44
+ __metadata("design:type", String)
45
+ ], RiderAssignment.prototype, "reason", void 0);
46
+ let OrderDelivery = class OrderDelivery extends defaultClasses_1.TimeStamps {
47
+ order;
48
+ rider;
49
+ riderAssignments;
50
+ estimatedPickupTime;
51
+ actualPickupTime;
52
+ estimatedDeliveryTime;
53
+ actualDeliveryTime;
54
+ searchingStartTime;
55
+ totalSearchAttempts;
56
+ lastSearchRadiusInKm;
57
+ deliveryDistanceInKm;
58
+ note;
59
+ };
60
+ exports.OrderDelivery = OrderDelivery;
61
+ __decorate([
62
+ (0, typegoose_1.prop)({ ref: () => order_model_1.Order, required: true, index: true }),
63
+ __metadata("design:type", Object)
64
+ ], OrderDelivery.prototype, "order", void 0);
65
+ __decorate([
66
+ (0, typegoose_1.prop)({ ref: () => rider_model_1.Rider }),
67
+ __metadata("design:type", Object)
68
+ ], OrderDelivery.prototype, "rider", void 0);
69
+ __decorate([
70
+ (0, typegoose_1.prop)({ type: () => [RiderAssignment], default: [] }),
71
+ __metadata("design:type", Array)
72
+ ], OrderDelivery.prototype, "riderAssignments", void 0);
73
+ __decorate([
74
+ (0, typegoose_1.prop)(),
75
+ __metadata("design:type", Date)
76
+ ], OrderDelivery.prototype, "estimatedPickupTime", void 0);
77
+ __decorate([
78
+ (0, typegoose_1.prop)(),
79
+ __metadata("design:type", Date)
80
+ ], OrderDelivery.prototype, "actualPickupTime", void 0);
81
+ __decorate([
82
+ (0, typegoose_1.prop)(),
83
+ __metadata("design:type", Date)
84
+ ], OrderDelivery.prototype, "estimatedDeliveryTime", void 0);
85
+ __decorate([
86
+ (0, typegoose_1.prop)(),
87
+ __metadata("design:type", Date)
88
+ ], OrderDelivery.prototype, "actualDeliveryTime", void 0);
89
+ __decorate([
90
+ (0, typegoose_1.prop)({ default: Date.now }),
91
+ __metadata("design:type", Date)
92
+ ], OrderDelivery.prototype, "searchingStartTime", void 0);
93
+ __decorate([
94
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
95
+ __metadata("design:type", Number)
96
+ ], OrderDelivery.prototype, "totalSearchAttempts", void 0);
97
+ __decorate([
98
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
99
+ __metadata("design:type", Number)
100
+ ], OrderDelivery.prototype, "lastSearchRadiusInKm", void 0);
101
+ __decorate([
102
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
103
+ __metadata("design:type", Number)
104
+ ], OrderDelivery.prototype, "deliveryDistanceInKm", void 0);
105
+ __decorate([
106
+ (0, typegoose_1.prop)({ type: String }),
107
+ __metadata("design:type", String)
108
+ ], OrderDelivery.prototype, "note", void 0);
109
+ exports.OrderDelivery = OrderDelivery = __decorate([
110
+ (0, typegoose_1.modelOptions)({
111
+ schemaOptions: {
112
+ timestamps: true,
113
+ toJSON: { virtuals: true },
114
+ toObject: { virtuals: true },
115
+ collection: 'orderDeliveries',
116
+ },
117
+ })
118
+ ], OrderDelivery);
119
+ //# sourceMappingURL=order-delivery.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-delivery.model.js","sourceRoot":"/","sources":["libraries/mongo/models/order-delivery.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,+CAAsC;AACtC,+CAAsC;AACtC,kDAAgE;AAEhE,MAAa,eAAe;IAE3B,KAAK,CAAa;IAQlB,MAAM,CAAS;IAGf,SAAS,CAAO;IAGhB,MAAM,CAAU;CAChB;AAjBD,0CAiBC;AAfA;IADC,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACzB;AAQlB;IANC,IAAA,gBAAI,EAAC;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,4BAAqB;QAC3B,OAAO,EAAE,4BAAqB,CAAC,SAAS;QACxC,QAAQ,EAAE,IAAI;KACd,CAAC;;+CACa;AAGf;IADC,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;8BACjC,IAAI;kDAAC;AAGhB;IADC,IAAA,gBAAI,GAAE;;+CACS;AAWV,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,2BAAU;IAE5C,KAAK,CAAa;IAGlB,KAAK,CAAc;IAGnB,gBAAgB,CAAoB;IAGpC,mBAAmB,CAAQ;IAG3B,gBAAgB,CAAQ;IAGxB,qBAAqB,CAAQ;IAG7B,kBAAkB,CAAQ;IAG1B,kBAAkB,CAAQ;IAG1B,mBAAmB,CAAU;IAG7B,oBAAoB,CAAU;IAG9B,oBAAoB,CAAU;IAG9B,IAAI,CAAU;CACd,CAAA;AApCY,sCAAa;AAEzB;IADC,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;4CACtC;AAGlB;IADC,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;4CACR;AAGnB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;uDACjB;AAGpC;IADC,IAAA,gBAAI,GAAE;8BACe,IAAI;0DAAC;AAG3B;IADC,IAAA,gBAAI,GAAE;8BACY,IAAI;uDAAC;AAGxB;IADC,IAAA,gBAAI,GAAE;8BACiB,IAAI;4DAAC;AAG7B;IADC,IAAA,gBAAI,GAAE;8BACc,IAAI;yDAAC;AAG1B;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;8BACP,IAAI;yDAAC;AAG1B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACN;AAG7B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2DACL;AAG9B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2DACL;AAG9B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACT;wBAnCF,aAAa;IARzB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC5B,UAAU,EAAE,iBAAiB;SAC7B;KACD,CAAC;GACW,aAAa,CAoCzB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Order } from './order.model';\r\nimport { Rider } from './rider.model';\r\nimport { RiderAssignmentStatus } from '../../../utilities/enum';\r\n\r\nexport class RiderAssignment {\r\n\t@prop({ ref: () => Rider, required: true })\r\n\trider: Ref<Rider>;\r\n\r\n\t@prop({\r\n\t\ttype: String,\r\n\t\tenum: RiderAssignmentStatus,\r\n\t\tdefault: RiderAssignmentStatus.REQUESTED,\r\n\t\trequired: true,\r\n\t})\r\n\tstatus: string;\r\n\r\n\t@prop({ required: true, default: Date.now })\r\n\ttimestamp: Date;\r\n\r\n\t@prop()\r\n\treason?: string;\r\n}\r\n\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\ttimestamps: true,\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t\tcollection: 'orderDeliveries',\r\n\t},\r\n})\r\nexport class OrderDelivery extends TimeStamps {\r\n\t@prop({ ref: () => Order, required: true, index: true })\r\n\torder: Ref<Order>;\r\n\r\n\t@prop({ ref: () => Rider })\r\n\trider?: Ref<Rider>;\r\n\r\n\t@prop({ type: () => [RiderAssignment], default: [] })\r\n\triderAssignments: RiderAssignment[];\r\n\r\n\t@prop()\r\n\testimatedPickupTime?: Date;\r\n\r\n\t@prop()\r\n\tactualPickupTime?: Date;\r\n\r\n\t@prop()\r\n\testimatedDeliveryTime?: Date;\r\n\r\n\t@prop()\r\n\tactualDeliveryTime?: Date;\r\n\r\n\t@prop({ default: Date.now })\r\n\tsearchingStartTime?: Date;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\ttotalSearchAttempts?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tlastSearchRadiusInKm?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tdeliveryDistanceInKm?: number;\r\n\r\n\t@prop({ type: String })\r\n\tnote?: string;\r\n}\r\n"]}
@@ -0,0 +1,21 @@
1
+ import { Ref } from '@typegoose/typegoose';
2
+ import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
3
+ import { Order } from './order.model';
4
+ import { PaymentMethod, PaymentStatus } from '../../../utilities/enum';
5
+ import { Transaction } from './transaction.model';
6
+ import { Card } from './card.model';
7
+ import { PaymentInformation } from './embedded/payment-infromation.model';
8
+ import { PaymentAttempt } from './embedded/payment-attempt.model';
9
+ export declare class OrderPayment extends TimeStamps {
10
+ order: Ref<Order>;
11
+ paymentMethod?: PaymentMethod;
12
+ paymentInformation?: PaymentInformation;
13
+ status?: PaymentStatus;
14
+ transaction?: Ref<Transaction>;
15
+ card?: Ref<Card>;
16
+ receiptUrl?: string;
17
+ attempts?: PaymentAttempt[];
18
+ currency: string;
19
+ amount: number;
20
+ secondaryAmount?: number;
21
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OrderPayment = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
+ const order_model_1 = require("./order.model");
16
+ const enum_1 = require("../../../utilities/enum");
17
+ const transaction_model_1 = require("./transaction.model");
18
+ const card_model_1 = require("./card.model");
19
+ const payment_infromation_model_1 = require("./embedded/payment-infromation.model");
20
+ const payment_attempt_model_1 = require("./embedded/payment-attempt.model");
21
+ let OrderPayment = class OrderPayment extends defaultClasses_1.TimeStamps {
22
+ order;
23
+ paymentMethod;
24
+ paymentInformation;
25
+ status;
26
+ transaction;
27
+ card;
28
+ receiptUrl;
29
+ attempts;
30
+ currency;
31
+ amount;
32
+ secondaryAmount;
33
+ };
34
+ exports.OrderPayment = OrderPayment;
35
+ __decorate([
36
+ (0, typegoose_1.prop)({ ref: () => order_model_1.Order, required: true, index: true }),
37
+ __metadata("design:type", Object)
38
+ ], OrderPayment.prototype, "order", void 0);
39
+ __decorate([
40
+ (0, typegoose_1.prop)({ enum: enum_1.PaymentMethod, type: String }),
41
+ __metadata("design:type", String)
42
+ ], OrderPayment.prototype, "paymentMethod", void 0);
43
+ __decorate([
44
+ (0, typegoose_1.prop)({ type: () => payment_infromation_model_1.PaymentInformation }),
45
+ __metadata("design:type", payment_infromation_model_1.PaymentInformation)
46
+ ], OrderPayment.prototype, "paymentInformation", void 0);
47
+ __decorate([
48
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.PaymentStatus, default: enum_1.PaymentStatus.PENDING }),
49
+ __metadata("design:type", String)
50
+ ], OrderPayment.prototype, "status", void 0);
51
+ __decorate([
52
+ (0, typegoose_1.prop)({ ref: () => transaction_model_1.Transaction }),
53
+ __metadata("design:type", Object)
54
+ ], OrderPayment.prototype, "transaction", void 0);
55
+ __decorate([
56
+ (0, typegoose_1.prop)({ ref: () => card_model_1.Card }),
57
+ __metadata("design:type", Object)
58
+ ], OrderPayment.prototype, "card", void 0);
59
+ __decorate([
60
+ (0, typegoose_1.prop)(),
61
+ __metadata("design:type", String)
62
+ ], OrderPayment.prototype, "receiptUrl", void 0);
63
+ __decorate([
64
+ (0, typegoose_1.prop)({ type: [{ type: () => payment_attempt_model_1.PaymentAttempt }], default: [] }),
65
+ __metadata("design:type", Array)
66
+ ], OrderPayment.prototype, "attempts", void 0);
67
+ __decorate([
68
+ (0, typegoose_1.prop)({ type: String }),
69
+ __metadata("design:type", String)
70
+ ], OrderPayment.prototype, "currency", void 0);
71
+ __decorate([
72
+ (0, typegoose_1.prop)({ required: true, type: Number }),
73
+ __metadata("design:type", Number)
74
+ ], OrderPayment.prototype, "amount", void 0);
75
+ __decorate([
76
+ (0, typegoose_1.prop)({ type: Number }),
77
+ __metadata("design:type", Number)
78
+ ], OrderPayment.prototype, "secondaryAmount", void 0);
79
+ exports.OrderPayment = OrderPayment = __decorate([
80
+ (0, typegoose_1.modelOptions)({
81
+ schemaOptions: {
82
+ timestamps: true,
83
+ collection: 'orderPayments',
84
+ toJSON: { virtuals: true },
85
+ toObject: { virtuals: true },
86
+ },
87
+ options: {
88
+ allowMixed: typegoose_1.Severity.ALLOW,
89
+ },
90
+ }),
91
+ (0, typegoose_1.index)({ order: 1 }),
92
+ (0, typegoose_1.index)({ status: 1 }),
93
+ (0, typegoose_1.index)({ paymentMethod: 1 }),
94
+ (0, typegoose_1.index)({ createdAt: -1 })
95
+ ], OrderPayment);
96
+ //# sourceMappingURL=order-payment.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-payment.model.js","sourceRoot":"/","sources":["libraries/mongo/models/order-payment.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAgF;AAChF,4EAAqE;AACrE,+CAAsC;AACtC,kDAAuE;AACvE,2DAAkD;AAClD,6CAAoC;AACpC,oFAA0E;AAC1E,4EAAkE;AAiB3D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,2BAAU;IAE3C,KAAK,CAAa;IAGlB,aAAa,CAAiB;IAG9B,kBAAkB,CAAsB;IAGxC,MAAM,CAAiB;IAGvB,WAAW,CAAoB;IAG/B,IAAI,CAAa;IAGjB,UAAU,CAAU;IAGpB,QAAQ,CAAoB;IAG5B,QAAQ,CAAS;IAGjB,MAAM,CAAS;IAGf,eAAe,CAAU;CACzB,CAAA;AAjCY,oCAAY;AAExB;IADC,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;2CACtC;AAGlB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,oBAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACd;AAG9B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,8CAAkB,EAAE,CAAC;8BACpB,8CAAkB;wDAAC;AAGxC;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAa,EAAE,OAAO,EAAE,oBAAa,CAAC,OAAO,EAAE,CAAC;;4CACrD;AAGvB;IADC,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,+BAAW,EAAE,CAAC;;iDACF;AAG/B;IADC,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;0CACT;AAGjB;IADC,IAAA,gBAAI,GAAE;;gDACa;AAGpB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,sCAAc,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;8CAClC;AAG5B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CACN;AAGjB;IADC,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CACxB;AAGf;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDACE;uBAhCb,YAAY;IAfxB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,eAAe;YAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5B;QACD,OAAO,EAAE;YACR,UAAU,EAAE,oBAAQ,CAAC,KAAK;SAC1B;KACD,CAAC;IACD,IAAA,iBAAK,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACnB,IAAA,iBAAK,EAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACpB,IAAA,iBAAK,EAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IAC3B,IAAA,iBAAK,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;GACZ,YAAY,CAiCxB","sourcesContent":["import { index, modelOptions, prop, Ref, Severity } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Order } from './order.model';\r\nimport { PaymentMethod, PaymentStatus } from '../../../utilities/enum';\r\nimport { Transaction } from './transaction.model';\r\nimport { Card } from './card.model';\r\nimport { PaymentInformation } from './embedded/payment-infromation.model';\r\nimport { PaymentAttempt } from './embedded/payment-attempt.model';\r\n\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\ttimestamps: true,\r\n\t\tcollection: 'orderPayments',\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t},\r\n\toptions: {\r\n\t\tallowMixed: Severity.ALLOW,\r\n\t},\r\n})\r\n@index({ order: 1 })\r\n@index({ status: 1 })\r\n@index({ paymentMethod: 1 })\r\n@index({ createdAt: -1 })\r\nexport class OrderPayment extends TimeStamps {\r\n\t@prop({ ref: () => Order, required: true, index: true })\r\n\torder: Ref<Order>;\r\n\r\n\t@prop({ enum: PaymentMethod, type: String })\r\n\tpaymentMethod?: PaymentMethod;\r\n\r\n\t@prop({ type: () => PaymentInformation })\r\n\tpaymentInformation?: PaymentInformation;\r\n\r\n\t@prop({ type: String, enum: PaymentStatus, default: PaymentStatus.PENDING })\r\n\tstatus?: PaymentStatus;\r\n\r\n\t@prop({ ref: () => Transaction })\r\n\ttransaction?: Ref<Transaction>;\r\n\r\n\t@prop({ ref: () => Card })\r\n\tcard?: Ref<Card>;\r\n\r\n\t@prop()\r\n\treceiptUrl?: string;\r\n\r\n\t@prop({ type: [{ type: () => PaymentAttempt }], default: [] })\r\n\tattempts?: PaymentAttempt[];\r\n\r\n\t@prop({ type: String })\r\n\tcurrency: string;\r\n\r\n\t@prop({ required: true, type: Number })\r\n\tamount: number;\r\n\r\n\t@prop({ type: Number })\r\n\tsecondaryAmount?: number;\r\n}\r\n"]}
@@ -0,0 +1,18 @@
1
+ import { Ref } from "@typegoose/typegoose";
2
+ import { Coupon } from "./coupon.model";
3
+ export declare class OrderPricing {
4
+ subtotal: number;
5
+ secondarySubtotal: number;
6
+ deliveryFee: number;
7
+ secondaryDeliveryFee: number;
8
+ vat: number;
9
+ secondaryVat: number;
10
+ appliedCoupon?: Ref<Coupon>;
11
+ appliedCouponSnapshot?: Record<string, any>;
12
+ discountValue: number;
13
+ secondaryDiscountValue: number;
14
+ serviceCharge: number;
15
+ secondaryServiceCharge: number;
16
+ total: number;
17
+ secondaryTotal: number;
18
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OrderPricing = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ const coupon_model_1 = require("./coupon.model");
15
+ class OrderPricing {
16
+ subtotal;
17
+ secondarySubtotal;
18
+ deliveryFee;
19
+ secondaryDeliveryFee;
20
+ vat;
21
+ secondaryVat;
22
+ appliedCoupon;
23
+ appliedCouponSnapshot;
24
+ discountValue;
25
+ secondaryDiscountValue;
26
+ serviceCharge;
27
+ secondaryServiceCharge;
28
+ total;
29
+ secondaryTotal;
30
+ }
31
+ exports.OrderPricing = OrderPricing;
32
+ __decorate([
33
+ (0, typegoose_1.prop)({ required: true, default: 0 }),
34
+ __metadata("design:type", Number)
35
+ ], OrderPricing.prototype, "subtotal", void 0);
36
+ __decorate([
37
+ (0, typegoose_1.prop)({ default: 0 }),
38
+ __metadata("design:type", Number)
39
+ ], OrderPricing.prototype, "secondarySubtotal", void 0);
40
+ __decorate([
41
+ (0, typegoose_1.prop)({ default: 0 }),
42
+ __metadata("design:type", Number)
43
+ ], OrderPricing.prototype, "deliveryFee", void 0);
44
+ __decorate([
45
+ (0, typegoose_1.prop)({ default: 0 }),
46
+ __metadata("design:type", Number)
47
+ ], OrderPricing.prototype, "secondaryDeliveryFee", void 0);
48
+ __decorate([
49
+ (0, typegoose_1.prop)({ default: 0 }),
50
+ __metadata("design:type", Number)
51
+ ], OrderPricing.prototype, "vat", void 0);
52
+ __decorate([
53
+ (0, typegoose_1.prop)({ default: 0 }),
54
+ __metadata("design:type", Number)
55
+ ], OrderPricing.prototype, "secondaryVat", void 0);
56
+ __decorate([
57
+ (0, typegoose_1.prop)({ ref: () => coupon_model_1.Coupon }),
58
+ __metadata("design:type", Object)
59
+ ], OrderPricing.prototype, "appliedCoupon", void 0);
60
+ __decorate([
61
+ (0, typegoose_1.prop)({ type: () => Object, default: {} }),
62
+ __metadata("design:type", Object)
63
+ ], OrderPricing.prototype, "appliedCouponSnapshot", void 0);
64
+ __decorate([
65
+ (0, typegoose_1.prop)({ default: 0 }),
66
+ __metadata("design:type", Number)
67
+ ], OrderPricing.prototype, "discountValue", void 0);
68
+ __decorate([
69
+ (0, typegoose_1.prop)({ default: 0 }),
70
+ __metadata("design:type", Number)
71
+ ], OrderPricing.prototype, "secondaryDiscountValue", void 0);
72
+ __decorate([
73
+ (0, typegoose_1.prop)({ default: 0 }),
74
+ __metadata("design:type", Number)
75
+ ], OrderPricing.prototype, "serviceCharge", void 0);
76
+ __decorate([
77
+ (0, typegoose_1.prop)({ default: 0 }),
78
+ __metadata("design:type", Number)
79
+ ], OrderPricing.prototype, "secondaryServiceCharge", void 0);
80
+ __decorate([
81
+ (0, typegoose_1.prop)({ required: true, default: 0 }),
82
+ __metadata("design:type", Number)
83
+ ], OrderPricing.prototype, "total", void 0);
84
+ __decorate([
85
+ (0, typegoose_1.prop)({ default: 0 }),
86
+ __metadata("design:type", Number)
87
+ ], OrderPricing.prototype, "secondaryTotal", void 0);
88
+ //# sourceMappingURL=order-pricing.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-pricing.model.js","sourceRoot":"/","sources":["libraries/mongo/models/order-pricing.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiD;AACjD,iDAAwC;AAExC,MAAa,YAAY;IAExB,QAAQ,CAAS;IAGjB,iBAAiB,CAAS;IAG1B,WAAW,CAAS;IAGpB,oBAAoB,CAAS;IAG7B,GAAG,CAAS;IAGZ,YAAY,CAAS;IAGrB,aAAa,CAAe;IAM5B,qBAAqB,CAAuB;IAG5C,aAAa,CAAS;IAGtB,sBAAsB,CAAS;IAG/B,aAAa,CAAS;IAGtB,sBAAsB,CAAS;IAG/B,KAAK,CAAS;IAGd,cAAc,CAAS;CACvB;AA7CD,oCA6CC;AA3CA;IADC,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;8CACpB;AAGjB;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACK;AAG1B;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACD;AAGpB;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACQ;AAG7B;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;yCACT;AAGZ;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;kDACA;AAGrB;IADC,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAM,EAAE,CAAC;;mDACA;AAM5B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2DACE;AAG5C;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mDACC;AAGtB;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4DACU;AAG/B;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mDACC;AAGtB;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4DACU;AAG/B;IADC,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2CACvB;AAGd;IADC,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACE","sourcesContent":["import { prop, Ref } from \"@typegoose/typegoose\";\r\nimport { Coupon } from \"./coupon.model\";\r\n\r\nexport class OrderPricing {\r\n\t@prop({ required: true, default: 0 })\r\n\tsubtotal: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tsecondarySubtotal: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tdeliveryFee: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tsecondaryDeliveryFee: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tvat: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tsecondaryVat: number;\r\n\r\n\t@prop({ ref: () => Coupon })\r\n\tappliedCoupon?: Ref<Coupon>;\r\n\r\n\t// Optional snapshot of the line items at time of order\r\n\t// This is useful if we need to reference order contents directly\r\n\t// without requiring a cart lookup, and protects against cart modifications\r\n\t@prop({ type: () => Object, default: {} })\r\n\tappliedCouponSnapshot?: Record<string, any>;\r\n\r\n\t@prop({ default: 0 })\r\n\tdiscountValue: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tsecondaryDiscountValue: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tserviceCharge: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tsecondaryServiceCharge: number;\r\n\r\n\t@prop({ required: true, default: 0 })\r\n\ttotal: number;\r\n\r\n\t@prop({ default: 0 })\r\n\tsecondaryTotal: number;\r\n}"]}
@@ -1,2 +1,18 @@
1
- export declare class Order {
1
+ import { Ref } from '@typegoose/typegoose';
2
+ import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
3
+ import { OrderType } from '../../../utilities/enum';
4
+ import { OrderCancel } from './embedded/order-cancel.model';
5
+ import { OrderPricing } from './embedded/order-pricing.model';
6
+ import { User } from './user.model';
7
+ export declare class Order extends TimeStamps {
8
+ orderId: string;
9
+ orderType?: OrderType;
10
+ user: Ref<User>;
11
+ instruction?: string;
12
+ note?: string;
13
+ scheduledFor?: Date;
14
+ pricing: OrderPricing;
15
+ orderCancel: OrderCancel;
16
+ isLateOrder?: boolean;
17
+ isUrgentOrder?: boolean;
2
18
  }
@@ -1,7 +1,88 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.Order = void 0;
4
- class Order {
5
- }
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
+ const enum_1 = require("../../../utilities/enum");
16
+ const order_cancel_model_1 = require("./embedded/order-cancel.model");
17
+ const order_pricing_model_1 = require("./embedded/order-pricing.model");
18
+ const user_model_1 = require("./user.model");
19
+ let Order = class Order extends defaultClasses_1.TimeStamps {
20
+ orderId;
21
+ orderType;
22
+ user;
23
+ instruction;
24
+ note;
25
+ scheduledFor;
26
+ pricing;
27
+ orderCancel;
28
+ isLateOrder;
29
+ isUrgentOrder;
30
+ };
6
31
  exports.Order = Order;
32
+ __decorate([
33
+ (0, typegoose_1.prop)({ required: true, type: String, unique: true }),
34
+ __metadata("design:type", String)
35
+ ], Order.prototype, "orderId", void 0);
36
+ __decorate([
37
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.OrderType, default: enum_1.OrderType.REGULAR }),
38
+ __metadata("design:type", String)
39
+ ], Order.prototype, "orderType", void 0);
40
+ __decorate([
41
+ (0, typegoose_1.prop)({ required: true, ref: () => user_model_1.User }),
42
+ __metadata("design:type", Object)
43
+ ], Order.prototype, "user", void 0);
44
+ __decorate([
45
+ (0, typegoose_1.prop)({ type: String }),
46
+ __metadata("design:type", String)
47
+ ], Order.prototype, "instruction", void 0);
48
+ __decorate([
49
+ (0, typegoose_1.prop)({ type: String }),
50
+ __metadata("design:type", String)
51
+ ], Order.prototype, "note", void 0);
52
+ __decorate([
53
+ (0, typegoose_1.prop)({ type: Date }),
54
+ __metadata("design:type", Date)
55
+ ], Order.prototype, "scheduledFor", void 0);
56
+ __decorate([
57
+ (0, typegoose_1.prop)({ type: () => order_pricing_model_1.OrderPricing }),
58
+ __metadata("design:type", order_pricing_model_1.OrderPricing)
59
+ ], Order.prototype, "pricing", void 0);
60
+ __decorate([
61
+ (0, typegoose_1.prop)({ type: () => order_cancel_model_1.OrderCancel }),
62
+ __metadata("design:type", order_cancel_model_1.OrderCancel)
63
+ ], Order.prototype, "orderCancel", void 0);
64
+ __decorate([
65
+ (0, typegoose_1.prop)({ type: Boolean, default: false }),
66
+ __metadata("design:type", Boolean)
67
+ ], Order.prototype, "isLateOrder", void 0);
68
+ __decorate([
69
+ (0, typegoose_1.prop)({ type: Boolean, default: false }),
70
+ __metadata("design:type", Boolean)
71
+ ], Order.prototype, "isUrgentOrder", void 0);
72
+ exports.Order = Order = __decorate([
73
+ (0, typegoose_1.modelOptions)({
74
+ schemaOptions: {
75
+ collection: 'orders',
76
+ discriminatorKey: 'orderType',
77
+ toJSON: { virtuals: true },
78
+ toObject: { virtuals: true },
79
+ },
80
+ options: { allowMixed: typegoose_1.Severity.ALLOW },
81
+ }),
82
+ (0, typegoose_1.index)({ createdAt: -1 }),
83
+ (0, typegoose_1.index)({ orderStatus: 1, createdAt: -1 }),
84
+ (0, typegoose_1.index)({ user: 1, createdAt: -1 }),
85
+ (0, typegoose_1.index)({ shop: 1, orderStatus: 1 }),
86
+ (0, typegoose_1.index)({ rider: 1, orderStatus: 1 })
87
+ ], Order);
7
88
  //# sourceMappingURL=order.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"order.model.js","sourceRoot":"/","sources":["libraries/mongo/models/order.model.ts"],"names":[],"mappings":";;;AAAA,MAAa,KAAK;CAAG;AAArB,sBAAqB","sourcesContent":["export class Order {}\n"]}
1
+ {"version":3,"file":"order.model.js","sourceRoot":"/","sources":["libraries/mongo/models/order.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAgF;AAChF,4EAAqE;AACrE,kDAAoD;AACpD,sEAA4D;AAC5D,wEAA8D;AAC9D,6CAAoC;AAgB7B,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE7B,OAAO,CAAS;IAGhB,SAAS,CAAa;IAGtB,IAAI,CAAY;IAGhB,WAAW,CAAU;IAGrB,IAAI,CAAU;IAGd,YAAY,CAAQ;IAGpB,OAAO,CAAe;IAKtB,WAAW,CAAc;IAGzB,WAAW,CAAW;IAGtB,aAAa,CAAW;CAC/B,CAAA;AAhCY,sBAAK;AAEV;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;sCAC9B;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,OAAO,EAAE,CAAC;;wCACvC;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;mCACnB;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACK;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCACF;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACC,IAAI;2CAAC;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,kCAAY,EAAE,CAAC;8BACnB,kCAAY;sCAAC;AAKtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,gCAAW,EAAE,CAAC;8BACd,gCAAW;0CAAC;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;0CACX;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;4CACT;gBA/BnB,KAAK;IAdjB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,QAAQ;YACpB,gBAAgB,EAAE,WAAW;YAC7B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5B;QACD,OAAO,EAAE,EAAE,UAAU,EAAE,oBAAQ,CAAC,KAAK,EAAE;KACvC,CAAC;IACD,IAAA,iBAAK,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;IACxB,IAAA,iBAAK,EAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;IACxC,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;IACjC,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAClC,IAAA,iBAAK,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;GACvB,KAAK,CAgCjB","sourcesContent":["import { prop, Ref, modelOptions, index, Severity } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { OrderType } from '../../../utilities/enum';\r\nimport { OrderCancel } from './embedded/order-cancel.model';\r\nimport { OrderPricing } from './embedded/order-pricing.model';\r\nimport { User } from './user.model';\r\n\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\tcollection: 'orders',\r\n\t\tdiscriminatorKey: 'orderType',\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t},\r\n\toptions: { allowMixed: Severity.ALLOW },\r\n})\r\n@index({ createdAt: -1 })\r\n@index({ orderStatus: 1, createdAt: -1 })\r\n@index({ user: 1, createdAt: -1 })\r\n@index({ shop: 1, orderStatus: 1 })\r\n@index({ rider: 1, orderStatus: 1 })\r\nexport class Order extends TimeStamps {\r\n\t@prop({ required: true, type: String, unique: true })\r\n\tpublic orderId: string;\r\n\r\n\t@prop({ type: String, enum: OrderType, default: OrderType.REGULAR })\r\n\tpublic orderType?: OrderType;\r\n\r\n\t@prop({ required: true, ref: () => User })\r\n\tpublic user: Ref<User>;\r\n\r\n\t@prop({ type: String })\r\n\tpublic instruction?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic note?: string;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic scheduledFor?: Date;\r\n\r\n\t@prop({ type: () => OrderPricing })\r\n\tpublic pricing: OrderPricing;\r\n\r\n\t// payment: OrderPayment; This should be a virtual field to understand if the payment is done or not\r\n\r\n\t@prop({ type: () => OrderCancel })\r\n\tpublic orderCancel: OrderCancel;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isLateOrder?: boolean;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isUrgentOrder?: boolean;\r\n}\r\n"]}
@@ -91,9 +91,7 @@ exports.Product = Product = __decorate([
91
91
  (0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'products' } }),
92
92
  (0, typegoose_1.Index)({ name: 1, itemType: 1 }, {
93
93
  unique: true,
94
- partialFilterExpression: {
95
- itemType: { $in: [enum_1.ItemType.GROCERY, enum_1.ItemType.PHARMACY] },
96
- },
94
+ partialFilterExpression: { itemType: { $in: [enum_1.ItemType.GROCERY, enum_1.ItemType.PHARMACY] }, deletedAt: null },
97
95
  })
98
96
  ], Product);
99
97
  //# sourceMappingURL=product.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product.model.js","sourceRoot":"/","sources":["libraries/mongo/models/product.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiE;AACjE,4EAAqE;AACrE,kDAA0F;AAC1F,gFAAsE;AAY/D,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,2BAAU;IAE/B,IAAI,CAAU;IAGd,OAAO,CAAU;IAGjB,QAAQ,CAAY;IAGpB,SAAS,CAAa;IAGtB,MAAM,CAAY;IAGlB,MAAM,CAAU;IAGhB,oBAAoB,CAAU;IAG9B,oBAAoB,CAAU;IAG9B,gBAAgB,CAAU;IAG1B,iBAAiB,CAAU;IAG3B,UAAU,CAAsB;IAGhC,YAAY,CAAwB;IAGpC,kBAAkB,CAAU;IAG5B,sBAAsB,CAAU;CACvC,CAAA;AA1CY,0BAAO;AAEZ;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCACC;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;yCAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;0CACX;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;;uCAChB;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;uCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;qDACM;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDACc;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;iDACE;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;kDACG;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,0CAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CACT;AAGhC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,yBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;6CACrB;AAGpC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACY;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDACgB;kBAzC3B,OAAO;IAVnB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAC3D,IAAA,iBAAK,EACL,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EACxB;QACC,MAAM,EAAE,IAAI;QACZ,uBAAuB,EAAE;YACxB,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,eAAQ,CAAC,OAAO,EAAE,eAAQ,CAAC,QAAQ,CAAC,EAAE;SACxD;KACD,CACD;GACY,OAAO,CA0CnB","sourcesContent":["import { Index, modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { FoodGroup, ItemType, ProductDietaryType, Status } from '../../../utilities/enum';\r\nimport { ProductNutrition } from './embedded/product-nutrition.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'products' } })\r\n@Index(\r\n\t{ name: 1, itemType: 1 },\r\n\t{\r\n\t\tunique: true,\r\n\t\tpartialFilterExpression: {\r\n\t\t\titemType: { $in: [ItemType.GROCERY, ItemType.PHARMACY] },\r\n\t\t},\r\n\t}\r\n)\r\nexport class Product extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic barcode?: string;\r\n\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ type: String, enum: FoodGroup })\r\n\tpublic foodGroup?: FoodGroup;\r\n\r\n\t@prop({ required: true, type: [String] })\r\n\tpublic images!: string[];\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionServingSize?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic nutritionServingUnit?: string;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionPerUnit?: number;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionCalories?: number;\r\n\r\n\t@prop({ type: [ProductNutrition], default: [] })\r\n\tpublic nutritions?: ProductNutrition[];\r\n\r\n\t@prop({ type: [String], enum: ProductDietaryType, default: [] })\r\n\tpublic dietaryTypes?: ProductDietaryType[];\r\n\r\n\t@prop({ type: Number })\r\n\tpublic storingTemperature?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic storingTemperatureUnit?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"product.model.js","sourceRoot":"/","sources":["libraries/mongo/models/product.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiE;AACjE,4EAAqE;AACrE,kDAA0F;AAC1F,gFAAsE;AAU/D,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,2BAAU;IAE/B,IAAI,CAAU;IAGd,OAAO,CAAU;IAGjB,QAAQ,CAAY;IAGpB,SAAS,CAAa;IAGtB,MAAM,CAAY;IAGlB,MAAM,CAAU;IAGhB,oBAAoB,CAAU;IAG9B,oBAAoB,CAAU;IAG9B,gBAAgB,CAAU;IAG1B,iBAAiB,CAAU;IAG3B,UAAU,CAAsB;IAGhC,YAAY,CAAwB;IAGpC,kBAAkB,CAAU;IAG5B,sBAAsB,CAAU;CACvC,CAAA;AA1CY,0BAAO;AAEZ;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCACC;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;yCAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;0CACX;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;;uCAChB;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;uCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;qDACM;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDACc;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;iDACE;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;kDACG;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,0CAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CACT;AAGhC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,yBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;6CACrB;AAGpC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACY;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDACgB;kBAzC3B,OAAO;IARnB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAC3D,IAAA,iBAAK,EACL,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EACxB;QACC,MAAM,EAAE,IAAI;QACZ,uBAAuB,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,eAAQ,CAAC,OAAO,EAAE,eAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;KACtG,CACD;GACY,OAAO,CA0CnB","sourcesContent":["import { Index, modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { FoodGroup, ItemType, ProductDietaryType, Status } from '../../../utilities/enum';\r\nimport { ProductNutrition } from './embedded/product-nutrition.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'products' } })\r\n@Index(\r\n\t{ name: 1, itemType: 1 },\r\n\t{\r\n\t\tunique: true,\r\n\t\tpartialFilterExpression: { itemType: { $in: [ItemType.GROCERY, ItemType.PHARMACY] }, deletedAt: null },\r\n\t}\r\n)\r\nexport class Product extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic barcode?: string;\r\n\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ type: String, enum: FoodGroup })\r\n\tpublic foodGroup?: FoodGroup;\r\n\r\n\t@prop({ required: true, type: [String] })\r\n\tpublic images!: string[];\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionServingSize?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic nutritionServingUnit?: string;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionPerUnit?: number;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionCalories?: number;\r\n\r\n\t@prop({ type: [ProductNutrition], default: [] })\r\n\tpublic nutritions?: ProductNutrition[];\r\n\r\n\t@prop({ type: [String], enum: ProductDietaryType, default: [] })\r\n\tpublic dietaryTypes?: ProductDietaryType[];\r\n\r\n\t@prop({ type: Number })\r\n\tpublic storingTemperature?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic storingTemperatureUnit?: string;\r\n}\r\n"]}