@lyxa.ai/core 1.0.20 → 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 (132) hide show
  1. package/dist/index.js.map +1 -1
  2. package/dist/libraries/mongo/models/base/base-coupon.model.js.map +1 -1
  3. package/dist/libraries/mongo/models/cart-lineitem.model.d.ts +29 -0
  4. package/dist/libraries/mongo/models/cart-lineitem.model.js +120 -0
  5. package/dist/libraries/mongo/models/cart-lineitem.model.js.map +1 -0
  6. package/dist/libraries/mongo/models/cart-participant.model.d.ts +2 -2
  7. package/dist/libraries/mongo/models/cart-participant.model.js +2 -2
  8. package/dist/libraries/mongo/models/cart-participant.model.js.map +1 -1
  9. package/dist/libraries/mongo/models/cart-perticipant.model.d.ts +22 -0
  10. package/dist/libraries/mongo/models/cart-perticipant.model.js +104 -0
  11. package/dist/libraries/mongo/models/cart-perticipant.model.js.map +1 -0
  12. package/dist/libraries/mongo/models/cart.model.d.ts +5 -7
  13. package/dist/libraries/mongo/models/cart.model.js +13 -29
  14. package/dist/libraries/mongo/models/cart.model.js.map +1 -1
  15. package/dist/libraries/mongo/models/embedded/attribute-item.model.js.map +1 -1
  16. package/dist/libraries/mongo/models/embedded/attribute-map.model.js.map +1 -1
  17. package/dist/libraries/mongo/models/embedded/business-development-setting.model.js.map +1 -1
  18. package/dist/libraries/mongo/models/embedded/charge-setting.model.js.map +1 -1
  19. package/dist/libraries/mongo/models/embedded/charge.model.js.map +1 -1
  20. package/dist/libraries/mongo/models/embedded/courier-setting.model.js.map +1 -1
  21. package/dist/libraries/mongo/models/embedded/currency-setting.model.js.map +1 -1
  22. package/dist/libraries/mongo/models/embedded/currency.model.js.map +1 -1
  23. package/dist/libraries/mongo/models/embedded/featured-item.mode.js.map +1 -1
  24. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.d.ts +7 -0
  25. package/dist/libraries/mongo/models/{shop-review.js → embedded/line-item-attribute.model.js} +15 -14
  26. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.js.map +1 -0
  27. package/dist/libraries/mongo/models/embedded/order-cancel.model.d.ts +7 -0
  28. package/dist/libraries/mongo/models/{providers/google-auth-identity.model.js → embedded/order-cancel.model.js} +18 -9
  29. package/dist/libraries/mongo/models/embedded/order-cancel.model.js.map +1 -0
  30. package/dist/libraries/mongo/models/embedded/order-pricing.model.d.ts +18 -0
  31. package/dist/libraries/mongo/models/embedded/order-pricing.model.js +97 -0
  32. package/dist/libraries/mongo/models/embedded/order-pricing.model.js.map +1 -0
  33. package/dist/libraries/mongo/models/embedded/otp-fields.model.js.map +1 -1
  34. package/dist/libraries/mongo/models/embedded/package.model.js.map +1 -1
  35. package/dist/libraries/mongo/models/embedded/parent-document.model.js.map +1 -1
  36. package/dist/libraries/mongo/models/embedded/payment-attempt.model.d.ts +10 -0
  37. package/dist/libraries/mongo/models/embedded/payment-attempt.model.js +60 -0
  38. package/dist/libraries/mongo/models/embedded/payment-attempt.model.js.map +1 -0
  39. package/dist/libraries/mongo/models/embedded/payment-details.model.d.ts +9 -0
  40. package/dist/libraries/mongo/models/embedded/payment-details.model.js +52 -0
  41. package/dist/libraries/mongo/models/embedded/payment-details.model.js.map +1 -0
  42. package/dist/libraries/mongo/models/embedded/payment-infromation.model.d.ts +1 -0
  43. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js +5 -0
  44. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js.map +1 -1
  45. package/dist/libraries/mongo/models/embedded/payout-setting.model.js.map +1 -1
  46. package/dist/libraries/mongo/models/embedded/price.model.js.map +1 -1
  47. package/dist/libraries/mongo/models/embedded/product-nutrition.model.js.map +1 -1
  48. package/dist/libraries/mongo/models/embedded/referral-discount-config.model.js.map +1 -1
  49. package/dist/libraries/mongo/models/embedded/rider-setting.model.js.map +1 -1
  50. package/dist/libraries/mongo/models/embedded/service-fee-setting.model.js.map +1 -1
  51. package/dist/libraries/mongo/models/embedded/shop-document.model.js.map +1 -1
  52. package/dist/libraries/mongo/models/embedded/status-timeline.model.d.ts +14 -0
  53. package/dist/libraries/mongo/models/embedded/status-timeline.model.js +59 -0
  54. package/dist/libraries/mongo/models/embedded/status-timeline.model.js.map +1 -0
  55. package/dist/libraries/mongo/models/embedded/subscription-summary.model.js.map +1 -1
  56. package/dist/libraries/mongo/models/line-item.model.d.ts +9 -8
  57. package/dist/libraries/mongo/models/line-item.model.js +17 -16
  58. package/dist/libraries/mongo/models/line-item.model.js.map +1 -1
  59. package/dist/libraries/mongo/models/order-delivery.model.d.ts +24 -0
  60. package/dist/libraries/mongo/models/order-delivery.model.js +119 -0
  61. package/dist/libraries/mongo/models/order-delivery.model.js.map +1 -0
  62. package/dist/libraries/mongo/models/order-payment.model.d.ts +21 -0
  63. package/dist/libraries/mongo/models/order-payment.model.js +96 -0
  64. package/dist/libraries/mongo/models/order-payment.model.js.map +1 -0
  65. package/dist/libraries/mongo/models/order-pricing.model.d.ts +18 -0
  66. package/dist/libraries/mongo/models/order-pricing.model.js +88 -0
  67. package/dist/libraries/mongo/models/order-pricing.model.js.map +1 -0
  68. package/dist/libraries/mongo/models/order.model.d.ts +15 -0
  69. package/dist/libraries/mongo/models/order.model.js +60 -7
  70. package/dist/libraries/mongo/models/order.model.js.map +1 -1
  71. package/dist/libraries/mongo/models/payout.model.js.map +1 -1
  72. package/dist/libraries/mongo/models/providers/courier-order.model.d.ts +23 -0
  73. package/dist/libraries/mongo/models/providers/courier-order.model.js +89 -0
  74. package/dist/libraries/mongo/models/providers/courier-order.model.js.map +1 -0
  75. package/dist/libraries/mongo/models/providers/regular-order.model.d.ts +23 -0
  76. package/dist/libraries/mongo/models/providers/regular-order.model.js +85 -0
  77. package/dist/libraries/mongo/models/providers/regular-order.model.js.map +1 -0
  78. package/dist/libraries/mongo/models/rating-setting.model.d.ts +1 -0
  79. package/dist/libraries/mongo/models/rating-setting.model.js +11 -2
  80. package/dist/libraries/mongo/models/rating-setting.model.js.map +1 -1
  81. package/dist/libraries/mongo/models/shared/address.model.d.ts +4 -0
  82. package/dist/libraries/mongo/models/shared/address.model.js +14 -1
  83. package/dist/libraries/mongo/models/shared/address.model.js.map +1 -1
  84. package/dist/libraries/mongo/models/shared/duration.model.js.map +1 -1
  85. package/dist/libraries/mongo/models/shop.model.d.ts +1 -1
  86. package/dist/libraries/mongo/models/shop.model.js +2 -2
  87. package/dist/libraries/mongo/models/shop.model.js.map +1 -1
  88. package/dist/libraries/mongo/models/transaction.model.js.map +1 -1
  89. package/dist/utilities/enum.d.ts +51 -5
  90. package/dist/utilities/enum.js +57 -4
  91. package/dist/utilities/enum.js.map +1 -1
  92. package/dist/utilities/pagination.d.ts +4 -2
  93. package/dist/utilities/pagination.js +42 -5
  94. package/dist/utilities/pagination.js.map +1 -1
  95. package/dist/utilities/transformers.d.ts +1 -1
  96. package/dist/utilities/transformers.js +0 -12
  97. package/dist/utilities/transformers.js.map +1 -1
  98. package/dist/utilities/validation/common-validation.d.ts +182 -64
  99. package/dist/utilities/validation/common-validation.js +24 -13
  100. package/dist/utilities/validation/common-validation.js.map +1 -1
  101. package/dist/utilities/validation/global-validation.d.ts +40 -20
  102. package/dist/utilities/validation/global-validation.js +5 -3
  103. package/dist/utilities/validation/global-validation.js.map +1 -1
  104. package/package.json +1 -1
  105. package/dist/libraries/mongo/models/areeba-card.model.d.ts +0 -17
  106. package/dist/libraries/mongo/models/areeba-card.model.js +0 -73
  107. package/dist/libraries/mongo/models/areeba-card.model.js.map +0 -1
  108. package/dist/libraries/mongo/models/auth-identity.model.d.ts +0 -8
  109. package/dist/libraries/mongo/models/auth-identity.model.js +0 -33
  110. package/dist/libraries/mongo/models/auth-identity.model.js.map +0 -1
  111. package/dist/libraries/mongo/models/providers/apple-auth-identity.model.d.ts +0 -6
  112. package/dist/libraries/mongo/models/providers/apple-auth-identity.model.js +0 -25
  113. package/dist/libraries/mongo/models/providers/apple-auth-identity.model.js.map +0 -1
  114. package/dist/libraries/mongo/models/providers/email-auth-identity.model.d.ts +0 -9
  115. package/dist/libraries/mongo/models/providers/email-auth-identity.model.js +0 -36
  116. package/dist/libraries/mongo/models/providers/email-auth-identity.model.js.map +0 -1
  117. package/dist/libraries/mongo/models/providers/google-auth-identity.model.d.ts +0 -6
  118. package/dist/libraries/mongo/models/providers/google-auth-identity.model.js.map +0 -1
  119. package/dist/libraries/mongo/models/providers/phone-auth-identity.model.d.ts +0 -8
  120. package/dist/libraries/mongo/models/providers/phone-auth-identity.model.js +0 -31
  121. package/dist/libraries/mongo/models/providers/phone-auth-identity.model.js.map +0 -1
  122. package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.d.ts +0 -10
  123. package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.js +0 -28
  124. package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.js.map +0 -1
  125. package/dist/libraries/mongo/models/role.model.ts.d.ts +0 -8
  126. package/dist/libraries/mongo/models/role.model.ts.js +0 -37
  127. package/dist/libraries/mongo/models/role.model.ts.js.map +0 -1
  128. package/dist/libraries/mongo/models/shop-review.d.ts +0 -7
  129. package/dist/libraries/mongo/models/shop-review.js.map +0 -1
  130. package/dist/libraries/mongo/models/zone.model..d.ts +0 -15
  131. package/dist/libraries/mongo/models/zone.model..js +0 -64
  132. package/dist/libraries/mongo/models/zone.model..js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-timeline.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/status-timeline.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiD;AACjD,gDAAuC;AACvC,qDAAoF;AAEpF,MAAM,cAAc;IAEnB,SAAS,CAAO;IAGhB,SAAS,CAAc;IAGvB,KAAK,CAAU;CACf;AAPA;IADC,IAAA,gBAAI,GAAE;8BACI,IAAI;iDAAC;AAGhB;IADC,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;iDACJ;AAGvB;IADC,IAAA,gBAAI,GAAE;;6CACQ;AAGhB,MAAa,0BAA2B,SAAQ,cAAc;IAO7D,MAAM,CAAS;CACf;AARD,gEAQC;AADA;IANC,IAAA,gBAAI,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,yBAAkB;QACxB,OAAO,EAAE,yBAAkB,CAAC,MAAM;KAClC,CAAC;;0DACa;AAGhB,MAAa,0BAA2B,SAAQ,cAAc;IAO7D,MAAM,CAAS;CACf;AARD,gEAQC;AADA;IANC,IAAA,gBAAI,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,yBAAkB;QACxB,OAAO,EAAE,yBAAkB,CAAC,MAAM;KAClC,CAAC;;0DACa","sourcesContent":["import { prop, Ref } from '@typegoose/typegoose';\r\nimport { Admin } from '../admin.model';\r\nimport { CourierOrderStatus, RegularOrderStatus } from '../../../../utilities/enum';\r\n\r\nclass StatusTimeline {\r\n\t@prop()\r\n\ttimestamp: Date; // scope for discussion to change the name to date\r\n\r\n\t@prop({ ref: () => Admin })\r\n\tupdatedBy?: Ref<Admin>;\r\n\r\n\t@prop()\r\n\tnotes?: string;\r\n}\r\n\r\nexport class RegularOrderStatusTimeline extends StatusTimeline {\r\n\t@prop({\r\n\t\trequired: true,\r\n\t\ttype: String,\r\n\t\tenum: RegularOrderStatus,\r\n\t\tdefault: RegularOrderStatus.PLACED,\r\n\t})\r\n\tstatus: string;\r\n}\r\n\r\nexport class CourierOrderStatusTimeline extends StatusTimeline {\r\n\t@prop({\r\n\t\trequired: true,\r\n\t\ttype: String,\r\n\t\tenum: CourierOrderStatus,\r\n\t\tdefault: CourierOrderStatus.PLACED,\r\n\t})\r\n\tstatus: string;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-summary.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/subscription-summary.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,mBAAmB;IAExB,MAAM,CAAU;IAGhB,eAAe,CAAU;IAGzB,IAAI,CAAU;IAGd,aAAa,CAAU;IAGvB,IAAI,CAAU;IAGd,aAAa,CAAU;CAC9B;AAlBD,kDAkBC;AAhBO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mDACZ;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4DACH;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACd;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACL;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACd;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACL","sourcesContent":["import { prop } from '@typegoose/typegoose';\r\n\r\nexport class SubscriptionSummary {\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic wallet?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic secondaryWallet?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic card?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic secondaryCard?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic cash?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic secondaryCash?: number;\r\n}\r\n"]}
1
+ {"version":3,"file":"subscription-summary.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/subscription-summary.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,mBAAmB;IAExB,MAAM,CAAU;IAGhB,eAAe,CAAU;IAGzB,IAAI,CAAU;IAGd,aAAa,CAAU;IAGvB,IAAI,CAAU;IAGd,aAAa,CAAU;CAC9B;AAlBD,kDAkBC;AAhBO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mDACZ;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4DACH;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACd;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACL;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACd;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACL","sourcesContent":["import { prop } from '@typegoose/typegoose';\n\nexport class SubscriptionSummary {\n\t@prop({ type: Number, default: 0 })\n\tpublic wallet?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryWallet?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic card?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryCard?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic cash?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryCash?: number;\n}\n"]}
@@ -1,18 +1,19 @@
1
1
  import { Ref } from '@typegoose/typegoose';
2
- import { CoreUser } from './core-user.model';
3
2
  import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
4
3
  import { Cart } from './cart.model';
5
4
  import { Product } from './product.model';
6
- import { Portion } from './embedded/portion.model';
7
- import { AddOn } from './embedded/addon.model';
5
+ import { Price } from './embedded/price.model';
6
+ import { PriceType } from '../../../utilities/enum';
7
+ import { LineItemAttribute } from './embedded/line-item-attribute.model';
8
+ import { User } from './user.model';
8
9
  export declare class LineItem extends TimeStamps {
9
10
  cart: Ref<Cart>;
10
- user?: Ref<CoreUser>;
11
+ user: Ref<User>;
11
12
  product: Ref<Product>;
12
- quantity: number;
13
- unitPrice: number;
14
- portion?: Portion;
15
- addOns?: AddOn[];
13
+ quantity?: number;
14
+ priceType?: PriceType;
15
+ price: Price;
16
+ attributes?: LineItemAttribute[];
16
17
  removedIngredients?: string[];
17
18
  specialInstructions?: string;
18
19
  }
@@ -11,20 +11,21 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.LineItem = void 0;
13
13
  const typegoose_1 = require("@typegoose/typegoose");
14
- const core_user_model_1 = require("./core-user.model");
15
14
  const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
16
15
  const cart_model_1 = require("./cart.model");
17
16
  const product_model_1 = require("./product.model");
18
- const portion_model_1 = require("./embedded/portion.model");
19
- const addon_model_1 = require("./embedded/addon.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");
20
21
  let LineItem = class LineItem extends defaultClasses_1.TimeStamps {
21
22
  cart;
22
23
  user;
23
24
  product;
24
25
  quantity;
25
- unitPrice;
26
- portion;
27
- addOns;
26
+ priceType;
27
+ price;
28
+ attributes;
28
29
  removedIngredients;
29
30
  specialInstructions;
30
31
  };
@@ -34,7 +35,7 @@ __decorate([
34
35
  __metadata("design:type", Object)
35
36
  ], LineItem.prototype, "cart", void 0);
36
37
  __decorate([
37
- (0, typegoose_1.prop)({ required: false, ref: () => core_user_model_1.CoreUser }),
38
+ (0, typegoose_1.prop)({ required: true, ref: () => user_model_1.User }),
38
39
  __metadata("design:type", Object)
39
40
  ], LineItem.prototype, "user", void 0);
40
41
  __decorate([
@@ -42,21 +43,21 @@ __decorate([
42
43
  __metadata("design:type", Object)
43
44
  ], LineItem.prototype, "product", void 0);
44
45
  __decorate([
45
- (0, typegoose_1.prop)({ required: true, min: 1, default: 1 }),
46
+ (0, typegoose_1.prop)({ min: 1, default: 1 }),
46
47
  __metadata("design:type", Number)
47
48
  ], LineItem.prototype, "quantity", void 0);
48
49
  __decorate([
49
- (0, typegoose_1.prop)(),
50
- __metadata("design:type", Number)
51
- ], LineItem.prototype, "unitPrice", void 0);
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);
52
53
  __decorate([
53
- (0, typegoose_1.prop)({ type: () => portion_model_1.Portion }),
54
- __metadata("design:type", portion_model_1.Portion)
55
- ], LineItem.prototype, "portion", void 0);
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);
56
57
  __decorate([
57
- (0, typegoose_1.prop)({ type: () => [addon_model_1.AddOn], default: [] }),
58
+ (0, typegoose_1.prop)({ type: () => [line_item_attribute_model_1.LineItemAttribute], default: [] }),
58
59
  __metadata("design:type", Array)
59
- ], LineItem.prototype, "addOns", void 0);
60
+ ], LineItem.prototype, "attributes", void 0);
60
61
  __decorate([
61
62
  (0, typegoose_1.prop)({ type: () => [String], default: [] }),
62
63
  __metadata("design:type", Array)
@@ -1 +1 @@
1
- {"version":3,"file":"line-item.model.js","sourceRoot":"/","sources":["libraries/mongo/models/line-item.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAQ8B;AAC9B,uDAA6C;AAC7C,4EAAqE;AACrE,6CAAoC;AACpC,mDAA0C;AAC1C,4DAAmD;AACnD,wDAA+C;AAkBxC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAa;IAGjB,IAAI,CAAiB;IAGrB,OAAO,CAAgB;IAGvB,QAAQ,CAAU;IAGlB,SAAS,CAAU;IAGnB,OAAO,CAAW;IAGlB,MAAM,CAAW;IAGjB,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,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;sCACnB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;yCACf;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0CACpB;AAGlB;IADN,IAAA,gBAAI,GAAE;;2CACmB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;8BACb,uBAAO;yCAAC;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,mBAAK,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;wCACnB;AAGjB;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 {\r\n\tprop,\r\n\tgetModelForClass,\r\n\tRef,\r\n\tindex,\r\n\tmodelOptions,\r\n\tSeverity,\r\n\tReturnModelType,\r\n} from '@typegoose/typegoose';\r\nimport { CoreUser } from './core-user.model';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Cart } from './cart.model';\r\nimport { Product } from './product.model';\r\nimport { Portion } from './embedded/portion.model';\r\nimport { AddOn } from './embedded/addon.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: false, ref: () => CoreUser })\r\n\tpublic user?: Ref<CoreUser>;\r\n\r\n\t@prop({ required: true, ref: () => Product })\r\n\tpublic product!: Ref<Product>;\r\n\r\n\t@prop({ required: true, min: 1, default: 1 })\r\n\tpublic quantity!: number;\r\n\r\n\t@prop()\r\n\tpublic unitPrice!: number;\r\n\r\n\t@prop({ type: () => Portion })\r\n\tpublic portion?: Portion;\r\n\r\n\t@prop({ type: () => [AddOn], default: [] })\r\n\tpublic addOns?: AddOn[];\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}"]}
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,3 +1,18 @@
1
+ import { Ref } from '@typegoose/typegoose';
1
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';
2
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;
3
18
  }
@@ -5,29 +5,82 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
+ };
8
11
  Object.defineProperty(exports, "__esModule", { value: true });
