@lyxa.ai/core 1.0.48 → 1.0.50

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 (29) hide show
  1. package/dist/libraries/mongo/models/embedded/charge-settings.model.d.ts +8 -0
  2. package/dist/libraries/mongo/models/embedded/charge-settings.model.js +39 -0
  3. package/dist/libraries/mongo/models/embedded/charge-settings.model.js.map +1 -0
  4. package/dist/libraries/mongo/models/embedded/customer-support-batches.model.d.ts +4 -0
  5. package/dist/libraries/mongo/models/embedded/customer-support-batches.model.js +27 -0
  6. package/dist/libraries/mongo/models/embedded/customer-support-batches.model.js.map +1 -0
  7. package/dist/libraries/mongo/models/embedded/customer-support-numbers.model.d.ts +4 -0
  8. package/dist/libraries/mongo/models/embedded/customer-support-numbers.model.js +27 -0
  9. package/dist/libraries/mongo/models/embedded/customer-support-numbers.model.js.map +1 -0
  10. package/dist/libraries/mongo/models/embedded/order-pricing.model.d.ts +4 -0
  11. package/dist/libraries/mongo/models/embedded/order-pricing.model.js +20 -0
  12. package/dist/libraries/mongo/models/embedded/order-pricing.model.js.map +1 -1
  13. package/dist/libraries/mongo/models/embedded/payout-setting.model.js.map +1 -1
  14. package/dist/libraries/mongo/models/embedded/rider-batches.model.d.ts +4 -0
  15. package/dist/libraries/mongo/models/embedded/rider-batches.model.js +27 -0
  16. package/dist/libraries/mongo/models/embedded/rider-batches.model.js.map +1 -0
  17. package/dist/libraries/mongo/models/order.model.d.ts +1 -3
  18. package/dist/libraries/mongo/models/order.model.js +0 -6
  19. package/dist/libraries/mongo/models/order.model.js.map +1 -1
  20. package/dist/libraries/mongo/models/product-marketing.model.js.map +1 -1
  21. package/dist/libraries/mongo/models/setting.model.d.ts +8 -1
  22. package/dist/libraries/mongo/models/setting.model.js +23 -4
  23. package/dist/libraries/mongo/models/setting.model.js.map +1 -1
  24. package/dist/libraries/mongo/models/tag.model.js +53 -0
  25. package/dist/libraries/mongo/models/tag.model.js.map +1 -1
  26. package/dist/libraries/trpc/middlewares/publicUserDecoder.d.ts +39 -0
  27. package/dist/libraries/trpc/middlewares/publicUserDecoder.js +74 -0
  28. package/dist/libraries/trpc/middlewares/publicUserDecoder.js.map +1 -0
  29. package/package.json +1 -1
