@lyxa.ai/core 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/index.js +4 -0
  2. package/dist/index.js.map +1 -1
  3. package/dist/libraries/mongo/models/admin-access-control.model.js +13 -2
  4. package/dist/libraries/mongo/models/admin-access-control.model.js.map +1 -1
  5. package/dist/libraries/mongo/models/attribute.model.d.ts +1 -1
  6. package/dist/libraries/mongo/models/attribute.model.js +3 -2
  7. package/dist/libraries/mongo/models/attribute.model.js.map +1 -1
  8. package/dist/libraries/mongo/models/card.model.d.ts +24 -0
  9. package/dist/libraries/mongo/models/card.model.js +109 -0
  10. package/dist/libraries/mongo/models/card.model.js.map +1 -0
  11. package/dist/libraries/mongo/models/cart-participant.model.d.ts +17 -0
  12. package/dist/libraries/mongo/models/cart-participant.model.js +81 -0
  13. package/dist/libraries/mongo/models/cart-participant.model.js.map +1 -0
  14. package/dist/libraries/mongo/models/cart.model.d.ts +6 -9
  15. package/dist/libraries/mongo/models/cart.model.js +16 -33
  16. package/dist/libraries/mongo/models/cart.model.js.map +1 -1
  17. package/dist/libraries/mongo/models/category.model.d.ts +1 -2
  18. package/dist/libraries/mongo/models/category.model.js +2 -7
  19. package/dist/libraries/mongo/models/category.model.js.map +1 -1
  20. package/dist/libraries/mongo/models/core-auth-identity.model.d.ts +1 -2
  21. package/dist/libraries/mongo/models/core-auth-identity.model.js +1 -3
  22. package/dist/libraries/mongo/models/core-auth-identity.model.js.map +1 -1
  23. package/dist/libraries/mongo/models/core-user.model.d.ts +0 -2
  24. package/dist/libraries/mongo/models/core-user.model.js +2 -4
  25. package/dist/libraries/mongo/models/core-user.model.js.map +1 -1
  26. package/dist/libraries/mongo/models/embedded/addon.model.d.ts +8 -0
  27. package/dist/libraries/mongo/models/embedded/addon.model.js +34 -0
  28. package/dist/libraries/mongo/models/embedded/addon.model.js.map +1 -0
  29. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.d.ts +7 -0
  30. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.js +29 -0
  31. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.js.map +1 -0
  32. package/dist/libraries/mongo/models/embedded/order-cancel.model.d.ts +7 -0
  33. package/dist/libraries/mongo/models/embedded/order-cancel.model.js +34 -0
  34. package/dist/libraries/mongo/models/embedded/order-cancel.model.js.map +1 -0
  35. package/dist/libraries/mongo/models/embedded/order-pricing.model.d.ts +18 -0
  36. package/dist/libraries/mongo/models/embedded/order-pricing.model.js +97 -0
  37. package/dist/libraries/mongo/models/embedded/order-pricing.model.js.map +1 -0
  38. package/dist/libraries/mongo/models/embedded/payment-attempt.model.d.ts +10 -0
  39. package/dist/libraries/mongo/models/embedded/payment-attempt.model.js +60 -0
  40. package/dist/libraries/mongo/models/embedded/payment-attempt.model.js.map +1 -0
  41. package/dist/libraries/mongo/models/embedded/payment-details.model.d.ts +9 -0
  42. package/dist/libraries/mongo/models/embedded/payment-details.model.js +52 -0
  43. package/dist/libraries/mongo/models/embedded/payment-details.model.js.map +1 -0
  44. package/dist/libraries/mongo/models/embedded/payment-infromation.model.d.ts +7 -0
  45. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js +43 -0
  46. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js.map +1 -0
  47. package/dist/libraries/mongo/models/embedded/portion.model.d.ts +5 -0
  48. package/dist/libraries/mongo/models/embedded/portion.model.js +32 -0
  49. package/dist/libraries/mongo/models/embedded/portion.model.js.map +1 -0
  50. package/dist/libraries/mongo/models/embedded/rider-equipment.model.d.ts +4 -0
  51. package/dist/libraries/mongo/models/embedded/rider-equipment.model.js +27 -0
  52. package/dist/libraries/mongo/models/embedded/rider-equipment.model.js.map +1 -0
  53. package/dist/libraries/mongo/models/embedded/status-timeline.model.d.ts +14 -0
  54. package/dist/libraries/mongo/models/embedded/status-timeline.model.js +59 -0
  55. package/dist/libraries/mongo/models/embedded/status-timeline.model.js.map +1 -0
  56. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.d.ts +2 -1
  57. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js +2 -1
  58. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js.map +1 -1
  59. package/dist/libraries/mongo/models/faq.model.d.ts +0 -1
  60. package/dist/libraries/mongo/models/faq.model.js +0 -5
  61. package/dist/libraries/mongo/models/faq.model.js.map +1 -1
  62. package/dist/libraries/mongo/models/index.d.ts +46 -29
  63. package/dist/libraries/mongo/models/index.js +48 -31
  64. package/dist/libraries/mongo/models/index.js.map +1 -1
  65. package/dist/libraries/mongo/models/line-item.model.d.ts +19 -0
  66. package/dist/libraries/mongo/models/line-item.model.js +84 -0
  67. package/dist/libraries/mongo/models/line-item.model.js.map +1 -0
  68. package/dist/libraries/mongo/models/order-delivery.model.d.ts +24 -0
  69. package/dist/libraries/mongo/models/order-delivery.model.js +119 -0
  70. package/dist/libraries/mongo/models/order-delivery.model.js.map +1 -0
  71. package/dist/libraries/mongo/models/order-payment.model.d.ts +21 -0
  72. package/dist/libraries/mongo/models/order-payment.model.js +96 -0
  73. package/dist/libraries/mongo/models/order-payment.model.js.map +1 -0
  74. package/dist/libraries/mongo/models/order-pricing.model.d.ts +18 -0
  75. package/dist/libraries/mongo/models/order-pricing.model.js +88 -0
  76. package/dist/libraries/mongo/models/order-pricing.model.js.map +1 -0
  77. package/dist/libraries/mongo/models/order.model.d.ts +17 -1
  78. package/dist/libraries/mongo/models/order.model.js +83 -2
  79. package/dist/libraries/mongo/models/order.model.js.map +1 -1
  80. package/dist/libraries/mongo/models/product.model.js +1 -3
  81. package/dist/libraries/mongo/models/product.model.js.map +1 -1
  82. package/dist/libraries/mongo/models/providers/areeba-card.model.d.ts +14 -0
  83. package/dist/libraries/mongo/models/providers/areeba-card.model.js +69 -0
  84. package/dist/libraries/mongo/models/providers/areeba-card.model.js.map +1 -0
  85. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.d.ts +0 -2
  86. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.js +1 -4
  87. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.js.map +1 -1
  88. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.d.ts +0 -2
  89. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.js +1 -4
  90. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.js.map +1 -1
  91. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.d.ts +0 -2
  92. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.js +1 -4
  93. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.js.map +1 -1
  94. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.d.ts +0 -2
  95. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.js +1 -4
  96. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.js.map +1 -1
  97. package/dist/libraries/mongo/models/providers/courier-order.model.d.ts +23 -0
  98. package/dist/libraries/mongo/models/providers/courier-order.model.js +89 -0
  99. package/dist/libraries/mongo/models/providers/courier-order.model.js.map +1 -0
  100. package/dist/libraries/mongo/models/providers/regular-order.model.d.ts +23 -0
  101. package/dist/libraries/mongo/models/providers/regular-order.model.js +85 -0
  102. package/dist/libraries/mongo/models/providers/regular-order.model.js.map +1 -0
  103. package/dist/libraries/mongo/models/rating-setting.model.d.ts +1 -0
  104. package/dist/libraries/mongo/models/rating-setting.model.js +11 -2
  105. package/dist/libraries/mongo/models/rating-setting.model.js.map +1 -1
  106. package/dist/libraries/mongo/models/request-area.model.d.ts +2 -2
  107. package/dist/libraries/mongo/models/request-area.model.js +2 -2
  108. package/dist/libraries/mongo/models/request-area.model.js.map +1 -1
  109. package/dist/libraries/mongo/models/rider-timeout.model.d.ts +10 -0
  110. package/dist/libraries/mongo/models/rider-timeout.model.js +47 -0
  111. package/dist/libraries/mongo/models/rider-timeout.model.js.map +1 -0
  112. package/dist/libraries/mongo/models/rider-tracking.model.d.ts +10 -0
  113. package/dist/libraries/mongo/models/rider-tracking.model.js +47 -0
  114. package/dist/libraries/mongo/models/rider-tracking.model.js.map +1 -0
  115. package/dist/libraries/mongo/models/rider.model.d.ts +50 -1
  116. package/dist/libraries/mongo/models/rider.model.js +238 -2
  117. package/dist/libraries/mongo/models/rider.model.js.map +1 -1
  118. package/dist/libraries/mongo/models/shared/address.model.d.ts +6 -3
  119. package/dist/libraries/mongo/models/shared/address.model.js +24 -13
  120. package/dist/libraries/mongo/models/shared/address.model.js.map +1 -1
  121. package/dist/libraries/mongo/models/shared/geo-location.model.d.ts +4 -0
  122. package/dist/libraries/mongo/models/shared/geo-location.model.js +27 -0
  123. package/dist/libraries/mongo/models/shared/geo-location.model.js.map +1 -0
  124. package/dist/libraries/mongo/models/shop-category.model.d.ts +1 -0
  125. package/dist/libraries/mongo/models/shop-category.model.js +7 -1
  126. package/dist/libraries/mongo/models/shop-category.model.js.map +1 -1
  127. package/dist/libraries/mongo/models/shop.model.d.ts +1 -1
  128. package/dist/libraries/mongo/models/shop.model.js +2 -2
  129. package/dist/libraries/mongo/models/shop.model.js.map +1 -1
  130. package/dist/libraries/mongo/models/user.model.d.ts +30 -0
  131. package/dist/libraries/mongo/models/user.model.js +129 -0
  132. package/dist/libraries/mongo/models/user.model.js.map +1 -0
  133. package/dist/libraries/mongo/models/zone.model.d.ts +5 -5
  134. package/dist/libraries/mongo/models/zone.model.js +11 -11
  135. package/dist/libraries/mongo/models/zone.model.js.map +1 -1
  136. package/dist/libraries/mongo/plugins/soft-delete-plugin.d.ts +8 -5
  137. package/dist/libraries/mongo/plugins/soft-delete-plugin.js +28 -0
  138. package/dist/libraries/mongo/plugins/soft-delete-plugin.js.map +1 -1
  139. package/dist/utilities/enum.d.ts +87 -9
  140. package/dist/utilities/enum.js +103 -9
  141. package/dist/utilities/enum.js.map +1 -1
  142. package/dist/utilities/pagination.d.ts +4 -1
  143. package/dist/utilities/pagination.js +44 -4
  144. package/dist/utilities/pagination.js.map +1 -1
  145. package/dist/utilities/response.js +1 -1
  146. package/dist/utilities/response.js.map +1 -1
  147. package/dist/utilities/transformers.d.ts +14 -3
  148. package/dist/utilities/transformers.js +37 -6
  149. package/dist/utilities/transformers.js.map +1 -1
  150. package/dist/utilities/validation/common-validation.d.ts +354 -29
  151. package/dist/utilities/validation/common-validation.js +39 -10
  152. package/dist/utilities/validation/common-validation.js.map +1 -1
  153. package/dist/utilities/validation/global-validation.d.ts +49 -20
  154. package/dist/utilities/validation/global-validation.js +6 -4
  155. package/dist/utilities/validation/global-validation.js.map +1 -1
  156. package/package.json +2 -2
