@lyxa.ai/core 1.0.37 → 1.0.39

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 (195) hide show
  1. package/dist/index.js +6 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist/libraries/auth/index.js.map +1 -1
  4. package/dist/libraries/auth/refreshtoken.js.map +1 -1
  5. package/dist/libraries/auth/repository.js.map +1 -1
  6. package/dist/libraries/configuration/index.js.map +1 -1
  7. package/dist/libraries/configuration/types/EnvironmentConfigurationType.js.map +1 -1
  8. package/dist/libraries/dispatcher/index.js.map +1 -1
  9. package/dist/libraries/event/BaseEvent.js.map +1 -1
  10. package/dist/libraries/event/decorators/metadata.js.map +1 -1
  11. package/dist/libraries/event/decorators/subscribe.js.map +1 -1
  12. package/dist/libraries/event/index.js.map +1 -1
  13. package/dist/libraries/event/registry/SubscriptionRegistry.js.map +1 -1
  14. package/dist/libraries/event/test/OrderCreationEvent.js.map +1 -1
  15. package/dist/libraries/firebase/index.js.map +1 -1
  16. package/dist/libraries/index.d.ts +2 -0
  17. package/dist/libraries/index.js +4 -0
  18. package/dist/libraries/index.js.map +1 -1
  19. package/dist/libraries/logger/index.js.map +1 -1
  20. package/dist/libraries/map/index.d.ts +2 -0
  21. package/dist/libraries/map/index.js +19 -0
  22. package/dist/libraries/map/index.js.map +1 -0
  23. package/dist/libraries/map/interfaces/IMapService.d.ts +31 -0
  24. package/dist/libraries/map/interfaces/IMapService.js +3 -0
  25. package/dist/libraries/map/interfaces/IMapService.js.map +1 -0
  26. package/dist/libraries/map/mapService.d.ts +8 -0
  27. package/dist/libraries/map/mapService.js +45 -0
  28. package/dist/libraries/map/mapService.js.map +1 -0
  29. package/dist/libraries/map/providers/google-maps.d.ts +7 -0
  30. package/dist/libraries/map/providers/google-maps.js +134 -0
  31. package/dist/libraries/map/providers/google-maps.js.map +1 -0
  32. package/dist/libraries/map/providers/index.d.ts +1 -0
  33. package/dist/libraries/map/providers/index.js +18 -0
  34. package/dist/libraries/map/providers/index.js.map +1 -0
  35. package/dist/libraries/mongo/index.js.map +1 -1
  36. package/dist/libraries/mongo/models/activity-log.model.js.map +1 -1
  37. package/dist/libraries/mongo/models/admin-access-control.model.js.map +1 -1
  38. package/dist/libraries/mongo/models/admin.model.js.map +1 -1
  39. package/dist/libraries/mongo/models/app-screen-setting.model.js.map +1 -1
  40. package/dist/libraries/mongo/models/attribute.model.js.map +1 -1
  41. package/dist/libraries/mongo/models/banner.model.js.map +1 -1
  42. package/dist/libraries/mongo/models/base/base-coupon.model.js.map +1 -1
  43. package/dist/libraries/mongo/models/base/base-review.model.js.map +1 -1
  44. package/dist/libraries/mongo/models/bob-finance.model.js.map +1 -1
  45. package/dist/libraries/mongo/models/brand.model.js.map +1 -1
  46. package/dist/libraries/mongo/models/card.model.js.map +1 -1
  47. package/dist/libraries/mongo/models/cart-participant.model.js.map +1 -1
  48. package/dist/libraries/mongo/models/cart.model.js.map +1 -1
  49. package/dist/libraries/mongo/models/category.model.js.map +1 -1
  50. package/dist/libraries/mongo/models/core-auth-identity.model.js.map +1 -1
  51. package/dist/libraries/mongo/models/core-user.model.js.map +1 -1
  52. package/dist/libraries/mongo/models/counter.model.js.map +1 -1
  53. package/dist/libraries/mongo/models/coupon.model.js.map +1 -1
  54. package/dist/libraries/mongo/models/deal-setting.model.js.map +1 -1
  55. package/dist/libraries/mongo/models/dish.model.js.map +1 -1
  56. package/dist/libraries/mongo/models/embedded/attribute-item.model.js.map +1 -1
  57. package/dist/libraries/mongo/models/embedded/attribute-map.model.js.map +1 -1
  58. package/dist/libraries/mongo/models/embedded/business-development-setting.model.js.map +1 -1
  59. package/dist/libraries/mongo/models/embedded/charge.model.js.map +1 -1
  60. package/dist/libraries/mongo/models/embedded/courier-setting.model.js.map +1 -1
  61. package/dist/libraries/mongo/models/embedded/currency-setting.model.js.map +1 -1
  62. package/dist/libraries/mongo/models/embedded/currency.model.js.map +1 -1
  63. package/dist/libraries/mongo/models/embedded/delivery-charge-setting.model.d.ts +11 -0
  64. package/dist/libraries/mongo/models/embedded/{charge-setting.model.js → delivery-charge-setting.model.js} +15 -25
  65. package/dist/libraries/mongo/models/embedded/delivery-charge-setting.model.js.map +1 -0
  66. package/dist/libraries/mongo/models/embedded/delivery-info.model.d.ts +4 -0
  67. package/dist/libraries/mongo/models/embedded/delivery-info.model.js +27 -0
  68. package/dist/libraries/mongo/models/embedded/delivery-info.model.js.map +1 -0
  69. package/dist/libraries/mongo/models/embedded/featured-item.mode.js.map +1 -1
  70. package/dist/libraries/mongo/models/embedded/line-item-attribute.model.js.map +1 -1
  71. package/dist/libraries/mongo/models/embedded/order-cancel.model.js.map +1 -1
  72. package/dist/libraries/mongo/models/embedded/order-pricing.model.js.map +1 -1
  73. package/dist/libraries/mongo/models/embedded/otp-fields.model.js.map +1 -1
  74. package/dist/libraries/mongo/models/embedded/package.model.js.map +1 -1
  75. package/dist/libraries/mongo/models/embedded/parent-document.model.js.map +1 -1
  76. package/dist/libraries/mongo/models/embedded/payment-attempt.model.js.map +1 -1
  77. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js.map +1 -1
  78. package/dist/libraries/mongo/models/embedded/payout-setting.model.js.map +1 -1
  79. package/dist/libraries/mongo/models/embedded/price-breakdown.model.js.map +1 -1
  80. package/dist/libraries/mongo/models/embedded/product-nutrition.model.js.map +1 -1
  81. package/dist/libraries/mongo/models/embedded/referral-discount-config.model.js.map +1 -1
  82. package/dist/libraries/mongo/models/embedded/rider-equipment.model.js.map +1 -1
  83. package/dist/libraries/mongo/models/embedded/rider-setting.model.js.map +1 -1
  84. package/dist/libraries/mongo/models/embedded/service-fee-setting.model.js.map +1 -1
  85. package/dist/libraries/mongo/models/embedded/shop-document.model.js.map +1 -1
  86. package/dist/libraries/mongo/models/embedded/status-timeline.model.js.map +1 -1
  87. package/dist/libraries/mongo/models/embedded/subscription-summary.model.js.map +1 -1
  88. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js.map +1 -1
  89. package/dist/libraries/mongo/models/faq.model.js.map +1 -1
  90. package/dist/libraries/mongo/models/favourite.model.js.map +1 -1
  91. package/dist/libraries/mongo/models/featured-setting.model.js.map +1 -1
  92. package/dist/libraries/mongo/models/filter-container.model.js.map +1 -1
  93. package/dist/libraries/mongo/models/gallery.model.js.map +1 -1
  94. package/dist/libraries/mongo/models/index.js.map +1 -1
  95. package/dist/libraries/mongo/models/line-item.model.js.map +1 -1
  96. package/dist/libraries/mongo/models/list-container.model.js.map +1 -1
  97. package/dist/libraries/mongo/models/loyalty-point-category.model.js.map +1 -1
  98. package/dist/libraries/mongo/models/loyalty-point-setting.model.js.map +1 -1
  99. package/dist/libraries/mongo/models/marketing.model.js +3 -0
  100. package/dist/libraries/mongo/models/marketing.model.js.map +1 -1
  101. package/dist/libraries/mongo/models/meal-plan.model.js.map +1 -1
  102. package/dist/libraries/mongo/models/notification.model.js.map +1 -1
  103. package/dist/libraries/mongo/models/nutrition.model.js.map +1 -1
  104. package/dist/libraries/mongo/models/order-delivery.model.js.map +1 -1
  105. package/dist/libraries/mongo/models/order-payment.model.js.map +1 -1
  106. package/dist/libraries/mongo/models/order.model.js.map +1 -1
  107. package/dist/libraries/mongo/models/parent.model.js.map +1 -1
  108. package/dist/libraries/mongo/models/payout.model.js.map +1 -1
  109. package/dist/libraries/mongo/models/product-marketing.model.js.map +1 -1
  110. package/dist/libraries/mongo/models/product.model.js.map +1 -1
  111. package/dist/libraries/mongo/models/providers/areeba-card.model.js.map +1 -1
  112. package/dist/libraries/mongo/models/providers/buy1-get1-marketing.model.js.map +1 -1
  113. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.js.map +1 -1
  114. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.js.map +1 -1
  115. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.js.map +1 -1
  116. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.js.map +1 -1
  117. package/dist/libraries/mongo/models/providers/courier-order.model.js.map +1 -1
  118. package/dist/libraries/mongo/models/providers/custom-coupon.model.js.map +1 -1
  119. package/dist/libraries/mongo/models/providers/discount-marketing.model.d.ts +1 -1
  120. package/dist/libraries/mongo/models/providers/discount-marketing.model.js +6 -2
  121. package/dist/libraries/mongo/models/providers/discount-marketing.model.js.map +1 -1
  122. package/dist/libraries/mongo/models/providers/featured-marketing.model.js.map +1 -1
  123. package/dist/libraries/mongo/models/providers/free-delivery-marketing.model.js.map +1 -1
  124. package/dist/libraries/mongo/models/providers/global-coupon.model.js.map +1 -1
  125. package/dist/libraries/mongo/models/providers/individual-store-coupon.model.d.ts +1 -1
  126. package/dist/libraries/mongo/models/providers/individual-store-coupon.model.js +1 -1
  127. package/dist/libraries/mongo/models/providers/individual-store-coupon.model.js.map +1 -1
  128. package/dist/libraries/mongo/models/providers/individual-user-coupon.model.js.map +1 -1
  129. package/dist/libraries/mongo/models/providers/loyalty-point-marketing.model.js.map +1 -1
  130. package/dist/libraries/mongo/models/providers/punch-marketing.model.js.map +1 -1
  131. package/dist/libraries/mongo/models/providers/referral-code-coupon.model.js.map +1 -1
  132. package/dist/libraries/mongo/models/providers/referral-reward-coupon.model.d.ts +1 -1
  133. package/dist/libraries/mongo/models/providers/referral-reward-coupon.model.js +3 -3
  134. package/dist/libraries/mongo/models/providers/referral-reward-coupon.model.js.map +1 -1
  135. package/dist/libraries/mongo/models/providers/regular-order.model.js.map +1 -1
  136. package/dist/libraries/mongo/models/punch-marketing-history.model.js.map +1 -1
  137. package/dist/libraries/mongo/models/rating-setting.model.js.map +1 -1
  138. package/dist/libraries/mongo/models/referral-setting.model.js.map +1 -1
  139. package/dist/libraries/mongo/models/request-area.model.js.map +1 -1
  140. package/dist/libraries/mongo/models/rider-review.model.js.map +1 -1
  141. package/dist/libraries/mongo/models/rider-timeout.model.js.map +1 -1
  142. package/dist/libraries/mongo/models/rider-tracking.model.js.map +1 -1
  143. package/dist/libraries/mongo/models/rider.model.js.map +1 -1
  144. package/dist/libraries/mongo/models/role.model.js.map +1 -1
  145. package/dist/libraries/mongo/models/setting.model.d.ts +2 -2
  146. package/dist/libraries/mongo/models/setting.model.js +5 -5
  147. package/dist/libraries/mongo/models/setting.model.js.map +1 -1
  148. package/dist/libraries/mongo/models/shared/address.model.js.map +1 -1
  149. package/dist/libraries/mongo/models/shared/duration.model.js.map +1 -1
  150. package/dist/libraries/mongo/models/shared/geo-location.model.js.map +1 -1
  151. package/dist/libraries/mongo/models/shared/work-hour.model.js.map +1 -1
  152. package/dist/libraries/mongo/models/shop-access-control.model.js.map +1 -1
  153. package/dist/libraries/mongo/models/shop-category.model.js.map +1 -1
  154. package/dist/libraries/mongo/models/shop-meal-plan.model.js.map +1 -1
  155. package/dist/libraries/mongo/models/shop-review.model.js +1 -0
  156. package/dist/libraries/mongo/models/shop-review.model.js.map +1 -1
  157. package/dist/libraries/mongo/models/shop.model.d.ts +2 -0
  158. package/dist/libraries/mongo/models/shop.model.js +6 -0
  159. package/dist/libraries/mongo/models/shop.model.js.map +1 -1
  160. package/dist/libraries/mongo/models/subscription-setting.model.js.map +1 -1
  161. package/dist/libraries/mongo/models/subscription.model.js.map +1 -1
  162. package/dist/libraries/mongo/models/tag.model.js.map +1 -1
  163. package/dist/libraries/mongo/models/transaction.model.js.map +1 -1
  164. package/dist/libraries/mongo/models/user.model.js.map +1 -1
  165. package/dist/libraries/mongo/models/zone.model.js.map +1 -1
  166. package/dist/libraries/mongo/plugins/soft-delete-plugin.js.map +1 -1
  167. package/dist/libraries/redis/index.js.map +1 -1
  168. package/dist/libraries/secrets/index.js.map +1 -1
  169. package/dist/libraries/trpc/context.js.map +1 -1
  170. package/dist/libraries/trpc/index.js.map +1 -1
  171. package/dist/libraries/trpc/middlewares/auth.d.ts +3 -3
  172. package/dist/libraries/trpc/middlewares/auth.js.map +1 -1
  173. package/dist/libraries/trpc/middlewares/cors.js.map +1 -1
  174. package/dist/libraries/trpc/middlewares/phone-verified.d.ts +3 -3
  175. package/dist/libraries/trpc/middlewares/phone-verified.js.map +1 -1
  176. package/dist/libraries/twilio/index.js.map +1 -1
  177. package/dist/libraries/upload/index.js.map +1 -1
  178. package/dist/utilities/common/password.js.map +1 -1
  179. package/dist/utilities/common/week.js.map +1 -1
  180. package/dist/utilities/enum.js.map +1 -1
  181. package/dist/utilities/error-handler.js.map +1 -1
  182. package/dist/utilities/error-middleware.js.map +1 -1
  183. package/dist/utilities/pagination.d.ts +5 -5
  184. package/dist/utilities/pagination.js.map +1 -1
  185. package/dist/utilities/response.js.map +1 -1
  186. package/dist/utilities/search.js.map +1 -1
  187. package/dist/utilities/transformers.js.map +1 -1
  188. package/dist/utilities/validation/common-validation.d.ts +113 -113
  189. package/dist/utilities/validation/common-validation.js.map +1 -1
  190. package/dist/utilities/validation/global-validation.d.ts +2 -2
  191. package/dist/utilities/validation/global-validation.js.map +1 -1
  192. package/dist/utilities/validation/index.js.map +1 -1
  193. package/package.json +52 -57
  194. package/dist/libraries/mongo/models/embedded/charge-setting.model.d.ts +0 -14
  195. package/dist/libraries/mongo/models/embedded/charge-setting.model.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapService.js","sourceRoot":"/","sources":["libraries/map/mapService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAiC;AAI1B,IAAM,UAAU,GAAhB,MAAM,UAAU;IACF;IAApB,YAAoB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;IAAG,CAAC;IAUrC,mCAAmC,CAAC,MAAwB,EAAE,MAAwB;QAC5F,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;QAC5B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;QAG5B,MAAM,CAAC,GAAG,IAAI,CAAC;QAGf,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAE7C,MAAM,CAAC,GACN,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAErB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IASD,KAAK,CAAC,eAAe,CAAC,MAAmB,EAAE,WAAwB;QAClE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAUD,KAAK,CAAC,wBAAwB,CAC7B,MAAmB,EACnB,WAAwB,EACxB,SAA6B;QAE7B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;CACD,CAAA;AA5DY,gCAAU;qBAAV,UAAU;IADtB,IAAA,gBAAO,GAAE;;GACG,UAAU,CA4DtB","sourcesContent":["import { Service } from 'typedi';\nimport { IMapService, ICoordinate, IDistanceInfo, IWaypointDistanceInfo } from './interfaces/IMapService';\n\n@Service()\nexport class MapService {\n\tconstructor(private service: IMapService) {}\n\n\t/**\n\t * Calculates the distance between two coordinates in kilometers\n\t * using the Haversine formula\n\t *\n\t * @param coord1 - First coordinate [latitude, longitude]\n\t * @param coord2 - Second coordinate [latitude, longitude]\n\t * @returns Distance in kilometers\n\t */\n\tpublic calculateDistanceBetweenCoordinates(coord1: [number, number], coord2: [number, number]): number {\n\t\tconst [lat1, lon1] = coord1;\n\t\tconst [lat2, lon2] = coord2;\n\n\t\t// Earth radius in kilometers\n\t\tconst R = 6371;\n\n\t\t// Convert degrees to radians\n\t\tconst dLat = ((lat2 - lat1) * Math.PI) / 180;\n\t\tconst dLon = ((lon2 - lon1) * Math.PI) / 180;\n\n\t\tconst a =\n\t\t\tMath.sin(dLat / 2) * Math.sin(dLat / 2) +\n\t\t\tMath.cos((lat1 * Math.PI) / 180) *\n\t\t\t\tMath.cos((lat2 * Math.PI) / 180) *\n\t\t\t\tMath.sin(dLon / 2) *\n\t\t\t\tMath.sin(dLon / 2);\n\n\t\tconst c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n\n\t\treturn R * c;\n\t}\n\n\t/**\n\t * Get the distance and driving duration between two locations\n\t *\n\t * @param origin - Origin coordinate\n\t * @param destination - Destination coordinate\n\t * @returns Distance and duration\n\t */\n\tasync getDistanceInfo(origin: ICoordinate, destination: ICoordinate): Promise<IDistanceInfo> {\n\t\treturn await this.service.getDistanceInfo(origin, destination);\n\t}\n\n\t/**\n\t * Get the distance and driving duration between two locations\n\t *\n\t * @param origin - Origin coordinate\n\t * @param destination - Destination coordinate\n\t * @param waypoints - Coordinates of intermediary waypoints\n\t * @returns Distance, duration, and polyline of each leg and the whole journey\n\t */\n\tasync getWaypointsDistanceInfo(\n\t\torigin: ICoordinate,\n\t\tdestination: ICoordinate,\n\t\twaypoints: Array<ICoordinate>\n\t): Promise<IWaypointDistanceInfo> {\n\t\treturn await this.service.getWaypointsDistanceInfo(origin, destination, waypoints);\n\t}\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { IMapService, ICoordinate, IDistanceInfo, IWaypointDistanceInfo } from '../interfaces/IMapService';
2
+ export declare class GoogleMapsService implements IMapService {
3
+ private _apiKey;
4
+ constructor(apiKey: string);
5
+ getDistanceInfo(origin: ICoordinate, destination: ICoordinate): Promise<IDistanceInfo>;
6
+ getWaypointsDistanceInfo(origin: ICoordinate, destination: ICoordinate, waypoints: Array<ICoordinate>): Promise<IWaypointDistanceInfo>;
7
+ }
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.GoogleMapsService = void 0;
40
+ const axios_1 = __importDefault(require("axios"));
41
+ const polyline = __importStar(require("@mapbox/polyline"));
42
+ class GoogleMapsService {
43
+ _apiKey;
44
+ constructor(apiKey) {
45
+ this._apiKey = apiKey;
46
+ }
47
+ async getDistanceInfo(origin, destination) {
48
+ try {
49
+ const url = `https://maps.googleapis.com/maps/api/directions/json?origin=${origin.latitude}, ${origin.longitude}&destination=${destination.latitude}, ${destination.longitude}&key=${this._apiKey}&mode=DRIVING`;
50
+ const { data } = await axios_1.default.get(url);
51
+ console.log(`getDistanceInfo Data: ${data}`);
52
+ const legs = data.routes[0].legs[0];
53
+ const distance = legs.distance;
54
+ const duration = legs.duration;
55
+ return { distance, duration };
56
+ }
57
+ catch (error) {
58
+ console.error(`Error in getDistanceInfo: ${error}`);
59
+ return {
60
+ distance: {
61
+ text: '',
62
+ value: 0,
63
+ },
64
+ duration: {
65
+ text: '',
66
+ value: 0,
67
+ },
68
+ };
69
+ }
70
+ }
71
+ async getWaypointsDistanceInfo(origin, destination, waypoints) {
72
+ try {
73
+ const waypointsStr = waypoints.map(point => `${point.latitude},${point.longitude}`).join('|');
74
+ const url = `https://maps.googleapis.com/maps/api/directions/json?origin=${origin.latitude},${origin.longitude}&destination=${destination.latitude},${destination.longitude}&waypoints=${waypointsStr}&key=${this._apiKey}&mode=DRIVING`;
75
+ const { data } = await axios_1.default.get(url);
76
+ const routes = data.routes[0];
77
+ const overviewPolyline = polyline.decode(routes.overview_polyline.points);
78
+ const legs = routes.legs.map((leg) => {
79
+ const overviewPolyline = leg?.steps?.flatMap(step => polyline.decode(step?.polyline?.points));
80
+ return {
81
+ distance: leg.distance,
82
+ duration: leg.duration,
83
+ overviewPolyline,
84
+ };
85
+ });
86
+ const totalDistance = legs.reduce((acc, curr) => acc + curr.distance.value, 0);
87
+ const distance = {
88
+ text: `${(totalDistance / 1000).toFixed(2)} km`,
89
+ value: totalDistance,
90
+ };
91
+ const totalDuration = legs.reduce((acc, curr) => acc + curr.duration.value, 0);
92
+ const duration = {
93
+ text: `${Math.round(totalDuration / 60)} mins`,
94
+ value: totalDuration,
95
+ };
96
+ return { distance, duration, legs, overviewPolyline };
97
+ }
98
+ catch (error) {
99
+ console.error(`Error in getWaypointsDistanceInfo: ${error}`);
100
+ return {
101
+ distance: {
102
+ text: '',
103
+ value: 0,
104
+ },
105
+ duration: {
106
+ text: '',
107
+ value: 0,
108
+ },
109
+ legs: [
110
+ {
111
+ distance: {
112
+ text: '',
113
+ value: 0,
114
+ },
115
+ duration: {
116
+ text: '',
117
+ value: 0,
118
+ },
119
+ overviewPolyline: [
120
+ [0, 0],
121
+ [1, 1],
122
+ ],
123
+ },
124
+ ],
125
+ overviewPolyline: [
126
+ [0, 0],
127
+ [1, 1],
128
+ ],
129
+ };
130
+ }
131
+ }
132
+ }
133
+ exports.GoogleMapsService = GoogleMapsService;
134
+ //# sourceMappingURL=google-maps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-maps.js","sourceRoot":"/","sources":["libraries/map/providers/google-maps.ts"],"names":[],"mappings":"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","sourcesContent":["import axios from 'axios';\nimport {\n\tIMapService,\n\tICoordinate,\n\tIDistance,\n\tIDuration,\n\tILeg,\n\tIDistanceInfo,\n\tIWaypointDistanceInfo,\n} from '../interfaces/IMapService';\nimport * as polyline from '@mapbox/polyline';\n\nexport class GoogleMapsService implements IMapService {\n\tprivate _apiKey: string | undefined;\n\n\tconstructor(apiKey: string) {\n\t\tthis._apiKey = apiKey;\n\t}\n\n\tpublic async getDistanceInfo(origin: ICoordinate, destination: ICoordinate): Promise<IDistanceInfo> {\n\t\ttry {\n\t\t\tconst url = `https://maps.googleapis.com/maps/api/directions/json?origin=${origin.latitude}, ${origin.longitude}&destination=${destination.latitude}, ${destination.longitude}&key=${this._apiKey}&mode=DRIVING`;\n\n\t\t\tconst { data } = await axios.get(url);\n\n\t\t\tconsole.log(`getDistanceInfo Data: ${data}`);\n\n\t\t\tconst legs = data.routes[0].legs[0];\n\n\t\t\tconst distance = legs.distance;\n\t\t\tconst duration = legs.duration;\n\n\t\t\treturn { distance, duration };\n\t\t} catch (error) {\n\t\t\tconsole.error(`Error in getDistanceInfo: ${error}`);\n\t\t\treturn {\n\t\t\t\tdistance: {\n\t\t\t\t\ttext: '',\n\t\t\t\t\tvalue: 0,\n\t\t\t\t},\n\t\t\t\tduration: {\n\t\t\t\t\ttext: '',\n\t\t\t\t\tvalue: 0,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic async getWaypointsDistanceInfo(\n\t\torigin: ICoordinate,\n\t\tdestination: ICoordinate,\n\t\twaypoints: Array<ICoordinate>\n\t): Promise<IWaypointDistanceInfo> {\n\t\ttry {\n\t\t\tconst waypointsStr = waypoints.map(point => `${point.latitude},${point.longitude}`).join('|');\n\n\t\t\tconst url = `https://maps.googleapis.com/maps/api/directions/json?origin=${origin.latitude},${origin.longitude}&destination=${destination.latitude},${destination.longitude}&waypoints=${waypointsStr}&key=${this._apiKey}&mode=DRIVING`;\n\n\t\t\tconst { data } = await axios.get(url);\n\n\t\t\tconst routes = data.routes[0];\n\n\t\t\tconst overviewPolyline = polyline.decode(routes.overview_polyline.points);\n\n\t\t\tconst legs = routes.legs.map((leg: { steps: any[]; distance: any; duration: any }) => {\n\t\t\t\tconst overviewPolyline = leg?.steps?.flatMap(step => polyline.decode(step?.polyline?.points));\n\n\t\t\t\treturn {\n\t\t\t\t\tdistance: leg.distance,\n\t\t\t\t\tduration: leg.duration,\n\t\t\t\t\toverviewPolyline,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tconst totalDistance = legs.reduce(\n\t\t\t\t(acc: any, curr: { distance: { value: any } }) => acc + curr.distance.value,\n\t\t\t\t0\n\t\t\t);\n\t\t\tconst distance = {\n\t\t\t\ttext: `${(totalDistance / 1000).toFixed(2)} km`,\n\t\t\t\tvalue: totalDistance,\n\t\t\t};\n\n\t\t\tconst totalDuration = legs.reduce(\n\t\t\t\t(acc: any, curr: { duration: { value: any } }) => acc + curr.duration.value,\n\t\t\t\t0\n\t\t\t);\n\t\t\tconst duration = {\n\t\t\t\ttext: `${Math.round(totalDuration / 60)} mins`,\n\t\t\t\tvalue: totalDuration,\n\t\t\t};\n\n\t\t\treturn { distance, duration, legs, overviewPolyline };\n\t\t} catch (error) {\n\t\t\tconsole.error(`Error in getWaypointsDistanceInfo: ${error}`);\n\t\t\treturn {\n\t\t\t\tdistance: {\n\t\t\t\t\ttext: '',\n\t\t\t\t\tvalue: 0,\n\t\t\t\t},\n\t\t\t\tduration: {\n\t\t\t\t\ttext: '',\n\t\t\t\t\tvalue: 0,\n\t\t\t\t},\n\t\t\t\tlegs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdistance: {\n\t\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: {\n\t\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\toverviewPolyline: [\n\t\t\t\t\t\t\t[0, 0],\n\t\t\t\t\t\t\t[1, 1],\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\toverviewPolyline: [\n\t\t\t\t\t[0, 0],\n\t\t\t\t\t[1, 1],\n\t\t\t\t],\n\t\t\t};\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1 @@
1
+ export * from './google-maps';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./google-maps"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/map/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B","sourcesContent":["export * from './google-maps';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/index.ts"],"names":[],"mappings":"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","sourcesContent":["import mongoose, { Connection, createConnection } from 'mongoose';\r\nimport { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\r\nimport { AnyParamConstructor, IModelOptions } from '@typegoose/typegoose/lib/types';\r\nimport { applySoftDeletePlugin } from './plugins/soft-delete-plugin';\r\n\r\n// Apply the soft delete plugin globally before any connections or models\r\napplySoftDeletePlugin();\r\n\r\n// Track connection status\r\nlet globalConnection: Connection | undefined;\r\nlet connectionPromise: Promise<Connection> | null = null;\r\nlet pendingModels = new Map<\r\n\tstring,\r\n\t{\r\n\t\tClass: AnyParamConstructor<any>;\r\n\t\toptions?: IModelOptions;\r\n\t\tresolve: (model: any) => void;\r\n\t}\r\n>();\r\n\r\nlet pendingDiscriminatorModels = new Map<\r\n\tstring,\r\n\t{\r\n\t\tbaseModelPromise: Promise<any>; // Store the promise for the base model\r\n\t\tsubClass: AnyParamConstructor<any>;\r\n\t\tdiscriminatorName?: string;\r\n\t\toptions?: IModelOptions;\r\n\t\tresolve: (model: any) => void;\r\n\t}\r\n>();\r\n\r\n/**\r\n * Initialize the global database connection\r\n */\r\nexport async function initGlobalConnection(uri: string, environment: string): Promise<Connection> {\r\n\tif (!connectionPromise) {\r\n\t\tconnectionPromise = new Promise<Connection>(resolve => {\r\n\t\t\tconsole.log(`Initializing global connection for environment: ${environment}`);\r\n\t\t\tconst connection = createConnection(uri, {\r\n\t\t\t\tdbName: `lyxa-${environment}-global`,\r\n\t\t\t});\r\n\r\n\t\t\tconnection.once('connected', async () => {\r\n\t\t\t\tconsole.log('Global connection successfully established');\r\n\t\t\t\tglobalConnection = connection;\r\n\r\n\t\t\t\t// Initialize any pending models with the real connection\r\n\t\t\t\tfor (const [modelName, { Class, options, resolve }] of pendingModels.entries()) {\r\n\t\t\t\t\tconst model = getModelForClass(Class, {\r\n\t\t\t\t\t\texistingConnection: globalConnection,\r\n\t\t\t\t\t\t...options,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tresolve(model);\r\n\t\t\t\t}\r\n\t\t\t\tpendingModels.clear();\r\n\r\n\t\t\t\t// Initialize any pending discriminator models\r\n\t\t\t\t// Process discriminators sequentially to ensure dependencies are resolved\r\n\t\t\t\tfor (const [\r\n\t\t\t\t\tmodelName,\r\n\t\t\t\t\t{ baseModelPromise, subClass, discriminatorName, options, resolve },\r\n\t\t\t\t] of pendingDiscriminatorModels.entries()) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\t// Await the base model to be fully resolved\r\n\t\t\t\t\t\tconst actualBaseModel = await baseModelPromise;\r\n\r\n\t\t\t\t\t\t// Create the discriminator model with the actual base model\r\n\t\t\t\t\t\tconst model = getDiscriminatorModelForClass(actualBaseModel, subClass, discriminatorName, {\r\n\t\t\t\t\t\t\texistingConnection: globalConnection,\r\n\t\t\t\t\t\t\t...options,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tresolve(model);\r\n\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\tconsole.error(`Failed to create discriminator model ${modelName}:`, error);\r\n\t\t\t\t\t\t// Resolve with error to unblock the promise chain\r\n\t\t\t\t\t\tresolve(Promise.reject(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tpendingDiscriminatorModels.clear();\r\n\r\n\t\t\t\tresolve(connection);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\treturn connectionPromise;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose model that will use the global connection when it's ready.\r\n * Safe to call during module initialization before initGlobalConnection.\r\n */\r\nexport function createGlobalModel<T extends AnyParamConstructor<any>>(\r\n\tClass: T,\r\n\toptions?: IModelOptions\r\n): ReturnModelType<T> {\r\n\tconst modelName = options?.schemaOptions?.collection || Class.name;\r\n\r\n\t// If the connection is already initialized, create the model directly\r\n\tif (globalConnection) {\r\n\t\treturn getModelForClass(Class, {\r\n\t\t\texistingConnection: globalConnection,\r\n\t\t\t...options,\r\n\t\t});\r\n\t}\r\n\r\n\tconsole.log(`Registering model ${modelName} to be initialized when global connection is ready`);\r\n\r\n\t// Create a lazy-loaded model instance that will initialize once the connection is ready\r\n\tlet actualModel: ReturnModelType<T> | null = null;\r\n\tlet modelReadyPromise: Promise<ReturnModelType<T>>;\r\n\r\n\t// Setup the promise that will resolve once the model is ready\r\n\tmodelReadyPromise = new Promise<ReturnModelType<T>>(resolve => {\r\n\t\t// Register this model to be initialized when connection is ready\r\n\t\tpendingModels.set(modelName, { Class, options, resolve });\r\n\t});\r\n\r\n\t// Create a proxy that forwards operations to the real model once it's available\r\n\tconst modelProxy = new Proxy({} as ReturnModelType<T>, {\r\n\t\tget(target, prop, receiver) {\r\n\t\t\t// Handle special case for 'then' to make the proxy thenable\r\n\t\t\tif (prop === 'then') {\r\n\t\t\t\treturn modelReadyPromise.then.bind(modelReadyPromise);\r\n\t\t\t}\r\n\r\n\t\t\treturn async function (...args: any[]) {\r\n\t\t\t\tif (!actualModel) {\r\n\t\t\t\t\tactualModel = await modelReadyPromise;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst propValue = (actualModel as any)[prop];\r\n\t\t\t\tif (typeof propValue === 'function') {\r\n\t\t\t\t\treturn propValue.apply(actualModel, args);\r\n\t\t\t\t}\r\n\t\t\t\treturn propValue;\r\n\t\t\t};\r\n\t\t},\r\n\t});\r\n\r\n\treturn modelProxy;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose discriminator model that will use the global connection when it's ready.\r\n * Safe to call during module initialization before initGlobalConnection.\r\n */\r\nexport function createGlobalDiscriminatorModel<\r\n\tBase extends AnyParamConstructor<any>,\r\n\tSub extends AnyParamConstructor<any>,\r\n>(\r\n\tbaseModel: ReturnModelType<Base>,\r\n\tsubClass: Sub,\r\n\tdiscriminatorName?: string,\r\n\toptions?: IModelOptions\r\n): ReturnModelType<Sub> {\r\n\tconst modelName = discriminatorName || subClass.name;\r\n\r\n\t// If the connection is already initialized, create the model directly\r\n\tif (globalConnection) {\r\n\t\t// Ensure baseModel is fully resolved if it's a promise or proxy\r\n\t\tif (baseModel instanceof Promise || (baseModel as any).then) {\r\n\t\t\t// Create a new promise that will resolve with the discriminator model\r\n\t\t\tconst discriminatorPromise = (async () => {\r\n\t\t\t\tconst resolvedBaseModel = await baseModel;\r\n\t\t\t\treturn getDiscriminatorModelForClass(resolvedBaseModel, subClass, discriminatorName, {\r\n\t\t\t\t\texistingConnection: globalConnection,\r\n\t\t\t\t\t...options,\r\n\t\t\t\t});\r\n\t\t\t})();\r\n\r\n\t\t\t// Return a proxy that will await the discriminator model\r\n\t\t\treturn createProxyForPromise(discriminatorPromise);\r\n\t\t}\r\n\r\n\t\t// If baseModel is not a promise, create the discriminator directly\r\n\t\treturn getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\r\n\t\t\texistingConnection: globalConnection,\r\n\t\t\t...options,\r\n\t\t});\r\n\t}\r\n\r\n\tconsole.log(\r\n\t\t`Registering discriminator model ${modelName} to be initialized when global connection is ready`\r\n\t);\r\n\r\n\t// Create a lazy-loaded model instance that will initialize once the connection is ready\r\n\tlet actualModel: ReturnModelType<Sub> | null = null;\r\n\tlet modelReadyPromise: Promise<ReturnModelType<Sub>>;\r\n\r\n\t// Handle the case where baseModel might be a proxy or promise\r\n\tlet baseModelPromise: Promise<any>;\r\n\tif (baseModel instanceof Promise || (baseModel as any).then) {\r\n\t\tbaseModelPromise = Promise.resolve(baseModel);\r\n\t} else {\r\n\t\tbaseModelPromise = Promise.resolve(baseModel);\r\n\t}\r\n\r\n\t// Setup the promise that will resolve once the model is ready\r\n\tmodelReadyPromise = new Promise<ReturnModelType<Sub>>(resolve => {\r\n\t\t// Register this discriminator model to be initialized when connection is ready\r\n\t\tpendingDiscriminatorModels.set(modelName, {\r\n\t\t\tbaseModelPromise,\r\n\t\t\tsubClass,\r\n\t\t\tdiscriminatorName,\r\n\t\t\toptions,\r\n\t\t\tresolve,\r\n\t\t});\r\n\t});\r\n\r\n\treturn createProxyForPromise(modelReadyPromise);\r\n}\r\n\r\n/**\r\n * Helper function to create a proxy for a promise that will resolve to a model\r\n */\r\nfunction createProxyForPromise<T extends object>(promise: Promise<T>): T {\r\n\tlet resolvedValue: T | null = null;\r\n\r\n\treturn new Proxy({} as T, {\r\n\t\tget(target, prop, receiver) {\r\n\t\t\t// Handle special case for 'then' to make the proxy thenable\r\n\t\t\tif (prop === 'then') {\r\n\t\t\t\treturn promise.then.bind(promise);\r\n\t\t\t}\r\n\r\n\t\t\treturn async function (...args: any[]) {\r\n\t\t\t\tif (!resolvedValue) {\r\n\t\t\t\t\tresolvedValue = await promise;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst propValue = (resolvedValue as any)[prop];\r\n\t\t\t\tif (typeof propValue === 'function') {\r\n\t\t\t\t\treturn propValue.apply(resolvedValue, args);\r\n\t\t\t\t}\r\n\t\t\t\treturn propValue;\r\n\t\t\t};\r\n\t\t},\r\n\t});\r\n}\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/index.ts"],"names":[],"mappings":"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","sourcesContent":["import mongoose, { Connection, createConnection } from 'mongoose';\nimport { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\nimport { AnyParamConstructor, IModelOptions } from '@typegoose/typegoose/lib/types';\nimport { applySoftDeletePlugin } from './plugins/soft-delete-plugin';\n\n// Apply the soft delete plugin globally before any connections or models\napplySoftDeletePlugin();\n\n// Track connection status\nlet globalConnection: Connection | undefined;\nlet connectionPromise: Promise<Connection> | null = null;\nlet pendingModels = new Map<\n\tstring,\n\t{\n\t\tClass: AnyParamConstructor<any>;\n\t\toptions?: IModelOptions;\n\t\tresolve: (model: any) => void;\n\t}\n>();\n\nlet pendingDiscriminatorModels = new Map<\n\tstring,\n\t{\n\t\tbaseModelPromise: Promise<any>; // Store the promise for the base model\n\t\tsubClass: AnyParamConstructor<any>;\n\t\tdiscriminatorName?: string;\n\t\toptions?: IModelOptions;\n\t\tresolve: (model: any) => void;\n\t}\n>();\n\n/**\n * Initialize the global database connection\n */\nexport async function initGlobalConnection(uri: string, environment: string): Promise<Connection> {\n\tif (!connectionPromise) {\n\t\tconnectionPromise = new Promise<Connection>(resolve => {\n\t\t\tconsole.log(`Initializing global connection for environment: ${environment}`);\n\t\t\tconst connection = createConnection(uri, {\n\t\t\t\tdbName: `lyxa-${environment}-global`,\n\t\t\t});\n\n\t\t\tconnection.once('connected', async () => {\n\t\t\t\tconsole.log('Global connection successfully established');\n\t\t\t\tglobalConnection = connection;\n\n\t\t\t\t// Initialize any pending models with the real connection\n\t\t\t\tfor (const [modelName, { Class, options, resolve }] of pendingModels.entries()) {\n\t\t\t\t\tconst model = getModelForClass(Class, {\n\t\t\t\t\t\texistingConnection: globalConnection,\n\t\t\t\t\t\t...options,\n\t\t\t\t\t});\n\t\t\t\t\tresolve(model);\n\t\t\t\t}\n\t\t\t\tpendingModels.clear();\n\n\t\t\t\t// Initialize any pending discriminator models\n\t\t\t\t// Process discriminators sequentially to ensure dependencies are resolved\n\t\t\t\tfor (const [\n\t\t\t\t\tmodelName,\n\t\t\t\t\t{ baseModelPromise, subClass, discriminatorName, options, resolve },\n\t\t\t\t] of pendingDiscriminatorModels.entries()) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Await the base model to be fully resolved\n\t\t\t\t\t\tconst actualBaseModel = await baseModelPromise;\n\n\t\t\t\t\t\t// Create the discriminator model with the actual base model\n\t\t\t\t\t\tconst model = getDiscriminatorModelForClass(actualBaseModel, subClass, discriminatorName, {\n\t\t\t\t\t\t\texistingConnection: globalConnection,\n\t\t\t\t\t\t\t...options,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tresolve(model);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(`Failed to create discriminator model ${modelName}:`, error);\n\t\t\t\t\t\t// Resolve with error to unblock the promise chain\n\t\t\t\t\t\tresolve(Promise.reject(error));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpendingDiscriminatorModels.clear();\n\n\t\t\t\tresolve(connection);\n\t\t\t});\n\t\t});\n\t}\n\treturn connectionPromise;\n}\n\n/**\n * Creates a Typegoose model that will use the global connection when it's ready.\n * Safe to call during module initialization before initGlobalConnection.\n */\nexport function createGlobalModel<T extends AnyParamConstructor<any>>(\n\tClass: T,\n\toptions?: IModelOptions\n): ReturnModelType<T> {\n\tconst modelName = options?.schemaOptions?.collection || Class.name;\n\n\t// If the connection is already initialized, create the model directly\n\tif (globalConnection) {\n\t\treturn getModelForClass(Class, {\n\t\t\texistingConnection: globalConnection,\n\t\t\t...options,\n\t\t});\n\t}\n\n\tconsole.log(`Registering model ${modelName} to be initialized when global connection is ready`);\n\n\t// Create a lazy-loaded model instance that will initialize once the connection is ready\n\tlet actualModel: ReturnModelType<T> | null = null;\n\tlet modelReadyPromise: Promise<ReturnModelType<T>>;\n\n\t// Setup the promise that will resolve once the model is ready\n\tmodelReadyPromise = new Promise<ReturnModelType<T>>(resolve => {\n\t\t// Register this model to be initialized when connection is ready\n\t\tpendingModels.set(modelName, { Class, options, resolve });\n\t});\n\n\t// Create a proxy that forwards operations to the real model once it's available\n\tconst modelProxy = new Proxy({} as ReturnModelType<T>, {\n\t\tget(target, prop, receiver) {\n\t\t\t// Handle special case for 'then' to make the proxy thenable\n\t\t\tif (prop === 'then') {\n\t\t\t\treturn modelReadyPromise.then.bind(modelReadyPromise);\n\t\t\t}\n\n\t\t\treturn async function (...args: any[]) {\n\t\t\t\tif (!actualModel) {\n\t\t\t\t\tactualModel = await modelReadyPromise;\n\t\t\t\t}\n\n\t\t\t\tconst propValue = (actualModel as any)[prop];\n\t\t\t\tif (typeof propValue === 'function') {\n\t\t\t\t\treturn propValue.apply(actualModel, args);\n\t\t\t\t}\n\t\t\t\treturn propValue;\n\t\t\t};\n\t\t},\n\t});\n\n\treturn modelProxy;\n}\n\n/**\n * Creates a Typegoose discriminator model that will use the global connection when it's ready.\n * Safe to call during module initialization before initGlobalConnection.\n */\nexport function createGlobalDiscriminatorModel<\n\tBase extends AnyParamConstructor<any>,\n\tSub extends AnyParamConstructor<any>,\n>(\n\tbaseModel: ReturnModelType<Base>,\n\tsubClass: Sub,\n\tdiscriminatorName?: string,\n\toptions?: IModelOptions\n): ReturnModelType<Sub> {\n\tconst modelName = discriminatorName || subClass.name;\n\n\t// If the connection is already initialized, create the model directly\n\tif (globalConnection) {\n\t\t// Ensure baseModel is fully resolved if it's a promise or proxy\n\t\tif (baseModel instanceof Promise || (baseModel as any).then) {\n\t\t\t// Create a new promise that will resolve with the discriminator model\n\t\t\tconst discriminatorPromise = (async () => {\n\t\t\t\tconst resolvedBaseModel = await baseModel;\n\t\t\t\treturn getDiscriminatorModelForClass(resolvedBaseModel, subClass, discriminatorName, {\n\t\t\t\t\texistingConnection: globalConnection,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t})();\n\n\t\t\t// Return a proxy that will await the discriminator model\n\t\t\treturn createProxyForPromise(discriminatorPromise);\n\t\t}\n\n\t\t// If baseModel is not a promise, create the discriminator directly\n\t\treturn getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\n\t\t\texistingConnection: globalConnection,\n\t\t\t...options,\n\t\t});\n\t}\n\n\tconsole.log(\n\t\t`Registering discriminator model ${modelName} to be initialized when global connection is ready`\n\t);\n\n\t// Create a lazy-loaded model instance that will initialize once the connection is ready\n\tlet actualModel: ReturnModelType<Sub> | null = null;\n\tlet modelReadyPromise: Promise<ReturnModelType<Sub>>;\n\n\t// Handle the case where baseModel might be a proxy or promise\n\tlet baseModelPromise: Promise<any>;\n\tif (baseModel instanceof Promise || (baseModel as any).then) {\n\t\tbaseModelPromise = Promise.resolve(baseModel);\n\t} else {\n\t\tbaseModelPromise = Promise.resolve(baseModel);\n\t}\n\n\t// Setup the promise that will resolve once the model is ready\n\tmodelReadyPromise = new Promise<ReturnModelType<Sub>>(resolve => {\n\t\t// Register this discriminator model to be initialized when connection is ready\n\t\tpendingDiscriminatorModels.set(modelName, {\n\t\t\tbaseModelPromise,\n\t\t\tsubClass,\n\t\t\tdiscriminatorName,\n\t\t\toptions,\n\t\t\tresolve,\n\t\t});\n\t});\n\n\treturn createProxyForPromise(modelReadyPromise);\n}\n\n/**\n * Helper function to create a proxy for a promise that will resolve to a model\n */\nfunction createProxyForPromise<T extends object>(promise: Promise<T>): T {\n\tlet resolvedValue: T | null = null;\n\n\treturn new Proxy({} as T, {\n\t\tget(target, prop, receiver) {\n\t\t\t// Handle special case for 'then' to make the proxy thenable\n\t\t\tif (prop === 'then') {\n\t\t\t\treturn promise.then.bind(promise);\n\t\t\t}\n\n\t\t\treturn async function (...args: any[]) {\n\t\t\t\tif (!resolvedValue) {\n\t\t\t\t\tresolvedValue = await promise;\n\t\t\t\t}\n\n\t\t\t\tconst propValue = (resolvedValue as any)[prop];\n\t\t\t\tif (typeof propValue === 'function') {\n\t\t\t\t\treturn propValue.apply(resolvedValue, args);\n\t\t\t\t}\n\t\t\t\treturn propValue;\n\t\t\t};\n\t\t},\n\t});\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"activity-log.model.js","sourceRoot":"/","sources":["libraries/mongo/models/activity-log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAmF;AACnF,4EAAqE;AACrE,kDAAuD;AACvD,+CAAsC;AAQ/B,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAU;IAEnC,KAAK,CAAc;IAGnB,YAAY,CAAgB;IAG5B,WAAW,CAAO;IAGlB,WAAW,CAAO;CACzB,CAAA;AAZY,kCAAW;AAEhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;0CACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAY,EAAE,CAAC;;iDACxB;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;;gDACnC;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;;gDACnC;sBAXb,WAAW;IANvB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE;QAC7C,OAAO,EAAE;YACR,UAAU,EAAE,oBAAQ,CAAC,KAAK;SAC1B;KACD,CAAC;GACW,WAAW,CAYvB","sourcesContent":["import { modelOptions, prop, Severity, mongoose, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { UpdatedField } from '../../../utilities/enum';\r\nimport { Admin } from './admin.model';\r\n\r\n@modelOptions({\r\n\tschemaOptions: { collection: 'activityLogs' },\r\n\toptions: {\r\n\t\tallowMixed: Severity.ALLOW,\r\n\t},\r\n})\r\nexport class ActivityLog extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Admin })\r\n\tpublic admin!: Ref<Admin>;\r\n\r\n\t@prop({ required: true, type: String, enum: UpdatedField })\r\n\tpublic updatedField!: UpdatedField;\r\n\r\n\t@prop({ required: true, type: mongoose.Schema.Types.Mixed })\r\n\tpublic oldDocument!: any;\r\n\r\n\t@prop({ required: true, type: mongoose.Schema.Types.Mixed })\r\n\tpublic newDocument!: any;\r\n}\r\n"]}
1
+ {"version":3,"file":"activity-log.model.js","sourceRoot":"/","sources":["libraries/mongo/models/activity-log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAmF;AACnF,4EAAqE;AACrE,kDAAuD;AACvD,+CAAsC;AAQ/B,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAU;IAEnC,KAAK,CAAc;IAGnB,YAAY,CAAgB;IAG5B,WAAW,CAAO;IAGlB,WAAW,CAAO;CACzB,CAAA;AAZY,kCAAW;AAEhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;0CACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAY,EAAE,CAAC;;iDACxB;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;;gDACnC;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;;gDACnC;sBAXb,WAAW;IANvB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE;QAC7C,OAAO,EAAE;YACR,UAAU,EAAE,oBAAQ,CAAC,KAAK;SAC1B;KACD,CAAC;GACW,WAAW,CAYvB","sourcesContent":["import { modelOptions, prop, Severity, mongoose, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { UpdatedField } from '../../../utilities/enum';\nimport { Admin } from './admin.model';\n\n@modelOptions({\n\tschemaOptions: { collection: 'activityLogs' },\n\toptions: {\n\t\tallowMixed: Severity.ALLOW,\n\t},\n})\nexport class ActivityLog extends TimeStamps {\n\t@prop({ required: true, ref: () => Admin })\n\tpublic admin!: Ref<Admin>;\n\n\t@prop({ required: true, type: String, enum: UpdatedField })\n\tpublic updatedField!: UpdatedField;\n\n\t@prop({ required: true, type: mongoose.Schema.Types.Mixed })\n\tpublic oldDocument!: any;\n\n\t@prop({ required: true, type: mongoose.Schema.Types.Mixed })\n\tpublic newDocument!: any;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-access-control.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin-access-control.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAoE;AACpE,4EAAqE;AACrE,wDAA8B;AAC9B,kDAAoD;AACpD,+CAAsC;AAGtC,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,IAAI,GAAG,MAAM,kBAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,kBAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAmBM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,2BAAU;IAE1C,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,KAAK,CAAc;IAGnB,IAAI,CAAa;CACxB,CAAA;AAZY,gDAAkB;AAEvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;iDAC/B;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDACd;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;iDACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;gDAChC;6BAXZ,kBAAkB;IAjB9B,IAAA,eAAG,EAAqB,MAAM,EAAE,KAAK,WAAW,IAAI;QACpD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IAED,IAAA,eAAG,EAAiC,kBAAkB,EAAE,KAAK,WAAU,IAAI;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAyB,CAAC;QACvD,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAE,CAAC;IACN,CAAC,CAAC;IAEH,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,EAAE,CAAC;GAC1D,kBAAkB,CAY9B","sourcesContent":["import { modelOptions, prop, pre, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport bcrypt from 'bcryptjs';\r\nimport { AdminRole } from '../../../utilities/enum';\r\nimport { Admin } from './admin.model';\r\nimport { Query } from 'mongoose';\r\n\r\nasync function hashPassword(password: string): Promise<string> {\r\n\tconst salt = await bcrypt.genSalt(10);\r\n\treturn bcrypt.hash(password, salt);\r\n}\r\n\r\n@pre<AdminAccessControl>('save', async function (next) {\r\n\tif (this.isModified('password')) {\r\n\t\tthis.password = await hashPassword(this.password);\r\n\t}\r\n\tnext();\r\n})\r\n\r\n@pre<Query<any, AdminAccessControl>>('findOneAndUpdate', async function(next) {\r\n\tconst update = this.getUpdate() as Record<string, any>;\r\n\tif (update?.password) {\r\n\t update.password = await hashPassword(update.password);\r\n\t this.setUpdate(update);\r\n\t}\r\n\tnext();\r\n })\r\n\r\n@modelOptions({ schemaOptions: { collection: 'adminAccessControls' } })\r\nexport class AdminAccessControl extends TimeStamps {\r\n\t@prop({ required: true, type: String, unique: true })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic password!: string;\r\n\r\n\t@prop({ required: true, ref: () => Admin })\r\n\tpublic admin!: Ref<Admin>;\r\n\r\n\t@prop({ required: true, type: String, enum: AdminRole })\r\n\tpublic role!: AdminRole;\r\n}\r\n"]}
1
+ {"version":3,"file":"admin-access-control.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin-access-control.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAoE;AACpE,4EAAqE;AACrE,wDAA8B;AAC9B,kDAAoD;AACpD,+CAAsC;AAGtC,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,IAAI,GAAG,MAAM,kBAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,kBAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAmBM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,2BAAU;IAE1C,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,KAAK,CAAc;IAGnB,IAAI,CAAa;CACxB,CAAA;AAZY,gDAAkB;AAEvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;iDAC/B;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDACd;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;iDACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;gDAChC;6BAXZ,kBAAkB;IAjB9B,IAAA,eAAG,EAAqB,MAAM,EAAE,KAAK,WAAW,IAAI;QACpD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IAED,IAAA,eAAG,EAAiC,kBAAkB,EAAE,KAAK,WAAU,IAAI;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAyB,CAAC;QACvD,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAE,CAAC;IACN,CAAC,CAAC;IAEH,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,EAAE,CAAC;GAC1D,kBAAkB,CAY9B","sourcesContent":["import { modelOptions, prop, pre, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport bcrypt from 'bcryptjs';\nimport { AdminRole } from '../../../utilities/enum';\nimport { Admin } from './admin.model';\nimport { Query } from 'mongoose';\n\nasync function hashPassword(password: string): Promise<string> {\n\tconst salt = await bcrypt.genSalt(10);\n\treturn bcrypt.hash(password, salt);\n}\n\n@pre<AdminAccessControl>('save', async function (next) {\n\tif (this.isModified('password')) {\n\t\tthis.password = await hashPassword(this.password);\n\t}\n\tnext();\n})\n\n@pre<Query<any, AdminAccessControl>>('findOneAndUpdate', async function(next) {\n\tconst update = this.getUpdate() as Record<string, any>;\n\tif (update?.password) {\n\t update.password = await hashPassword(update.password);\n\t this.setUpdate(update);\n\t}\n\tnext();\n })\n\n@modelOptions({ schemaOptions: { collection: 'adminAccessControls' } })\nexport class AdminAccessControl extends TimeStamps {\n\t@prop({ required: true, type: String, unique: true })\n\tpublic email!: string;\n\n\t@prop({ required: true, type: String })\n\tpublic password!: string;\n\n\t@prop({ required: true, ref: () => Admin })\n\tpublic admin!: Ref<Admin>;\n\n\t@prop({ required: true, type: String, enum: AdminRole })\n\tpublic role!: AdminRole;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"admin.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,kDAAiD;AACjD,6EAAkE;AAU3D,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE7B,IAAI,CAAU;IAGd,YAAY,CAAU;IAGtB,WAAW,CAAU;IAGrB,MAAM,CAAU;IAQhB,aAAa,CAA0B;CAC9C,CAAA;AApBY,sBAAK;AAEV;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACM;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;qCACtC;AAQhB;IANN,IAAA,gBAAI,EAAC;QACL,GAAG,EAAE,GAAG,EAAE,CAAC,+CAAkB;QAC7B,YAAY,EAAE,OAAO;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACb,CAAC;;4CAC4C;gBAnBlC,KAAK;IARjB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC5B,EAAE,EAAE,KAAK;SACT;KACD,CAAC;GACW,KAAK,CAoBjB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Status } from '../../../utilities/enum';\r\nimport { AdminAccessControl } from './admin-access-control.model';\r\n\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\tcollection: 'admins',\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t\tid: false,\r\n\t},\r\n})\r\nexport class Admin 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 profilePhoto?: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic phoneNumber!: string;\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: string;\r\n\r\n\t@prop({\r\n\t\tref: () => AdminAccessControl,\r\n\t\tforeignField: 'admin',\r\n\t\tlocalField: '_id',\r\n\t\tjustOne: true,\r\n\t})\r\n\tpublic accessControl: Ref<AdminAccessControl>;\r\n}\r\n"]}
1
+ {"version":3,"file":"admin.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,kDAAiD;AACjD,6EAAkE;AAU3D,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE7B,IAAI,CAAU;IAGd,YAAY,CAAU;IAGtB,WAAW,CAAU;IAGrB,MAAM,CAAU;IAQhB,aAAa,CAA0B;CAC9C,CAAA;AApBY,sBAAK;AAEV;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACM;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;qCACtC;AAQhB;IANN,IAAA,gBAAI,EAAC;QACL,GAAG,EAAE,GAAG,EAAE,CAAC,+CAAkB;QAC7B,YAAY,EAAE,OAAO;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACb,CAAC;;4CAC4C;gBAnBlC,KAAK;IARjB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC5B,EAAE,EAAE,KAAK;SACT;KACD,CAAC;GACW,KAAK,CAoBjB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { Status } from '../../../utilities/enum';\nimport { AdminAccessControl } from './admin-access-control.model';\n\n@modelOptions({\n\tschemaOptions: {\n\t\tcollection: 'admins',\n\t\ttoJSON: { virtuals: true },\n\t\ttoObject: { virtuals: true },\n\t\tid: false,\n\t},\n})\nexport class Admin extends TimeStamps {\n\t@prop({ required: true, type: String })\n\tpublic name!: string;\n\n\t@prop({ type: String })\n\tpublic profilePhoto?: string;\n\n\t@prop({ required: true, type: String })\n\tpublic phoneNumber!: string;\n\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\n\tpublic status?: string;\n\n\t@prop({\n\t\tref: () => AdminAccessControl,\n\t\tforeignField: 'admin',\n\t\tlocalField: '_id',\n\t\tjustOne: true,\n\t})\n\tpublic accessControl: Ref<AdminAccessControl>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"app-screen-setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/app-screen-setting.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAwE;AAGjE,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,2BAAU;IAExC,QAAQ,CAAY;IAGpB,OAAO,CAAe;IAGtB,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,YAAY,CAAU;CAC7B,CAAA;AAfY,4CAAgB;AAErB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;kDAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;;iDAC7B;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;gDACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sDACN;2BAdjB,gBAAgB;IAD5B,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,CAAC;GACxD,gBAAgB,CAe5B","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ItemType, SectionType, Status } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'appScreenSettings' } })\r\nexport class AppScreenSetting extends TimeStamps {\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, enum: SectionType })\r\n\tpublic section!: SectionType;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic alias!: string;\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic sortingOrder?: number;\r\n}\r\n"]}
1
+ {"version":3,"file":"app-screen-setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/app-screen-setting.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAwE;AAGjE,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,2BAAU;IAExC,QAAQ,CAAY;IAGpB,OAAO,CAAe;IAGtB,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,YAAY,CAAU;CAC7B,CAAA;AAfY,4CAAgB;AAErB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;kDAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;;iDAC7B;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;gDACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sDACN;2BAdjB,gBAAgB;IAD5B,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,CAAC;GACxD,gBAAgB,CAe5B","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { ItemType, SectionType, Status } from '../../../utilities/enum';\n\n@modelOptions({ schemaOptions: { collection: 'appScreenSettings' } })\nexport class AppScreenSetting extends TimeStamps {\n\t@prop({ required: true, type: String, enum: ItemType })\n\tpublic itemType!: ItemType;\n\n\t@prop({ required: true, type: String, enum: SectionType })\n\tpublic section!: SectionType;\n\n\t@prop({ required: true, type: String })\n\tpublic alias!: string;\n\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\n\tpublic status?: Status;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic sortingOrder?: number;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"attribute.model.js","sourceRoot":"/","sources":["libraries/mongo/models/attribute.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsE;AACtE,4EAAqE;AACrE,0EAAgE;AAChE,kDAAqE;AACrE,6CAAoC;AAI7B,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,2BAAU;IAEjC,IAAI,CAAa;IAGjB,IAAI,CAAU;IAGd,UAAU,CAAW;IAQrB,aAAa,CAA8B;IAG3C,oBAAoB,CAAU;IAG9B,oBAAoB,CAAU;IAG9B,KAAK,CAAmB;CAC/B,CAAA;AA1BY,8BAAS;AAEd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;uCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;6CACZ;AAQrB;IANN,IAAA,gBAAI,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iCAA0B;QAChC,OAAO,EAAE,iCAA0B,CAAC,MAAM;KAC1C,CAAC;;gDACgD;AAG3C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACN;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACN;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,oCAAa,CAAC,EAAE,CAAC;;wCACjB;oBAzBnB,SAAS;IAFrB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7D,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;GAC/E,SAAS,CA0BrB","sourcesContent":["import { Index, modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { AttributeItem } from './embedded/attribute-item.model';\r\nimport { AttributeItemSelectionType } from '../../../utilities/enum';\r\nimport { Shop } from './shop.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'attributes' } })\r\n@Index({ shop: 1, name: 1 }, { unique: true, partialFilterExpression: { deletedAt: null } })\r\nexport class Attribute extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Shop })\r\n\tpublic shop!: Ref<Shop>;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isRequired?: boolean;\r\n\r\n\t@prop({\r\n\t\trequired: true,\r\n\t\ttype: String,\r\n\t\tenum: AttributeItemSelectionType,\r\n\t\tdefault: AttributeItemSelectionType.SINGLE,\r\n\t})\r\n\tpublic selectionType!: AttributeItemSelectionType;\r\n\r\n\t@prop({ type: Number, min: 0, default: 0 })\r\n\tpublic minimumRequiredItems?: number;\r\n\r\n\t@prop({ type: Number, min: 0, default: 0 })\r\n\tpublic maximumRequiredItems?: number;\r\n\r\n\t@prop({ required: true, type: [AttributeItem] })\r\n\tpublic items!: AttributeItem[];\r\n}\r\n"]}
1
+ {"version":3,"file":"attribute.model.js","sourceRoot":"/","sources":["libraries/mongo/models/attribute.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsE;AACtE,4EAAqE;AACrE,0EAAgE;AAChE,kDAAqE;AACrE,6CAAoC;AAI7B,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,2BAAU;IAEjC,IAAI,CAAa;IAGjB,IAAI,CAAU;IAGd,UAAU,CAAW;IAQrB,aAAa,CAA8B;IAG3C,oBAAoB,CAAU;IAG9B,oBAAoB,CAAU;IAG9B,KAAK,CAAmB;CAC/B,CAAA;AA1BY,8BAAS;AAEd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;uCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;6CACZ;AAQrB;IANN,IAAA,gBAAI,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iCAA0B;QAChC,OAAO,EAAE,iCAA0B,CAAC,MAAM;KAC1C,CAAC;;gDACgD;AAG3C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACN;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACN;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,oCAAa,CAAC,EAAE,CAAC;;wCACjB;oBAzBnB,SAAS;IAFrB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7D,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;GAC/E,SAAS,CA0BrB","sourcesContent":["import { Index, modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { AttributeItem } from './embedded/attribute-item.model';\nimport { AttributeItemSelectionType } from '../../../utilities/enum';\nimport { Shop } from './shop.model';\n\n@modelOptions({ schemaOptions: { collection: 'attributes' } })\n@Index({ shop: 1, name: 1 }, { unique: true, partialFilterExpression: { deletedAt: null } })\nexport class Attribute extends TimeStamps {\n\t@prop({ required: true, ref: () => Shop })\n\tpublic shop!: Ref<Shop>;\n\n\t@prop({ required: true, type: String })\n\tpublic name!: string;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isRequired?: boolean;\n\n\t@prop({\n\t\trequired: true,\n\t\ttype: String,\n\t\tenum: AttributeItemSelectionType,\n\t\tdefault: AttributeItemSelectionType.SINGLE,\n\t})\n\tpublic selectionType!: AttributeItemSelectionType;\n\n\t@prop({ type: Number, min: 0, default: 0 })\n\tpublic minimumRequiredItems?: number;\n\n\t@prop({ type: Number, min: 0, default: 0 })\n\tpublic maximumRequiredItems?: number;\n\n\t@prop({ required: true, type: [AttributeItem] })\n\tpublic items!: AttributeItem[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"banner.model.js","sourceRoot":"/","sources":["libraries/mongo/models/banner.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,kDAA4G;AAC5G,6CAAoC;AACpC,mDAA0C;AAC1C,iEAAuD;AAGhD,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,2BAAU;IAE9B,KAAK,CAAU;IAGf,KAAK,CAAU;IAGf,QAAQ,CAAY;IAGpB,MAAM,CAAU;IAGhB,UAAU,CAAkB;IAG5B,WAAW,CAAW;IAGtB,SAAS,CAAmB;IAG5B,QAAQ,CAAkB;IAG1B,IAAI,CAAU;IAGd,IAAI,CAAa;IAGjB,OAAO,CAAgB;IAGvB,aAAa,CAAsB;IAGnC,YAAY,CAAU;CAC7B,CAAA;AAvCY,wBAAM;AAEX;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;wCAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;sCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAc,EAAE,OAAO,EAAE,qBAAc,CAAC,GAAG,EAAE,CAAC;;0CACvC;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;2CACX;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAe,EAAE,CAAC;;yCACX;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAc,EAAE,CAAC;;wCACZ;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;oCACd;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;oCACF;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;uCACC;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,oCAAa,EAAE,CAAC;;6CACO;AAGnC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4CACN;iBAtCjB,MAAM;IADlB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;GAC9C,MAAM,CAuClB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { BannerClickType, BannerLinkType, BannerUserType, ItemType, Status } from '../../../utilities/enum';\r\nimport { Shop } from './shop.model';\r\nimport { Product } from './product.model';\r\nimport { ListContainer } from './list-container.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'banners' } })\r\nexport class Banner extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic title!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic image!: string;\r\n\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: String, enum: BannerUserType, default: BannerUserType.ALL })\r\n\tpublic visibility?: BannerUserType;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isClickable?: boolean;\r\n\r\n\t@prop({ type: String, enum: BannerClickType })\r\n\tpublic clickType?: BannerClickType;\r\n\r\n\t@prop({ type: String, enum: BannerLinkType })\r\n\tpublic linkType?: BannerLinkType;\r\n\r\n\t@prop({ type: String, trim: true })\r\n\tpublic link?: string;\r\n\r\n\t@prop({ ref: () => Shop })\r\n\tpublic shop?: Ref<Shop>;\r\n\r\n\t@prop({ ref: () => Product })\r\n\tpublic product?: Ref<Product>;\r\n\r\n\t@prop({ ref: () => ListContainer })\r\n\tpublic listContainer?: Ref<ListContainer>;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic sortingOrder?: number;\r\n}\r\n"]}
1
+ {"version":3,"file":"banner.model.js","sourceRoot":"/","sources":["libraries/mongo/models/banner.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,kDAA4G;AAC5G,6CAAoC;AACpC,mDAA0C;AAC1C,iEAAuD;AAGhD,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,2BAAU;IAE9B,KAAK,CAAU;IAGf,KAAK,CAAU;IAGf,QAAQ,CAAY;IAGpB,MAAM,CAAU;IAGhB,UAAU,CAAkB;IAG5B,WAAW,CAAW;IAGtB,SAAS,CAAmB;IAG5B,QAAQ,CAAkB;IAG1B,IAAI,CAAU;IAGd,IAAI,CAAa;IAGjB,OAAO,CAAgB;IAGvB,aAAa,CAAsB;IAGnC,YAAY,CAAU;CAC7B,CAAA;AAvCY,wBAAM;AAEX;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;wCAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;sCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAc,EAAE,OAAO,EAAE,qBAAc,CAAC,GAAG,EAAE,CAAC;;0CACvC;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;2CACX;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAe,EAAE,CAAC;;yCACX;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAc,EAAE,CAAC;;wCACZ;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;oCACd;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;oCACF;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;uCACC;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,oCAAa,EAAE,CAAC;;6CACO;AAGnC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4CACN;iBAtCjB,MAAM;IADlB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;GAC9C,MAAM,CAuClB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { BannerClickType, BannerLinkType, BannerUserType, ItemType, Status } from '../../../utilities/enum';\nimport { Shop } from './shop.model';\nimport { Product } from './product.model';\nimport { ListContainer } from './list-container.model';\n\n@modelOptions({ schemaOptions: { collection: 'banners' } })\nexport class Banner extends TimeStamps {\n\t@prop({ required: true, type: String })\n\tpublic title!: string;\n\n\t@prop({ required: true, 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: String, enum: BannerUserType, default: BannerUserType.ALL })\n\tpublic visibility?: BannerUserType;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isClickable?: boolean;\n\n\t@prop({ type: String, enum: BannerClickType })\n\tpublic clickType?: BannerClickType;\n\n\t@prop({ type: String, enum: BannerLinkType })\n\tpublic linkType?: BannerLinkType;\n\n\t@prop({ type: String, trim: true })\n\tpublic link?: string;\n\n\t@prop({ ref: () => Shop })\n\tpublic shop?: Ref<Shop>;\n\n\t@prop({ ref: () => Product })\n\tpublic product?: Ref<Product>;\n\n\t@prop({ ref: () => ListContainer })\n\tpublic listContainer?: Ref<ListContainer>;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic sortingOrder?: number;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"base-coupon.model.js","sourceRoot":"/","sources":["libraries/mongo/models/base/base-coupon.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAC5C,qDAAuF;AACvF,6DAAoD;AACpD,kDAAyC;AAEzC,MAAa,UAAW,SAAQ,qBAAM;IAE9B,SAAS,CAAa;IAGtB,KAAK,CAAU;IAGf,gBAAgB,CAAiB;IAGjC,QAAQ,CAAY;IAGpB,UAAU,CAAiB;IAG3B,eAAe,CAAiB;IAGhC,aAAa,CAAiB;IAG9B,cAAc,CAAW;IAGzB,MAAM,CAAU;IAGhB,gBAAgB,CAA0B;CACjD;AA9BD,gCA8BC;AA5BO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;6CAC3B;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oDACE;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,yBAAQ,EAAE,CAAC;8BACvB,yBAAQ;4CAAC;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;8CACJ;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDACC;AAGhC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iDACD;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;kDACR;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;0CACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAAsB,EAAE,CAAC;;oDACJ","sourcesContent":["import { prop } from '@typegoose/typegoose';\r\nimport { CouponExpirationReason, Status, ValueType } from '../../../../utilities/enum';\r\nimport { Duration } from '../shared/duration.model';\r\nimport { Coupon } from '../coupon.model';\r\n\r\nexport class BaseCoupon extends Coupon {\r\n\t@prop({ required: true, type: String, enum: ValueType })\r\n\tpublic valueType!: ValueType;\r\n\r\n\t@prop({ required: true, type: Number })\r\n\tpublic value!: number;\r\n\r\n\t@prop({ type: Number, default: null }) // applicable when valueType percentage\r\n\tpublic maxDiscountLimit?: number | null;\r\n\r\n\t@prop({ required: true, type: Duration })\r\n\tpublic duration!: Duration;\r\n\r\n\t@prop({ type: Number, default: null })\r\n\tpublic spendLimit?: number | null;\r\n\r\n\t@prop({ type: Number, default: null })\r\n\tpublic totalOrderLimit?: number | null;\r\n\r\n\t@prop({ type: Number, default: null })\r\n\tpublic minOrderValue?: number | null;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic forNewUserOnly?: boolean;\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, enum: CouponExpirationReason })\r\n\tpublic expirationReason?: CouponExpirationReason;\r\n}\r\n"]}
1
+ {"version":3,"file":"base-coupon.model.js","sourceRoot":"/","sources":["libraries/mongo/models/base/base-coupon.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAC5C,qDAAuF;AACvF,6DAAoD;AACpD,kDAAyC;AAEzC,MAAa,UAAW,SAAQ,qBAAM;IAE9B,SAAS,CAAa;IAGtB,KAAK,CAAU;IAGf,gBAAgB,CAAiB;IAGjC,QAAQ,CAAY;IAGpB,UAAU,CAAiB;IAG3B,eAAe,CAAiB;IAGhC,aAAa,CAAiB;IAG9B,cAAc,CAAW;IAGzB,MAAM,CAAU;IAGhB,gBAAgB,CAA0B;CACjD;AA9BD,gCA8BC;AA5BO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;6CAC3B;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oDACE;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,yBAAQ,EAAE,CAAC;8BACvB,yBAAQ;4CAAC;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;8CACJ;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDACC;AAGhC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iDACD;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;kDACR;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;0CACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAAsB,EAAE,CAAC;;oDACJ","sourcesContent":["import { prop } from '@typegoose/typegoose';\nimport { CouponExpirationReason, Status, ValueType } from '../../../../utilities/enum';\nimport { Duration } from '../shared/duration.model';\nimport { Coupon } from '../coupon.model';\n\nexport class BaseCoupon extends Coupon {\n\t@prop({ required: true, type: String, enum: ValueType })\n\tpublic valueType!: ValueType;\n\n\t@prop({ required: true, type: Number })\n\tpublic value!: number;\n\n\t@prop({ type: Number, default: null }) // applicable when valueType percentage\n\tpublic maxDiscountLimit?: number | null;\n\n\t@prop({ required: true, type: Duration })\n\tpublic duration!: Duration;\n\n\t@prop({ type: Number, default: null })\n\tpublic spendLimit?: number | null;\n\n\t@prop({ type: Number, default: null })\n\tpublic totalOrderLimit?: number | null;\n\n\t@prop({ type: Number, default: null })\n\tpublic minOrderValue?: number | null;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic forNewUserOnly?: boolean;\n\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\n\tpublic status?: Status;\n\n\t@prop({ type: String, enum: CouponExpirationReason })\n\tpublic expirationReason?: CouponExpirationReason;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"base-review.model.js","sourceRoot":"/","sources":["libraries/mongo/models/base/base-review.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA2D;AAC3D,4EAAqE;AACrE,wDAA8C;AAC9C,gDAAuC;AAEvC,MAAa,UAAW,SAAQ,2BAAU;IAElC,IAAI,CAAiB;IAGrB,WAAW,CAAU;IAGrB,MAAM,CAAU;IAGhB,KAAK,CAAc;IAGnB,IAAI,CAAY;IAGhB,SAAS,CAAW;IAGpB,SAAS,CAA2B;CAC3C;AArBD,gCAqBC;AAnBO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;wCAClB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;0CAChC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;yCACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;;wCACR;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6CACZ;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,oBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;8BACrB,oBAAQ,CAAC,KAAK,CAAC,QAAQ;6CAAC","sourcesContent":["import { mongoose, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { CoreUser } from '../core-user.model';\r\nimport { Order } from '../order.model';\r\n\r\nexport class BaseReview extends TimeStamps {\r\n\t@prop({ required: true, ref: () => CoreUser })\r\n\tpublic user!: Ref<CoreUser>;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic description!: string;\r\n\r\n\t@prop({ required: true, type: Number, min: 1, max: 5 })\r\n\tpublic rating!: number;\r\n\r\n\t@prop({ required: true, ref: () => Order })\r\n\tpublic order!: Ref<Order>;\r\n\r\n\t@prop({ type: () => [String] })\r\n\tpublic tags?: string[];\r\n\r\n\t@prop({ type: Boolean, default: true })\r\n\tpublic isVisible?: boolean;\r\n\r\n\t@prop({ type: mongoose.Types.ObjectId })\r\n\tpublic deletedBy?: mongoose.Types.ObjectId;\r\n}\r\n"]}
1
+ {"version":3,"file":"base-review.model.js","sourceRoot":"/","sources":["libraries/mongo/models/base/base-review.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA2D;AAC3D,4EAAqE;AACrE,wDAA8C;AAC9C,gDAAuC;AAEvC,MAAa,UAAW,SAAQ,2BAAU;IAElC,IAAI,CAAiB;IAGrB,WAAW,CAAU;IAGrB,MAAM,CAAU;IAGhB,KAAK,CAAc;IAGnB,IAAI,CAAY;IAGhB,SAAS,CAAW;IAGpB,SAAS,CAA2B;CAC3C;AArBD,gCAqBC;AAnBO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;wCAClB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;0CAChC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;yCACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;;wCACR;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6CACZ;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,oBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;8BACrB,oBAAQ,CAAC,KAAK,CAAC,QAAQ;6CAAC","sourcesContent":["import { mongoose, prop, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { CoreUser } from '../core-user.model';\nimport { Order } from '../order.model';\n\nexport class BaseReview extends TimeStamps {\n\t@prop({ required: true, ref: () => CoreUser })\n\tpublic user!: Ref<CoreUser>;\n\n\t@prop({ required: true, type: String })\n\tpublic description!: string;\n\n\t@prop({ required: true, type: Number, min: 1, max: 5 })\n\tpublic rating!: number;\n\n\t@prop({ required: true, ref: () => Order })\n\tpublic order!: Ref<Order>;\n\n\t@prop({ type: () => [String] })\n\tpublic tags?: string[];\n\n\t@prop({ type: Boolean, default: true })\n\tpublic isVisible?: boolean;\n\n\t@prop({ type: mongoose.Types.ObjectId })\n\tpublic deletedBy?: mongoose.Types.ObjectId;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bob-finance.model.js","sourceRoot":"/","sources":["libraries/mongo/models/bob-finance.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport {\r\n\tBobAccountType,\r\n\tBobModel,\r\n\tBobSettlementStatus,\r\n\tBobSettlementType,\r\n\tBobType,\r\n\tPaidCurrency,\r\n} from '../../../utilities/enum';\r\nimport { Admin } from './admin.model';\r\nimport { Payout } from './payout.model';\r\nimport { Rider } from './rider.model';\r\nimport { Shop } from './shop.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'bobFinances' } })\r\nexport class BOBFinance extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic referenceId!: string;\r\n\r\n\t@prop({ required: true, type: String, enum: BobAccountType })\r\n\tpublic accountType!: BobAccountType;\r\n\r\n\t@prop({ required: true, type: String, enum: BobSettlementType })\r\n\tpublic settlementType!: BobSettlementType;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic amount?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic secondaryAmount?: number;\r\n\r\n\t@prop({ type: String, enum: BobSettlementStatus, default: BobSettlementStatus.NOT_PAID })\r\n\tpublic status?: BobSettlementStatus;\r\n\r\n\t@prop({ ref: () => Admin })\r\n\tpublic admin?: Ref<Admin>;\r\n\r\n\t@prop({ ref: () => Shop })\r\n\tpublic shop?: Ref<Shop>;\r\n\r\n\t@prop({ ref: () => Rider })\r\n\tpublic rider?: Ref<Rider>;\r\n\r\n\t@prop({ ref: () => Payout })\r\n\tpublic payout?: Ref<Payout>;\r\n\r\n\t@prop({ type: String, enum: BobModel, default: BobModel.C2B })\r\n\tpublic bobModel?: BobModel;\r\n\r\n\t@prop({ type: String, enum: BobType, default: BobType.INWARD })\r\n\tpublic bobType?: BobType;\r\n\r\n\t@prop({ type: String })\r\n\tpublic referenceNumber?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic crmNumber?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic bobLocation?: string;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic riderTips?: number;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic secondaryRiderTips?: number;\r\n\r\n\t@prop({ type: String, enum: PaidCurrency, default: PaidCurrency.BASE })\r\n\tpublic paidCurrency?: PaidCurrency;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isRiderSeen?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"bob-finance.model.js","sourceRoot":"/","sources":["libraries/mongo/models/bob-finance.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport {\n\tBobAccountType,\n\tBobModel,\n\tBobSettlementStatus,\n\tBobSettlementType,\n\tBobType,\n\tPaidCurrency,\n} from '../../../utilities/enum';\nimport { Admin } from './admin.model';\nimport { Payout } from './payout.model';\nimport { Rider } from './rider.model';\nimport { Shop } from './shop.model';\n\n@modelOptions({ schemaOptions: { collection: 'bobFinances' } })\nexport class BOBFinance extends TimeStamps {\n\t@prop({ required: true, type: String })\n\tpublic referenceId!: string;\n\n\t@prop({ required: true, type: String, enum: BobAccountType })\n\tpublic accountType!: BobAccountType;\n\n\t@prop({ required: true, type: String, enum: BobSettlementType })\n\tpublic settlementType!: BobSettlementType;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic amount?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryAmount?: number;\n\n\t@prop({ type: String, enum: BobSettlementStatus, default: BobSettlementStatus.NOT_PAID })\n\tpublic status?: BobSettlementStatus;\n\n\t@prop({ ref: () => Admin })\n\tpublic admin?: Ref<Admin>;\n\n\t@prop({ ref: () => Shop })\n\tpublic shop?: Ref<Shop>;\n\n\t@prop({ ref: () => Rider })\n\tpublic rider?: Ref<Rider>;\n\n\t@prop({ ref: () => Payout })\n\tpublic payout?: Ref<Payout>;\n\n\t@prop({ type: String, enum: BobModel, default: BobModel.C2B })\n\tpublic bobModel?: BobModel;\n\n\t@prop({ type: String, enum: BobType, default: BobType.INWARD })\n\tpublic bobType?: BobType;\n\n\t@prop({ type: String })\n\tpublic referenceNumber?: string;\n\n\t@prop({ type: String })\n\tpublic crmNumber?: string;\n\n\t@prop({ type: String })\n\tpublic bobLocation?: string;\n\n\t@prop({ type: Number })\n\tpublic riderTips?: number;\n\n\t@prop({ type: Number })\n\tpublic secondaryRiderTips?: number;\n\n\t@prop({ type: String, enum: PaidCurrency, default: PaidCurrency.BASE })\n\tpublic paidCurrency?: PaidCurrency;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isRiderSeen?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"brand.model.js","sourceRoot":"/","sources":["libraries/mongo/models/brand.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiE;AACjE,4EAAqE;AAI9D,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE7B,IAAI,CAAU;IAGd,WAAW,CAAU;CAC5B,CAAA;AANY,sBAAK;AAEV;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACK;gBALhB,KAAK;IAFjB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;IACzD,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;GACtE,KAAK,CAMjB","sourcesContent":["import { Index, modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'brands' } })\r\n@Index({ name: 1 }, { unique: true, partialFilterExpression: { deletedAt: null } })\r\nexport class Brand 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 description?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"brand.model.js","sourceRoot":"/","sources":["libraries/mongo/models/brand.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiE;AACjE,4EAAqE;AAI9D,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE7B,IAAI,CAAU;IAGd,WAAW,CAAU;CAC5B,CAAA;AANY,sBAAK;AAEV;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACK;gBALhB,KAAK;IAFjB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;IACzD,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;GACtE,KAAK,CAMjB","sourcesContent":["import { Index, modelOptions, prop } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\n\n@modelOptions({ schemaOptions: { collection: 'brands' } })\n@Index({ name: 1 }, { unique: true, partialFilterExpression: { deletedAt: null } })\nexport class Brand extends TimeStamps {\n\t@prop({ required: true, type: String })\n\tpublic name!: string;\n\n\t@prop({ type: String })\n\tpublic description?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"card.model.js","sourceRoot":"/","sources":["libraries/mongo/models/card.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,uDAA6C;AAC7C,iDAAwC;AACxC,kDAAiE;AAG1D,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,2BAAU;IAE5B,QAAQ,CAAW;IAGnB,QAAQ,CAAiB;IAGzB,MAAM,CAAe;IAGrB,QAAQ,CAAgB;IAGxB,UAAU,CAAU;IAGpB,WAAW,CAAU;IAGrB,GAAG,CAAU;IAGb,YAAY,CAAU;IAGtB,WAAW,CAAU;IAGrB,gBAAgB,CAAU;IAG1B,UAAU,CAAQ;IAGlB,QAAQ,CAAU;IAGlB,WAAW,CAAW;IAGtB,cAAc,CAAU;IAGxB,QAAQ,CAAU;IAGlB,IAAI,CAAY;IAGhB,IAAI,CAAU;CACrB,CAAA;AAnDY,oBAAI;AAET;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;sCACb;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;sCACE;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAM,EAAE,CAAC;;oCACA;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAY,EAAE,CAAC;;sCACZ;AAGxB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCACI;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iCACnB;AAGb;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACV;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CACU;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACD,IAAI;wCAAC;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;sCAC9B;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;yCACX;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CACQ;AAGxB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACE;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;;kCACR;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kCACF;eAlDT,IAAI;IADhB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC;GAC5F,IAAI,CAmDhB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { CoreUser } from './core-user.model';\r\nimport { Parent } from './parent.model';\r\nimport { CardType, CardUserType } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'cards', timestamps: true, discriminatorKey: 'cardType' } })\r\nexport class Card extends TimeStamps {\r\n\t@prop({ type: String, enum: CardType })\r\n\tpublic cardType: CardType;\r\n\r\n\t@prop({ ref: () => CoreUser })\r\n\tpublic coreUser?: Ref<CoreUser>;\r\n\r\n\t@prop({ ref: () => Parent })\r\n\tpublic parent?: Ref<Parent>;\r\n\r\n\t@prop({ type: String, enum: CardUserType })\r\n\tpublic userType?: CardUserType;\r\n\r\n\t@prop({ type: String })\r\n\tpublic nameOfCard?: string;\r\n\r\n\t@prop({ type: String, required: true })\r\n\tpublic card_number!: string;\r\n\r\n\t@prop({ type: String, required: true })\r\n\tpublic cvv!: string;\r\n\r\n\t@prop({ type: String, required: true })\r\n\tpublic expiry_month!: string;\r\n\r\n\t@prop({ type: String, required: true })\r\n\tpublic expiry_year!: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic expiryDateString?: string;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic expiryDate?: Date;\r\n\r\n\t@prop({ type: String, required: true, default: 'NGN' })\r\n\tpublic currency?: string;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic defaultCard?: boolean;\r\n\r\n\t@prop({ type: String })\r\n\tpublic cardTypeString?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic security?: string;\r\n\r\n\t@prop({ type: () => [String] })\r\n\tpublic pins?: string[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic mode?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"card.model.js","sourceRoot":"/","sources":["libraries/mongo/models/card.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,uDAA6C;AAC7C,iDAAwC;AACxC,kDAAiE;AAG1D,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,2BAAU;IAE5B,QAAQ,CAAW;IAGnB,QAAQ,CAAiB;IAGzB,MAAM,CAAe;IAGrB,QAAQ,CAAgB;IAGxB,UAAU,CAAU;IAGpB,WAAW,CAAU;IAGrB,GAAG,CAAU;IAGb,YAAY,CAAU;IAGtB,WAAW,CAAU;IAGrB,gBAAgB,CAAU;IAG1B,UAAU,CAAQ;IAGlB,QAAQ,CAAU;IAGlB,WAAW,CAAW;IAGtB,cAAc,CAAU;IAGxB,QAAQ,CAAU;IAGlB,IAAI,CAAY;IAGhB,IAAI,CAAU;CACrB,CAAA;AAnDY,oBAAI;AAET;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;sCACb;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;sCACE;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAM,EAAE,CAAC;;oCACA;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAY,EAAE,CAAC;;sCACZ;AAGxB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCACI;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iCACnB;AAGb;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACV;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CACU;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACD,IAAI;wCAAC;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;sCAC9B;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;yCACX;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CACQ;AAGxB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACE;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;;kCACR;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kCACF;eAlDT,IAAI;IADhB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC;GAC5F,IAAI,CAmDhB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { CoreUser } from './core-user.model';\nimport { Parent } from './parent.model';\nimport { CardType, CardUserType } from '../../../utilities/enum';\n\n@modelOptions({ schemaOptions: { collection: 'cards', timestamps: true, discriminatorKey: 'cardType' } })\nexport class Card extends TimeStamps {\n\t@prop({ type: String, enum: CardType })\n\tpublic cardType: CardType;\n\n\t@prop({ ref: () => CoreUser })\n\tpublic coreUser?: Ref<CoreUser>;\n\n\t@prop({ ref: () => Parent })\n\tpublic parent?: Ref<Parent>;\n\n\t@prop({ type: String, enum: CardUserType })\n\tpublic userType?: CardUserType;\n\n\t@prop({ type: String })\n\tpublic nameOfCard?: string;\n\n\t@prop({ type: String, required: true })\n\tpublic card_number!: string;\n\n\t@prop({ type: String, required: true })\n\tpublic cvv!: string;\n\n\t@prop({ type: String, required: true })\n\tpublic expiry_month!: string;\n\n\t@prop({ type: String, required: true })\n\tpublic expiry_year!: string;\n\n\t@prop({ type: String })\n\tpublic expiryDateString?: string;\n\n\t@prop({ type: Date })\n\tpublic expiryDate?: Date;\n\n\t@prop({ type: String, required: true, default: 'NGN' })\n\tpublic currency?: string;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic defaultCard?: boolean;\n\n\t@prop({ type: String })\n\tpublic cardTypeString?: string;\n\n\t@prop({ type: String })\n\tpublic security?: string;\n\n\t@prop({ type: () => [String] })\n\tpublic pins?: string[];\n\n\t@prop({ type: String })\n\tpublic mode?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cart-participant.model.js","sourceRoot":"/","sources":["libraries/mongo/models/cart-participant.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAgF;AAChF,4EAAqE;AACrE,6CAAoC;AACpC,kDAAwD;AACxD,oFAA0E;AAC1E,6CAAoC;AAiB7B,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,2BAAU;IAEvC,IAAI,CAAa;IAGjB,IAAI,CAAa;IAGjB,QAAQ,CAAQ;IAGhB,OAAO,CAAW;IAGlB,MAAM,CAAW;IAGjB,OAAO,CAAQ;IAGf,WAAW,CAAU;IAGrB,aAAa,CAAiB;IAG9B,kBAAkB,CAAsB;CAC/C,CAAA;AA3BY,0CAAe;AAEpB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;6CAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;6CAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;8BAClB,IAAI;iDAAC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;gDACA;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;+CACD;AAGjB;IADN,IAAA,gBAAI,GAAE;8BACU,IAAI;gDAAC;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACO;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,oBAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDACP;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,8CAAkB,EAAE,CAAC;8BACb,8CAAkB;2DAAC;0BA1BnC,eAAe;IAZ3B,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,kBAAkB;YAC9B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5B;QACD,OAAO,EAAE;YACR,UAAU,EAAE,oBAAQ,CAAC,KAAK;SAC1B;KACD,CAAC;IACD,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;GACN,eAAe,CA2B3B","sourcesContent":["import { prop, Ref, index, modelOptions, Severity } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Cart } from './cart.model';\r\nimport { PaymentMethod } from '../../../utilities/enum';\r\nimport { PaymentInformation } from './embedded/payment-infromation.model';\r\nimport { User } from './user.model';\r\n\r\n/**\r\n * CartParticipant model - Tracks users participating in a group cart\r\n */\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\tcollection: 'cartParticipants',\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t},\r\n\toptions: {\r\n\t\tallowMixed: Severity.ALLOW,\r\n\t},\r\n})\r\n@index({ cart: 1, user: 1 }, { unique: true })\r\n@index({ cart: 1 })\r\nexport class CartParticipant extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Cart })\r\n\tpublic cart!: Ref<Cart>;\r\n\r\n\t@prop({ required: true, ref: () => User })\r\n\tpublic user!: Ref<User>;\r\n\r\n\t@prop({ default: () => new Date() })\r\n\tpublic joinedAt!: Date;\r\n\r\n\t@prop({ default: false })\r\n\tpublic isReady!: boolean;\r\n\r\n\t@prop({ default: false })\r\n\tpublic isPaid!: boolean;\r\n\r\n\t@prop()\r\n\tpublic readyAt?: Date;\r\n\r\n\t@prop({ default: 0 })\r\n\tpublic spentAmount!: number;\r\n\r\n\t@prop({ enum: PaymentMethod, type: String })\r\n\tpublic paymentMethod?: PaymentMethod;\r\n\r\n\t@prop({ type: () => PaymentInformation })\r\n\tpublic paymentInformation?: PaymentInformation;\r\n}\r\n"]}
1
+ {"version":3,"file":"cart-participant.model.js","sourceRoot":"/","sources":["libraries/mongo/models/cart-participant.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAgF;AAChF,4EAAqE;AACrE,6CAAoC;AACpC,kDAAwD;AACxD,oFAA0E;AAC1E,6CAAoC;AAiB7B,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,2BAAU;IAEvC,IAAI,CAAa;IAGjB,IAAI,CAAa;IAGjB,QAAQ,CAAQ;IAGhB,OAAO,CAAW;IAGlB,MAAM,CAAW;IAGjB,OAAO,CAAQ;IAGf,WAAW,CAAU;IAGrB,aAAa,CAAiB;IAG9B,kBAAkB,CAAsB;CAC/C,CAAA;AA3BY,0CAAe;AAEpB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;6CAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;6CAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;8BAClB,IAAI;iDAAC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;gDACA;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;+CACD;AAGjB;IADN,IAAA,gBAAI,GAAE;8BACU,IAAI;gDAAC;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACO;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,oBAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDACP;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,8CAAkB,EAAE,CAAC;8BACb,8CAAkB;2DAAC;0BA1BnC,eAAe;IAZ3B,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,kBAAkB;YAC9B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5B;QACD,OAAO,EAAE;YACR,UAAU,EAAE,oBAAQ,CAAC,KAAK;SAC1B;KACD,CAAC;IACD,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;GACN,eAAe,CA2B3B","sourcesContent":["import { prop, Ref, index, modelOptions, Severity } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { Cart } from './cart.model';\nimport { PaymentMethod } from '../../../utilities/enum';\nimport { PaymentInformation } from './embedded/payment-infromation.model';\nimport { User } from './user.model';\n\n/**\n * CartParticipant model - Tracks users participating in a group cart\n */\n@modelOptions({\n\tschemaOptions: {\n\t\tcollection: 'cartParticipants',\n\t\ttoJSON: { virtuals: true },\n\t\ttoObject: { virtuals: true },\n\t},\n\toptions: {\n\t\tallowMixed: Severity.ALLOW,\n\t},\n})\n@index({ cart: 1, user: 1 }, { unique: true })\n@index({ cart: 1 })\nexport class CartParticipant extends TimeStamps {\n\t@prop({ required: true, ref: () => Cart })\n\tpublic cart!: Ref<Cart>;\n\n\t@prop({ required: true, ref: () => User })\n\tpublic user!: Ref<User>;\n\n\t@prop({ default: () => new Date() })\n\tpublic joinedAt!: Date;\n\n\t@prop({ default: false })\n\tpublic isReady!: boolean;\n\n\t@prop({ default: false })\n\tpublic isPaid!: boolean;\n\n\t@prop()\n\tpublic readyAt?: Date;\n\n\t@prop({ default: 0 })\n\tpublic spentAmount!: number;\n\n\t@prop({ enum: PaymentMethod, type: String })\n\tpublic paymentMethod?: PaymentMethod;\n\n\t@prop({ type: () => PaymentInformation })\n\tpublic paymentInformation?: PaymentInformation;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cart.model.js","sourceRoot":"/","sources":["libraries/mongo/models/cart.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { prop, Ref, index, modelOptions, Severity, pre } from '@typegoose/typegoose';\r\nimport { Shop } from './shop.model';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { CartStatus, PaymentPreference } from '../../../utilities/enum';\r\nimport { UserAddress } from './shared/address.model';\r\nimport slugify from 'slugify';\r\nimport { randomBytes } from 'crypto';\r\n\r\nimport { Coupon } from './coupon.model';\r\nimport { User } from './user.model';\r\n\r\n/**\r\n * Cart configuration model using Typegoose with automatic slug generation\r\n */\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\tcollection: 'carts',\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t},\r\n\toptions: {\r\n\t\tallowMixed: Severity.ALLOW,\r\n\t},\r\n})\r\n@index({ slug: 1 }, { unique: true, sparse: true })\r\n@index({ user: 1 })\r\n@index({ shop: 1 })\r\n@index({ status: 1 })\r\n@index(\r\n\t{ user: 1, shop: 1 },\r\n\t{\r\n\t\tunique: true,\r\n\t\tpartialFilterExpression: {\r\n\t\t\tstatus: { $in: [CartStatus.ACTIVE, CartStatus.LOCKED] },\r\n\t\t\tdeletedAt: null,\r\n\t\t},\r\n\t}\r\n)\r\n@pre<Cart>('save', async function (next) {\r\n\tif (this.title && !this.slug) {\r\n\t\tconst baseSlug = slugify(this.title, {\r\n\t\t\tlower: true,\r\n\t\t\tstrict: true,\r\n\t\t\ttrim: true,\r\n\t\t});\r\n\r\n\t\tconst uniqueId = randomBytes(8).toString('hex');\r\n\t\tthis.slug = `${baseSlug}-${uniqueId}`;\r\n\t}\r\n\tnext();\r\n})\r\nexport class Cart extends TimeStamps {\r\n\t@prop({ trim: true, maxlength: 100 })\r\n\tpublic title?: string;\r\n\r\n\t@prop()\r\n\tpublic slug?: string;\r\n\r\n\t@prop({ required: true, ref: () => User })\r\n\tpublic user!: Ref<User>;\r\n\r\n\t@prop({ required: true, ref: () => Shop })\r\n\tpublic shop!: Ref<Shop>;\r\n\r\n\t@prop({ required: false, type: UserAddress })\r\n\tpublic deliveryAddress?: UserAddress;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isGroupOrder?: boolean;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic deadlineToOrder?: Date;\r\n\r\n\t@prop({ type: String, enum: PaymentPreference })\r\n\tpublic paymentPreference?: PaymentPreference;\r\n\r\n\t@prop({ type: Number, default: Infinity })\r\n\tpublic spendingLimitForGuest?: number;\r\n\r\n\t@prop({\r\n\t\tenum: CartStatus,\r\n\t\ttype: String,\r\n\t\tdefault: CartStatus.ACTIVE,\r\n\t\trequired: true,\r\n\t})\r\n\tpublic status!: CartStatus;\r\n\r\n\t@prop({ ref: () => Coupon })\r\n\tpublic coupon?: Ref<Coupon>;\r\n}\r\n"]}
1
+ {"version":3,"file":"cart.model.js","sourceRoot":"/","sources":["libraries/mongo/models/cart.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { prop, Ref, index, modelOptions, Severity, pre } from '@typegoose/typegoose';\nimport { Shop } from './shop.model';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { CartStatus, PaymentPreference } from '../../../utilities/enum';\nimport { UserAddress } from './shared/address.model';\nimport slugify from 'slugify';\nimport { randomBytes } from 'crypto';\n\nimport { Coupon } from './coupon.model';\nimport { User } from './user.model';\n\n/**\n * Cart configuration model using Typegoose with automatic slug generation\n */\n@modelOptions({\n\tschemaOptions: {\n\t\tcollection: 'carts',\n\t\ttoJSON: { virtuals: true },\n\t\ttoObject: { virtuals: true },\n\t},\n\toptions: {\n\t\tallowMixed: Severity.ALLOW,\n\t},\n})\n@index({ slug: 1 }, { unique: true, sparse: true })\n@index({ user: 1 })\n@index({ shop: 1 })\n@index({ status: 1 })\n@index(\n\t{ user: 1, shop: 1 },\n\t{\n\t\tunique: true,\n\t\tpartialFilterExpression: {\n\t\t\tstatus: { $in: [CartStatus.ACTIVE, CartStatus.LOCKED] },\n\t\t\tdeletedAt: null,\n\t\t},\n\t}\n)\n@pre<Cart>('save', async function (next) {\n\tif (this.title && !this.slug) {\n\t\tconst baseSlug = slugify(this.title, {\n\t\t\tlower: true,\n\t\t\tstrict: true,\n\t\t\ttrim: true,\n\t\t});\n\n\t\tconst uniqueId = randomBytes(8).toString('hex');\n\t\tthis.slug = `${baseSlug}-${uniqueId}`;\n\t}\n\tnext();\n})\nexport class Cart extends TimeStamps {\n\t@prop({ trim: true, maxlength: 100 })\n\tpublic title?: string;\n\n\t@prop()\n\tpublic slug?: string;\n\n\t@prop({ required: true, ref: () => User })\n\tpublic user!: Ref<User>;\n\n\t@prop({ required: true, ref: () => Shop })\n\tpublic shop!: Ref<Shop>;\n\n\t@prop({ required: false, type: UserAddress })\n\tpublic deliveryAddress?: UserAddress;\n\n\t@prop({ type: Boolean, default: false })\n\tpublic isGroupOrder?: boolean;\n\n\t@prop({ type: Date })\n\tpublic deadlineToOrder?: Date;\n\n\t@prop({ type: String, enum: PaymentPreference })\n\tpublic paymentPreference?: PaymentPreference;\n\n\t@prop({ type: Number, default: Infinity })\n\tpublic spendingLimitForGuest?: number;\n\n\t@prop({\n\t\tenum: CartStatus,\n\t\ttype: String,\n\t\tdefault: CartStatus.ACTIVE,\n\t\trequired: true,\n\t})\n\tpublic status!: CartStatus;\n\n\t@prop({ ref: () => Coupon })\n\tpublic coupon?: Ref<Coupon>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"category.model.js","sourceRoot":"/","sources":["libraries/mongo/models/category.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsE;AACtE,4EAAqE;AACrE,kDAA2D;AAOpD,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,QAAQ,CAAY;IAGpB,cAAc,CAAiB;IAG/B,MAAM,CAAU;IAGhB,IAAI,CAAU;CACrB,CAAA;AAlBY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACD;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;0CAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;gDACQ;AAG/B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;wCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACF;mBAjBT,QAAQ;IALpB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7D,IAAA,iBAAK,EACL,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EACxB,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CACpF;GACY,QAAQ,CAkBpB","sourcesContent":["import { Index, modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ItemType, Status } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'categories' } })\r\n@Index(\r\n\t{ name: 1, itemType: 1 },\r\n\t{ unique: true, partialFilterExpression: { parentCategory: null, deletedAt: null } }\r\n)\r\nexport class Category 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 image?: string;\r\n\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ ref: () => Category })\r\n\tpublic parentCategory?: Ref<Category>;\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 note?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"category.model.js","sourceRoot":"/","sources":["libraries/mongo/models/category.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsE;AACtE,4EAAqE;AACrE,kDAA2D;AAOpD,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,QAAQ,CAAY;IAGpB,cAAc,CAAiB;IAG/B,MAAM,CAAU;IAGhB,IAAI,CAAU;CACrB,CAAA;AAlBY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACD;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;0CAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;gDACQ;AAG/B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;wCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACF;mBAjBT,QAAQ;IALpB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7D,IAAA,iBAAK,EACL,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EACxB,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CACpF;GACY,QAAQ,CAkBpB","sourcesContent":["import { Index, modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { ItemType, Status } from '../../../utilities/enum';\n\n@modelOptions({ schemaOptions: { collection: 'categories' } })\n@Index(\n\t{ name: 1, itemType: 1 },\n\t{ unique: true, partialFilterExpression: { parentCategory: null, deletedAt: null } }\n)\nexport class Category extends TimeStamps {\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({ ref: () => Category })\n\tpublic parentCategory?: Ref<Category>;\n\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\n\tpublic status?: Status;\n\n\t@prop({ type: String })\n\tpublic note?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"core-auth-identity.model.js","sourceRoot":"/","sources":["libraries/mongo/models/core-auth-identity.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,kDAA+D;AAC/D,uDAA6C;AAGtC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAErB,IAAI,CAAiB;IAGrB,IAAI,CAAwB;CACnC,CAAA;AANY,4CAAgB;AAErB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;8CAClB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAAoB,EAAE,CAAC;;8CAChC;2BALvB,gBAAgB;IAD5B,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC;GAC/E,gBAAgB,CAM5B","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { CoreAuthIdentityType } from '../../../utilities/enum';\r\nimport { CoreUser } from './core-user.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'authIdentities', discriminatorKey: 'type' } })\r\nexport class CoreAuthIdentity {\r\n\t@prop({ required: true, ref: () => CoreUser })\r\n\tpublic user!: Ref<CoreUser>;\r\n\r\n\t@prop({ required: true, type: String, enum: CoreAuthIdentityType })\r\n\tpublic type!: CoreAuthIdentityType;\r\n}\r\n"]}
1
+ {"version":3,"file":"core-auth-identity.model.js","sourceRoot":"/","sources":["libraries/mongo/models/core-auth-identity.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,kDAA+D;AAC/D,uDAA6C;AAGtC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAErB,IAAI,CAAiB;IAGrB,IAAI,CAAwB;CACnC,CAAA;AANY,4CAAgB;AAErB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;8CAClB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAAoB,EAAE,CAAC;;8CAChC;2BALvB,gBAAgB;IAD5B,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC;GAC/E,gBAAgB,CAM5B","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\nimport { CoreAuthIdentityType } from '../../../utilities/enum';\nimport { CoreUser } from './core-user.model';\n\n@modelOptions({ schemaOptions: { collection: 'authIdentities', discriminatorKey: 'type' } })\nexport class CoreAuthIdentity {\n\t@prop({ required: true, ref: () => CoreUser })\n\tpublic user!: Ref<CoreUser>;\n\n\t@prop({ required: true, type: String, enum: CoreAuthIdentityType })\n\tpublic type!: CoreAuthIdentityType;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"core-user.model.js","sourceRoot":"/","sources":["libraries/mongo/models/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAiD;AAG1C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,GAAG,CAAQ;IAGX,WAAW,CAAU;IAGrB,SAAS,CAAY;IAGrB,YAAY,CAAU;IAGtB,MAAM,CAAU;IAGhB,SAAS,CAAY;IAGrB,gBAAgB,CAAU;CACjC,CAAA;AA9BY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCAChB;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACxB,IAAI;qCAAC;AAGX;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CAChB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CACM;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;wCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;;2CACnB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kDACU;mBA7BrB,QAAQ;IADpB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;GAChD,QAAQ,CA8BpB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Status } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'coreUsers' } })\r\nexport class CoreUser extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: 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 gender!: string;\r\n\r\n\t@prop({ required: true, type: Date })\r\n\tpublic dob!: Date;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic countryISO2!: string;\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic fcmTokens?: string[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic profilePhoto?: string;\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ required: true, type: () => [String] })\r\n\tpublic deviceIds!: string[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic stripeCustomerId?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"core-user.model.js","sourceRoot":"/","sources":["libraries/mongo/models/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAiD;AAG1C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,GAAG,CAAQ;IAGX,WAAW,CAAU;IAGrB,SAAS,CAAY;IAGrB,YAAY,CAAU;IAGtB,MAAM,CAAU;IAGhB,SAAS,CAAY;IAGrB,gBAAgB,CAAU;CACjC,CAAA;AA9BY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCAChB;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACxB,IAAI;qCAAC;AAGX;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CAChB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CACM;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;wCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;;2CACnB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kDACU;mBA7BrB,QAAQ;IADpB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;GAChD,QAAQ,CA8BpB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { Status } from '../../../utilities/enum';\n\n@modelOptions({ schemaOptions: { collection: 'coreUsers' } })\nexport class CoreUser extends TimeStamps {\n\t@prop({ required: true, type: String })\n\tpublic name!: string;\n\n\t@prop({ required: true, type: String })\n\tpublic email!: string;\n\n\t@prop({ required: true, type: String })\n\tpublic gender!: string;\n\n\t@prop({ required: true, type: Date })\n\tpublic dob!: Date;\n\n\t@prop({ required: true, type: String })\n\tpublic countryISO2!: string;\n\n\t@prop({ type: () => [String], default: [] })\n\tpublic fcmTokens?: string[];\n\n\t@prop({ type: String })\n\tpublic profilePhoto?: string;\n\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\n\tpublic status?: Status;\n\n\t@prop({ required: true, type: () => [String] })\n\tpublic deviceIds!: string[];\n\n\t@prop({ type: String })\n\tpublic stripeCustomerId?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"counter.model.js","sourceRoot":"/","sources":["libraries/mongo/models/counter.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAsD;AAG/C,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,2BAAU;IAE/B,WAAW,CAAe;IAG1B,KAAK,CAAU;CACtB,CAAA;AANY,0BAAO;AAEZ;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;;4CACvC;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sCACf;kBALV,OAAO;IADnB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;GAC/C,OAAO,CAMnB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { CounterType } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'counters' } })\r\nexport class Counter extends TimeStamps {\r\n\t@prop({ required: true, unique: true, type: String, enum: CounterType })\r\n\tpublic counterType!: CounterType;\r\n\r\n\t@prop({ required: true, default: 0 })\r\n\tpublic value!: number;\r\n}\r\n"]}
1
+ {"version":3,"file":"counter.model.js","sourceRoot":"/","sources":["libraries/mongo/models/counter.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAsD;AAG/C,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,2BAAU;IAE/B,WAAW,CAAe;IAG1B,KAAK,CAAU;CACtB,CAAA;AANY,0BAAO;AAEZ;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;;4CACvC;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sCACf;kBALV,OAAO;IADnB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;GAC/C,OAAO,CAMnB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { CounterType } from '../../../utilities/enum';\n\n@modelOptions({ schemaOptions: { collection: 'counters' } })\nexport class Counter extends TimeStamps {\n\t@prop({ required: true, unique: true, type: String, enum: CounterType })\n\tpublic counterType!: CounterType;\n\n\t@prop({ required: true, default: 0 })\n\tpublic value!: number;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"coupon.model.js","sourceRoot":"/","sources":["libraries/mongo/models/coupon.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAqD;AAK9C,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,2BAAU;IAE9B,IAAI,CAAU;IAGd,UAAU,CAAc;IAGxB,iBAAiB,CAAiB;CACzC,CAAA;AATY,wBAAM;AAEX;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oCAC/C;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAU,EAAE,CAAC;;0CAC1B;AAGxB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iDACG;iBAR7B,MAAM;IAHlB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE;KACxE,CAAC;GACW,MAAM,CASlB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { CouponType } from '../../../utilities/enum';\r\n\r\n@modelOptions({\r\n\tschemaOptions: { collection: 'coupons', discriminatorKey: 'couponType' },\r\n})\r\nexport class Coupon extends TimeStamps {\r\n\t@prop({ required: true, uppercase: true, trim: true, type: String })\r\n\tpublic code!: string;\r\n\r\n\t@prop({ required: true, type: String, enum: CouponType })\r\n\tpublic couponType!: CouponType;\r\n\r\n\t@prop({ type: Number, default: null })\r\n\tpublic orderLimitPerUser?: number | null;\r\n}\r\n"]}
1
+ {"version":3,"file":"coupon.model.js","sourceRoot":"/","sources":["libraries/mongo/models/coupon.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAqD;AAK9C,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,2BAAU;IAE9B,IAAI,CAAU;IAGd,UAAU,CAAc;IAGxB,iBAAiB,CAAiB;CACzC,CAAA;AATY,wBAAM;AAEX;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oCAC/C;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAU,EAAE,CAAC;;0CAC1B;AAGxB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iDACG;iBAR7B,MAAM;IAHlB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE;KACxE,CAAC;GACW,MAAM,CASlB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { CouponType } from '../../../utilities/enum';\n\n@modelOptions({\n\tschemaOptions: { collection: 'coupons', discriminatorKey: 'couponType' },\n})\nexport class Coupon extends TimeStamps {\n\t@prop({ required: true, uppercase: true, trim: true, type: String })\n\tpublic code!: string;\n\n\t@prop({ required: true, type: String, enum: CouponType })\n\tpublic couponType!: CouponType;\n\n\t@prop({ type: Number, default: null })\n\tpublic orderLimitPerUser?: number | null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"deal-setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/deal-setting.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAmD;AAG5C,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAU;IAEnC,QAAQ,CAAY;IAGpB,iBAAiB,CAAY;IAG7B,UAAU,CAAW;IAGrB,UAAU,CAAW;IAGrB,cAAc,CAAW;IAGzB,gBAAgB,CAAW;CAClC,CAAA;AAlBY,kCAAW;AAEhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;6CAC1C;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;sDACF;AAG7B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDACP;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qDACL;sBAjBtB,WAAW;IADvB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC;GACnD,WAAW,CAkBvB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ItemType } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'dealSettings' } })\r\nexport class DealSetting extends TimeStamps {\r\n\t@prop({ required: true, unique: true, type: String, enum: ItemType })\r\n\tpublic itemType?: ItemType;\r\n\r\n\t@prop({ type: [Number], default: [] })\r\n\tpublic percentageBundles?: number[];\r\n\r\n\t@prop({ type: Boolean, default: true })\r\n\tpublic isDiscount?: boolean;\r\n\r\n\t@prop({ type: Boolean, default: true })\r\n\tpublic isBuy1Get1?: boolean;\r\n\r\n\t@prop({ type: Boolean, default: true })\r\n\tpublic isFreeDelivery?: boolean;\r\n\r\n\t@prop({ type: Boolean, default: true })\r\n\tpublic isPunchMarketing?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"deal-setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/deal-setting.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAmD;AAG5C,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAU;IAEnC,QAAQ,CAAY;IAGpB,iBAAiB,CAAY;IAG7B,UAAU,CAAW;IAGrB,UAAU,CAAW;IAGrB,cAAc,CAAW;IAGzB,gBAAgB,CAAW;CAClC,CAAA;AAlBY,kCAAW;AAEhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;6CAC1C;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;sDACF;AAG7B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDACP;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qDACL;sBAjBtB,WAAW;IADvB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC;GACnD,WAAW,CAkBvB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { ItemType } from '../../../utilities/enum';\n\n@modelOptions({ schemaOptions: { collection: 'dealSettings' } })\nexport class DealSetting extends TimeStamps {\n\t@prop({ required: true, unique: true, type: String, enum: ItemType })\n\tpublic itemType?: ItemType;\n\n\t@prop({ type: [Number], default: [] })\n\tpublic percentageBundles?: number[];\n\n\t@prop({ type: Boolean, default: true })\n\tpublic isDiscount?: boolean;\n\n\t@prop({ type: Boolean, default: true })\n\tpublic isBuy1Get1?: boolean;\n\n\t@prop({ type: Boolean, default: true })\n\tpublic isFreeDelivery?: boolean;\n\n\t@prop({ type: Boolean, default: true })\n\tpublic isPunchMarketing?: boolean;\n}\n"]}