@@ -0,0 +1,8 @@
1
+ import { Charge } from './delivery-charge-setting.model';
2
+ import { ValueType } from '../../../../utilities/enum';
3
+ export declare class ChargeSetting {
4
+ valueType?: ValueType;
5
+ value?: number;
6
+ deliveryCharges?: Charge[];
7
+ deliveryChargesForCourier?: Charge[];
8
+ }
@@ -0,0 +1,39 @@
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.ChargeSetting = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ const delivery_charge_setting_model_1 = require("./delivery-charge-setting.model");
15
+ const enum_1 = require("../../../../utilities/enum");
16
+ class ChargeSetting {
17
+ valueType;
18
+ value;
19
+ deliveryCharges;
20
+ deliveryChargesForCourier;
21
+ }
22
+ exports.ChargeSetting = ChargeSetting;
23
+ __decorate([
24
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.ValueType, default: enum_1.ValueType.PERCENTAGE }),
25
+ __metadata("design:type", String)
26
+ ], ChargeSetting.prototype, "valueType", void 0);
27
+ __decorate([
28
+ (0, typegoose_1.prop)({ type: Number }),
29
+ __metadata("design:type", Number)
30
+ ], ChargeSetting.prototype, "value", void 0);
31
+ __decorate([
32
+ (0, typegoose_1.prop)({ type: [delivery_charge_setting_model_1.Charge], default: [] }),
33
+ __metadata("design:type", Array)
34
+ ], ChargeSetting.prototype, "deliveryCharges", void 0);
35
+ __decorate([
36
+ (0, typegoose_1.prop)({ type: [delivery_charge_setting_model_1.Charge], default: [] }),
37
+ __metadata("design:type", Array)
38
+ ], ChargeSetting.prototype, "deliveryChargesForCourier", void 0);
39
+ //# sourceMappingURL=charge-settings.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charge-settings.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/charge-settings.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAC5C,mFAAyD;AACzD,qDAAuD;AAGvD,MAAa,aAAa;IAElB,SAAS,CAAa;IAGtB,KAAK,CAAU;IAGf,eAAe,CAAY;IAG3B,yBAAyB,CAAY;CAC5C;AAZD,sCAYC;AAVO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,UAAU,EAAE,CAAC;;gDAC1C;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CACD;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,sCAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;sDACJ;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,sCAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;gEACM","sourcesContent":["import { prop } from '@typegoose/typegoose';\nimport { Charge } from './delivery-charge-setting.model';\nimport { ValueType } from '../../../../utilities/enum';\n\n\nexport class ChargeSetting {\n\t@prop({ type: String, enum: ValueType, default: ValueType.PERCENTAGE })\n\tpublic valueType?: ValueType; // percentage or fixed\n\n\t@prop({ type: Number })\n\tpublic value?: number;\n\n\t@prop({ type: [Charge], default: [] })\n\tpublic deliveryCharges?: Charge[];\n\n\t@prop({ type: [Charge], default: [] })\n\tpublic deliveryChargesForCourier?: Charge[];\n}"]}
@@ -0,0 +1,4 @@
1
+ export declare class CustomerSupportBatchesSettings {
2
+ phoneNumber?: string;
3
+ whatsAppNumber?: string;
4
+ }
@@ -0,0 +1,27 @@
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.CustomerSupportBatchesSettings = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ class CustomerSupportBatchesSettings {
15
+ phoneNumber;
16
+ whatsAppNumber;
17
+ }
18
+ exports.CustomerSupportBatchesSettings = CustomerSupportBatchesSettings;
19
+ __decorate([
20
+ (0, typegoose_1.prop)({ type: String }),
21
+ __metadata("design:type", String)
22
+ ], CustomerSupportBatchesSettings.prototype, "phoneNumber", void 0);
23
+ __decorate([
24
+ (0, typegoose_1.prop)({ type: String }),
25
+ __metadata("design:type", String)
26
+ ], CustomerSupportBatchesSettings.prototype, "whatsAppNumber", void 0);
27
+ //# sourceMappingURL=customer-support-batches.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-support-batches.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/customer-support-batches.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,8BAA8B;IAEnC,WAAW,CAAU;IAGrB,cAAc,CAAU;CAC/B;AAND,wEAMC;AAJO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mEACK;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sEACQ","sourcesContent":["import { prop } from '@typegoose/typegoose';\n\nexport class CustomerSupportBatchesSettings {\n\t@prop({ type: String })\n\tpublic phoneNumber?: string;\n\n\t@prop({ type: String })\n\tpublic whatsAppNumber?: string;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare class CustomerSupport {
2
+ phoneNumber?: string;
3
+ whatsAppNumber?: string;
4
+ }
@@ -0,0 +1,27 @@
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.CustomerSupport = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ class CustomerSupport {
15
+ phoneNumber;
16
+ whatsAppNumber;
17
+ }
18
+ exports.CustomerSupport = CustomerSupport;
19
+ __decorate([
20
+ (0, typegoose_1.prop)({ type: String }),
21
+ __metadata("design:type", String)
22
+ ], CustomerSupport.prototype, "phoneNumber", void 0);
23
+ __decorate([
24
+ (0, typegoose_1.prop)({ type: String }),
25
+ __metadata("design:type", String)
26
+ ], CustomerSupport.prototype, "whatsAppNumber", void 0);
27
+ //# sourceMappingURL=customer-support-numbers.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-support-numbers.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/customer-support-numbers.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,eAAe;IAEpB,WAAW,CAAU;IAGrB,cAAc,CAAU;CAC/B;AAND,0CAMC;AAJO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDACK;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDACQ","sourcesContent":["import { prop } from '@typegoose/typegoose';\n\nexport class CustomerSupport {\n\t@prop({ type: String })\n\tpublic phoneNumber?: string;\n\n\t@prop({ type: String })\n\tpublic whatsAppNumber?: string;\n}\n"]}
@@ -1,6 +1,10 @@
1
1
  export declare class OrderPricing {
2
2
  subtotal?: number;
3
3
  secondarySubtotal?: number;
4
+ discount?: number;
5
+ secondaryDiscount?: number;
6
+ couponDiscount?: number;
7
+ secondaryCouponDiscount?: number;
4
8
  deliveryFee?: number;
5
9
  secondaryDeliveryFee?: number;
6
10
  riderTips?: number;
@@ -14,6 +14,10 @@ const typegoose_1 = require("@typegoose/typegoose");
14
14
  class OrderPricing {
15
15
  subtotal;
16
16
  secondarySubtotal;
17
+ discount;
18
+ secondaryDiscount;
19
+ couponDiscount;
20
+ secondaryCouponDiscount;
17
21
  deliveryFee;
18
22
  secondaryDeliveryFee;
19
23
  riderTips;
@@ -34,6 +38,22 @@ __decorate([
34
38
  (0, typegoose_1.prop)({ type: Number, default: 0 }),
35
39
  __metadata("design:type", Number)
36
40
  ], OrderPricing.prototype, "secondarySubtotal", void 0);
41
+ __decorate([
42
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
43
+ __metadata("design:type", Number)
44
+ ], OrderPricing.prototype, "discount", void 0);
45
+ __decorate([
46
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
47
+ __metadata("design:type", Number)
48
+ ], OrderPricing.prototype, "secondaryDiscount", void 0);
49
+ __decorate([
50
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
51
+ __metadata("design:type", Number)
52
+ ], OrderPricing.prototype, "couponDiscount", void 0);
53
+ __decorate([
54
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
55
+ __metadata("design:type", Number)
56
+ ], OrderPricing.prototype, "secondaryCouponDiscount", void 0);
37
57
  __decorate([
38
58
  (0, typegoose_1.prop)({ type: Number, default: 0 }),
39
59
  __metadata("design:type", Number)
@@ -1 +1 @@
1
- {"version":3,"file":"order-pricing.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/order-pricing.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,YAAY;IAExB,QAAQ,CAAU;IAGlB,iBAAiB,CAAU;IAG3B,WAAW,CAAU;IAGrB,oBAAoB,CAAU;IAG9B,SAAS,CAAU;IAGnB,kBAAkB,CAAU;IAG5B,KAAK,CAAU;IAGf,cAAc,CAAU;IAGxB,MAAM,CAAU;IAGhB,eAAe,CAAU;IAGzB,UAAU,CAAU;IAGpB,mBAAmB,CAAU;CAC7B;AApCD,oCAoCC;AAlCA;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;8CACjB;AAGlB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACR;AAG3B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACd;AAGrB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACL;AAG9B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+CAChB;AAGnB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;wDACP;AAG5B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2CACpB;AAGf;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACX;AAGxB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4CACnB;AAGhB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;qDACV;AAGzB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gDACf;AAGpB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;yDACN","sourcesContent":["import { prop } from '@typegoose/typegoose';\n\nexport class OrderPricing {\n\t@prop({ type: Number, default: 0 })\n\tsubtotal?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondarySubtotal?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tdeliveryFee?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryDeliveryFee?: number;\n\n\t@prop({ type: Number, default: 0 })\n\triderTips?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryRiderTips?: number;\n\n\t@prop({ type: Number, default: 0 })\n\ttotal?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryTotal?: number;\n\n\t@prop({ type: Number, default: 0 })\n\twallet?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryWallet?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpaidAmount?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryPaidAmount?: number;\n}\n"]}
1
+ {"version":3,"file":"order-pricing.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/order-pricing.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,YAAY;IAExB,QAAQ,CAAU;IAGlB,iBAAiB,CAAU;IAG3B,QAAQ,CAAU;IAGlB,iBAAiB,CAAU;IAG3B,cAAc,CAAU;IAGxB,uBAAuB,CAAU;IAGjC,WAAW,CAAU;IAGrB,oBAAoB,CAAU;IAG9B,SAAS,CAAU;IAGnB,kBAAkB,CAAU;IAG5B,KAAK,CAAU;IAGf,cAAc,CAAU;IAGxB,MAAM,CAAU;IAGhB,eAAe,CAAU;IAGzB,UAAU,CAAU;IAGpB,mBAAmB,CAAU;CAC7B;AAhDD,oCAgDC;AA9CA;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;8CACjB;AAGlB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACR;AAG3B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;8CACjB;AAGlB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACR;AAG3B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACX;AAGxB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6DACF;AAGjC;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACd;AAGrB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACL;AAG9B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+CAChB;AAGnB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;wDACP;AAG5B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2CACpB;AAGf;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACX;AAGxB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4CACnB;AAGhB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;qDACV;AAGzB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gDACf;AAGpB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;yDACN","sourcesContent":["import { prop } from '@typegoose/typegoose';\n\nexport class OrderPricing {\n\t@prop({ type: Number, default: 0 })\n\tsubtotal?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondarySubtotal?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tdiscount?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryDiscount?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tcouponDiscount?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryCouponDiscount?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tdeliveryFee?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryDeliveryFee?: number;\n\n\t@prop({ type: Number, default: 0 })\n\triderTips?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryRiderTips?: number;\n\n\t@prop({ type: Number, default: 0 })\n\ttotal?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryTotal?: number;\n\n\t@prop({ type: Number, default: 0 })\n\twallet?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryWallet?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpaidAmount?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tsecondaryPaidAmount?: number;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"payout-setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/payout-setting.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAC5C,qDAAqD;AAErD,MAAa,aAAa;IAEzB,WAAW,CAAW;IAGtB,cAAc,CAAU;CACxB;AAND,sCAMC;AAJA;IADC,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAO,EAAE,CAAC;;kDAChC;AAGtB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;qDACnB","sourcesContent":["import { prop } from '@typegoose/typegoose';\nimport { WeekDay } from '../../../../utilities/enum';\n\nexport class PayoutSetting {\n\t@prop({ required: true, type: Number, enum: WeekDay })\n\tissuanceDay!: WeekDay;\n\n\t@prop({ type: Number, min: 1, default: 1 })\n\toverDuePeriods?: number;\n}\n"]}
1
+ {"version":3,"file":"payout-setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/payout-setting.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAC5C,qDAAqD;AAErD,MAAc,aAAa;IAE1B,WAAW,CAAW;IAGtB,cAAc,CAAU;CACxB;AAND,sCAMC;AAJA;IADC,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAO,EAAE,CAAC;;kDAChC;AAGtB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;qDACnB","sourcesContent":["import { prop } from '@typegoose/typegoose';\nimport { WeekDay } from '../../../../utilities/enum';\n\nexport class PayoutSetting {\n\t@prop({ required: true, type: Number, enum: WeekDay })\n\tissuanceDay!: WeekDay;\n\n\t@prop({ type: Number, min: 1, default: 1 })\n\toverDuePeriods?: number;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare class RiderBatchesSettings {
2
+ riderBatch?: number;
3
+ delayTime?: number;
4
+ }
@@ -0,0 +1,27 @@
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.RiderBatchesSettings = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ class RiderBatchesSettings {
15
+ riderBatch;
16
+ delayTime;
17
+ }
18
+ exports.RiderBatchesSettings = RiderBatchesSettings;
19
+ __decorate([
20
+ (0, typegoose_1.prop)({ type: Number, default: 0, min: 0 }),
21
+ __metadata("design:type", Number)
22
+ ], RiderBatchesSettings.prototype, "riderBatch", void 0);
23
+ __decorate([
24
+ (0, typegoose_1.prop)({ type: Number, default: 0, min: 0 }),
25
+ __metadata("design:type", Number)
26
+ ], RiderBatchesSettings.prototype, "delayTime", void 0);
27
+ //# sourceMappingURL=rider-batches.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rider-batches.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/rider-batches.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,oBAAoB;IAEhC,UAAU,CAAU;IAGpB,SAAS,CAAU;CACnB;AAND,oDAMC;AAJA;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;wDACvB;AAGpB;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;uDACxB","sourcesContent":["import { prop } from '@typegoose/typegoose';\n\nexport class RiderBatchesSettings {\n\t@prop({ type: Number, default: 0, min: 0 })\n\triderBatch?: number;\n\n\t@prop({ type: Number, default: 0, min: 0 })\n\tdelayTime?: number; // in mins\n}\n"]}
@@ -2,7 +2,6 @@ import { Ref } from '@typegoose/typegoose';
2
2
  import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
3
3
  import { OrderType } from '../../../utilities/enum';
4
4
  import { OrderCancel } from './embedded/order-cancel.model';
5
- import { OrderPricing } from './embedded/order-pricing.model';
6
5
  import { User } from './user.model';
7
6
  export declare class Order extends TimeStamps {
8
7
  orderId: string;
@@ -11,8 +10,7 @@ export declare class Order extends TimeStamps {
11
10
  instruction?: string;
12
11
  note?: string;
13
12
  scheduledFor?: Date;
14
- pricing: OrderPricing;
15
- orderCancel: OrderCancel;
13
+ orderCancel?: OrderCancel;
16
14
  isLateOrder?: boolean;
17
15
  isUrgentOrder?: boolean;
18
16
  }
@@ -14,7 +14,6 @@ const typegoose_1 = require("@typegoose/typegoose");
14
14
  const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
15
  const enum_1 = require("../../../utilities/enum");
16
16
  const order_cancel_model_1 = require("./embedded/order-cancel.model");
17
- const order_pricing_model_1 = require("./embedded/order-pricing.model");
18
17
  const user_model_1 = require("./user.model");
19
18
  let Order = class Order extends defaultClasses_1.TimeStamps {
20
19
  orderId;
@@ -23,7 +22,6 @@ let Order = class Order extends defaultClasses_1.TimeStamps {
23
22
  instruction;
24
23
  note;
25
24
  scheduledFor;
26
- pricing;
27
25
  orderCancel;
28
26
  isLateOrder;
29
27
  isUrgentOrder;
@@ -53,10 +51,6 @@ __decorate([
53
51
  (0, typegoose_1.prop)({ type: Date }),
54
52
  __metadata("design:type", Date)
55
53
  ], 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
54
  __decorate([
61
55
  (0, typegoose_1.prop)({ type: () => order_cancel_model_1.OrderCancel }),
62
56
  __metadata("design:type", order_cancel_model_1.OrderCancel)
@@ -1 +1 @@
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';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { OrderType } from '../../../utilities/enum';\nimport { OrderCancel } from './embedded/order-cancel.model';\nimport { OrderPricing } from './embedded/order-pricing.model';\nimport { User } from './user.model';\n\n@modelOptions({\n\tschemaOptions: {\n\t\tcollection: 'orders',\n\t\tdiscriminatorKey: 'orderType',\n\t\ttoJSON: { virtuals: true },\n\t\ttoObject: { virtuals: true },\n\t},\n\toptions: { allowMixed: Severity.ALLOW },\n})\n@index({ createdAt: -1 })\n@index({ orderStatus: 1, createdAt: -1 })\n@index({ user: 1, createdAt: -1 })\n@index({ shop: 1, orderStatus: 1 })\n@index({ rider: 1, orderStatus: 1 })\nexport class Order extends TimeStamps {\n\t@prop({ required: true, type: String, unique: true })\n\tpublic orderId: string;\n\n\t@prop({ type: String, enum: OrderType, default: OrderType.REGULAR })\n\tpublic orderType?: OrderType;\n\n\t@prop({ required: true, ref: () => User })\n\tpublic user: Ref<User>;\n\n\t@prop({ type: String })\n\tpublic instruction?: string;\n\n\t@prop({ type: String })\n\tpublic note?: string;\n\n\t@prop({ type: Date })\n\tpublic scheduledFor?: Date;\n\n\t@prop({ type: () => OrderPricing })\n\tpublic pricing: OrderPricing;\n\n\t// payment: OrderPayment; This should be a virtual field to understand if the payment is done or not\n\n\t@prop({ type: () => OrderCancel })\n\tpublic orderCancel: OrderCancel;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isLateOrder?: boolean;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isUrgentOrder?: boolean;\n}\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,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,WAAW,CAAe;IAG1B,WAAW,CAAW;IAGtB,aAAa,CAAW;CAC/B,CAAA;AA3BY,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,gCAAW,EAAE,CAAC;8BACb,gCAAW;0CAAC;AAG1B;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;gBA1BnB,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,CA2BjB","sourcesContent":["import { prop, Ref, modelOptions, index, Severity } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { OrderType } from '../../../utilities/enum';\nimport { OrderCancel } from './embedded/order-cancel.model';\nimport { User } from './user.model';\n\n@modelOptions({\n\tschemaOptions: {\n\t\tcollection: 'orders',\n\t\tdiscriminatorKey: 'orderType',\n\t\ttoJSON: { virtuals: true },\n\t\ttoObject: { virtuals: true },\n\t},\n\toptions: { allowMixed: Severity.ALLOW },\n})\n@index({ createdAt: -1 })\n@index({ orderStatus: 1, createdAt: -1 })\n@index({ user: 1, createdAt: -1 })\n@index({ shop: 1, orderStatus: 1 })\n@index({ rider: 1, orderStatus: 1 })\nexport class Order extends TimeStamps {\n\t@prop({ required: true, type: String, unique: true })\n\tpublic orderId: string;\n\n\t@prop({ type: String, enum: OrderType, default: OrderType.REGULAR })\n\tpublic orderType?: OrderType;\n\n\t@prop({ required: true, ref: () => User })\n\tpublic user: Ref<User>;\n\n\t@prop({ type: String })\n\tpublic instruction?: string;\n\n\t@prop({ type: String })\n\tpublic note?: string;\n\n\t@prop({ type: Date })\n\tpublic scheduledFor?: Date;\n\n\t@prop({ type: () => OrderCancel })\n\tpublic orderCancel?: OrderCancel;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isLateOrder?: boolean;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isUrgentOrder?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-marketing.model.js","sourceRoot":"/","sources":["libraries/mongo/models/product-marketing.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,kDAAoD;AACpD,iFAAsE;AACtE,uDAA8C;AAC9C,mDAA0C;AAGnC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAErB,OAAO,CAAgB;IAGvB,SAAS,CAAkB;IAG3B,oBAAoB,CAA6B;IAGjD,SAAS,CAAa;IAGtB,KAAK,CAAU;CACtB,CAAA;AAfY,4CAAgB;AAErB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;iDACf;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,2BAAS,EAAE,CAAC;;mDACb;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mDAAoB,EAAE,CAAC;;8DACc;AAGjD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,UAAU,EAAE,CAAC;;mDAC1C;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACjB;2BAdV,gBAAgB;IAD5B,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,CAAC;GACxD,gBAAgB,CAe5B","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { ValueType } from '../../../utilities/enum';\nimport { LoyaltyPointCategory } from './loyalty-point-category.model';\nimport { Marketing } from './marketing.model';\nimport { Product } from './product.model';\n\n@modelOptions({ schemaOptions: { collection: 'productMarketings' } })\nexport class ProductMarketing {\n\t@prop({ required: true, ref: () => Product })\n\tpublic product!: Ref<Product>;\n\n\t@prop({ required: true, ref: () => Marketing })\n\tpublic marketing!: Ref<Marketing>;\n\n\t@prop({ ref: () => LoyaltyPointCategory }) // this field only for loyalty marketing\n\tpublic loyaltyPointCategory?: Ref<LoyaltyPointCategory>;\n\n\t@prop({ type: String, enum: ValueType, default: ValueType.PERCENTAGE })\n\tpublic valueType?: ValueType;\n\n\t@prop({ required: true, type: Number })\n\tpublic value!: number;\n}\n"]}
1
+ {"version":3,"file":"product-marketing.model.js","sourceRoot":"/","sources":["libraries/mongo/models/product-marketing.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,kDAAoD;AACpD,iFAAsE;AACtE,uDAA8C;AAC9C,mDAA0C;AAInC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAErB,OAAO,CAAgB;IAGvB,SAAS,CAAkB;IAG3B,oBAAoB,CAA6B;IAGjD,SAAS,CAAa;IAGtB,KAAK,CAAU;CACtB,CAAA;AAfY,4CAAgB;AAErB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;iDACf;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,2BAAS,EAAE,CAAC;;mDACb;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mDAAoB,EAAE,CAAC;;8DACc;AAGjD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,UAAU,EAAE,CAAC;;mDAC1C;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACjB;2BAdV,gBAAgB;IAD5B,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,CAAC;GACxD,gBAAgB,CAe5B","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { ValueType } from '../../../utilities/enum';\nimport { LoyaltyPointCategory } from './loyalty-point-category.model';\nimport { Marketing } from './marketing.model';\nimport { Product } from './product.model';\nimport { MicroPercentRange } from 'firebase-admin/lib/remote-config/remote-config-api';\n\n@modelOptions({ schemaOptions: { collection: 'productMarketings' } })\nexport class ProductMarketing {\n\t@prop({ required: true, ref: () => Product })\n\tpublic product!: Ref<Product>;\n\n\t@prop({ required: true, ref: () => Marketing })\n\tpublic marketing!: Ref<Marketing>;\n\n\t@prop({ ref: () => LoyaltyPointCategory })\n\tpublic loyaltyPointCategory?: Ref<LoyaltyPointCategory>;\n\n\t@prop({ type: String, enum: ValueType, default: ValueType.PERCENTAGE })\n\tpublic valueType?: ValueType;\n\n\t@prop({ required: true, type: Number })\n\tpublic value!: number;\n}\n\n"]}
@@ -8,8 +8,13 @@ import { PayoutSetting } from './embedded/payout-setting.model';
8
8
  import { RiderSetting } from './embedded/rider-setting.model';
9
9
  import { ServiceFeeSetting } from './embedded/service-fee-setting.model';
10
10
  import { WorkHourSetting } from './shared/work-hour.model';
11
+ import { RiderBatchesSettings } from './embedded/rider-batches.model';
12
+ import { CustomerSupport } from './embedded/customer-support-numbers.model';
13
+ import { CustomerSupportBatchesSettings } from './embedded/customer-support-batches.model';
14
+ import { ChargeSetting } from './embedded/charge-settings.model';
11
15
  export declare class Setting extends TimeStamps {
12
16
  deliveryCharges: DeliveryCharge[];
17
+ chargeSetting: ChargeSetting;
13
18
  serviceFeeSetting?: ServiceFeeSetting;
14
19
  payoutSetting?: PayoutSetting;
15
20
  workHourSetting?: WorkHourSetting;
@@ -19,11 +24,13 @@ export declare class Setting extends TimeStamps {
19
24
  payLimitForUser?: number;
20
25
  vatPercentage?: number;
21
26
  riderSearchRanges?: number[];
27
+ riderBatches?: RiderBatchesSettings[];
22
28
  nearByShopDistance?: number;
23
29
  nearByShopDistanceInHomeScreen?: number;
24
30
  units?: string[];
25
31
  currencySetting?: CurrencySetting;
26
32
  paymentMethods?: PaymentMethod[];
27
33
  isGroupOrderEnabled?: boolean;
28
- customerSupportPhoneNumber?: string;
34
+ customerSupport?: CustomerSupport;
35
+ customerSupportBatches?: CustomerSupportBatchesSettings[];
29
36
  }
@@ -21,8 +21,13 @@ const payout_setting_model_1 = require("./embedded/payout-setting.model");
21
21
  const rider_setting_model_1 = require("./embedded/rider-setting.model");
22
22
  const service_fee_setting_model_1 = require("./embedded/service-fee-setting.model");
23
23
  const work_hour_model_1 = require("./shared/work-hour.model");
24
+ const rider_batches_model_1 = require("./embedded/rider-batches.model");
25
+ const customer_support_numbers_model_1 = require("./embedded/customer-support-numbers.model");
26
+ const customer_support_batches_model_1 = require("./embedded/customer-support-batches.model");
27
+ const charge_settings_model_1 = require("./embedded/charge-settings.model");
24
28
  let Setting = class Setting extends defaultClasses_1.TimeStamps {
25
29
  deliveryCharges;
30
+ chargeSetting;
26
31
  serviceFeeSetting;
27
32
  payoutSetting;
28
33
  workHourSetting;
@@ -32,19 +37,25 @@ let Setting = class Setting extends defaultClasses_1.TimeStamps {
32
37
  payLimitForUser;
33
38
  vatPercentage;
34
39
  riderSearchRanges;
40
+ riderBatches;
35
41
  nearByShopDistance;
36
42
  nearByShopDistanceInHomeScreen;
37
43
  units;
38
44
  currencySetting;
39
45
  paymentMethods;
40
46
  isGroupOrderEnabled;
41
- customerSupportPhoneNumber;
47
+ customerSupport;
48
+ customerSupportBatches;
42
49
  };
43
50
  exports.Setting = Setting;
44
51
  __decorate([
45
52
  (0, typegoose_1.prop)({ type: () => [delivery_charge_setting_model_1.DeliveryCharge] }),
46
53
  __metadata("design:type", Array)
47
54
  ], Setting.prototype, "deliveryCharges", void 0);
55
+ __decorate([
56
+ (0, typegoose_1.prop)({ type: charge_settings_model_1.ChargeSetting }),
57
+ __metadata("design:type", charge_settings_model_1.ChargeSetting)
58
+ ], Setting.prototype, "chargeSetting", void 0);
48
59
  __decorate([
49
60
  (0, typegoose_1.prop)({ type: service_fee_setting_model_1.ServiceFeeSetting }),
50
61
  __metadata("design:type", service_fee_setting_model_1.ServiceFeeSetting)
@@ -81,6 +92,10 @@ __decorate([
81
92
  (0, typegoose_1.prop)({ type: () => [Number], default: [] }),
82
93
  __metadata("design:type", Array)
83
94
  ], Setting.prototype, "riderSearchRanges", void 0);
95
+ __decorate([
96
+ (0, typegoose_1.prop)({ type: () => [rider_batches_model_1.RiderBatchesSettings], default: [] }),
97
+ __metadata("design:type", Array)
98
+ ], Setting.prototype, "riderBatches", void 0);
84
99
  __decorate([
85
100
  (0, typegoose_1.prop)({ type: Number, default: Infinity }),
86
101
  __metadata("design:type", Number)
@@ -106,9 +121,13 @@ __decorate([
106
121
  __metadata("design:type", Boolean)
107
122
  ], Setting.prototype, "isGroupOrderEnabled", void 0);
108
123
  __decorate([
109
- (0, typegoose_1.prop)({ type: String }),
110
- __metadata("design:type", String)
111
- ], Setting.prototype, "customerSupportPhoneNumber", void 0);
124
+ (0, typegoose_1.prop)({ type: customer_support_numbers_model_1.CustomerSupport }),
125
+ __metadata("design:type", customer_support_numbers_model_1.CustomerSupport)
126
+ ], Setting.prototype, "customerSupport", void 0);
127
+ __decorate([
128
+ (0, typegoose_1.prop)({ type: () => [customer_support_batches_model_1.CustomerSupportBatchesSettings], default: [] }),
129
+ __metadata("design:type", Array)
130
+ ], Setting.prototype, "customerSupportBatches", void 0);
112
131
  exports.Setting = Setting = __decorate([
113
132
  (0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'settings' } })
114
133
  ], Setting);
@@ -1 +1 @@
1
- {"version":3,"file":"setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/setting.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { PaymentMethod } from '../../../utilities/enum';\nimport { BusinessDevelopmentSetting } from './embedded/business-development-setting.model';\nimport { DeliveryCharge } from './embedded/delivery-charge-setting.model';\nimport { CourierSetting } from './embedded/courier-setting.model';\nimport { CurrencySetting } from './embedded/currency-setting.model';\nimport { PayoutSetting } from './embedded/payout-setting.model';\nimport { RiderSetting } from './embedded/rider-setting.model';\nimport { ServiceFeeSetting } from './embedded/service-fee-setting.model';\nimport { WorkHourSetting } from './shared/work-hour.model';\n\n@modelOptions({ schemaOptions: { collection: 'settings' } })\nexport class Setting extends TimeStamps {\n\t@prop({ type: () => [DeliveryCharge] })\n\tpublic deliveryCharges: DeliveryCharge[];\n\n\t@prop({ type: ServiceFeeSetting })\n\tpublic serviceFeeSetting?: ServiceFeeSetting;\n\n\t@prop({ type: PayoutSetting })\n\tpublic payoutSetting?: PayoutSetting;\n\n\t@prop({ type: WorkHourSetting })\n\tpublic workHourSetting?: WorkHourSetting;\n\n\t@prop({ type: CourierSetting })\n\tpublic courierSetting?: CourierSetting;\n\n\t@prop({ type: RiderSetting })\n\tpublic riderSetting?: RiderSetting;\n\n\t@prop({ type: BusinessDevelopmentSetting })\n\tpublic businessDevelopmentSetting?: BusinessDevelopmentSetting;\n\n\t@prop({ type: Number, default: Infinity })\n\tpublic payLimitForUser?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic vatPercentage?: number;\n\n\t@prop({ type: () => [Number], default: [] })\n\tpublic riderSearchRanges?: number[];\n\n\t@prop({ type: Number, default: Infinity })\n\tpublic nearByShopDistance?: number;\n\n\t@prop({ type: Number, default: Infinity })\n\tpublic nearByShopDistanceInHomeScreen?: number;\n\n\t@prop({ type: () => [String], default: [] })\n\tpublic units?: string[];\n\n\t@prop({ type: CurrencySetting })\n\tpublic currencySetting?: CurrencySetting;\n\n\t@prop({ type: () => [String], enum: PaymentMethod, default: [] })\n\tpublic paymentMethods?: PaymentMethod[];\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isGroupOrderEnabled?: boolean;\n\n\t@prop({ type: String })\n\tpublic customerSupportPhoneNumber?: string;\n}\n"]}
1
+ {"version":3,"file":"setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/setting.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { PaymentMethod } from '../../../utilities/enum';\nimport { BusinessDevelopmentSetting } from './embedded/business-development-setting.model';\nimport { DeliveryCharge } from './embedded/delivery-charge-setting.model';\nimport { CourierSetting } from './embedded/courier-setting.model';\nimport { CurrencySetting } from './embedded/currency-setting.model';\nimport { PayoutSetting } from './embedded/payout-setting.model';\nimport { RiderSetting } from './embedded/rider-setting.model';\nimport { ServiceFeeSetting } from './embedded/service-fee-setting.model';\nimport { WorkHourSetting } from './shared/work-hour.model';\nimport { RiderBatchesSettings } from './embedded/rider-batches.model';\nimport { CustomerSupport } from './embedded/customer-support-numbers.model';\nimport { CustomerSupportBatchesSettings } from './embedded/customer-support-batches.model';\nimport { ChargeSetting } from './embedded/charge-settings.model';\n\n@modelOptions({ schemaOptions: { collection: 'settings' } })\nexport class Setting extends TimeStamps {\n\t@prop({ type: () => [DeliveryCharge] })\n\tpublic deliveryCharges: DeliveryCharge[];\n\n\t@prop({ type: ChargeSetting })\n\tpublic chargeSetting: ChargeSetting;\n\n\t@prop({ type: ServiceFeeSetting })\n\tpublic serviceFeeSetting?: ServiceFeeSetting;\n\n\t@prop({ type: PayoutSetting })\n\tpublic payoutSetting?: PayoutSetting;\n\n\t@prop({ type: WorkHourSetting })\n\tpublic workHourSetting?: WorkHourSetting;\n\n\t@prop({ type: CourierSetting })\n\tpublic courierSetting?: CourierSetting;\n\n\t@prop({ type: RiderSetting })\n\tpublic riderSetting?: RiderSetting;\n\n\t@prop({ type: BusinessDevelopmentSetting })\n\tpublic businessDevelopmentSetting?: BusinessDevelopmentSetting;\n\n\t@prop({ type: Number, default: Infinity })\n\tpublic payLimitForUser?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic vatPercentage?: number;\n\n\t@prop({ type: () => [Number], default: [] })\n\tpublic riderSearchRanges?: number[];\n\n\t@prop({ type: () => [RiderBatchesSettings], default: [] })\n\tpublic riderBatches?: RiderBatchesSettings[];\n\n\t@prop({ type: Number, default: Infinity })\n\tpublic nearByShopDistance?: number;\n\n\t@prop({ type: Number, default: Infinity })\n\tpublic nearByShopDistanceInHomeScreen?: number;\n\n\t@prop({ type: () => [String], default: [] })\n\tpublic units?: string[];\n\n\t@prop({ type: CurrencySetting })\n\tpublic currencySetting?: CurrencySetting;\n\n\t@prop({ type: () => [String], enum: PaymentMethod, default: [] })\n\tpublic paymentMethods?: PaymentMethod[];\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isGroupOrderEnabled?: boolean;\n\n\t@prop({ type: CustomerSupport })\n\tpublic customerSupport?: CustomerSupport;\n\n\t@prop({ type: () => [CustomerSupportBatchesSettings], default: [] })\n\tpublic customerSupportBatches?: CustomerSupportBatchesSettings[];\n}\n"]}
@@ -57,6 +57,7 @@ exports.Tag = Tag = __decorate([
57
57
  {
58
58
  $match: {
59
59
  itemType: this.itemType,
60
+ status: enum_1.Status.ACTIVE,
60
61
  deletedAt: null,
61
62
  },
62
63
  },
@@ -73,6 +74,58 @@ exports.Tag = Tag = __decorate([
73
74
  return next(error);
74
75
  }
75
76
  }
77
+ if (this.isModified('status') && this.status === enum_1.Status.ACTIVE) {
78
+ const original = await _1.TagModel.findById(this._id);
79
+ if (original && original.status !== enum_1.Status.ACTIVE) {
80
+ try {
81
+ const maxSortingOrder = await _1.TagModel.aggregate([
82
+ {
83
+ $match: {
84
+ itemType: this.itemType,
85
+ status: enum_1.Status.ACTIVE,
86
+ deletedAt: null,
87
+ },
88
+ },
89
+ {
90
+ $group: {
91
+ _id: null,
92
+ maxSortingOrder: { $max: '$sortingOrder' },
93
+ },
94
+ },
95
+ ]).exec();
96
+ this.sortingOrder = (maxSortingOrder[0]?.maxSortingOrder ?? -1) + 1;
97
+ }
98
+ catch (error) {
99
+ return next(error);
100
+ }
101
+ }
102
+ }
103
+ next();
104
+ }),
105
+ (0, typegoose_1.pre)('findOneAndUpdate', async function (next) {
106
+ const update = this.getUpdate();
107
+ if (update?.status === enum_1.Status.ACTIVE) {
108
+ const tag = await this.model.findOne(this.getQuery());
109
+ if (tag && tag.status !== enum_1.Status.ACTIVE) {
110
+ const maxSortingOrder = await _1.TagModel.aggregate([
111
+ {
112
+ $match: {
113
+ itemType: tag.itemType,
114
+ status: enum_1.Status.ACTIVE,
115
+ deletedAt: null,
116
+ },
117
+ },
118
+ {
119
+ $group: {
120
+ _id: null,
121
+ maxSortingOrder: { $max: '$sortingOrder' },
122
+ },
123
+ },
124
+ ]).exec();
125
+ update.sortingOrder = (maxSortingOrder[0]?.maxSortingOrder ?? -1) + 1;
126
+ this.setUpdate(update);
127
+ }
128
+ }
76
129
  next();
77
130
  })
78
131
  ], Tag);
@@ -1 +1 @@
1
- {"version":3,"file":"tag.model.js","sourceRoot":"/","sources":["libraries/mongo/models/tag.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsE;AACtE,kDAA2D;AAC3D,wBAA6B;AAiCtB,IAAM,GAAG,GAAT,MAAM,GAAG;IAER,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,QAAQ,CAAY;IAGpB,MAAM,CAAU;IAGhB,SAAS,CAAW;IAGpB,YAAY,CAAU;CAC7B,CAAA;AAlBY,kBAAG;AAER;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kCACD;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;qCAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;mCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACZ;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yCACM;cAjBjB,GAAG;IA/Bf,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IACvD,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;IAC/F,IAAA,iBAAK,EAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACpC,IAAA,eAAG,EAAM,MAAM,EAAE,KAAK,WAAW,IAAI;QAErC,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YAC5D,IAAI,CAAC;gBAEJ,MAAM,eAAe,GAAG,MAAM,WAAQ,CAAC,SAAS,CAA8B;oBAC7E;wBACC,MAAM,EAAE;4BACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,SAAS,EAAE,IAAI;yBACf;qBACD;oBACD;wBACC,MAAM,EAAE;4BACP,GAAG,EAAE,IAAI;4BACT,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;yBAC1C;qBACD;iBACD,CAAC,CAAC,IAAI,EAAE,CAAC;gBAGV,IAAI,CAAC,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,KAAc,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;GACW,GAAG,CAkBf","sourcesContent":["import { Index, modelOptions, pre, prop } from '@typegoose/typegoose';\nimport { ItemType, Status } from '../../../utilities/enum';\nimport { TagModel } from '.';\n\n@modelOptions({ schemaOptions: { collection: 'tags' } })\n@Index({ name: 1, itemType: 1 }, { unique: true, partialFilterExpression: { deletedAt: null } })\n@Index({ itemType: 1, deletedAt: 1 })\n@pre<Tag>('save', async function (next) {\n\t// Only set sortingOrder if it's a new document or sortingOrder is not set\n\tif (this.isNew || typeof this.sortingOrder === 'undefined') {\n\t\ttry {\n\t\t\t// Find the maximum sortingOrder for tags with the same itemType that aren't deleted\n\t\t\tconst maxSortingOrder = await TagModel.aggregate<{ maxSortingOrder: number }>([\n\t\t\t\t{\n\t\t\t\t\t$match: {\n\t\t\t\t\t\titemType: this.itemType,\n\t\t\t\t\t\tdeletedAt: null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t$group: {\n\t\t\t\t\t\t_id: null,\n\t\t\t\t\t\tmaxSortingOrder: { $max: '$sortingOrder' },\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]).exec();\n\n\t\t\t// Set the new sortingOrder to max + 1 (or 0 if no items found)\n\t\t\tthis.sortingOrder = (maxSortingOrder[0]?.maxSortingOrder ?? -1) + 1;\n\t\t} catch (error) {\n\t\t\treturn next(error as Error);\n\t\t}\n\t}\n\tnext();\n})\nexport class Tag {\n\t@prop({ required: true, type: String })\n\tpublic name!: string;\n\n\t@prop({ type: String })\n\tpublic image?: string;\n\n\t@prop({ required: true, type: String, enum: ItemType })\n\tpublic itemType?: ItemType;\n\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\n\tpublic status?: Status;\n\n\t@prop({ type: Boolean, default: true })\n\tpublic isVisible?: boolean;\n\n\t@prop({ type: Number })\n\tpublic sortingOrder?: number;\n}\n"]}
1
+ {"version":3,"file":"tag.model.js","sourceRoot":"/","sources":["libraries/mongo/models/tag.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { Index, modelOptions, pre, prop } from '@typegoose/typegoose';\nimport { ItemType, Status } from '../../../utilities/enum';\nimport { TagModel } from '.';\nimport { Query } from 'mongoose';\n\n@modelOptions({ schemaOptions: { collection: 'tags' } })\n@Index({ name: 1, itemType: 1 }, { unique: true, partialFilterExpression: { deletedAt: null } })\n@Index({ itemType: 1, deletedAt: 1 })\n@pre<Tag>('save', async function (next) {\n\t// Only set sortingOrder if it's a new document or sortingOrder is not set\n\tif (this.isNew || typeof this.sortingOrder === 'undefined') {\n\t\ttry {\n\t\t\t// Find the maximum sortingOrder for tags with the same itemType that aren't deleted\n\t\t\tconst maxSortingOrder = await TagModel.aggregate<{ maxSortingOrder: number }>([\n\t\t\t\t{\n\t\t\t\t\t$match: {\n\t\t\t\t\t\titemType: this.itemType,\n\t\t\t\t\t\tstatus: Status.ACTIVE,\n\t\t\t\t\t\tdeletedAt: null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t$group: {\n\t\t\t\t\t\t_id: null,\n\t\t\t\t\t\tmaxSortingOrder: { $max: '$sortingOrder' },\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]).exec();\n\n\t\t\t// Set the new sortingOrder to max + 1 (or 0 if no items found)\n\t\t\tthis.sortingOrder = (maxSortingOrder[0]?.maxSortingOrder ?? -1) + 1;\n\t\t} catch (error) {\n\t\t\treturn next(error as Error);\n\t\t}\n\t}\n\n\t// Add this code to handle status change from inactive to active\n\tif (this.isModified('status') && this.status === Status.ACTIVE) {\n\t\t// Check if status was previously inactive\n\t\tconst original = await TagModel.findById(this._id);\n\t\tif (original && original.status !== Status.ACTIVE) {\n\t\t\ttry {\n\t\t\t\t// Find the maximum sortingOrder for active tags with the same itemType\n\t\t\t\tconst maxSortingOrder = await TagModel.aggregate<{ maxSortingOrder: number }>([\n\t\t\t\t\t{\n\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\titemType: this.itemType,\n\t\t\t\t\t\t\tstatus: Status.ACTIVE,\n\t\t\t\t\t\t\tdeletedAt: null,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: null,\n\t\t\t\t\t\t\tmaxSortingOrder: { $max: '$sortingOrder' },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t]).exec();\n\n\t\t\t\t// Set the sortingOrder to max + 1 (or 0 if no items found)\n\t\t\t\tthis.sortingOrder = (maxSortingOrder[0]?.maxSortingOrder ?? -1) + 1;\n\t\t\t} catch (error) {\n\t\t\t\treturn next(error as Error);\n\t\t\t}\n\t\t}\n\t}\n\n\tnext();\n})\n@pre<Tag>('findOneAndUpdate', async function (this: Query<any, Tag>, next) {\n\tconst update = this.getUpdate() as any;\n\n\tif (update?.status === Status.ACTIVE) {\n\t\t// Get current document (before update)\n\t\tconst tag = await this.model.findOne(this.getQuery());\n\n\t\tif (tag && tag.status !== Status.ACTIVE) {\n\t\t\t// Find the maximum sortingOrder for active tags with the same itemType\n\t\t\tconst maxSortingOrder = await TagModel.aggregate<{ maxSortingOrder: number }>([\n\t\t\t\t{\n\t\t\t\t\t$match: {\n\t\t\t\t\t\titemType: tag.itemType,\n\t\t\t\t\t\tstatus: Status.ACTIVE,\n\t\t\t\t\t\tdeletedAt: null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t$group: {\n\t\t\t\t\t\t_id: null,\n\t\t\t\t\t\tmaxSortingOrder: { $max: '$sortingOrder' },\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]).exec();\n\n\t\t\t// Set the sortingOrder to max + 1 (or 0 if no items found)\n\t\t\tupdate.sortingOrder = (maxSortingOrder[0]?.maxSortingOrder ?? -1) + 1;\n\n\t\t\t// Inject the new sortingOrder into the update\n\t\t\tthis.setUpdate(update);\n\t\t}\n\t}\n\n\tnext();\n})\nexport class Tag {\n\t@prop({ required: true, type: String })\n\tpublic name!: string;\n\n\t@prop({ type: String })\n\tpublic image?: string;\n\n\t@prop({ required: true, type: String, enum: ItemType })\n\tpublic itemType?: ItemType;\n\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\n\tpublic status?: Status;\n\n\t@prop({ type: Boolean, default: true })\n\tpublic isVisible?: boolean;\n\n\t@prop({ type: Number })\n\tpublic sortingOrder?: number;\n}\n"]}
@@ -0,0 +1,39 @@
1
+ import { AuthEntityType, TokenType } from '../../auth';
2
+ interface AuthOptions {
3
+ entityTypes: AuthEntityType[];
4
+ allowRefreshToken?: boolean;
5
+ autoRefresh?: boolean;
6
+ }
7
+ export declare function publicUserDecoder(options: AuthOptions): import("@trpc/server").ProcedureBuilder<{
8
+ _config: import("@trpc/server").RootConfig<{
9
+ ctx: import("@trpc/server/dist/adapters/standalone").CreateHTTPContextOptions & import("../context").LyxaContextParams;
10
+ meta: object;
11
+ errorShape: {
12
+ message: string;
13
+ data: {
14
+ stack: undefined;
15
+ path: undefined;
16
+ code: import("@trpc/server/rpc").TRPC_ERROR_CODE_KEY;
17
+ httpStatus: number;
18
+ };
19
+ stack: undefined;
20
+ code: import("@trpc/server/rpc").TRPC_ERROR_CODE_NUMBER;
21
+ };
22
+ transformer: import("@trpc/server").DefaultDataTransformer;
23
+ }>;
24
+ _meta: object;
25
+ _ctx_out: {
26
+ requestId: string | undefined;
27
+ res: import("http").ServerResponse<import("http").IncomingMessage>;
28
+ tokenType: TokenType | undefined;
29
+ entity: import("../context").EntityContext | undefined;
30
+ req: import("http").IncomingMessage;
31
+ usedRefreshToken: boolean | undefined;
32
+ tokenRenewed: boolean | undefined;
33
+ };
34
+ _input_in: typeof import("@trpc/server").unsetMarker;
35
+ _input_out: typeof import("@trpc/server").unsetMarker;
36
+ _output_in: typeof import("@trpc/server").unsetMarker;
37
+ _output_out: typeof import("@trpc/server").unsetMarker;
38
+ }>;
39
+ export {};
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.publicUserDecoder = publicUserDecoder;
4
+ const server_1 = require("@trpc/server");
5
+ const index_1 = require("../index");
6
+ const auth_1 = require("../../auth");
7
+ function publicUserDecoder(options) {
8
+ const { entityTypes, allowRefreshToken = true, autoRefresh = true } = options;
9
+ return index_1.publicProcedure.use(async ({ ctx, next }) => {
10
+ const authHeader = ctx.req.headers['authorization'];
11
+ if (!authHeader) {
12
+ return next({ ctx });
13
+ }
14
+ else {
15
+ const refreshTokenHeader = ctx.req.headers['x-refresh-token'];
16
+ if (!authHeader) {
17
+ throw new server_1.TRPCError({ code: 'UNAUTHORIZED', message: 'No authorization header' });
18
+ }
19
+ const accessToken = authHeader.replace(/^Bearer\s+/, '');
20
+ let refreshToken = '';
21
+ if (refreshTokenHeader) {
22
+ refreshToken =
23
+ typeof refreshTokenHeader === 'string'
24
+ ? refreshTokenHeader.replace(/^Bearer\s+/, '')
25
+ : refreshTokenHeader[0].replace(/^Bearer\s+/, '');
26
+ }
27
+ if (!accessToken) {
28
+ throw new server_1.TRPCError({ code: 'UNAUTHORIZED', message: 'Missing access token' });
29
+ }
30
+ let entity = await (0, auth_1.verifyAccessToken)(entityTypes, accessToken);
31
+ if (entity) {
32
+ ctx.entity = entity;
33
+ ctx.tokenType = auth_1.TokenType.ACCESS;
34
+ ctx.usedRefreshToken = false;
35
+ ctx.tokenRenewed = false;
36
+ return next({ ctx });
37
+ }
38
+ if (!allowRefreshToken || !refreshToken) {
39
+ throw new server_1.TRPCError({
40
+ code: 'UNAUTHORIZED',
41
+ message: 'Invalid access token',
42
+ });
43
+ }
44
+ const renewalResult = await (0, auth_1.handleTokenRenewal)(refreshToken);
45
+ if (!renewalResult.success) {
46
+ const errorMessage = renewalResult.tokenStatus === 'revoked' ? 'Refresh token has been revoked' : 'Invalid refresh token';
47
+ throw new server_1.TRPCError({
48
+ code: 'UNAUTHORIZED',
49
+ message: errorMessage,
50
+ });
51
+ }
52
+ if (!entityTypes.includes(renewalResult.entity.type)) {
53
+ throw new server_1.TRPCError({
54
+ code: 'UNAUTHORIZED',
55
+ message: 'Unauthorized entity type',
56
+ });
57
+ }
58
+ ctx.entity = renewalResult.entity;
59
+ ctx.tokenType = auth_1.TokenType.REFRESH;
60
+ ctx.usedRefreshToken = true;
61
+ ctx.tokenRenewed = renewalResult.tokenStatus === 'expired';
62
+ if (autoRefresh && renewalResult.newTokens) {
63
+ if (renewalResult.newTokens.accessToken) {
64
+ ctx.res.setHeader('X-New-Access-Token', renewalResult.newTokens.accessToken);
65
+ }
66
+ if (renewalResult.newTokens.refreshToken) {
67
+ ctx.res.setHeader('X-New-Refresh-Token', renewalResult.newTokens.refreshToken);
68
+ }
69
+ }
70
+ return next({ ctx });
71
+ }
72
+ });
73
+ }
74
+ //# sourceMappingURL=publicUserDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicUserDecoder.js","sourceRoot":"/","sources":["libraries/trpc/middlewares/publicUserDecoder.ts"],"names":[],"mappings":";;AAmBA,8CAmFC;AAtGD,yCAAyC;AACzC,oCAA2C;AAC3C,qCAKoB;AAYpB,SAAgB,iBAAiB,CAAC,OAAoB;IAClD,MAAM,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE9E,OAAO,uBAAe,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,MAAM,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAE9D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,IAAI,kBAAkB,EAAE,CAAC;gBACrB,YAAY;oBACR,OAAO,kBAAkB,KAAK,QAAQ;wBAClC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;wBAC9C,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,IAAI,MAAM,GAAG,MAAM,IAAA,wBAAiB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAE/D,IAAI,MAAM,EAAE,CAAC;gBACT,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpB,GAAG,CAAC,SAAS,GAAG,gBAAS,CAAC,MAAM,CAAC;gBACjC,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC7B,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;gBACzB,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,MAAM,IAAI,kBAAS,CAAC;oBAChB,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,sBAAsB;iBAClC,CAAC,CAAC;YACP,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAA,yBAAkB,EAAC,YAAY,CAAC,CAAC;YAE7D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,YAAY,GACd,aAAa,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBAEzG,MAAM,IAAI,kBAAS,CAAC;oBAChB,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,YAAY;iBACxB,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,kBAAS,CAAC;oBAChB,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,0BAA0B;iBACtC,CAAC,CAAC;YACP,CAAC;YAED,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YAClC,GAAG,CAAC,SAAS,GAAG,gBAAS,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE5B,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,KAAK,SAAS,CAAC;YAE3D,IAAI,WAAW,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBACzC,IAAI,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACtC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACjF,CAAC;gBAED,IAAI,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;oBACvC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBACnF,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { TRPCError } from '@trpc/server';\nimport { publicProcedure } from '../index';\nimport {\n AuthEntityType,\n verifyAccessToken,\n TokenType,\n handleTokenRenewal,\n} from '../../auth';\n\ninterface AuthOptions {\n entityTypes: AuthEntityType[];\n allowRefreshToken?: boolean;\n autoRefresh?: boolean;\n}\n\n/**\n * A factory that creates an authenticated procedure, optionally allowing\n * refresh tokens and auto-refreshing expired access tokens.\n */\nexport function publicUserDecoder(options: AuthOptions) {\n const { entityTypes, allowRefreshToken = true, autoRefresh = true } = options;\n\n return publicProcedure.use(async ({ ctx, next }) => {\n const authHeader = ctx.req.headers['authorization'];\n if (!authHeader) {\n return next({ ctx });\n } else {\n const refreshTokenHeader = ctx.req.headers['x-refresh-token'];\n\n if (!authHeader) {\n throw new TRPCError({ code: 'UNAUTHORIZED', message: 'No authorization header' });\n }\n\n const accessToken = authHeader.replace(/^Bearer\\s+/, '');\n let refreshToken = '';\n\n if (refreshTokenHeader) {\n refreshToken =\n typeof refreshTokenHeader === 'string'\n ? refreshTokenHeader.replace(/^Bearer\\s+/, '')\n : refreshTokenHeader[0].replace(/^Bearer\\s+/, '');\n }\n\n if (!accessToken) {\n throw new TRPCError({ code: 'UNAUTHORIZED', message: 'Missing access token' });\n }\n\n let entity = await verifyAccessToken(entityTypes, accessToken);\n\n if (entity) {\n ctx.entity = entity;\n ctx.tokenType = TokenType.ACCESS;\n ctx.usedRefreshToken = false;\n ctx.tokenRenewed = false;\n return next({ ctx });\n }\n\n if (!allowRefreshToken || !refreshToken) {\n throw new TRPCError({\n code: 'UNAUTHORIZED',\n message: 'Invalid access token',\n });\n }\n\n const renewalResult = await handleTokenRenewal(refreshToken);\n\n if (!renewalResult.success) {\n const errorMessage =\n renewalResult.tokenStatus === 'revoked' ? 'Refresh token has been revoked' : 'Invalid refresh token';\n\n throw new TRPCError({\n code: 'UNAUTHORIZED',\n message: errorMessage,\n });\n }\n\n if (!entityTypes.includes(renewalResult.entity!.type)) {\n throw new TRPCError({\n code: 'UNAUTHORIZED',\n message: 'Unauthorized entity type',\n });\n }\n\n ctx.entity = renewalResult.entity;\n ctx.tokenType = TokenType.REFRESH;\n ctx.usedRefreshToken = true;\n\n ctx.tokenRenewed = renewalResult.tokenStatus === 'expired';\n\n if (autoRefresh && renewalResult.newTokens) {\n if (renewalResult.newTokens.accessToken) {\n ctx.res.setHeader('X-New-Access-Token', renewalResult.newTokens.accessToken);\n }\n\n if (renewalResult.newTokens.refreshToken) {\n ctx.res.setHeader('X-New-Refresh-Token', renewalResult.newTokens.refreshToken);\n }\n }\n\n return next({ ctx });\n }\n });\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lyxa.ai/core",
3
- "version": "1.0.48",
3
+ "version": "1.0.50",
4
4
  "description": "The Core system of the Lyxa services.",
5
5
  "author": "elie <42282499+Internalizable@users.noreply.github.com>",
6
6
  "license": "MIT",