@@ -46,7 +46,7 @@ let Shop = class Shop extends defaultClasses_1.TimeStamps {
46
46
  priceRange;
47
47
  dietaries;
48
48
  tags;
49
- isSelfDelivery;
49
+ isShopDelivery;
50
50
  deliveryFee;
51
51
  minimumOrderAmount;
52
52
  orderCapacity;
@@ -167,7 +167,7 @@ __decorate([
167
167
  __decorate([
168
168
  (0, typegoose_1.prop)({ type: Boolean, default: false }),
169
169
  __metadata("design:type", Boolean)
170
- ], Shop.prototype, "isSelfDelivery", void 0);
170
+ ], Shop.prototype, "isShopDelivery", void 0);
171
171
  __decorate([
172
172
  (0, typegoose_1.prop)({ type: Number }),
173
173
  __metadata("design:type", Number)
@@ -1 +1 @@
1
- {"version":3,"file":"shop.model.js","sourceRoot":"/","sources":["libraries/mongo/models/shop.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { modelOptions, prop, Ref, Severity } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ItemType, ShopOnlineStatus, Status } from '../../../utilities/enum';\r\nimport { Brand } from './brand.model';\r\nimport { ShopDocument } from './embedded/shop-document.model';\r\nimport { Parent } from './parent.model';\r\nimport { Address } from './shared/address.model';\r\nimport { WorkHourSetting } from './shared/work-hour.model';\r\nimport { Tag } from './tag.model';\r\nimport { Zone } from './zone.model';\r\n\r\n@modelOptions({\r\n\tschemaOptions: { collection: 'shops' },\r\n\toptions: { allowMixed: Severity.ALLOW },\r\n})\r\nexport class Shop extends TimeStamps {\r\n\t@prop({ required: true, unique: true, type: String })\r\n\tpublic slug!: string;\r\n\r\n\t@prop({ required: true, ref: () => Parent })\r\n\tpublic parent: Ref<Parent>;\r\n\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ required: true, ref: () => Brand })\r\n\tpublic brand: Ref<Brand>;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic ownerName!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic phoneNumber!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic userPhoneNumber!: string;\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic additionalPhoneNumbers?: string[];\r\n\r\n\t@prop({ required: true, type: Address })\r\n\tpublic address!: Address;\r\n\r\n\t@prop({ required: true, ref: () => Zone })\r\n\tpublic zone!: Ref<Zone>;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic logo!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic banner!: string;\r\n\r\n\t@prop({ required: true, type: ShopDocument })\r\n\tpublic document!: ShopDocument;\r\n\r\n\t@prop({ required: true, type: Boolean })\r\n\tpublic isBeirutAuthentic!: boolean;\r\n\r\n\t@prop({ required: true, type: Boolean })\r\n\tpublic isVisibleToUser!: boolean;\r\n\r\n\t@prop({ required: true, type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status!: Status;\r\n\r\n\t@prop({\r\n\t\ttype: String,\r\n\t\tenum: ShopOnlineStatus,\r\n\t\tdefault: ShopOnlineStatus.OFFLINE,\r\n\t})\r\n\tpublic onlineStatus?: ShopOnlineStatus;\r\n\r\n\t// Setting\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic allowSpecialInstructions?: boolean;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isRiderNoteVisible?: boolean;\r\n\r\n\t@prop({ type: String })\r\n\tpublic riderNote?: string;\r\n\r\n\t@prop({ type: Number, default: 1, min: 1, max: 4 })\r\n\tpublic priceRange?: number;\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic dietaries?: string[];\r\n\r\n\t@prop({ ref: () => Tag, default: [] })\r\n\tpublic tags?: Ref<Tag>[];\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isSelfDelivery?: boolean;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic deliveryFee?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic minimumOrderAmount?: number;\r\n\r\n\t@prop({ type: Number, default: Infinity })\r\n\tpublic orderCapacity?: number;\r\n\r\n\t@prop({ type: Number, default: 10 })\r\n\tpublic defaultPreparationTime?: number;\r\n\r\n\t@prop({ type: Number, default: null })\r\n\texchangeRate?: number;\r\n\r\n\t@prop({ type: WorkHourSetting })\r\n\tpublic workHourSetting?: WorkHourSetting;\r\n\r\n\t@prop({ required: false, type: () => Boolean })\r\n\tpublic isFavouriteCategoryVisible?: boolean;\r\n\r\n\t@prop({ required: false, type: () => String })\r\n\tpublic favouriteCategoryTitle?: string;\r\n\r\n\t@prop({ required: false, type: () => Boolean })\r\n\tpublic isBestSellerCategoryVisible?: boolean;\r\n\r\n\t@prop({ required: false, type: () => String })\r\n\tpublic bestSellerCategoryTitle?: string;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic sortingOrder?: number;\r\n}\r\n"]}
1
+ {"version":3,"file":"shop.model.js","sourceRoot":"/","sources":["libraries/mongo/models/shop.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { modelOptions, prop, Ref, Severity } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ItemType, ShopOnlineStatus, Status } from '../../../utilities/enum';\r\nimport { Brand } from './brand.model';\r\nimport { ShopDocument } from './embedded/shop-document.model';\r\nimport { Parent } from './parent.model';\r\nimport { Address } from './shared/address.model';\r\nimport { WorkHourSetting } from './shared/work-hour.model';\r\nimport { Tag } from './tag.model';\r\nimport { Zone } from './zone.model';\r\n\r\n@modelOptions({\r\n\tschemaOptions: { collection: 'shops' },\r\n\toptions: { allowMixed: Severity.ALLOW },\r\n})\r\nexport class Shop extends TimeStamps {\r\n\t@prop({ required: true, unique: true, type: String })\r\n\tpublic slug!: string;\r\n\r\n\t@prop({ required: true, ref: () => Parent })\r\n\tpublic parent: Ref<Parent>;\r\n\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ required: true, ref: () => Brand })\r\n\tpublic brand: Ref<Brand>;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic ownerName!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic phoneNumber!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic userPhoneNumber!: string;\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic additionalPhoneNumbers?: string[];\r\n\r\n\t@prop({ required: true, type: Address })\r\n\tpublic address!: Address;\r\n\r\n\t@prop({ required: true, ref: () => Zone })\r\n\tpublic zone!: Ref<Zone>;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic logo!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic banner!: string;\r\n\r\n\t@prop({ required: true, type: ShopDocument })\r\n\tpublic document!: ShopDocument;\r\n\r\n\t@prop({ required: true, type: Boolean })\r\n\tpublic isBeirutAuthentic!: boolean;\r\n\r\n\t@prop({ required: true, type: Boolean })\r\n\tpublic isVisibleToUser!: boolean;\r\n\r\n\t@prop({ required: true, type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status!: Status;\r\n\r\n\t@prop({\r\n\t\ttype: String,\r\n\t\tenum: ShopOnlineStatus,\r\n\t\tdefault: ShopOnlineStatus.OFFLINE,\r\n\t})\r\n\tpublic onlineStatus?: ShopOnlineStatus;\r\n\r\n\t// Setting\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic allowSpecialInstructions?: boolean;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isRiderNoteVisible?: boolean;\r\n\r\n\t@prop({ type: String })\r\n\tpublic riderNote?: string;\r\n\r\n\t@prop({ type: Number, default: 1, min: 1, max: 4 })\r\n\tpublic priceRange?: number;\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic dietaries?: string[];\r\n\r\n\t@prop({ ref: () => Tag, default: [] })\r\n\tpublic tags?: Ref<Tag>[];\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isShopDelivery?: boolean;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic deliveryFee?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic minimumOrderAmount?: number;\r\n\r\n\t@prop({ type: Number, default: Infinity })\r\n\tpublic orderCapacity?: number;\r\n\r\n\t@prop({ type: Number, default: 10 })\r\n\tpublic defaultPreparationTime?: number;\r\n\r\n\t@prop({ type: Number, default: null })\r\n\texchangeRate?: number;\r\n\r\n\t@prop({ type: WorkHourSetting })\r\n\tpublic workHourSetting?: WorkHourSetting;\r\n\r\n\t@prop({ required: false, type: () => Boolean })\r\n\tpublic isFavouriteCategoryVisible?: boolean;\r\n\r\n\t@prop({ required: false, type: () => String })\r\n\tpublic favouriteCategoryTitle?: string;\r\n\r\n\t@prop({ required: false, type: () => Boolean })\r\n\tpublic isBestSellerCategoryVisible?: boolean;\r\n\r\n\t@prop({ required: false, type: () => String })\r\n\tpublic bestSellerCategoryTitle?: string;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic sortingOrder?: number;\r\n}\r\n"]}
@@ -0,0 +1,30 @@
1
+ import { Ref } from '@typegoose/typegoose';
2
+ import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
3
+ import { CoreUser } from './core-user.model';
4
+ import { Product } from './product.model';
5
+ import { Shop } from './shop.model';
6
+ import { UserAddress } from './shared/address.model';
7
+ import { Coupon } from './coupon.model';
8
+ import { Subscription } from './subscription.model';
9
+ import { Status } from '../../../utilities/enum';
10
+ export declare class User extends TimeStamps {
11
+ coreUser: Ref<CoreUser>;
12
+ companyName?: string;
13
+ favoriteProducts?: Ref<Product>[];
14
+ favoriteShops?: Ref<Shop>[];
15
+ addresses?: UserAddress[];
16
+ status?: Status;
17
+ socialId?: string;
18
+ tempBalance?: number;
19
+ orderCompleted?: number;
20
+ repeatedOrderAt?: Date;
21
+ tempRewardPoints?: number;
22
+ coupons?: Ref<Coupon>[];
23
+ newUserCouponDiscountType?: string;
24
+ newUserCouponValue?: number;
25
+ newUserCouponMaximumDiscountLimit?: number;
26
+ isNewUserCouponShowed?: boolean;
27
+ referralCode?: Ref<Coupon>;
28
+ subscription?: Ref<Subscription>;
29
+ isSubscribed?: boolean;
30
+ }
@@ -0,0 +1,129 @@
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.User = void 0;
13
+ const typegoose_1 = require("@typegoose/typegoose");
14
+ const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
+ const core_user_model_1 = require("./core-user.model");
16
+ const product_model_1 = require("./product.model");
17
+ const shop_model_1 = require("./shop.model");
18
+ const address_model_1 = require("./shared/address.model");
19
+ const coupon_model_1 = require("./coupon.model");
20
+ const subscription_model_1 = require("./subscription.model");
21
+ const enum_1 = require("../../../utilities/enum");
22
+ let User = class User extends defaultClasses_1.TimeStamps {
23
+ coreUser;
24
+ companyName;
25
+ favoriteProducts;
26
+ favoriteShops;
27
+ addresses;
28
+ status;
29
+ socialId;
30
+ tempBalance;
31
+ orderCompleted;
32
+ repeatedOrderAt;
33
+ tempRewardPoints;
34
+ coupons;
35
+ newUserCouponDiscountType;
36
+ newUserCouponValue;
37
+ newUserCouponMaximumDiscountLimit;
38
+ isNewUserCouponShowed;
39
+ referralCode;
40
+ subscription;
41
+ isSubscribed;
42
+ };
43
+ exports.User = User;
44
+ __decorate([
45
+ (0, typegoose_1.prop)({ required: true, type: typegoose_1.mongoose.Types.ObjectId, ref: () => core_user_model_1.CoreUser }),
46
+ __metadata("design:type", Object)
47
+ ], User.prototype, "coreUser", void 0);
48
+ __decorate([
49
+ (0, typegoose_1.prop)({ type: String }),
50
+ __metadata("design:type", String)
51
+ ], User.prototype, "companyName", void 0);
52
+ __decorate([
53
+ (0, typegoose_1.prop)({ type: () => [String], ref: () => product_model_1.Product }),
54
+ __metadata("design:type", Array)
55
+ ], User.prototype, "favoriteProducts", void 0);
56
+ __decorate([
57
+ (0, typegoose_1.prop)({ type: () => [String], ref: () => shop_model_1.Shop }),
58
+ __metadata("design:type", Array)
59
+ ], User.prototype, "favoriteShops", void 0);
60
+ __decorate([
61
+ (0, typegoose_1.prop)({ type: () => [address_model_1.UserAddress] }),
62
+ __metadata("design:type", Array)
63
+ ], User.prototype, "addresses", void 0);
64
+ __decorate([
65
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.Status, default: enum_1.Status.ACTIVE }),
66
+ __metadata("design:type", String)
67
+ ], User.prototype, "status", void 0);
68
+ __decorate([
69
+ (0, typegoose_1.prop)({ type: String }),
70
+ __metadata("design:type", String)
71
+ ], User.prototype, "socialId", void 0);
72
+ __decorate([
73
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
74
+ __metadata("design:type", Number)
75
+ ], User.prototype, "tempBalance", void 0);
76
+ __decorate([
77
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
78
+ __metadata("design:type", Number)
79
+ ], User.prototype, "orderCompleted", void 0);
80
+ __decorate([
81
+ (0, typegoose_1.prop)({ type: Date }),
82
+ __metadata("design:type", Date)
83
+ ], User.prototype, "repeatedOrderAt", void 0);
84
+ __decorate([
85
+ (0, typegoose_1.prop)({
86
+ type: Number,
87
+ default: 0,
88
+ set: (points) => Math.max(points, 0),
89
+ get: (points) => Math.max(points, 0),
90
+ }),
91
+ __metadata("design:type", Number)
92
+ ], User.prototype, "tempRewardPoints", void 0);
93
+ __decorate([
94
+ (0, typegoose_1.prop)({ type: () => [String], ref: () => coupon_model_1.Coupon }),
95
+ __metadata("design:type", Array)
96
+ ], User.prototype, "coupons", void 0);
97
+ __decorate([
98
+ (0, typegoose_1.prop)({ type: String }),
99
+ __metadata("design:type", String)
100
+ ], User.prototype, "newUserCouponDiscountType", void 0);
101
+ __decorate([
102
+ (0, typegoose_1.prop)({ type: Number }),
103
+ __metadata("design:type", Number)
104
+ ], User.prototype, "newUserCouponValue", void 0);
105
+ __decorate([
106
+ (0, typegoose_1.prop)({ type: Number }),
107
+ __metadata("design:type", Number)
108
+ ], User.prototype, "newUserCouponMaximumDiscountLimit", void 0);
109
+ __decorate([
110
+ (0, typegoose_1.prop)({ type: Boolean, default: false }),
111
+ __metadata("design:type", Boolean)
112
+ ], User.prototype, "isNewUserCouponShowed", void 0);
113
+ __decorate([
114
+ (0, typegoose_1.prop)({ type: String, ref: () => coupon_model_1.Coupon }),
115
+ __metadata("design:type", Object)
116
+ ], User.prototype, "referralCode", void 0);
117
+ __decorate([
118
+ (0, typegoose_1.prop)({ type: String, ref: () => subscription_model_1.Subscription }),
119
+ __metadata("design:type", Object)
120
+ ], User.prototype, "subscription", void 0);
121
+ __decorate([
122
+ (0, typegoose_1.prop)({ type: Boolean, default: false }),
123
+ __metadata("design:type", Boolean)
124
+ ], User.prototype, "isSubscribed", void 0);
125
+ exports.User = User = __decorate([
126
+ (0, typegoose_1.index)({ location: '2dsphere' }),
127
+ (0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'users' } })
128
+ ], User);
129
+ //# sourceMappingURL=user.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.model.js","sourceRoot":"/","sources":["libraries/mongo/models/user.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { index, modelOptions, mongoose, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { CoreUser } from './core-user.model';\r\nimport { Product } from './product.model';\r\nimport { Shop } from './shop.model';\r\nimport { UserAddress } from './shared/address.model';\r\nimport { Coupon } from './coupon.model';\r\nimport { Subscription } from './subscription.model';\r\nimport { Status } from '../../../utilities/enum';\r\n\r\n@index({ location: '2dsphere' })\r\n@modelOptions({ schemaOptions: { collection: 'users' } })\r\nexport class User extends TimeStamps {\r\n\t@prop({ required: true, type: mongoose.Types.ObjectId, ref: () => CoreUser })\r\n\tpublic coreUser!: Ref<CoreUser>;\r\n\r\n\t@prop({ type: String })\r\n\tpublic companyName?: string;\r\n\r\n\t@prop({ type: () => [String], ref: () => Product })\r\n\tpublic favoriteProducts?: Ref<Product>[];\r\n\r\n\t@prop({ type: () => [String], ref: () => Shop })\r\n\tpublic favoriteShops?: Ref<Shop>[];\r\n\r\n\t@prop({ type: () => [UserAddress] })\r\n\tpublic addresses?: UserAddress[];\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: String })\r\n\tpublic socialId?: string;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic tempBalance?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic orderCompleted?: number;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic repeatedOrderAt?: Date;\r\n\r\n\t@prop({\r\n\t\ttype: Number,\r\n\t\tdefault: 0,\r\n\t\tset: (points: number) => Math.max(points, 0),\r\n\t\tget: (points: number) => Math.max(points, 0),\r\n\t})\r\n\tpublic tempRewardPoints?: number;\r\n\r\n\t@prop({ type: () => [String], ref: () => Coupon })\r\n\tpublic coupons?: Ref<Coupon>[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic newUserCouponDiscountType?: string;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic newUserCouponValue?: number;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic newUserCouponMaximumDiscountLimit?: number;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isNewUserCouponShowed?: boolean;\r\n\r\n\t@prop({ type: String, ref: () => Coupon })\r\n\tpublic referralCode?: Ref<Coupon>;\r\n\r\n\t@prop({ type: String, ref: () => Subscription })\r\n\tpublic subscription?: Ref<Subscription>;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isSubscribed?: boolean;\r\n}\r\n"]}
@@ -2,12 +2,12 @@ import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
2
2
  import { ZoneStatus } from '../../../utilities/enum';