9
12
  exports.Order = void 0;
10
13
  const typegoose_1 = require("@typegoose/typegoose");
11
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");
12
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;
13
30
  };
14
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);
15
72
  exports.Order = Order = __decorate([
16
73
  (0, typegoose_1.modelOptions)({
17
74
  schemaOptions: {
18
- timestamps: true,
75
+ collection: 'orders',
76
+ discriminatorKey: 'orderType',
19
77
  toJSON: { virtuals: true },
20
78
  toObject: { virtuals: true },
21
- collection: 'orders',
22
- },
23
- options: {
24
- allowMixed: typegoose_1.Severity.ALLOW,
25
79
  },
80
+ options: { allowMixed: typegoose_1.Severity.ALLOW },
26
81
  }),
27
- (0, typegoose_1.index)({ location: '2dsphere' }),
28
82
  (0, typegoose_1.index)({ createdAt: -1 }),
29
83
  (0, typegoose_1.index)({ orderStatus: 1, createdAt: -1 }),
30
- (0, typegoose_1.index)({ cart: 1 }),
31
84
  (0, typegoose_1.index)({ user: 1, createdAt: -1 }),
32
85
  (0, typegoose_1.index)({ shop: 1, orderStatus: 1 }),
33
86
  (0, typegoose_1.index)({ rider: 1, orderStatus: 1 })