3
3
  import { ZoneGeometry } from './embedded/zone-geometry.mode';
4
4
  export declare class Zone extends TimeStamps {
5
- zoneName: string;
6
- zoneArea?: string;
7
- zoneGeometry: ZoneGeometry;
5
+ name: string;
6
+ area?: string;
7
+ geometry: ZoneGeometry;
8
8
  status?: ZoneStatus;
9
- zoneBusyTitle?: string;
10
- zoneBusyDescription?: string;
9
+ busyTitle?: string;
10
+ busyDescription?: string;
11
11
  riderWeeklyTarget?: number;
12
12
  riderWeeklyReward?: number;
13
13
  }
@@ -15,12 +15,12 @@ const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
15
  const enum_1 = require("../../../utilities/enum");
16
16
  const zone_geometry_mode_1 = require("./embedded/zone-geometry.mode");
17
17
  let Zone = class Zone extends defaultClasses_1.TimeStamps {
18
- zoneName;
19
- zoneArea;
20
- zoneGeometry;
18
+ name;
19
+ area;
20
+ geometry;
21
21
  status;
22
- zoneBusyTitle;
23
- zoneBusyDescription;
22
+ busyTitle;
23
+ busyDescription;
24
24
  riderWeeklyTarget;
25
25
  riderWeeklyReward;
26
26
  };
@@ -28,15 +28,15 @@ exports.Zone = Zone;
28
28
  __decorate([
29
29
  (0, typegoose_1.prop)({ required: true, type: String }),
30
30
  __metadata("design:type", String)
31
- ], Zone.prototype, "zoneName", void 0);
31
+ ], Zone.prototype, "name", void 0);
32
32
  __decorate([
33
33
  (0, typegoose_1.prop)({ type: String }),
34
34
  __metadata("design:type", String)
35
- ], Zone.prototype, "zoneArea", void 0);
35
+ ], Zone.prototype, "area", void 0);
36
36
  __decorate([
37
37
  (0, typegoose_1.prop)({ required: true, type: zone_geometry_mode_1.ZoneGeometry }),
38
38
  __metadata("design:type", zone_geometry_mode_1.ZoneGeometry)
39
- ], Zone.prototype, "zoneGeometry", void 0);
39
+ ], Zone.prototype, "geometry", void 0);
40
40
  __decorate([
41
41
  (0, typegoose_1.prop)({ type: String, enum: enum_1.ZoneStatus, default: enum_1.ZoneStatus.ACTIVE }),
42
42
  __metadata("design:type", String)
@@ -44,13 +44,13 @@ __decorate([
44
44
  __decorate([
45
45
  (0, typegoose_1.prop)({ type: String }),
46
46
  __metadata("design:type", String)
47
- ], Zone.prototype, "zoneBusyTitle", void 0);
47
+ ], Zone.prototype, "busyTitle", void 0);
48
48
  __decorate([
49
49
  (0, typegoose_1.prop)({ type: String }),
50
50
  __metadata("design:type", String)
51
- ], Zone.prototype, "zoneBusyDescription", void 0);
51
+ ], Zone.prototype, "busyDescription", void 0);
52
52
  __decorate([
53
- (0, typegoose_1.prop)({ type: Number, default: 0 }),
53
+ (0, typegoose_1.prop)({ type: Number, default: Infinity }),
54
54
  __metadata("design:type", Number)
55
55
  ], Zone.prototype, "riderWeeklyTarget", void 0);
56
56
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"zone.model.js","sourceRoot":"/","sources":["libraries/mongo/models/zone.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAqD;AACrD,sEAA6D;AAGtD,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,2BAAU;IAE5B,QAAQ,CAAU;IAGlB,QAAQ,CAAU;IAGlB,YAAY,CAAgB;IAG5B,MAAM,CAAc;IAGpB,aAAa,CAAU;IAGvB,mBAAmB,CAAU;IAI7B,iBAAiB,CAAU;IAG3B,iBAAiB,CAAU;CAClC,CAAA;AAzBY,oBAAI;AAET;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACd;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACE;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,iCAAY,EAAE,CAAC;8BACvB,iCAAY;0CAAC;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAU,EAAE,OAAO,EAAE,iBAAU,CAAC,MAAM,EAAE,CAAC;;oCAC1C;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACO;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACa;AAI7B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+CACD;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+CACD;eAxBtB,IAAI;IADhB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;GAC5C,IAAI,CAyBhB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ZoneStatus } from '../../../utilities/enum';\r\nimport { ZoneGeometry } from './embedded/zone-geometry.mode';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'zones' } })\r\nexport class Zone extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic zoneName!: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic zoneArea?: string;\r\n\r\n\t@prop({ required: true, type: ZoneGeometry })\r\n\tpublic zoneGeometry!: ZoneGeometry;\r\n\r\n\t@prop({ type: String, enum: ZoneStatus, default: ZoneStatus.ACTIVE })\r\n\tpublic status?: ZoneStatus;\r\n\r\n\t@prop({ type: String })\r\n\tpublic zoneBusyTitle?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic zoneBusyDescription?: string;\r\n\r\n\t// Rider reward feature when he reached the target\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic riderWeeklyTarget?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic riderWeeklyReward?: number;\r\n}\r\n"]}
1
+ {"version":3,"file":"zone.model.js","sourceRoot":"/","sources":["libraries/mongo/models/zone.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAqD;AACrD,sEAA6D;AAGtD,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,2BAAU;IAE5B,IAAI,CAAU;IAGd,IAAI,CAAU;IAGd,QAAQ,CAAgB;IAGxB,MAAM,CAAc;IAGpB,SAAS,CAAU;IAGnB,eAAe,CAAU;IAIzB,iBAAiB,CAAU;IAG3B,iBAAiB,CAAU;CAClC,CAAA;AAzBY,oBAAI;AAET;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kCACF;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,iCAAY,EAAE,CAAC;8BAC3B,iCAAY;sCAAC;AAGxB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAU,EAAE,OAAO,EAAE,iBAAU,CAAC,MAAM,EAAE,CAAC;;oCAC1C;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACG;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACS;AAIzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;+CACR;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+CACD;eAxBtB,IAAI;IADhB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;GAC5C,IAAI,CAyBhB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ZoneStatus } from '../../../utilities/enum';\r\nimport { ZoneGeometry } from './embedded/zone-geometry.mode';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'zones' } })\r\nexport class Zone extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic area?: string;\r\n\r\n\t@prop({ required: true, type: ZoneGeometry })\r\n\tpublic geometry!: ZoneGeometry;\r\n\r\n\t@prop({ type: String, enum: ZoneStatus, default: ZoneStatus.ACTIVE })\r\n\tpublic status?: ZoneStatus;\r\n\r\n\t@prop({ type: String })\r\n\tpublic busyTitle?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic busyDescription?: string;\r\n\r\n\t// Rider reward feature when he reached the target\r\n\t@prop({ type: Number, default: Infinity })\r\n\tpublic riderWeeklyTarget?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic riderWeeklyReward?: number;\r\n}\r\n"]}
@@ -1,14 +1,17 @@
1
1
  import { Schema, Model } from 'mongoose';
2
2
  import { ReturnModelType, mongoose } from '@typegoose/typegoose';
3
3
  import { AnyParamConstructor } from '@typegoose/typegoose/lib/types';
4
- import { FilterDTO } from '../../../utilities/validation';
5
4
  export interface SoftDeleteModel<T> extends Model<T> {
6
5
  softDelete(_id: mongoose.Types.ObjectId): Promise<any>;
7
- softDeleteMany(filter?: FilterDTO): Promise<any>;
6
+ softDeleteOne(filter: object): Promise<any>;
7
+ softDeleteMany(filter?: object): Promise<any>;
8
+ deleteRecord(filter: object, softDelete: boolean): Promise<any>;
9
+ deleteRecords(filter: object, softDelete: boolean): Promise<any>;
8
10
  restore(_id: mongoose.Types.ObjectId): Promise<any>;
9
- restoreMany(filter?: FilterDTO): Promise<any>;
10
- findWithDeleted(filter?: FilterDTO): any;
11
- findDeleted(filter?: FilterDTO): any;
11
+ restoreOne(filter: object): Promise<any>;
12
+ restoreMany(filter?: object): Promise<any>;
13
+ findWithDeleted(filter?: object): any;
14
+ findDeleted(filter?: object): any;
12
15
  }
13
16
  export declare class SoftDeleteBase {
14
17
  deletedAt?: Date | null;
@@ -44,6 +44,7 @@ class SoftDelete {
44
44
  schema.pre('updateMany', queryMiddleware);
45
45
  schema.pre('count', queryMiddleware);
46
46
  schema.pre('countDocuments', queryMiddleware);
47
+ schema.pre('exists', queryMiddleware);
47
48
  schema.statics.findById = function (_id, projection, options) {
48
49
  return this.findOne({ _id, deletedAt: null }, projection, options);
49
50
  };
@@ -63,12 +64,39 @@ class SoftDelete {
63
64
  const result = await this.updateOne({ _id }, { deletedAt: new Date() });
64
65
  return result.modifiedCount > 0;
65
66
  };
67
+ schema.statics.softDeleteOne = async function (filter) {
68
+ const result = await this.updateOne(filter, { deletedAt: new Date() });
69
+ return result.modifiedCount > 0;
70
+ };
66
71
  schema.statics.softDeleteMany = function (filter = {}) {
67
72
  return this.updateMany(filter, { deletedAt: new Date() });
68
73
  };
74
+ schema.statics.deleteRecord = async function (filter, softDelete) {
75
+ if (softDelete) {
76
+ const result = await this.updateOne({ ...filter, deletedAt: null }, { deletedAt: new Date() }).lean();
77
+ return Boolean(result.modifiedCount);
78
+ }
79
+ else {
80
+ const result = await this.deleteOne(filter).lean();
81
+ return Boolean(result.deletedCount);
82
+ }
83
+ };
84
+ schema.statics.deleteRecords = async function (filter, softDelete) {
85
+ if (softDelete) {
86
+ const result = await this.updateMany({ ...filter, deletedAt: null }, { deletedAt: new Date() }).lean();
87
+ return Boolean(result.modifiedCount);
88
+ }
89
+ else {
90
+ const result = await this.deleteMany(filter).lean();
91
+ return Boolean(result.deletedCount);
92
+ }
93
+ };
69
94
  schema.statics.restore = function (_id) {
70
95
  return this.updateOne({ _id }, { deletedAt: null });
71
96
  };
97
+ schema.statics.restoreOne = function (filter) {
98
+ return this.updateOne(filter, { deletedAt: null });
99
+ };
72
100
  schema.statics.restoreMany = function (filter = {}) {
73
101
  return this.updateMany(filter, { deletedAt: null });
74
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"soft-delete-plugin.js","sourceRoot":"/","sources":["libraries/mongo/plugins/soft-delete-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import { Schema, Query, Model } from 'mongoose';\r\nimport { getModelForClass, ReturnModelType, mongoose } from '@typegoose/typegoose';\r\nimport { AnyParamConstructor } from '@typegoose/typegoose/lib/types';\r\nimport { FilterDTO } from '../../../utilities/validation';\r\n\r\n/**\r\n * Interface for models with soft delete capabilities\r\n */\r\nexport interface SoftDeleteModel<T> extends Model<T> {\r\n\tsoftDelete(_id: mongoose.Types.ObjectId): Promise<any>;\r\n\tsoftDeleteMany(filter?: FilterDTO): Promise<any>;\r\n\trestore(_id: mongoose.Types.ObjectId): Promise<any>;\r\n\trestoreMany(filter?: FilterDTO): Promise<any>;\r\n\tfindWithDeleted(filter?: FilterDTO): any;\r\n\tfindDeleted(filter?: FilterDTO): any;\r\n}\r\n\r\n/**\r\n * Base class for models with soft delete functionality\r\n */\r\nexport class SoftDeleteBase {\r\n\tdeletedAt?: Date | null;\r\n}\r\n\r\n/**\r\n * SoftDelete class providing soft deletion functionality for mongoose models\r\n */\r\nexport class SoftDelete {\r\n\t/**\r\n\t * Apply soft delete plugin to a specific schema\r\n\t * @param schema Mongoose schema to enhance with soft delete functionality\r\n\t */\r\n\tpublic static applyToSchema(schema: Schema): void {\r\n\t\t// Add deletedAt field if it doesn't exist\r\n\t\tif (!schema.path('deletedAt')) {\r\n\t\t\tschema.add({\r\n\t\t\t\tdeletedAt: {\r\n\t\t\t\t\ttype: Date,\r\n\t\t\t\t\tdefault: null,\r\n\t\t\t\t\tindex: true,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Add schema middleware\r\n\t\tthis.addQueryMiddleware(schema);\r\n\r\n\t\t// Add instance methods\r\n\t\tthis.addInstanceMethods(schema);\r\n\r\n\t\t// Add static methods\r\n\t\tthis.addStaticMethods(schema);\r\n\t}\r\n\r\n\t/**\r\n\t * Apply soft delete plugin globally to all mongoose schemas\r\n\t */\r\n\tpublic static applyGlobally(): void {\r\n\t\tconst mongoose = require('mongoose');\r\n\t\tmongoose.plugin((schema: Schema) => this.applyToSchema(schema));\r\n\t}\r\n\r\n\t/**\r\n\t * Create a model with soft delete capabilities and proper TypeScript types\r\n\t * @param modelClass The class to create a model from\r\n\t * @returns A model with soft delete functionality\r\n\t */\r\n\tpublic static createModel<T extends SoftDeleteBase>(\r\n\t\tmodelClass: AnyParamConstructor<T>\r\n\t): SoftDeleteModel<T> & ReturnModelType<AnyParamConstructor<T>> {\r\n\t\tconst model = getModelForClass(modelClass);\r\n\t\treturn model as any; // The plugin adds the methods, we just need to tell TypeScript they exist\r\n\t}\r\n\r\n\t/**\r\n\t * Add query middleware to filter out soft-deleted documents\r\n\t * @param schema Schema to add middleware to\r\n\t */\r\n\tprivate static addQueryMiddleware(schema: Schema): void {\r\n\t\tconst queryMiddleware = function (this: Query<any, any>) {\r\n\t\t\tif (!this.getQuery().deletedAt) {\r\n\t\t\t\tthis.where({ deletedAt: null });\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Apply middleware to relevant query methods\r\n\t\tschema.pre('find', queryMiddleware);\r\n\t\tschema.pre('findOne', queryMiddleware);\r\n\t\tschema.pre('findOneAndUpdate', queryMiddleware);\r\n\t\tschema.pre('findOneAndDelete', queryMiddleware);\r\n\t\tschema.pre('findOneAndReplace', queryMiddleware);\r\n\t\tschema.pre('updateOne', queryMiddleware);\r\n\t\tschema.pre('updateMany', queryMiddleware);\r\n\t\t// TypeScript workaround for count hook\r\n\t\t(schema as any).pre('count', queryMiddleware);\r\n\t\tschema.pre('countDocuments', queryMiddleware);\r\n\r\n\t\t// Override findById to respect soft delete\r\n\t\tschema.statics.findById = function (_id: mongoose.Types.ObjectId, projection?: any, options?: any) {\r\n\t\t\treturn this.findOne({ _id, deletedAt: null }, projection, options);\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Add instance methods for soft delete operations\r\n\t * @param schema Schema to add methods to\r\n\t */\r\n\tprivate static addInstanceMethods(schema: Schema): void {\r\n\t\tschema.methods.softDelete = function () {\r\n\t\t\tthis.deletedAt = new Date();\r\n\t\t\treturn this.save();\r\n\t\t};\r\n\r\n\t\tschema.methods.restore = function () {\r\n\t\t\tthis.deletedAt = null;\r\n\t\t\treturn this.save();\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Add static methods for soft delete operations\r\n\t * @param schema Schema to add methods to\r\n\t */\r\n\tprivate static addStaticMethods(schema: Schema): void {\r\n\t\tschema.statics.softDelete = async function (_id: mongoose.Types.ObjectId) {\r\n\t\t\tconst result = await this.updateOne({ _id }, { deletedAt: new Date() });\r\n\t\t\treturn result.modifiedCount > 0;\r\n\t\t};\r\n\r\n\t\tschema.statics.softDeleteMany = function (filter = {}) {\r\n\t\t\treturn this.updateMany(filter, { deletedAt: new Date() });\r\n\t\t};\r\n\r\n\t\tschema.statics.restore = function (_id: mongoose.Types.ObjectId) {\r\n\t\t\treturn this.updateOne({ _id }, { deletedAt: null });\r\n\t\t};\r\n\r\n\t\tschema.statics.restoreMany = function (filter = {}) {\r\n\t\t\treturn this.updateMany(filter, { deletedAt: null });\r\n\t\t};\r\n\r\n\t\tschema.statics.findWithDeleted = function (filter = {}) {\r\n\t\t\treturn this.find(filter);\r\n\t\t};\r\n\r\n\t\tschema.statics.findDeleted = function (filter = {}) {\r\n\t\t\treturn this.find({ ...filter, deletedAt: { $ne: null } });\r\n\t\t};\r\n\t}\r\n}\r\n\r\n// Export convenience functions with the same names as before for backward compatibility\r\nexport const softDeletePlugin = (schema: Schema): void => SoftDelete.applyToSchema(schema);\r\nexport const applySoftDeletePlugin = (): void => SoftDelete.applyGlobally();\r\nexport const createSoftDeleteModel = <T extends SoftDeleteBase>(\r\n\tmodelClass: AnyParamConstructor<T>\r\n): SoftDeleteModel<T> & ReturnModelType<AnyParamConstructor<T>> => SoftDelete.createModel(modelClass);\r\n"]}
1
+ {"version":3,"file":"soft-delete-plugin.js","sourceRoot":"/","sources":["libraries/mongo/plugins/soft-delete-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import { Schema, Query, Model } from 'mongoose';\r\nimport { getModelForClass, ReturnModelType, mongoose } from '@typegoose/typegoose';\r\nimport { AnyParamConstructor } from '@typegoose/typegoose/lib/types';\r\n\r\n/**\r\n * Interface for models with soft delete capabilities\r\n */\r\nexport interface SoftDeleteModel<T> extends Model<T> {\r\n\tsoftDelete(_id: mongoose.Types.ObjectId): Promise<any>;\r\n\tsoftDeleteOne(filter: object): Promise<any>;\r\n\tsoftDeleteMany(filter?: object): Promise<any>;\r\n\tdeleteRecord(filter: object, softDelete: boolean): Promise<any>;\r\n\tdeleteRecords(filter: object, softDelete: boolean): Promise<any>;\r\n\trestore(_id: mongoose.Types.ObjectId): Promise<any>;\r\n\trestoreOne(filter: object): Promise<any>;\r\n\trestoreMany(filter?: object): Promise<any>;\r\n\tfindWithDeleted(filter?: object): any;\r\n\tfindDeleted(filter?: object): any;\r\n}\r\n\r\n/**\r\n * Base class for models with soft delete functionality\r\n */\r\nexport class SoftDeleteBase {\r\n\tdeletedAt?: Date | null;\r\n}\r\n\r\n/**\r\n * SoftDelete class providing soft deletion functionality for mongoose models\r\n */\r\nexport class SoftDelete {\r\n\t/**\r\n\t * Apply soft delete plugin to a specific schema\r\n\t * @param schema Mongoose schema to enhance with soft delete functionality\r\n\t */\r\n\tpublic static applyToSchema(schema: Schema): void {\r\n\t\t// Add deletedAt field if it doesn't exist\r\n\t\tif (!schema.path('deletedAt')) {\r\n\t\t\tschema.add({\r\n\t\t\t\tdeletedAt: {\r\n\t\t\t\t\ttype: Date,\r\n\t\t\t\t\tdefault: null,\r\n\t\t\t\t\tindex: true,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Add schema middleware\r\n\t\tthis.addQueryMiddleware(schema);\r\n\r\n\t\t// Add instance methods\r\n\t\tthis.addInstanceMethods(schema);\r\n\r\n\t\t// Add static methods\r\n\t\tthis.addStaticMethods(schema);\r\n\t}\r\n\r\n\t/**\r\n\t * Apply soft delete plugin globally to all mongoose schemas\r\n\t */\r\n\tpublic static applyGlobally(): void {\r\n\t\tconst mongoose = require('mongoose');\r\n\t\tmongoose.plugin((schema: Schema) => this.applyToSchema(schema));\r\n\t}\r\n\r\n\t/**\r\n\t * Create a model with soft delete capabilities and proper TypeScript types\r\n\t * @param modelClass The class to create a model from\r\n\t * @returns A model with soft delete functionality\r\n\t */\r\n\tpublic static createModel<T extends SoftDeleteBase>(\r\n\t\tmodelClass: AnyParamConstructor<T>\r\n\t): SoftDeleteModel<T> & ReturnModelType<AnyParamConstructor<T>> {\r\n\t\tconst model = getModelForClass(modelClass);\r\n\t\treturn model as any; // The plugin adds the methods, we just need to tell TypeScript they exist\r\n\t}\r\n\r\n\t/**\r\n\t * Add query middleware to filter out soft-deleted documents\r\n\t * @param schema Schema to add middleware to\r\n\t */\r\n\tprivate static addQueryMiddleware(schema: Schema): void {\r\n\t\tconst queryMiddleware = function (this: Query<any, any>) {\r\n\t\t\tif (!this.getQuery().deletedAt) {\r\n\t\t\t\tthis.where({ deletedAt: null });\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Apply middleware to relevant query methods\r\n\t\tschema.pre('find', queryMiddleware);\r\n\t\tschema.pre('findOne', queryMiddleware);\r\n\t\tschema.pre('findOneAndUpdate', queryMiddleware);\r\n\t\tschema.pre('findOneAndDelete', queryMiddleware);\r\n\t\tschema.pre('findOneAndReplace', queryMiddleware);\r\n\t\tschema.pre('updateOne', queryMiddleware);\r\n\t\tschema.pre('updateMany', queryMiddleware);\r\n\t\t// TypeScript workaround for count hook\r\n\t\t(schema as any).pre('count', queryMiddleware);\r\n\t\tschema.pre('countDocuments', queryMiddleware);\r\n\t\t(schema as any).pre('exists', queryMiddleware);\r\n\r\n\t\t// Override findById to respect soft delete\r\n\t\tschema.statics.findById = function (_id: mongoose.Types.ObjectId, projection?: any, options?: any) {\r\n\t\t\treturn this.findOne({ _id, deletedAt: null }, projection, options);\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Add instance methods for soft delete operations\r\n\t * @param schema Schema to add methods to\r\n\t */\r\n\tprivate static addInstanceMethods(schema: Schema): void {\r\n\t\tschema.methods.softDelete = function () {\r\n\t\t\tthis.deletedAt = new Date();\r\n\t\t\treturn this.save();\r\n\t\t};\r\n\r\n\t\tschema.methods.restore = function () {\r\n\t\t\tthis.deletedAt = null;\r\n\t\t\treturn this.save();\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Add static methods for soft delete operations\r\n\t * @param schema Schema to add methods to\r\n\t */\r\n\tprivate static addStaticMethods(schema: Schema): void {\r\n\t\tschema.statics.softDelete = async function (_id: mongoose.Types.ObjectId) {\r\n\t\t\tconst result = await this.updateOne({ _id }, { deletedAt: new Date() });\r\n\t\t\treturn result.modifiedCount > 0;\r\n\t\t};\r\n\r\n\t\tschema.statics.softDeleteOne = async function (filter: object) {\r\n\t\t\tconst result = await this.updateOne(filter, { deletedAt: new Date() });\r\n\t\t\treturn result.modifiedCount > 0;\r\n\t\t};\r\n\r\n\t\tschema.statics.softDeleteMany = function (filter = {}) {\r\n\t\t\treturn this.updateMany(filter, { deletedAt: new Date() });\r\n\t\t};\r\n\r\n\t\tschema.statics.deleteRecord = async function (filter: object, softDelete: boolean) {\r\n\t\t\tif (softDelete) {\r\n\t\t\t\tconst result = await this.updateOne({ ...filter, deletedAt: null }, { deletedAt: new Date() }).lean();\r\n\t\t\t\treturn Boolean(result.modifiedCount);\r\n\t\t\t} else {\r\n\t\t\t\tconst result = await this.deleteOne(filter).lean();\r\n\t\t\t\treturn Boolean(result.deletedCount);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tschema.statics.deleteRecords = async function (filter: object, softDelete: boolean) {\r\n\t\t\tif (softDelete) {\r\n\t\t\t\tconst result = await this.updateMany(\r\n\t\t\t\t\t{ ...filter, deletedAt: null },\r\n\t\t\t\t\t{ deletedAt: new Date() }\r\n\t\t\t\t).lean();\r\n\t\t\t\treturn Boolean(result.modifiedCount);\r\n\t\t\t} else {\r\n\t\t\t\tconst result = await this.deleteMany(filter).lean();\r\n\t\t\t\treturn Boolean(result.deletedCount);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tschema.statics.restore = function (_id: mongoose.Types.ObjectId) {\r\n\t\t\treturn this.updateOne({ _id }, { deletedAt: null });\r\n\t\t};\r\n\r\n\t\tschema.statics.restoreOne = function (filter: object) {\r\n\t\t\treturn this.updateOne(filter, { deletedAt: null });\r\n\t\t};\r\n\r\n\t\tschema.statics.restoreMany = function (filter = {}) {\r\n\t\t\treturn this.updateMany(filter, { deletedAt: null });\r\n\t\t};\r\n\r\n\t\tschema.statics.findWithDeleted = function (filter = {}) {\r\n\t\t\treturn this.find(filter);\r\n\t\t};\r\n\r\n\t\tschema.statics.findDeleted = function (filter = {}) {\r\n\t\t\treturn this.find({ ...filter, deletedAt: { $ne: null } });\r\n\t\t};\r\n\t}\r\n}\r\n\r\n// Export convenience functions with the same names as before for backward compatibility\r\nexport const softDeletePlugin = (schema: Schema): void => SoftDelete.applyToSchema(schema);\r\nexport const applySoftDeletePlugin = (): void => SoftDelete.applyGlobally();\r\nexport const createSoftDeleteModel = <T extends SoftDeleteBase>(\r\n\tmodelClass: AnyParamConstructor<T>\r\n): SoftDeleteModel<T> & ReturnModelType<AnyParamConstructor<T>> => SoftDelete.createModel(modelClass);\r\n"]}
@@ -33,10 +33,6 @@ export declare enum ValueType {
33
33
  PERCENTAGE = "percentage",
34
34
  FIXED = "fixed"
35
35
  }
36
- export declare enum PaymentGateway {
37
- AREEBA = "areeba",
38
- OTHER = "other"
39
- }
40
36
  export declare enum PaymentMethod {
41
37
  CASH = "cash",
42
38
  CARD = "card"
@@ -44,7 +40,9 @@ export declare enum PaymentMethod {
44
40
  export declare enum PaymentStatus {
45
41
  PAID = "paid",
46
42
  PENDING = "pending",
47
- FAILED = "failed"
43
+ FAILED = "failed",
44
+ REFUNDED = "refunded",
45
+ PARTIALLY_REFUNDED = "partially_refunded"
48
46
  }
49
47
  export declare enum PaidCurrency {
50
48
  BASE = "base",
@@ -274,10 +272,90 @@ export declare enum AdminRole {
274
272
  export declare enum CartStatus {
275
273
  ACTIVE = "active",
276
274
  LOCKED = "locked",
277
- SUBMITTED = "submitted",
278
- DELETED = "deleted"
275
+ SUBMITTED = "submitted"
279
276
  }
280
277
  export declare enum PaymentPreference {
281
- PAY_FOR_EVERYONE = "Pay for everyone",
282
- PAY_FOR_THEMSELVES = "Pay for themselves"
278
+ PAY_FOR_EVERYONE = "pay_for_everyone",
279
+ PAY_FOR_THEMSELVES = "pay_for_themselves"
280
+ }
281
+ export declare enum CardType {
282
+ AREEBA = "areeba"
283
+ }
284
+ export declare enum CardUserType {
285
+ PARENT = "parent",
286
+ ADMIN = "admin",
287
+ USER = "user"
288
+ }
289
+ export declare enum AreebaCardStatus {
290
+ PENDING = "pending",
291
+ ACTIVE = "active"
292
+ }
293
+ export declare enum LiveStatus {
294
+ ONLINE = "online",
295
+ OFFLINE = "offline"
296
+ }
297
+ export declare enum CreatedBy {
298
+ ADMIN = "admin",
299
+ RIDER = "rider",
300
+ SHOP = "shop"
301
+ }
302
+ export declare enum ShiftType {
303
+ DAY = "day",
304
+ NIGHT = "night"
305
+ }
306
+ export declare enum RiderType {
307
+ SHOP_RIDER = "shop_rider",
308
+ LYXA_RIDER = "lyxa_rider"
309
+ }
310
+ export declare enum Language {
311
+ EN = "en",
312
+ AR = "ar"
313
+ }
314
+ export declare enum OrderType {
315
+ REGULAR = "regular",
316
+ COURIER = "courier"
317
+ }
318
+ export declare enum RegularOrderStatus {
319
+ SCHEDULED = "schedule",
320
+ PLACED = "placed",
321
+ ACCEPTED_BY_RIDER = "accepted_by_rider",
322
+ PREPARING = "preparing",
323
+ READY_FOR_PICKUP = "ready_to_pickup",
324
+ ON_THE_WAY = "on_the_way",
325
+ DELIVERED = "delivered",
326
+ CANCELLED = "cancelled"
327
+ }
328
+ export declare enum CourierOrderStatus {
329
+ SCHEDULED = "schedule",
330
+ PLACED = "placed",
331
+ ACCEPTED_BY_RIDER = "accepted_by_rider",
332
+ ON_THE_WAY = "on_the_way",
333
+ DELIVERED = "delivered",
334
+ CANCELLED = "cancelled"
335
+ }
336
+ export declare enum DeliveryStatus {
337
+ PENDING = "pending",
338
+ ACCEPTED_BY_RIDER = "accepted_by_rider",
339
+ READY_FOR_PICKUP = "ready_to_pickup",
340
+ ON_THE_WAY = "on_the_way",
341
+ DELIVERED = "delivered",
342
+ CANCELLED = "cancelled"
343
+ }
344
+ export declare enum OrderCancelBy {
345
+ USER = "user",
346
+ ADMIN = "admin",
347
+ SHOP = "shop"
348
+ }
349
+ export declare enum CourierServiceType {
350
+ DELIVERY_ONLY = "delivery_only",
351
+ PURCHASE_AND_DELIVER = "purchase_and_deliver"
352
+ }
353
+ export declare enum RiderAssignmentStatus {
354
+ REQUESTED = "requested",
355
+ ASSIGNED = "assigned",
356
+ REJECTED = "rejected",
357
+ CANCELED = "canceled"
358
+ }
359
+ export declare enum ZoneGeometryType {
360
+ POLYGON = "Polygon"
283
361
  }