@lyxa.ai/core 1.4.312 → 1.4.313-alpha-4

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 (985) hide show
  1. package/dist/libraries/llm/interfaces/common-llm-interfaces.d.ts +0 -4
  2. package/dist/libraries/llm/interfaces/common-llm-interfaces.js.map +1 -1
  3. package/dist/libraries/llm/llm-provider-service.js +1 -1
  4. package/dist/libraries/llm/llm-provider-service.js.map +1 -1
  5. package/dist/libraries/llm/providers/openai-provider.d.ts +0 -4
  6. package/dist/libraries/llm/providers/openai-provider.js +13 -42
  7. package/dist/libraries/llm/providers/openai-provider.js.map +1 -1
  8. package/dist/libraries/map/providers/osrm.js.map +1 -1
  9. package/dist/libraries/mongo/models/banner.model.d.ts +6 -6
  10. package/dist/libraries/mongo/models/banner.model.js +6 -6
  11. package/dist/libraries/mongo/models/banner.model.js.map +1 -1
  12. package/dist/libraries/mongo/models/cart.model.d.ts +2 -2
  13. package/dist/libraries/mongo/models/cart.model.js +1 -1
  14. package/dist/libraries/mongo/models/cart.model.js.map +1 -1
  15. package/dist/libraries/mongo/models/category.model.d.ts +2 -2
  16. package/dist/libraries/mongo/models/category.model.js +1 -1
  17. package/dist/libraries/mongo/models/category.model.js.map +1 -1
  18. package/dist/libraries/mongo/models/deal-setting.model.d.ts +1 -2
  19. package/dist/libraries/mongo/models/deal-setting.model.js +1 -2
  20. package/dist/libraries/mongo/models/deal-setting.model.js.map +1 -1
  21. package/dist/libraries/mongo/models/embedded/service-control-product-config.model.d.ts +9 -0
  22. package/dist/libraries/mongo/models/embedded/service-control-product-config.model.js +52 -0
  23. package/dist/libraries/mongo/models/embedded/service-control-product-config.model.js.map +1 -0
  24. package/dist/libraries/mongo/models/featured-setting.model.js.map +1 -1
  25. package/dist/libraries/mongo/models/filter-container.model.d.ts +2 -2
  26. package/dist/libraries/mongo/models/filter-container.model.js +1 -1
  27. package/dist/libraries/mongo/models/filter-container.model.js.map +1 -1
  28. package/dist/libraries/mongo/models/finance-settlement.model.js.map +1 -1
  29. package/dist/libraries/mongo/models/line-item.model.d.ts +2 -2
  30. package/dist/libraries/mongo/models/line-item.model.js +1 -1
  31. package/dist/libraries/mongo/models/line-item.model.js.map +1 -1
  32. package/dist/libraries/mongo/models/list-container.model.d.ts +2 -2
  33. package/dist/libraries/mongo/models/list-container.model.js +1 -1
  34. package/dist/libraries/mongo/models/list-container.model.js.map +1 -1
  35. package/dist/libraries/mongo/models/order.model.js.map +1 -1
  36. package/dist/libraries/mongo/models/parent.model.d.ts +2 -2
  37. package/dist/libraries/mongo/models/parent.model.js +1 -1
  38. package/dist/libraries/mongo/models/parent.model.js.map +1 -1
  39. package/dist/libraries/mongo/models/product.model.d.ts +2 -2
  40. package/dist/libraries/mongo/models/product.model.js +1 -1
  41. package/dist/libraries/mongo/models/product.model.js.map +1 -1
  42. package/dist/libraries/mongo/models/providers/custom-coupon.model.js.map +1 -1
  43. package/dist/libraries/mongo/models/providers/individual-store-coupon.model.js.map +1 -1
  44. package/dist/libraries/mongo/models/providers/individual-user-coupon.model.js.map +1 -1
  45. package/dist/libraries/mongo/models/providers/shops-categories-coupon.model.js.map +1 -1
  46. package/dist/libraries/mongo/models/service-control.model.d.ts +11 -2
  47. package/dist/libraries/mongo/models/service-control.model.js +47 -6
  48. package/dist/libraries/mongo/models/service-control.model.js.map +1 -1
  49. package/dist/libraries/mongo/models/shop.model.d.ts +2 -2
  50. package/dist/libraries/mongo/models/shop.model.js +1 -1
  51. package/dist/libraries/mongo/models/shop.model.js.map +1 -1
  52. package/dist/libraries/mongo/models/tag.model.d.ts +2 -2
  53. package/dist/libraries/mongo/models/tag.model.js +1 -1
  54. package/dist/libraries/mongo/models/tag.model.js.map +1 -1
  55. package/dist/libraries/mongo/models/user-app-section-setting.model.d.ts +2 -2
  56. package/dist/libraries/mongo/models/user-app-section-setting.model.js +1 -1
  57. package/dist/libraries/mongo/models/user-app-section-setting.model.js.map +1 -1
  58. package/dist/types/README.md +1 -1
  59. package/dist/types/index.js.map +1 -0
  60. package/dist/types/libraries/auth/index.d.ts +77 -0
  61. package/dist/types/libraries/auth/index.js +270 -0
  62. package/dist/types/libraries/auth/index.js.map +1 -0
  63. package/dist/types/libraries/auth/refreshtoken.d.ts +15 -0
  64. package/dist/types/libraries/auth/refreshtoken.js +91 -0
  65. package/dist/types/libraries/auth/refreshtoken.js.map +1 -0
  66. package/dist/types/libraries/auth/repository.d.ts +18 -0
  67. package/dist/types/libraries/auth/repository.js +43 -0
  68. package/dist/types/libraries/auth/repository.js.map +1 -0
  69. package/dist/types/libraries/bullmq/bull-mq-service.d.ts +9 -0
  70. package/dist/types/libraries/bullmq/bull-mq-service.js +42 -0
  71. package/dist/types/libraries/bullmq/bull-mq-service.js.map +1 -0
  72. package/dist/types/libraries/cache/settings/index.d.ts +7 -0
  73. package/dist/types/libraries/cache/settings/index.js +56 -0
  74. package/dist/types/libraries/cache/settings/index.js.map +1 -0
  75. package/dist/types/libraries/cash-settlement/cashSettlementService.d.ts +16 -0
  76. package/dist/types/libraries/cash-settlement/cashSettlementService.js +53 -0
  77. package/dist/types/libraries/cash-settlement/cashSettlementService.js.map +1 -0
  78. package/dist/types/libraries/cash-settlement/index.d.ts +2 -0
  79. package/dist/types/libraries/cash-settlement/index.js +19 -0
  80. package/dist/types/libraries/cash-settlement/index.js.map +1 -0
  81. package/dist/types/libraries/cash-settlement/interfaces/ICashSettlement.d.ts +24 -0
  82. package/dist/types/libraries/cash-settlement/interfaces/ICashSettlement.js +10 -0
  83. package/dist/types/libraries/cash-settlement/interfaces/ICashSettlement.js.map +1 -0
  84. package/dist/types/libraries/cash-settlement/providers/bob.d.ts +45 -0
  85. package/dist/types/libraries/cash-settlement/providers/bob.js +634 -0
  86. package/dist/types/libraries/cash-settlement/providers/bob.js.map +1 -0
  87. package/dist/types/libraries/cash-settlement/providers/index.d.ts +1 -0
  88. package/dist/types/libraries/cash-settlement/providers/index.js +18 -0
  89. package/dist/types/libraries/cash-settlement/providers/index.js.map +1 -0
  90. package/dist/types/libraries/cloud-storage/CloudStorageFactory.d.ts +7 -0
  91. package/dist/types/libraries/cloud-storage/CloudStorageFactory.js +18 -0
  92. package/dist/types/libraries/cloud-storage/CloudStorageFactory.js.map +1 -0
  93. package/dist/types/libraries/cloud-storage/index.d.ts +4 -0
  94. package/dist/types/libraries/cloud-storage/index.js +21 -0
  95. package/dist/types/libraries/cloud-storage/index.js.map +1 -0
  96. package/dist/types/libraries/cloud-storage/interfaces/ICloudStorage.d.ts +8 -0
  97. package/dist/types/libraries/cloud-storage/interfaces/ICloudStorage.js +3 -0
  98. package/dist/types/libraries/cloud-storage/interfaces/ICloudStorage.js.map +1 -0
  99. package/dist/types/libraries/cloud-storage/providers/GcsStorageService.d.ts +11 -0
  100. package/dist/types/libraries/cloud-storage/providers/GcsStorageService.js +63 -0
  101. package/dist/types/libraries/cloud-storage/providers/GcsStorageService.js.map +1 -0
  102. package/dist/types/libraries/cloud-storage/types/FileUploadResult.d.ts +11 -0
  103. package/dist/types/libraries/cloud-storage/types/FileUploadResult.js +3 -0
  104. package/dist/types/libraries/cloud-storage/types/FileUploadResult.js.map +1 -0
  105. package/dist/types/libraries/configuration/index.d.ts +39 -0
  106. package/dist/types/libraries/configuration/index.js +84 -0
  107. package/dist/types/libraries/configuration/index.js.map +1 -0
  108. package/dist/types/libraries/configuration/types/EnvironmentConfigurationType.d.ts +9 -0
  109. package/dist/types/libraries/configuration/types/EnvironmentConfigurationType.js +14 -0
  110. package/dist/types/libraries/configuration/types/EnvironmentConfigurationType.js.map +1 -0
  111. package/dist/types/libraries/dispatcher/index.d.ts +10 -0
  112. package/dist/types/libraries/dispatcher/index.js +43 -0
  113. package/dist/types/libraries/dispatcher/index.js.map +1 -0
  114. package/dist/types/libraries/event/BaseEvent.d.ts +7 -0
  115. package/dist/types/libraries/event/BaseEvent.js +19 -0
  116. package/dist/types/libraries/event/BaseEvent.js.map +1 -0
  117. package/dist/types/libraries/event/EventEnums.d.ts +26 -0
  118. package/dist/types/libraries/event/EventEnums.js +31 -0
  119. package/dist/types/libraries/event/EventEnums.js.map +1 -0
  120. package/dist/types/libraries/event/events/index.d.ts +2 -0
  121. package/dist/types/libraries/event/events/index.js +19 -0
  122. package/dist/types/libraries/event/events/index.js.map +1 -0
  123. package/dist/types/libraries/event/events/payout/index.d.ts +1 -0
  124. package/dist/types/libraries/event/events/payout/index.js +18 -0
  125. package/dist/types/libraries/event/events/payout/index.js.map +1 -0
  126. package/dist/types/libraries/event/events/payout/payout-schedule.event.d.ts +9 -0
  127. package/dist/types/libraries/event/events/payout/payout-schedule.event.js +12 -0
  128. package/dist/types/libraries/event/events/payout/payout-schedule.event.js.map +1 -0
  129. package/dist/types/libraries/event/events/rider/cash/index.d.ts +5 -0
  130. package/dist/types/libraries/event/events/rider/cash/index.js +14 -0
  131. package/dist/types/libraries/event/events/rider/cash/index.js.map +1 -0
  132. package/dist/types/libraries/event/events/rider/cash/rider-cash-added.event.d.ts +11 -0
  133. package/dist/types/libraries/event/events/rider/cash/rider-cash-added.event.js +19 -0
  134. package/dist/types/libraries/event/events/rider/cash/rider-cash-added.event.js.map +1 -0
  135. package/dist/types/libraries/event/events/rider/cash/rider-cash-event.d.ts +11 -0
  136. package/dist/types/libraries/event/events/rider/cash/rider-cash-event.js +18 -0
  137. package/dist/types/libraries/event/events/rider/cash/rider-cash-event.js.map +1 -0
  138. package/dist/types/libraries/event/events/rider/cash/rider-cash-hold-period-changed.event.d.ts +10 -0
  139. package/dist/types/libraries/event/events/rider/cash/rider-cash-hold-period-changed.event.js +17 -0
  140. package/dist/types/libraries/event/events/rider/cash/rider-cash-hold-period-changed.event.js.map +1 -0
  141. package/dist/types/libraries/event/events/rider/cash/rider-cash-settled.event.d.ts +11 -0
  142. package/dist/types/libraries/event/events/rider/cash/rider-cash-settled.event.js +19 -0
  143. package/dist/types/libraries/event/events/rider/cash/rider-cash-settled.event.js.map +1 -0
  144. package/dist/types/libraries/event/events/rider/cash/rider-max-cash-balance-for-bob-payout-updated.event.d.ts +10 -0
  145. package/dist/types/libraries/event/events/rider/cash/rider-max-cash-balance-for-bob-payout-updated.event.js +17 -0
  146. package/dist/types/libraries/event/events/rider/cash/rider-max-cash-balance-for-bob-payout-updated.event.js.map +1 -0
  147. package/dist/types/libraries/event/events/rider/index.d.ts +2 -0
  148. package/dist/types/libraries/event/events/rider/index.js +19 -0
  149. package/dist/types/libraries/event/events/rider/index.js.map +1 -0
  150. package/dist/types/libraries/event/events/rider/scoring/index.d.ts +7 -0
  151. package/dist/types/libraries/event/events/rider/scoring/index.js +18 -0
  152. package/dist/types/libraries/event/events/rider/scoring/index.js.map +1 -0
  153. package/dist/types/libraries/event/events/rider/scoring/rider-accepted-order.event.d.ts +11 -0
  154. package/dist/types/libraries/event/events/rider/scoring/rider-accepted-order.event.js +20 -0
  155. package/dist/types/libraries/event/events/rider/scoring/rider-accepted-order.event.js.map +1 -0
  156. package/dist/types/libraries/event/events/rider/scoring/rider-arrived-at-store.event.d.ts +13 -0
  157. package/dist/types/libraries/event/events/rider/scoring/rider-arrived-at-store.event.js +24 -0
  158. package/dist/types/libraries/event/events/rider/scoring/rider-arrived-at-store.event.js.map +1 -0
  159. package/dist/types/libraries/event/events/rider/scoring/rider-assigned-order.event.d.ts +11 -0
  160. package/dist/types/libraries/event/events/rider/scoring/rider-assigned-order.event.js +20 -0
  161. package/dist/types/libraries/event/events/rider/scoring/rider-assigned-order.event.js.map +1 -0
  162. package/dist/types/libraries/event/events/rider/scoring/rider-delivered-order.event.d.ts +13 -0
  163. package/dist/types/libraries/event/events/rider/scoring/rider-delivered-order.event.js +24 -0
  164. package/dist/types/libraries/event/events/rider/scoring/rider-delivered-order.event.js.map +1 -0
  165. package/dist/types/libraries/event/events/rider/scoring/rider-order-completed.event.d.ts +19 -0
  166. package/dist/types/libraries/event/events/rider/scoring/rider-order-completed.event.js +36 -0
  167. package/dist/types/libraries/event/events/rider/scoring/rider-order-completed.event.js.map +1 -0
  168. package/dist/types/libraries/event/events/rider/scoring/rider-rating.event.d.ts +13 -0
  169. package/dist/types/libraries/event/events/rider/scoring/rider-rating.event.js +18 -0
  170. package/dist/types/libraries/event/events/rider/scoring/rider-rating.event.js.map +1 -0
  171. package/dist/types/libraries/event/events/rider/scoring/rider-score-event.d.ts +14 -0
  172. package/dist/types/libraries/event/events/rider/scoring/rider-score-event.js +21 -0
  173. package/dist/types/libraries/event/events/rider/scoring/rider-score-event.js.map +1 -0
  174. package/dist/types/libraries/event/index.d.ts +11 -0
  175. package/dist/types/libraries/event/index.js +152 -0
  176. package/dist/types/libraries/event/index.js.map +1 -0
  177. package/dist/types/libraries/event/registry/SubscriptionRegistry.d.ts +11 -0
  178. package/dist/types/libraries/event/registry/SubscriptionRegistry.js +14 -0
  179. package/dist/types/libraries/event/registry/SubscriptionRegistry.js.map +1 -0
  180. package/dist/types/libraries/firebase/index.d.ts +16 -0
  181. package/dist/types/libraries/firebase/index.js +107 -0
  182. package/dist/types/libraries/firebase/index.js.map +1 -0
  183. package/dist/types/libraries/google-translate/google-translate.client.d.ts +5 -0
  184. package/dist/types/libraries/google-translate/google-translate.client.js +44 -0
  185. package/dist/types/libraries/google-translate/google-translate.client.js.map +1 -0
  186. package/dist/types/libraries/google-translate/google-translate.dto.d.ts +13 -0
  187. package/dist/types/libraries/google-translate/google-translate.dto.js +3 -0
  188. package/dist/types/libraries/google-translate/google-translate.dto.js.map +1 -0
  189. package/dist/types/libraries/google-translate/google-translate.service.d.ts +9 -0
  190. package/dist/types/libraries/google-translate/google-translate.service.js +102 -0
  191. package/dist/types/libraries/google-translate/google-translate.service.js.map +1 -0
  192. package/dist/types/libraries/google-translate/index.d.ts +1 -0
  193. package/dist/types/libraries/google-translate/index.js +18 -0
  194. package/dist/types/libraries/google-translate/index.js.map +1 -0
  195. package/dist/types/libraries/index.d.ts +49 -0
  196. package/dist/types/libraries/index.js +133 -0
  197. package/dist/types/libraries/index.js.map +1 -0
  198. package/dist/types/libraries/llm/interfaces/common-llm-interfaces.d.ts +28 -0
  199. package/dist/types/libraries/llm/interfaces/common-llm-interfaces.js +3 -0
  200. package/dist/types/libraries/llm/interfaces/common-llm-interfaces.js.map +1 -0
  201. package/dist/types/libraries/llm/llm-provider-service.d.ts +13 -0
  202. package/dist/types/libraries/llm/llm-provider-service.js +47 -0
  203. package/dist/types/libraries/llm/llm-provider-service.js.map +1 -0
  204. package/dist/types/libraries/llm/providers/openai-provider.d.ts +19 -0
  205. package/dist/types/libraries/llm/providers/openai-provider.js +223 -0
  206. package/dist/types/libraries/llm/providers/openai-provider.js.map +1 -0
  207. package/dist/types/libraries/logger/index.d.ts +8 -0
  208. package/dist/types/libraries/logger/index.js +75 -0
  209. package/dist/types/libraries/logger/index.js.map +1 -0
  210. package/dist/types/libraries/logger-kit/index.d.ts +3 -0
  211. package/dist/types/libraries/logger-kit/index.js +22 -0
  212. package/dist/types/libraries/logger-kit/index.js.map +1 -0
  213. package/dist/types/libraries/logger-kit/logger.service.d.ts +117 -0
  214. package/dist/types/libraries/logger-kit/logger.service.js +304 -0
  215. package/dist/types/libraries/logger-kit/logger.service.js.map +1 -0
  216. package/dist/types/libraries/logger-kit/types.d.ts +34 -0
  217. package/dist/types/libraries/logger-kit/types.js +3 -0
  218. package/dist/types/libraries/logger-kit/types.js.map +1 -0
  219. package/dist/types/libraries/map/index.d.ts +2 -0
  220. package/dist/types/libraries/map/index.js +19 -0
  221. package/dist/types/libraries/map/index.js.map +1 -0
  222. package/dist/types/libraries/map/interfaces/IMapService.d.ts +43 -0
  223. package/dist/types/libraries/map/interfaces/IMapService.js +9 -0
  224. package/dist/types/libraries/map/interfaces/IMapService.js.map +1 -0
  225. package/dist/types/libraries/map/mapService.d.ts +21 -0
  226. package/dist/types/libraries/map/mapService.js +57 -0
  227. package/dist/types/libraries/map/mapService.js.map +1 -0
  228. package/dist/types/libraries/map/providers/google-maps.d.ts +27 -0
  229. package/dist/types/libraries/map/providers/google-maps.js +462 -0
  230. package/dist/types/libraries/map/providers/google-maps.js.map +1 -0
  231. package/dist/types/libraries/map/providers/index.d.ts +1 -0
  232. package/dist/types/libraries/map/providers/index.js +18 -0
  233. package/dist/types/libraries/map/providers/index.js.map +1 -0
  234. package/dist/types/libraries/map/providers/osrm.d.ts +13 -0
  235. package/dist/types/libraries/map/providers/osrm.js +137 -0
  236. package/dist/types/libraries/map/providers/osrm.js.map +1 -0
  237. package/dist/types/libraries/mongo/index.d.ts +7 -0
  238. package/dist/types/libraries/mongo/index.js +87 -0
  239. package/dist/types/libraries/mongo/index.js.map +1 -0
  240. package/dist/types/libraries/mongo/models/activity-log.model.d.ts +10 -0
  241. package/dist/types/libraries/mongo/models/activity-log.model.js +48 -0
  242. package/dist/types/libraries/mongo/models/activity-log.model.js.map +1 -0
  243. package/dist/types/libraries/mongo/models/admin-access-control.model.d.ts +11 -0
  244. package/dist/types/libraries/mongo/models/admin-access-control.model.js +75 -0
  245. package/dist/types/libraries/mongo/models/admin-access-control.model.js.map +1 -0
  246. package/dist/types/libraries/mongo/models/admin.model.d.ts +11 -0
  247. package/dist/types/libraries/mongo/models/admin.model.js +65 -0
  248. package/dist/types/libraries/mongo/models/admin.model.js.map +1 -0
  249. package/dist/types/libraries/mongo/models/agent-performance.model.d.ts +15 -0
  250. package/dist/types/libraries/mongo/models/agent-performance.model.js +73 -0
  251. package/dist/types/libraries/mongo/models/agent-performance.model.js.map +1 -0
  252. package/dist/types/libraries/mongo/models/app-appearance.model.d.ts +25 -0
  253. package/dist/types/libraries/mongo/models/app-appearance.model.js +102 -0
  254. package/dist/types/libraries/mongo/models/app-appearance.model.js.map +1 -0
  255. package/dist/types/libraries/mongo/models/app-instance.model.d.ts +10 -0
  256. package/dist/types/libraries/mongo/models/app-instance.model.js +54 -0
  257. package/dist/types/libraries/mongo/models/app-instance.model.js.map +1 -0
  258. package/dist/types/libraries/mongo/models/attribute.model.d.ts +13 -0
  259. package/dist/types/libraries/mongo/models/attribute.model.js +58 -0
  260. package/dist/types/libraries/mongo/models/attribute.model.js.map +1 -0
  261. package/dist/types/libraries/mongo/models/banner.model.d.ts +27 -0
  262. package/dist/types/libraries/mongo/models/banner.model.js +118 -0
  263. package/dist/types/libraries/mongo/models/banner.model.js.map +1 -0
  264. package/dist/types/libraries/mongo/models/base/base-coupon.model.d.ts +19 -0
  265. package/dist/types/libraries/mongo/models/base/base-coupon.model.js +90 -0
  266. package/dist/types/libraries/mongo/models/base/base-coupon.model.js.map +1 -0
  267. package/dist/types/libraries/mongo/models/bob-finance.model.d.ts +19 -0
  268. package/dist/types/libraries/mongo/models/bob-finance.model.js +85 -0
  269. package/dist/types/libraries/mongo/models/bob-finance.model.js.map +1 -0
  270. package/dist/types/libraries/mongo/models/booking-cancellation-rescheduling-rules.model.d.ts +9 -0
  271. package/dist/types/libraries/mongo/models/booking-cancellation-rescheduling-rules.model.js +48 -0
  272. package/dist/types/libraries/mongo/models/booking-cancellation-rescheduling-rules.model.js.map +1 -0
  273. package/dist/types/libraries/mongo/models/brand.model.d.ts +5 -0
  274. package/dist/types/libraries/mongo/models/brand.model.js +32 -0
  275. package/dist/types/libraries/mongo/models/brand.model.js.map +1 -0
  276. package/dist/types/libraries/mongo/models/cancellation-reason.model.d.ts +8 -0
  277. package/dist/types/libraries/mongo/models/cancellation-reason.model.js +55 -0
  278. package/dist/types/libraries/mongo/models/cancellation-reason.model.js.map +1 -0
  279. package/dist/types/libraries/mongo/models/card.model.d.ts +19 -0
  280. package/dist/types/libraries/mongo/models/card.model.js +88 -0
  281. package/dist/types/libraries/mongo/models/card.model.js.map +1 -0
  282. package/dist/types/libraries/mongo/models/cart-participant.model.d.ts +29 -0
  283. package/dist/types/libraries/mongo/models/cart-participant.model.js +130 -0
  284. package/dist/types/libraries/mongo/models/cart-participant.model.js.map +1 -0
  285. package/dist/types/libraries/mongo/models/cart.model.d.ts +39 -0
  286. package/dist/types/libraries/mongo/models/cart.model.js +184 -0
  287. package/dist/types/libraries/mongo/models/cart.model.js.map +1 -0
  288. package/dist/types/libraries/mongo/models/category.model.d.ts +12 -0
  289. package/dist/types/libraries/mongo/models/category.model.js +68 -0
  290. package/dist/types/libraries/mongo/models/category.model.js.map +1 -0
  291. package/dist/types/libraries/mongo/models/chat-room.model.d.ts +28 -0
  292. package/dist/types/libraries/mongo/models/chat-room.model.js +99 -0
  293. package/dist/types/libraries/mongo/models/chat-room.model.js.map +1 -0
  294. package/dist/types/libraries/mongo/models/copy-attribute-map.model.d.ts +8 -0
  295. package/dist/types/libraries/mongo/models/copy-attribute-map.model.js +38 -0
  296. package/dist/types/libraries/mongo/models/copy-attribute-map.model.js.map +1 -0
  297. package/dist/types/libraries/mongo/models/copy-product-job.model.d.ts +21 -0
  298. package/dist/types/libraries/mongo/models/copy-product-job.model.js +101 -0
  299. package/dist/types/libraries/mongo/models/copy-product-job.model.js.map +1 -0
  300. package/dist/types/libraries/mongo/models/copy-product-map.model.d.ts +8 -0
  301. package/dist/types/libraries/mongo/models/copy-product-map.model.js +38 -0
  302. package/dist/types/libraries/mongo/models/copy-product-map.model.js.map +1 -0
  303. package/dist/types/libraries/mongo/models/copy-shop-category-map.model.d.ts +8 -0
  304. package/dist/types/libraries/mongo/models/copy-shop-category-map.model.js +38 -0
  305. package/dist/types/libraries/mongo/models/copy-shop-category-map.model.js.map +1 -0
  306. package/dist/types/libraries/mongo/models/core-auth-identity.model.d.ts +7 -0
  307. package/dist/types/libraries/mongo/models/core-auth-identity.model.js +32 -0
  308. package/dist/types/libraries/mongo/models/core-auth-identity.model.js.map +1 -0
  309. package/dist/types/libraries/mongo/models/core-user.model.d.ts +16 -0
  310. package/dist/types/libraries/mongo/models/core-user.model.js +85 -0
  311. package/dist/types/libraries/mongo/models/core-user.model.js.map +1 -0
  312. package/dist/types/libraries/mongo/models/counter.model.d.ts +8 -0
  313. package/dist/types/libraries/mongo/models/counter.model.js +42 -0
  314. package/dist/types/libraries/mongo/models/counter.model.js.map +1 -0
  315. package/dist/types/libraries/mongo/models/coupon.model.d.ts +13 -0
  316. package/dist/types/libraries/mongo/models/coupon.model.js +60 -0
  317. package/dist/types/libraries/mongo/models/coupon.model.js.map +1 -0
  318. package/dist/types/libraries/mongo/models/deal-setting.model.d.ts +9 -0
  319. package/dist/types/libraries/mongo/models/deal-setting.model.js +51 -0
  320. package/dist/types/libraries/mongo/models/deal-setting.model.js.map +1 -0
  321. package/dist/types/libraries/mongo/models/default-chat.model.d.ts +4 -0
  322. package/dist/types/libraries/mongo/models/default-chat.model.js +26 -0
  323. package/dist/types/libraries/mongo/models/default-chat.model.js.map +1 -0
  324. package/dist/types/libraries/mongo/models/delivery-charges.model.d.ts +13 -0
  325. package/dist/types/libraries/mongo/models/delivery-charges.model.js +63 -0
  326. package/dist/types/libraries/mongo/models/delivery-charges.model.js.map +1 -0
  327. package/dist/types/libraries/mongo/models/dish.model.d.ts +18 -0
  328. package/dist/types/libraries/mongo/models/dish.model.js +92 -0
  329. package/dist/types/libraries/mongo/models/dish.model.js.map +1 -0
  330. package/dist/types/libraries/mongo/models/embedded/address-change-history.model.d.ts +25 -0
  331. package/dist/types/libraries/mongo/models/embedded/address-change-history.model.js +112 -0
  332. package/dist/types/libraries/mongo/models/embedded/address-change-history.model.js.map +1 -0
  333. package/dist/types/libraries/mongo/models/embedded/adjustment-information.model.d.ts +33 -0
  334. package/dist/types/libraries/mongo/models/embedded/adjustment-information.model.js +133 -0
  335. package/dist/types/libraries/mongo/models/embedded/adjustment-information.model.js.map +1 -0
  336. package/dist/types/libraries/mongo/models/embedded/agent-notification-setting.model.d.ts +4 -0
  337. package/dist/types/libraries/mongo/models/embedded/agent-notification-setting.model.js +27 -0
  338. package/dist/types/libraries/mongo/models/embedded/agent-notification-setting.model.js.map +1 -0
  339. package/dist/types/libraries/mongo/models/embedded/app-force-update.d.ts +9 -0
  340. package/dist/types/libraries/mongo/models/embedded/app-force-update.js +52 -0
  341. package/dist/types/libraries/mongo/models/embedded/app-force-update.js.map +1 -0
  342. package/dist/types/libraries/mongo/models/embedded/attribute-item.model.d.ts +5 -0
  343. package/dist/types/libraries/mongo/models/embedded/attribute-item.model.js +32 -0
  344. package/dist/types/libraries/mongo/models/embedded/attribute-item.model.js.map +1 -0
  345. package/dist/types/libraries/mongo/models/embedded/attribute-map.model.d.ts +7 -0
  346. package/dist/types/libraries/mongo/models/embedded/attribute-map.model.js +29 -0
  347. package/dist/types/libraries/mongo/models/embedded/attribute-map.model.js.map +1 -0
  348. package/dist/types/libraries/mongo/models/embedded/business-development-setting.model.d.ts +4 -0
  349. package/dist/types/libraries/mongo/models/embedded/business-development-setting.model.js +27 -0
  350. package/dist/types/libraries/mongo/models/embedded/business-development-setting.model.js.map +1 -0
  351. package/dist/types/libraries/mongo/models/embedded/cash-settlement.model.d.ts +9 -0
  352. package/dist/types/libraries/mongo/models/embedded/cash-settlement.model.js +52 -0
  353. package/dist/types/libraries/mongo/models/embedded/cash-settlement.model.js.map +1 -0
  354. package/dist/types/libraries/mongo/models/embedded/cashback-amounts.model.d.ts +5 -0
  355. package/dist/types/libraries/mongo/models/embedded/cashback-amounts.model.js +32 -0
  356. package/dist/types/libraries/mongo/models/embedded/cashback-amounts.model.js.map +1 -0
  357. package/dist/types/libraries/mongo/models/embedded/charge.model.d.ts +5 -0
  358. package/dist/types/libraries/mongo/models/embedded/charge.model.js +28 -0
  359. package/dist/types/libraries/mongo/models/embedded/charge.model.js.map +1 -0
  360. package/dist/types/libraries/mongo/models/embedded/chat-participant.model.d.ts +18 -0
  361. package/dist/types/libraries/mongo/models/embedded/chat-participant.model.js +64 -0
  362. package/dist/types/libraries/mongo/models/embedded/chat-participant.model.js.map +1 -0
  363. package/dist/types/libraries/mongo/models/embedded/cleaning-material.model.d.ts +4 -0
  364. package/dist/types/libraries/mongo/models/embedded/cleaning-material.model.js +27 -0
  365. package/dist/types/libraries/mongo/models/embedded/cleaning-material.model.js.map +1 -0
  366. package/dist/types/libraries/mongo/models/embedded/company-info.model.d.ts +6 -0
  367. package/dist/types/libraries/mongo/models/embedded/company-info.model.js +37 -0
  368. package/dist/types/libraries/mongo/models/embedded/company-info.model.js.map +1 -0
  369. package/dist/types/libraries/mongo/models/embedded/courier-order-finance.model.d.ts +9 -0
  370. package/dist/types/libraries/mongo/models/embedded/courier-order-finance.model.js +36 -0
  371. package/dist/types/libraries/mongo/models/embedded/courier-order-finance.model.js.map +1 -0
  372. package/dist/types/libraries/mongo/models/embedded/courier-setting.model.d.ts +4 -0
  373. package/dist/types/libraries/mongo/models/embedded/courier-setting.model.js +27 -0
  374. package/dist/types/libraries/mongo/models/embedded/courier-setting.model.js.map +1 -0
  375. package/dist/types/libraries/mongo/models/embedded/currency-setting.model.d.ts +7 -0
  376. package/dist/types/libraries/mongo/models/embedded/currency-setting.model.js +38 -0
  377. package/dist/types/libraries/mongo/models/embedded/currency-setting.model.js.map +1 -0
  378. package/dist/types/libraries/mongo/models/embedded/currency.model.d.ts +5 -0
  379. package/dist/types/libraries/mongo/models/embedded/currency.model.js +32 -0
  380. package/dist/types/libraries/mongo/models/embedded/currency.model.js.map +1 -0
  381. package/dist/types/libraries/mongo/models/embedded/customer-support-batches.model.d.ts +4 -0
  382. package/dist/types/libraries/mongo/models/embedded/customer-support-batches.model.js +27 -0
  383. package/dist/types/libraries/mongo/models/embedded/customer-support-batches.model.js.map +1 -0
  384. package/dist/types/libraries/mongo/models/embedded/customer-support-numbers.model.d.ts +4 -0
  385. package/dist/types/libraries/mongo/models/embedded/customer-support-numbers.model.js +27 -0
  386. package/dist/types/libraries/mongo/models/embedded/customer-support-numbers.model.js.map +1 -0
  387. package/dist/types/libraries/mongo/models/embedded/delivery-charge-setting.model.d.ts +10 -0
  388. package/dist/types/libraries/mongo/models/embedded/delivery-charge-setting.model.js +51 -0
  389. package/dist/types/libraries/mongo/models/embedded/delivery-charge-setting.model.js.map +1 -0
  390. package/dist/types/libraries/mongo/models/embedded/delivery-info.model.d.ts +4 -0
  391. package/dist/types/libraries/mongo/models/embedded/delivery-info.model.js +27 -0
  392. package/dist/types/libraries/mongo/models/embedded/delivery-info.model.js.map +1 -0
  393. package/dist/types/libraries/mongo/models/embedded/external-ref.model.d.ts +4 -0
  394. package/dist/types/libraries/mongo/models/embedded/external-ref.model.js +32 -0
  395. package/dist/types/libraries/mongo/models/embedded/external-ref.model.js.map +1 -0
  396. package/dist/types/libraries/mongo/models/embedded/featured-item.mode.d.ts +6 -0
  397. package/dist/types/libraries/mongo/models/embedded/featured-item.mode.js +33 -0
  398. package/dist/types/libraries/mongo/models/embedded/featured-item.mode.js.map +1 -0
  399. package/dist/types/libraries/mongo/models/embedded/frequency-configuration.model.d.ts +7 -0
  400. package/dist/types/libraries/mongo/models/embedded/frequency-configuration.model.js +38 -0
  401. package/dist/types/libraries/mongo/models/embedded/frequency-configuration.model.js.map +1 -0
  402. package/dist/types/libraries/mongo/models/embedded/line-item-attribute.model.d.ts +17 -0
  403. package/dist/types/libraries/mongo/models/embedded/line-item-attribute.model.js +63 -0
  404. package/dist/types/libraries/mongo/models/embedded/line-item-attribute.model.js.map +1 -0
  405. package/dist/types/libraries/mongo/models/embedded/marketing-cut.model.d.ts +46 -0
  406. package/dist/types/libraries/mongo/models/embedded/marketing-cut.model.js +178 -0
  407. package/dist/types/libraries/mongo/models/embedded/marketing-cut.model.js.map +1 -0
  408. package/dist/types/libraries/mongo/models/embedded/order-cancel.model.d.ts +26 -0
  409. package/dist/types/libraries/mongo/models/embedded/order-cancel.model.js +110 -0
  410. package/dist/types/libraries/mongo/models/embedded/order-cancel.model.js.map +1 -0
  411. package/dist/types/libraries/mongo/models/embedded/order-delivery-information.model.d.ts +12 -0
  412. package/dist/types/libraries/mongo/models/embedded/order-delivery-information.model.js +67 -0
  413. package/dist/types/libraries/mongo/models/embedded/order-delivery-information.model.js.map +1 -0
  414. package/dist/types/libraries/mongo/models/embedded/order-finance.model.d.ts +18 -0
  415. package/dist/types/libraries/mongo/models/embedded/order-finance.model.js +64 -0
  416. package/dist/types/libraries/mongo/models/embedded/order-finance.model.js.map +1 -0
  417. package/dist/types/libraries/mongo/models/embedded/order-pricing.model.d.ts +34 -0
  418. package/dist/types/libraries/mongo/models/embedded/order-pricing.model.js +163 -0
  419. package/dist/types/libraries/mongo/models/embedded/order-pricing.model.js.map +1 -0
  420. package/dist/types/libraries/mongo/models/embedded/order-refund.model.d.ts +28 -0
  421. package/dist/types/libraries/mongo/models/embedded/order-refund.model.js +113 -0
  422. package/dist/types/libraries/mongo/models/embedded/order-refund.model.js.map +1 -0
  423. package/dist/types/libraries/mongo/models/embedded/otp-fields.model.d.ts +7 -0
  424. package/dist/types/libraries/mongo/models/embedded/otp-fields.model.js +46 -0
  425. package/dist/types/libraries/mongo/models/embedded/otp-fields.model.js.map +1 -0
  426. package/dist/types/libraries/mongo/models/embedded/package.model.d.ts +25 -0
  427. package/dist/types/libraries/mongo/models/embedded/package.model.js +86 -0
  428. package/dist/types/libraries/mongo/models/embedded/package.model.js.map +1 -0
  429. package/dist/types/libraries/mongo/models/embedded/parent-document.model.d.ts +5 -0
  430. package/dist/types/libraries/mongo/models/embedded/parent-document.model.js +32 -0
  431. package/dist/types/libraries/mongo/models/embedded/parent-document.model.js.map +1 -0
  432. package/dist/types/libraries/mongo/models/embedded/payment-infromation.model.d.ts +7 -0
  433. package/dist/types/libraries/mongo/models/embedded/payment-infromation.model.js +38 -0
  434. package/dist/types/libraries/mongo/models/embedded/payment-infromation.model.js.map +1 -0
  435. package/dist/types/libraries/mongo/models/embedded/payment-record.model.d.ts +10 -0
  436. package/dist/types/libraries/mongo/models/embedded/payment-record.model.js +53 -0
  437. package/dist/types/libraries/mongo/models/embedded/payment-record.model.js.map +1 -0
  438. package/dist/types/libraries/mongo/models/embedded/payout-setting.model.d.ts +5 -0
  439. package/dist/types/libraries/mongo/models/embedded/payout-setting.model.js +28 -0
  440. package/dist/types/libraries/mongo/models/embedded/payout-setting.model.js.map +1 -0
  441. package/dist/types/libraries/mongo/models/embedded/plus-settings.model.d.ts +6 -0
  442. package/dist/types/libraries/mongo/models/embedded/plus-settings.model.js +33 -0
  443. package/dist/types/libraries/mongo/models/embedded/plus-settings.model.js.map +1 -0
  444. package/dist/types/libraries/mongo/models/embedded/preparing-time.model.d.ts +4 -0
  445. package/dist/types/libraries/mongo/models/embedded/preparing-time.model.js +27 -0
  446. package/dist/types/libraries/mongo/models/embedded/preparing-time.model.js.map +1 -0
  447. package/dist/types/libraries/mongo/models/embedded/price-breakdown.model.d.ts +16 -0
  448. package/dist/types/libraries/mongo/models/embedded/price-breakdown.model.js +80 -0
  449. package/dist/types/libraries/mongo/models/embedded/price-breakdown.model.js.map +1 -0
  450. package/dist/types/libraries/mongo/models/embedded/product-category.model.d.ts +4 -0
  451. package/dist/types/libraries/mongo/models/embedded/product-category.model.js +32 -0
  452. package/dist/types/libraries/mongo/models/embedded/product-category.model.js.map +1 -0
  453. package/dist/types/libraries/mongo/models/embedded/product-marketing-info.model.d.ts +17 -0
  454. package/dist/types/libraries/mongo/models/embedded/product-marketing-info.model.js +72 -0
  455. package/dist/types/libraries/mongo/models/embedded/product-marketing-info.model.js.map +1 -0
  456. package/dist/types/libraries/mongo/models/embedded/product-nutrition.model.d.ts +5 -0
  457. package/dist/types/libraries/mongo/models/embedded/product-nutrition.model.js +32 -0
  458. package/dist/types/libraries/mongo/models/embedded/product-nutrition.model.js.map +1 -0
  459. package/dist/types/libraries/mongo/models/embedded/product-search-fields.model.d.ts +12 -0
  460. package/dist/types/libraries/mongo/models/embedded/product-search-fields.model.js +60 -0
  461. package/dist/types/libraries/mongo/models/embedded/product-search-fields.model.js.map +1 -0
  462. package/dist/types/libraries/mongo/models/embedded/product-snap.model.d.ts +16 -0
  463. package/dist/types/libraries/mongo/models/embedded/product-snap.model.js +79 -0
  464. package/dist/types/libraries/mongo/models/embedded/product-snap.model.js.map +1 -0
  465. package/dist/types/libraries/mongo/models/embedded/profit.model.d.ts +22 -0
  466. package/dist/types/libraries/mongo/models/embedded/profit.model.js +96 -0
  467. package/dist/types/libraries/mongo/models/embedded/profit.model.js.map +1 -0
  468. package/dist/types/libraries/mongo/models/embedded/referral-discount-config.model.d.ts +6 -0
  469. package/dist/types/libraries/mongo/models/embedded/referral-discount-config.model.js +38 -0
  470. package/dist/types/libraries/mongo/models/embedded/referral-discount-config.model.js.map +1 -0
  471. package/dist/types/libraries/mongo/models/embedded/regular-order-finance.model.d.ts +19 -0
  472. package/dist/types/libraries/mongo/models/embedded/regular-order-finance.model.js +78 -0
  473. package/dist/types/libraries/mongo/models/embedded/regular-order-finance.model.js.map +1 -0
  474. package/dist/types/libraries/mongo/models/embedded/replacement-order.model.d.ts +28 -0
  475. package/dist/types/libraries/mongo/models/embedded/replacement-order.model.js +109 -0
  476. package/dist/types/libraries/mongo/models/embedded/replacement-order.model.js.map +1 -0
  477. package/dist/types/libraries/mongo/models/embedded/rest-password.model.d.ts +4 -0
  478. package/dist/types/libraries/mongo/models/embedded/rest-password.model.js +27 -0
  479. package/dist/types/libraries/mongo/models/embedded/rest-password.model.js.map +1 -0
  480. package/dist/types/libraries/mongo/models/embedded/rider-assignment-model.d.ts +9 -0
  481. package/dist/types/libraries/mongo/models/embedded/rider-assignment-model.js +44 -0
  482. package/dist/types/libraries/mongo/models/embedded/rider-assignment-model.js.map +1 -0
  483. package/dist/types/libraries/mongo/models/embedded/rider-batches.model.d.ts +4 -0
  484. package/dist/types/libraries/mongo/models/embedded/rider-batches.model.js +27 -0
  485. package/dist/types/libraries/mongo/models/embedded/rider-batches.model.js.map +1 -0
  486. package/dist/types/libraries/mongo/models/embedded/rider-equipment.model.d.ts +4 -0
  487. package/dist/types/libraries/mongo/models/embedded/rider-equipment.model.js +27 -0
  488. package/dist/types/libraries/mongo/models/embedded/rider-equipment.model.js.map +1 -0
  489. package/dist/types/libraries/mongo/models/embedded/rider-setting.model.d.ts +9 -0
  490. package/dist/types/libraries/mongo/models/embedded/rider-setting.model.js +52 -0
  491. package/dist/types/libraries/mongo/models/embedded/rider-setting.model.js.map +1 -0
  492. package/dist/types/libraries/mongo/models/embedded/rider-statistics.d.ts +11 -0
  493. package/dist/types/libraries/mongo/models/embedded/rider-statistics.js +62 -0
  494. package/dist/types/libraries/mongo/models/embedded/rider-statistics.js.map +1 -0
  495. package/dist/types/libraries/mongo/models/embedded/service-booking-cancellation-details.model.d.ts +18 -0
  496. package/dist/types/libraries/mongo/models/embedded/service-booking-cancellation-details.model.js +77 -0
  497. package/dist/types/libraries/mongo/models/embedded/service-booking-cancellation-details.model.js.map +1 -0
  498. package/dist/types/libraries/mongo/models/embedded/service-booking-finance.model.d.ts +23 -0
  499. package/dist/types/libraries/mongo/models/embedded/service-booking-finance.model.js +85 -0
  500. package/dist/types/libraries/mongo/models/embedded/service-booking-finance.model.js.map +1 -0
  501. package/dist/types/libraries/mongo/models/embedded/service-booking-pricing.model.d.ts +24 -0
  502. package/dist/types/libraries/mongo/models/embedded/service-booking-pricing.model.js +127 -0
  503. package/dist/types/libraries/mongo/models/embedded/service-booking-pricing.model.js.map +1 -0
  504. package/dist/types/libraries/mongo/models/embedded/service-booking-refund-information.model.d.ts +16 -0
  505. package/dist/types/libraries/mongo/models/embedded/service-booking-refund-information.model.js +70 -0
  506. package/dist/types/libraries/mongo/models/embedded/service-booking-refund-information.model.js.map +1 -0
  507. package/dist/types/libraries/mongo/models/embedded/service-booking-replacement-information.model.d.ts +19 -0
  508. package/dist/types/libraries/mongo/models/embedded/service-booking-replacement-information.model.js +76 -0
  509. package/dist/types/libraries/mongo/models/embedded/service-booking-replacement-information.model.js.map +1 -0
  510. package/dist/types/libraries/mongo/models/embedded/service-booking-settings.model.d.ts +9 -0
  511. package/dist/types/libraries/mongo/models/embedded/service-booking-settings.model.js +57 -0
  512. package/dist/types/libraries/mongo/models/embedded/service-booking-settings.model.js.map +1 -0
  513. package/dist/types/libraries/mongo/models/embedded/service-control-product-config.model.d.ts +9 -0
  514. package/dist/types/libraries/mongo/models/embedded/service-control-product-config.model.js +52 -0
  515. package/dist/types/libraries/mongo/models/embedded/service-control-product-config.model.js.map +1 -0
  516. package/dist/types/libraries/mongo/models/embedded/service-fee-setting.model.d.ts +5 -0
  517. package/dist/types/libraries/mongo/models/embedded/service-fee-setting.model.js +28 -0
  518. package/dist/types/libraries/mongo/models/embedded/service-fee-setting.model.js.map +1 -0
  519. package/dist/types/libraries/mongo/models/embedded/service-line-item.model.d.ts +40 -0
  520. package/dist/types/libraries/mongo/models/embedded/service-line-item.model.js +164 -0
  521. package/dist/types/libraries/mongo/models/embedded/service-line-item.model.js.map +1 -0
  522. package/dist/types/libraries/mongo/models/embedded/shop-company-details.model.d.ts +5 -0
  523. package/dist/types/libraries/mongo/models/embedded/shop-company-details.model.js +32 -0
  524. package/dist/types/libraries/mongo/models/embedded/shop-company-details.model.js.map +1 -0
  525. package/dist/types/libraries/mongo/models/embedded/shop-default-category.model.d.ts +12 -0
  526. package/dist/types/libraries/mongo/models/embedded/shop-default-category.model.js +47 -0
  527. package/dist/types/libraries/mongo/models/embedded/shop-default-category.model.js.map +1 -0
  528. package/dist/types/libraries/mongo/models/embedded/shop-document.model.d.ts +6 -0
  529. package/dist/types/libraries/mongo/models/embedded/shop-document.model.js +37 -0
  530. package/dist/types/libraries/mongo/models/embedded/shop-document.model.js.map +1 -0
  531. package/dist/types/libraries/mongo/models/embedded/shop-search-fields.model.d.ts +15 -0
  532. package/dist/types/libraries/mongo/models/embedded/shop-search-fields.model.js +75 -0
  533. package/dist/types/libraries/mongo/models/embedded/shop-search-fields.model.js.map +1 -0
  534. package/dist/types/libraries/mongo/models/embedded/spend-to-get-tier.model.d.ts +8 -0
  535. package/dist/types/libraries/mongo/models/embedded/spend-to-get-tier.model.js +43 -0
  536. package/dist/types/libraries/mongo/models/embedded/spend-to-get-tier.model.js.map +1 -0
  537. package/dist/types/libraries/mongo/models/embedded/status-timeline.model.d.ts +25 -0
  538. package/dist/types/libraries/mongo/models/embedded/status-timeline.model.js +97 -0
  539. package/dist/types/libraries/mongo/models/embedded/status-timeline.model.js.map +1 -0
  540. package/dist/types/libraries/mongo/models/embedded/subscription-summary.model.d.ts +8 -0
  541. package/dist/types/libraries/mongo/models/embedded/subscription-summary.model.js +47 -0
  542. package/dist/types/libraries/mongo/models/embedded/subscription-summary.model.js.map +1 -0
  543. package/dist/types/libraries/mongo/models/embedded/support-reason-info.model.d.ts +4 -0
  544. package/dist/types/libraries/mongo/models/embedded/support-reason-info.model.js +27 -0
  545. package/dist/types/libraries/mongo/models/embedded/support-reason-info.model.js.map +1 -0
  546. package/dist/types/libraries/mongo/models/embedded/trip-leg.mode.d.ts +28 -0
  547. package/dist/types/libraries/mongo/models/embedded/trip-leg.mode.js +134 -0
  548. package/dist/types/libraries/mongo/models/embedded/trip-leg.mode.js.map +1 -0
  549. package/dist/types/libraries/mongo/models/embedded/vat.model.d.ts +5 -0
  550. package/dist/types/libraries/mongo/models/embedded/vat.model.js +32 -0
  551. package/dist/types/libraries/mongo/models/embedded/vat.model.js.map +1 -0
  552. package/dist/types/libraries/mongo/models/embedded/wallet.model.d.ts +5 -0
  553. package/dist/types/libraries/mongo/models/embedded/wallet.model.js +32 -0
  554. package/dist/types/libraries/mongo/models/embedded/wallet.model.js.map +1 -0
  555. package/dist/types/libraries/mongo/models/embedded/zone-geometry.mode.d.ts +5 -0
  556. package/dist/types/libraries/mongo/models/embedded/zone-geometry.mode.js +28 -0
  557. package/dist/types/libraries/mongo/models/embedded/zone-geometry.mode.js.map +1 -0
  558. package/dist/types/libraries/mongo/models/favourite.model.d.ts +14 -0
  559. package/dist/types/libraries/mongo/models/favourite.model.js +52 -0
  560. package/dist/types/libraries/mongo/models/favourite.model.js.map +1 -0
  561. package/dist/types/libraries/mongo/models/featured-setting.model.d.ts +7 -0
  562. package/dist/types/libraries/mongo/models/featured-setting.model.js +33 -0
  563. package/dist/types/libraries/mongo/models/featured-setting.model.js.map +1 -0
  564. package/dist/types/libraries/mongo/models/filter-container.model.d.ts +10 -0
  565. package/dist/types/libraries/mongo/models/filter-container.model.js +63 -0
  566. package/dist/types/libraries/mongo/models/filter-container.model.js.map +1 -0
  567. package/dist/types/libraries/mongo/models/finance-settlement.model.d.ts +41 -0
  568. package/dist/types/libraries/mongo/models/finance-settlement.model.js +175 -0
  569. package/dist/types/libraries/mongo/models/finance-settlement.model.js.map +1 -0
  570. package/dist/types/libraries/mongo/models/flag.model.d.ts +22 -0
  571. package/dist/types/libraries/mongo/models/flag.model.js +83 -0
  572. package/dist/types/libraries/mongo/models/flag.model.js.map +1 -0
  573. package/dist/types/libraries/mongo/models/gallery-upload.model.d.ts +17 -0
  574. package/dist/types/libraries/mongo/models/gallery-upload.model.js +77 -0
  575. package/dist/types/libraries/mongo/models/gallery-upload.model.js.map +1 -0
  576. package/dist/types/libraries/mongo/models/gallery.model.d.ts +13 -0
  577. package/dist/types/libraries/mongo/models/gallery.model.js +59 -0
  578. package/dist/types/libraries/mongo/models/gallery.model.js.map +1 -0
  579. package/dist/types/libraries/mongo/models/google-maps-usage.model.d.ts +21 -0
  580. package/dist/types/libraries/mongo/models/google-maps-usage.model.js +255 -0
  581. package/dist/types/libraries/mongo/models/google-maps-usage.model.js.map +1 -0
  582. package/dist/types/libraries/mongo/models/index.d.ts +398 -0
  583. package/dist/types/libraries/mongo/models/index.js +488 -0
  584. package/dist/types/libraries/mongo/models/index.js.map +1 -0
  585. package/dist/types/libraries/mongo/models/integration-configuration.model.d.ts +5 -0
  586. package/dist/types/libraries/mongo/models/integration-configuration.model.js +33 -0
  587. package/dist/types/libraries/mongo/models/integration-configuration.model.js.map +1 -0
  588. package/dist/types/libraries/mongo/models/limited-time-offer-campaign-session.model.d.ts +9 -0
  589. package/dist/types/libraries/mongo/models/limited-time-offer-campaign-session.model.js +45 -0
  590. package/dist/types/libraries/mongo/models/limited-time-offer-campaign-session.model.js.map +1 -0
  591. package/dist/types/libraries/mongo/models/limited-time-offer-campaign.model.d.ts +14 -0
  592. package/dist/types/libraries/mongo/models/limited-time-offer-campaign.model.js +76 -0
  593. package/dist/types/libraries/mongo/models/limited-time-offer-campaign.model.js.map +1 -0
  594. package/dist/types/libraries/mongo/models/limited-time-offer-config.d.ts +6 -0
  595. package/dist/types/libraries/mongo/models/limited-time-offer-config.js +36 -0
  596. package/dist/types/libraries/mongo/models/limited-time-offer-config.js.map +1 -0
  597. package/dist/types/libraries/mongo/models/limited-time-offer-participant.model.d.ts +22 -0
  598. package/dist/types/libraries/mongo/models/limited-time-offer-participant.model.js +96 -0
  599. package/dist/types/libraries/mongo/models/limited-time-offer-participant.model.js.map +1 -0
  600. package/dist/types/libraries/mongo/models/line-item.model.d.ts +47 -0
  601. package/dist/types/libraries/mongo/models/line-item.model.js +205 -0
  602. package/dist/types/libraries/mongo/models/line-item.model.js.map +1 -0
  603. package/dist/types/libraries/mongo/models/list-container.model.d.ts +19 -0
  604. package/dist/types/libraries/mongo/models/list-container.model.js +92 -0
  605. package/dist/types/libraries/mongo/models/list-container.model.js.map +1 -0
  606. package/dist/types/libraries/mongo/models/log.model.d.ts +35 -0
  607. package/dist/types/libraries/mongo/models/log.model.js +163 -0
  608. package/dist/types/libraries/mongo/models/log.model.js.map +1 -0
  609. package/dist/types/libraries/mongo/models/marketing.model.d.ts +18 -0
  610. package/dist/types/libraries/mongo/models/marketing.model.js +88 -0
  611. package/dist/types/libraries/mongo/models/marketing.model.js.map +1 -0
  612. package/dist/types/libraries/mongo/models/meal-plan.model.d.ts +9 -0
  613. package/dist/types/libraries/mongo/models/meal-plan.model.js +51 -0
  614. package/dist/types/libraries/mongo/models/meal-plan.model.js.map +1 -0
  615. package/dist/types/libraries/mongo/models/message.model.d.ts +25 -0
  616. package/dist/types/libraries/mongo/models/message.model.js +105 -0
  617. package/dist/types/libraries/mongo/models/message.model.js.map +1 -0
  618. package/dist/types/libraries/mongo/models/notification.model.d.ts +53 -0
  619. package/dist/types/libraries/mongo/models/notification.model.js +201 -0
  620. package/dist/types/libraries/mongo/models/notification.model.js.map +1 -0
  621. package/dist/types/libraries/mongo/models/nutrition.model.d.ts +6 -0
  622. package/dist/types/libraries/mongo/models/nutrition.model.js +33 -0
  623. package/dist/types/libraries/mongo/models/nutrition.model.js.map +1 -0
  624. package/dist/types/libraries/mongo/models/order.model.d.ts +67 -0
  625. package/dist/types/libraries/mongo/models/order.model.js +355 -0
  626. package/dist/types/libraries/mongo/models/order.model.js.map +1 -0
  627. package/dist/types/libraries/mongo/models/parent.model.d.ts +29 -0
  628. package/dist/types/libraries/mongo/models/parent.model.js +144 -0
  629. package/dist/types/libraries/mongo/models/parent.model.js.map +1 -0
  630. package/dist/types/libraries/mongo/models/payment-configuration.model.d.ts +6 -0
  631. package/dist/types/libraries/mongo/models/payment-configuration.model.js +33 -0
  632. package/dist/types/libraries/mongo/models/payment-configuration.model.js.map +1 -0
  633. package/dist/types/libraries/mongo/models/payment-intent.model.d.ts +17 -0
  634. package/dist/types/libraries/mongo/models/payment-intent.model.js +79 -0
  635. package/dist/types/libraries/mongo/models/payment-intent.model.js.map +1 -0
  636. package/dist/types/libraries/mongo/models/payout.model.d.ts +15 -0
  637. package/dist/types/libraries/mongo/models/payout.model.js +86 -0
  638. package/dist/types/libraries/mongo/models/payout.model.js.map +1 -0
  639. package/dist/types/libraries/mongo/models/product-brand.model.d.ts +7 -0
  640. package/dist/types/libraries/mongo/models/product-brand.model.js +38 -0
  641. package/dist/types/libraries/mongo/models/product-brand.model.js.map +1 -0
  642. package/dist/types/libraries/mongo/models/product-marketing.model.d.ts +13 -0
  643. package/dist/types/libraries/mongo/models/product-marketing.model.js +57 -0
  644. package/dist/types/libraries/mongo/models/product-marketing.model.js.map +1 -0
  645. package/dist/types/libraries/mongo/models/product-stock-tracker.model.d.ts +15 -0
  646. package/dist/types/libraries/mongo/models/product-stock-tracker.model.js +57 -0
  647. package/dist/types/libraries/mongo/models/product-stock-tracker.model.js.map +1 -0
  648. package/dist/types/libraries/mongo/models/product-upload.model.d.ts +25 -0
  649. package/dist/types/libraries/mongo/models/product-upload.model.js +105 -0
  650. package/dist/types/libraries/mongo/models/product-upload.model.js.map +1 -0
  651. package/dist/types/libraries/mongo/models/product.model.d.ts +63 -0
  652. package/dist/types/libraries/mongo/models/product.model.js +339 -0
  653. package/dist/types/libraries/mongo/models/product.model.js.map +1 -0
  654. package/dist/types/libraries/mongo/models/professional-blocked-time.model.d.ts +10 -0
  655. package/dist/types/libraries/mongo/models/professional-blocked-time.model.js +49 -0
  656. package/dist/types/libraries/mongo/models/professional-blocked-time.model.js.map +1 -0
  657. package/dist/types/libraries/mongo/models/professional.model.d.ts +17 -0
  658. package/dist/types/libraries/mongo/models/professional.model.js +91 -0
  659. package/dist/types/libraries/mongo/models/professional.model.js.map +1 -0
  660. package/dist/types/libraries/mongo/models/providers/buy1-get1-marketing.model.d.ts +16 -0
  661. package/dist/types/libraries/mongo/models/providers/buy1-get1-marketing.model.js +62 -0
  662. package/dist/types/libraries/mongo/models/providers/buy1-get1-marketing.model.js.map +1 -0
  663. package/dist/types/libraries/mongo/models/providers/core-apple-auth-identity.model.d.ts +5 -0
  664. package/dist/types/libraries/mongo/models/providers/core-apple-auth-identity.model.js +28 -0
  665. package/dist/types/libraries/mongo/models/providers/core-apple-auth-identity.model.js.map +1 -0
  666. package/dist/types/libraries/mongo/models/providers/core-email-auth-identity.model.d.ts +9 -0
  667. package/dist/types/libraries/mongo/models/providers/core-email-auth-identity.model.js +69 -0
  668. package/dist/types/libraries/mongo/models/providers/core-email-auth-identity.model.js.map +1 -0
  669. package/dist/types/libraries/mongo/models/providers/core-google-auth-identity.model.d.ts +5 -0
  670. package/dist/types/libraries/mongo/models/providers/core-google-auth-identity.model.js +28 -0
  671. package/dist/types/libraries/mongo/models/providers/core-google-auth-identity.model.js.map +1 -0
  672. package/dist/types/libraries/mongo/models/providers/core-phone-auth-identity.model.d.ts +6 -0
  673. package/dist/types/libraries/mongo/models/providers/core-phone-auth-identity.model.js +29 -0
  674. package/dist/types/libraries/mongo/models/providers/core-phone-auth-identity.model.js.map +1 -0
  675. package/dist/types/libraries/mongo/models/providers/courier-order.model.d.ts +41 -0
  676. package/dist/types/libraries/mongo/models/providers/courier-order.model.js +151 -0
  677. package/dist/types/libraries/mongo/models/providers/courier-order.model.js.map +1 -0
  678. package/dist/types/libraries/mongo/models/providers/custom-coupon.model.d.ts +13 -0
  679. package/dist/types/libraries/mongo/models/providers/custom-coupon.model.js +43 -0
  680. package/dist/types/libraries/mongo/models/providers/custom-coupon.model.js.map +1 -0
  681. package/dist/types/libraries/mongo/models/providers/discount-marketing.model.d.ts +22 -0
  682. package/dist/types/libraries/mongo/models/providers/discount-marketing.model.js +92 -0
  683. package/dist/types/libraries/mongo/models/providers/discount-marketing.model.js.map +1 -0
  684. package/dist/types/libraries/mongo/models/providers/featured-marketing.model.d.ts +6 -0
  685. package/dist/types/libraries/mongo/models/providers/featured-marketing.model.js +25 -0
  686. package/dist/types/libraries/mongo/models/providers/featured-marketing.model.js.map +1 -0
  687. package/dist/types/libraries/mongo/models/providers/free-delivery-marketing.model.d.ts +7 -0
  688. package/dist/types/libraries/mongo/models/providers/free-delivery-marketing.model.js +30 -0
  689. package/dist/types/libraries/mongo/models/providers/free-delivery-marketing.model.js.map +1 -0
  690. package/dist/types/libraries/mongo/models/providers/global-coupon.model.d.ts +5 -0
  691. package/dist/types/libraries/mongo/models/providers/global-coupon.model.js +10 -0
  692. package/dist/types/libraries/mongo/models/providers/global-coupon.model.js.map +1 -0
  693. package/dist/types/libraries/mongo/models/providers/individual-store-coupon.model.d.ts +12 -0
  694. package/dist/types/libraries/mongo/models/providers/individual-store-coupon.model.js +42 -0
  695. package/dist/types/libraries/mongo/models/providers/individual-store-coupon.model.js.map +1 -0
  696. package/dist/types/libraries/mongo/models/providers/individual-user-coupon.model.d.ts +13 -0
  697. package/dist/types/libraries/mongo/models/providers/individual-user-coupon.model.js +43 -0
  698. package/dist/types/libraries/mongo/models/providers/individual-user-coupon.model.js.map +1 -0
  699. package/dist/types/libraries/mongo/models/providers/new-user-discount-marketing.model.d.ts +19 -0
  700. package/dist/types/libraries/mongo/models/providers/new-user-discount-marketing.model.js +73 -0
  701. package/dist/types/libraries/mongo/models/providers/new-user-discount-marketing.model.js.map +1 -0
  702. package/dist/types/libraries/mongo/models/providers/punch-marketing.model.d.ts +11 -0
  703. package/dist/types/libraries/mongo/models/providers/punch-marketing.model.js +50 -0
  704. package/dist/types/libraries/mongo/models/providers/punch-marketing.model.js.map +1 -0
  705. package/dist/types/libraries/mongo/models/providers/referral-code-coupon.model.d.ts +9 -0
  706. package/dist/types/libraries/mongo/models/providers/referral-code-coupon.model.js +27 -0
  707. package/dist/types/libraries/mongo/models/providers/referral-code-coupon.model.js.map +1 -0
  708. package/dist/types/libraries/mongo/models/providers/referral-reward-coupon.model.d.ts +13 -0
  709. package/dist/types/libraries/mongo/models/providers/referral-reward-coupon.model.js +43 -0
  710. package/dist/types/libraries/mongo/models/providers/referral-reward-coupon.model.js.map +1 -0
  711. package/dist/types/libraries/mongo/models/providers/regular-order.model.d.ts +54 -0
  712. package/dist/types/libraries/mongo/models/providers/regular-order.model.js +204 -0
  713. package/dist/types/libraries/mongo/models/providers/regular-order.model.js.map +1 -0
  714. package/dist/types/libraries/mongo/models/providers/rider-payout.model.d.ts +23 -0
  715. package/dist/types/libraries/mongo/models/providers/rider-payout.model.js +94 -0
  716. package/dist/types/libraries/mongo/models/providers/rider-payout.model.js.map +1 -0
  717. package/dist/types/libraries/mongo/models/providers/rider-review.model.d.ts +10 -0
  718. package/dist/types/libraries/mongo/models/providers/rider-review.model.js +32 -0
  719. package/dist/types/libraries/mongo/models/providers/rider-review.model.js.map +1 -0
  720. package/dist/types/libraries/mongo/models/providers/service-package-review.model.d.ts +14 -0
  721. package/dist/types/libraries/mongo/models/providers/service-package-review.model.js +44 -0
  722. package/dist/types/libraries/mongo/models/providers/service-package-review.model.js.map +1 -0
  723. package/dist/types/libraries/mongo/models/providers/shop-courier.model.d.ts +26 -0
  724. package/dist/types/libraries/mongo/models/providers/shop-courier.model.js +93 -0
  725. package/dist/types/libraries/mongo/models/providers/shop-courier.model.js.map +1 -0
  726. package/dist/types/libraries/mongo/models/providers/shop-payout.model.d.ts +62 -0
  727. package/dist/types/libraries/mongo/models/providers/shop-payout.model.js +244 -0
  728. package/dist/types/libraries/mongo/models/providers/shop-payout.model.js.map +1 -0
  729. package/dist/types/libraries/mongo/models/providers/shop-review.model.d.ts +12 -0
  730. package/dist/types/libraries/mongo/models/providers/shop-review.model.js +38 -0
  731. package/dist/types/libraries/mongo/models/providers/shop-review.model.js.map +1 -0
  732. package/dist/types/libraries/mongo/models/providers/shops-categories-coupon.model.d.ts +13 -0
  733. package/dist/types/libraries/mongo/models/providers/shops-categories-coupon.model.js +47 -0
  734. package/dist/types/libraries/mongo/models/providers/shops-categories-coupon.model.js.map +1 -0
  735. package/dist/types/libraries/mongo/models/providers/spend-to-get-marketing.model.d.ts +11 -0
  736. package/dist/types/libraries/mongo/models/providers/spend-to-get-marketing.model.js +46 -0
  737. package/dist/types/libraries/mongo/models/providers/spend-to-get-marketing.model.js.map +1 -0
  738. package/dist/types/libraries/mongo/models/providers/vendor-payout.model.d.ts +50 -0
  739. package/dist/types/libraries/mongo/models/providers/vendor-payout.model.js +192 -0
  740. package/dist/types/libraries/mongo/models/providers/vendor-payout.model.js.map +1 -0
  741. package/dist/types/libraries/mongo/models/providers/vendor-review.model.d.ts +12 -0
  742. package/dist/types/libraries/mongo/models/providers/vendor-review.model.js +38 -0
  743. package/dist/types/libraries/mongo/models/providers/vendor-review.model.js.map +1 -0
  744. package/dist/types/libraries/mongo/models/punch-marketing-history.model.d.ts +24 -0
  745. package/dist/types/libraries/mongo/models/punch-marketing-history.model.js +101 -0
  746. package/dist/types/libraries/mongo/models/punch-marketing-history.model.js.map +1 -0
  747. package/dist/types/libraries/mongo/models/rating-setting.model.d.ts +8 -0
  748. package/dist/types/libraries/mongo/models/rating-setting.model.js +46 -0
  749. package/dist/types/libraries/mongo/models/rating-setting.model.js.map +1 -0
  750. package/dist/types/libraries/mongo/models/referral-setting.model.d.ts +6 -0
  751. package/dist/types/libraries/mongo/models/referral-setting.model.js +32 -0
  752. package/dist/types/libraries/mongo/models/referral-setting.model.js.map +1 -0
  753. package/dist/types/libraries/mongo/models/request-area.model.d.ts +8 -0
  754. package/dist/types/libraries/mongo/models/request-area.model.js +33 -0
  755. package/dist/types/libraries/mongo/models/request-area.model.js.map +1 -0
  756. package/dist/types/libraries/mongo/models/review.model.d.ts +15 -0
  757. package/dist/types/libraries/mongo/models/review.model.js +68 -0
  758. package/dist/types/libraries/mongo/models/review.model.js.map +1 -0
  759. package/dist/types/libraries/mongo/models/reward.model.d.ts +16 -0
  760. package/dist/types/libraries/mongo/models/reward.model.js +70 -0
  761. package/dist/types/libraries/mongo/models/reward.model.js.map +1 -0
  762. package/dist/types/libraries/mongo/models/rider-timeout.model.d.ts +10 -0
  763. package/dist/types/libraries/mongo/models/rider-timeout.model.js +47 -0
  764. package/dist/types/libraries/mongo/models/rider-timeout.model.js.map +1 -0
  765. package/dist/types/libraries/mongo/models/rider-tracking.model.d.ts +10 -0
  766. package/dist/types/libraries/mongo/models/rider-tracking.model.js +47 -0
  767. package/dist/types/libraries/mongo/models/rider-tracking.model.js.map +1 -0
  768. package/dist/types/libraries/mongo/models/rider.model.d.ts +70 -0
  769. package/dist/types/libraries/mongo/models/rider.model.js +358 -0
  770. package/dist/types/libraries/mongo/models/rider.model.js.map +1 -0
  771. package/dist/types/libraries/mongo/models/service-addon.model.d.ts +16 -0
  772. package/dist/types/libraries/mongo/models/service-addon.model.js +86 -0
  773. package/dist/types/libraries/mongo/models/service-addon.model.js.map +1 -0
  774. package/dist/types/libraries/mongo/models/service-booking.model.d.ts +69 -0
  775. package/dist/types/libraries/mongo/models/service-booking.model.js +315 -0
  776. package/dist/types/libraries/mongo/models/service-booking.model.js.map +1 -0
  777. package/dist/types/libraries/mongo/models/service-cart.model.d.ts +14 -0
  778. package/dist/types/libraries/mongo/models/service-cart.model.js +51 -0
  779. package/dist/types/libraries/mongo/models/service-cart.model.js.map +1 -0
  780. package/dist/types/libraries/mongo/models/service-category.model.d.ts +14 -0
  781. package/dist/types/libraries/mongo/models/service-category.model.js +87 -0
  782. package/dist/types/libraries/mongo/models/service-category.model.js.map +1 -0
  783. package/dist/types/libraries/mongo/models/service-control.model.d.ts +17 -0
  784. package/dist/types/libraries/mongo/models/service-control.model.js +91 -0
  785. package/dist/types/libraries/mongo/models/service-control.model.js.map +1 -0
  786. package/dist/types/libraries/mongo/models/service-flag.model.d.ts +19 -0
  787. package/dist/types/libraries/mongo/models/service-flag.model.js +72 -0
  788. package/dist/types/libraries/mongo/models/service-flag.model.js.map +1 -0
  789. package/dist/types/libraries/mongo/models/service-package.model.d.ts +27 -0
  790. package/dist/types/libraries/mongo/models/service-package.model.js +142 -0
  791. package/dist/types/libraries/mongo/models/service-package.model.js.map +1 -0
  792. package/dist/types/libraries/mongo/models/service-promotion.model.d.ts +27 -0
  793. package/dist/types/libraries/mongo/models/service-promotion.model.js +120 -0
  794. package/dist/types/libraries/mongo/models/service-promotion.model.js.map +1 -0
  795. package/dist/types/libraries/mongo/models/service.model.d.ts +8 -0
  796. package/dist/types/libraries/mongo/models/service.model.js +43 -0
  797. package/dist/types/libraries/mongo/models/service.model.js.map +1 -0
  798. package/dist/types/libraries/mongo/models/setting.model.d.ts +50 -0
  799. package/dist/types/libraries/mongo/models/setting.model.js +196 -0
  800. package/dist/types/libraries/mongo/models/setting.model.js.map +1 -0
  801. package/dist/types/libraries/mongo/models/shared/address.model.d.ts +38 -0
  802. package/dist/types/libraries/mongo/models/shared/address.model.js +158 -0
  803. package/dist/types/libraries/mongo/models/shared/address.model.js.map +1 -0
  804. package/dist/types/libraries/mongo/models/shared/duration.model.d.ts +14 -0
  805. package/dist/types/libraries/mongo/models/shared/duration.model.js +59 -0
  806. package/dist/types/libraries/mongo/models/shared/duration.model.js.map +1 -0
  807. package/dist/types/libraries/mongo/models/shared/geo-location.model.d.ts +5 -0
  808. package/dist/types/libraries/mongo/models/shared/geo-location.model.js +28 -0
  809. package/dist/types/libraries/mongo/models/shared/geo-location.model.js.map +1 -0
  810. package/dist/types/libraries/mongo/models/shared/work-hour.model.d.ts +19 -0
  811. package/dist/types/libraries/mongo/models/shared/work-hour.model.js +81 -0
  812. package/dist/types/libraries/mongo/models/shared/work-hour.model.js.map +1 -0
  813. package/dist/types/libraries/mongo/models/shop-access-control.model.d.ts +16 -0
  814. package/dist/types/libraries/mongo/models/shop-access-control.model.js +81 -0
  815. package/dist/types/libraries/mongo/models/shop-access-control.model.js.map +1 -0
  816. package/dist/types/libraries/mongo/models/shop-category.model.d.ts +13 -0
  817. package/dist/types/libraries/mongo/models/shop-category.model.js +64 -0
  818. package/dist/types/libraries/mongo/models/shop-category.model.js.map +1 -0
  819. package/dist/types/libraries/mongo/models/shop-meal-plan.model.d.ts +12 -0
  820. package/dist/types/libraries/mongo/models/shop-meal-plan.model.js +45 -0
  821. package/dist/types/libraries/mongo/models/shop-meal-plan.model.js.map +1 -0
  822. package/dist/types/libraries/mongo/models/shop-section.model.d.ts +18 -0
  823. package/dist/types/libraries/mongo/models/shop-section.model.js +89 -0
  824. package/dist/types/libraries/mongo/models/shop-section.model.js.map +1 -0
  825. package/dist/types/libraries/mongo/models/shop.model.d.ts +65 -0
  826. package/dist/types/libraries/mongo/models/shop.model.js +304 -0
  827. package/dist/types/libraries/mongo/models/shop.model.js.map +1 -0
  828. package/dist/types/libraries/mongo/models/spend-to-get-history.model.d.ts +13 -0
  829. package/dist/types/libraries/mongo/models/spend-to-get-history.model.js +51 -0
  830. package/dist/types/libraries/mongo/models/spend-to-get-history.model.js.map +1 -0
  831. package/dist/types/libraries/mongo/models/subscription.model.d.ts +20 -0
  832. package/dist/types/libraries/mongo/models/subscription.model.js +93 -0
  833. package/dist/types/libraries/mongo/models/subscription.model.js.map +1 -0
  834. package/dist/types/libraries/mongo/models/support-reason.model.d.ts +10 -0
  835. package/dist/types/libraries/mongo/models/support-reason.model.js +61 -0
  836. package/dist/types/libraries/mongo/models/support-reason.model.js.map +1 -0
  837. package/dist/types/libraries/mongo/models/tag.model.d.ts +10 -0
  838. package/dist/types/libraries/mongo/models/tag.model.js +64 -0
  839. package/dist/types/libraries/mongo/models/tag.model.js.map +1 -0
  840. package/dist/types/libraries/mongo/models/terms-and-conditions.model.d.ts +8 -0
  841. package/dist/types/libraries/mongo/models/terms-and-conditions.model.js +51 -0
  842. package/dist/types/libraries/mongo/models/terms-and-conditions.model.js.map +1 -0
  843. package/dist/types/libraries/mongo/models/ticket-action.model.d.ts +4 -0
  844. package/dist/types/libraries/mongo/models/ticket-action.model.js +31 -0
  845. package/dist/types/libraries/mongo/models/ticket-action.model.js.map +1 -0
  846. package/dist/types/libraries/mongo/models/ticket.model.d.ts +35 -0
  847. package/dist/types/libraries/mongo/models/ticket.model.js +144 -0
  848. package/dist/types/libraries/mongo/models/ticket.model.js.map +1 -0
  849. package/dist/types/libraries/mongo/models/tournament-participant.model.d.ts +22 -0
  850. package/dist/types/libraries/mongo/models/tournament-participant.model.js +84 -0
  851. package/dist/types/libraries/mongo/models/tournament-participant.model.js.map +1 -0
  852. package/dist/types/libraries/mongo/models/tournament.model.d.ts +65 -0
  853. package/dist/types/libraries/mongo/models/tournament.model.js +273 -0
  854. package/dist/types/libraries/mongo/models/tournament.model.js.map +1 -0
  855. package/dist/types/libraries/mongo/models/user-action.model.d.ts +29 -0
  856. package/dist/types/libraries/mongo/models/user-action.model.js +113 -0
  857. package/dist/types/libraries/mongo/models/user-action.model.js.map +1 -0
  858. package/dist/types/libraries/mongo/models/user-app-section-setting.model.d.ts +24 -0
  859. package/dist/types/libraries/mongo/models/user-app-section-setting.model.js +103 -0
  860. package/dist/types/libraries/mongo/models/user-app-section-setting.model.js.map +1 -0
  861. package/dist/types/libraries/mongo/models/user.model.d.ts +40 -0
  862. package/dist/types/libraries/mongo/models/user.model.js +155 -0
  863. package/dist/types/libraries/mongo/models/user.model.js.map +1 -0
  864. package/dist/types/libraries/mongo/models/vendor-access-control.model.d.ts +14 -0
  865. package/dist/types/libraries/mongo/models/vendor-access-control.model.js +75 -0
  866. package/dist/types/libraries/mongo/models/vendor-access-control.model.js.map +1 -0
  867. package/dist/types/libraries/mongo/models/vendor-parent.model.d.ts +25 -0
  868. package/dist/types/libraries/mongo/models/vendor-parent.model.js +121 -0
  869. package/dist/types/libraries/mongo/models/vendor-parent.model.js.map +1 -0
  870. package/dist/types/libraries/mongo/models/vendor.model.d.ts +33 -0
  871. package/dist/types/libraries/mongo/models/vendor.model.js +150 -0
  872. package/dist/types/libraries/mongo/models/vendor.model.js.map +1 -0
  873. package/dist/types/libraries/mongo/models/zone-extra-time.d.ts +12 -0
  874. package/dist/types/libraries/mongo/models/zone-extra-time.js +54 -0
  875. package/dist/types/libraries/mongo/models/zone-extra-time.js.map +1 -0
  876. package/dist/types/libraries/mongo/models/zone.model.d.ts +17 -0
  877. package/dist/types/libraries/mongo/models/zone.model.js +80 -0
  878. package/dist/types/libraries/mongo/models/zone.model.js.map +1 -0
  879. package/dist/types/libraries/mongo/plugins/normalize-field.plugin.d.ts +4 -0
  880. package/dist/types/libraries/mongo/plugins/normalize-field.plugin.js +42 -0
  881. package/dist/types/libraries/mongo/plugins/normalize-field.plugin.js.map +1 -0
  882. package/dist/types/libraries/mongo/plugins/soft-delete-plugin.d.ts +32 -0
  883. package/dist/types/libraries/mongo/plugins/soft-delete-plugin.js +145 -0
  884. package/dist/types/libraries/mongo/plugins/soft-delete-plugin.js.map +1 -0
  885. package/dist/types/libraries/mongo/utilities/shop.hooks.d.ts +9 -0
  886. package/dist/types/libraries/mongo/utilities/shop.hooks.js +11 -0
  887. package/dist/types/libraries/mongo/utilities/shop.hooks.js.map +1 -0
  888. package/dist/types/libraries/mongo/utilities/sorting-order.hooks.d.ts +14 -0
  889. package/dist/types/libraries/mongo/utilities/sorting-order.hooks.js +58 -0
  890. package/dist/types/libraries/mongo/utilities/sorting-order.hooks.js.map +1 -0
  891. package/dist/types/libraries/mongo/utilities/unique-id.hooks.d.ts +6 -0
  892. package/dist/types/libraries/mongo/utilities/unique-id.hooks.js +17 -0
  893. package/dist/types/libraries/mongo/utilities/unique-id.hooks.js.map +1 -0
  894. package/dist/types/libraries/notification/firebase-fcm.service.d.ts +7 -0
  895. package/dist/types/libraries/notification/firebase-fcm.service.js +40 -0
  896. package/dist/types/libraries/notification/firebase-fcm.service.js.map +1 -0
  897. package/dist/types/libraries/notification/firebase-message.builder.d.ts +22 -0
  898. package/dist/types/libraries/notification/firebase-message.builder.js +107 -0
  899. package/dist/types/libraries/notification/firebase-message.builder.js.map +1 -0
  900. package/dist/types/libraries/notification/lyxa-fcm-sender.d.ts +19 -0
  901. package/dist/types/libraries/notification/lyxa-fcm-sender.js +127 -0
  902. package/dist/types/libraries/notification/lyxa-fcm-sender.js.map +1 -0
  903. package/dist/types/libraries/notification/lyxa-fcm.service.d.ts +40 -0
  904. package/dist/types/libraries/notification/lyxa-fcm.service.js +177 -0
  905. package/dist/types/libraries/notification/lyxa-fcm.service.js.map +1 -0
  906. package/dist/types/libraries/redis/index.d.ts +25 -0
  907. package/dist/types/libraries/redis/index.js +137 -0
  908. package/dist/types/libraries/redis/index.js.map +1 -0
  909. package/dist/types/libraries/secrets/index.d.ts +10 -0
  910. package/dist/types/libraries/secrets/index.js +64 -0
  911. package/dist/types/libraries/secrets/index.js.map +1 -0
  912. package/dist/types/libraries/socket/connections/cache.d.ts +9 -0
  913. package/dist/types/libraries/socket/connections/cache.js +36 -0
  914. package/dist/types/libraries/socket/connections/cache.js.map +1 -0
  915. package/dist/types/libraries/socket/connections/instance-disconnect.d.ts +2 -0
  916. package/dist/types/libraries/socket/connections/instance-disconnect.js +43 -0
  917. package/dist/types/libraries/socket/connections/instance-disconnect.js.map +1 -0
  918. package/dist/types/libraries/socket/connections/keys.d.ts +10 -0
  919. package/dist/types/libraries/socket/connections/keys.js +23 -0
  920. package/dist/types/libraries/socket/connections/keys.js.map +1 -0
  921. package/dist/types/libraries/socket/connections/redis-helpers.d.ts +2 -0
  922. package/dist/types/libraries/socket/connections/redis-helpers.js +14 -0
  923. package/dist/types/libraries/socket/connections/redis-helpers.js.map +1 -0
  924. package/dist/types/libraries/trpc/context.d.ts +37 -0
  925. package/dist/types/libraries/trpc/context.js +43 -0
  926. package/dist/types/libraries/trpc/context.js.map +1 -0
  927. package/dist/types/libraries/trpc/index.d.ts +75 -0
  928. package/dist/types/libraries/trpc/index.js +80 -0
  929. package/dist/types/libraries/trpc/index.js.map +1 -0
  930. package/dist/types/libraries/twilio/index.d.ts +6 -0
  931. package/dist/types/libraries/twilio/index.js +42 -0
  932. package/dist/types/libraries/twilio/index.js.map +1 -0
  933. package/dist/types/libraries/upload/index.d.ts +50 -0
  934. package/dist/types/libraries/upload/index.js +312 -0
  935. package/dist/types/libraries/upload/index.js.map +1 -0
  936. package/dist/types/package.json +1 -1
  937. package/dist/types/utilities/auth-ref.mapper.d.ts +4 -0
  938. package/dist/types/utilities/auth-ref.mapper.js +22 -0
  939. package/dist/types/utilities/auth-ref.mapper.js.map +1 -0
  940. package/dist/types/utilities/dayjs/dayjs.d.ts +14 -0
  941. package/dist/types/utilities/dayjs/dayjs.js +47 -0
  942. package/dist/types/utilities/dayjs/dayjs.js.map +1 -0
  943. package/dist/types/utilities/dayjs/index.d.ts +2 -0
  944. package/dist/types/utilities/dayjs/index.js +9 -0
  945. package/dist/types/utilities/dayjs/index.js.map +1 -0
  946. package/dist/types/utilities/enum.d.ts +9 -0
  947. package/dist/types/utilities/enum.js +15 -4
  948. package/dist/types/utilities/enum.js.map +1 -1
  949. package/dist/types/utilities/environment/rabbitmq-environments.d.ts +2 -0
  950. package/dist/types/utilities/environment/rabbitmq-environments.js +14 -0
  951. package/dist/types/utilities/environment/rabbitmq-environments.js.map +1 -0
  952. package/dist/types/utilities/environment/redis-environments.d.ts +2 -0
  953. package/dist/types/utilities/environment/redis-environments.js +14 -0
  954. package/dist/types/utilities/environment/redis-environments.js.map +1 -0
  955. package/dist/types/utilities/error-common.d.ts +10 -0
  956. package/dist/types/utilities/error-common.js +76 -0
  957. package/dist/types/utilities/error-common.js.map +1 -0
  958. package/dist/types/utilities/id-generator.d.ts +6 -0
  959. package/dist/types/utilities/id-generator.js +161 -0
  960. package/dist/types/utilities/id-generator.js.map +1 -0
  961. package/dist/types/utilities/instance.utils.d.ts +1 -0
  962. package/dist/types/utilities/instance.utils.js +12 -0
  963. package/dist/types/utilities/instance.utils.js.map +1 -0
  964. package/dist/types/utilities/normalize.d.ts +6 -0
  965. package/dist/types/utilities/normalize.js +51 -0
  966. package/dist/types/utilities/normalize.js.map +1 -0
  967. package/dist/types/utilities/password.d.ts +2 -0
  968. package/dist/types/utilities/password.js +20 -0
  969. package/dist/types/utilities/password.js.map +1 -0
  970. package/dist/types/utilities/projection.d.ts +8 -0
  971. package/dist/types/utilities/projection.js +37 -0
  972. package/dist/types/utilities/projection.js.map +1 -0
  973. package/dist/types/utilities/shared/common-methods.d.ts +6 -5
  974. package/dist/types/utilities/shared/common-methods.js +65 -14
  975. package/dist/types/utilities/shared/common-methods.js.map +1 -1
  976. package/dist/types/utilities/time.d.ts +13 -0
  977. package/dist/types/utilities/time.js +128 -0
  978. package/dist/types/utilities/time.js.map +1 -0
  979. package/dist/utilities/enum.d.ts +9 -0
  980. package/dist/utilities/enum.js +15 -4
  981. package/dist/utilities/enum.js.map +1 -1
  982. package/dist/utilities/shared/common-methods.d.ts +6 -5
  983. package/dist/utilities/shared/common-methods.js +65 -14
  984. package/dist/utilities/shared/common-methods.js.map +1 -1
  985. package/package.json +1 -1
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.RedisService = void 0;
16
+ const ioredis_1 = __importDefault(require("ioredis"));
17
+ const typedi_1 = require("typedi");
18
+ const crypto_1 = require("crypto");
19
+ const trpc_1 = require("../trpc");
20
+ let RedisService = class RedisService {
21
+ _redisClient;
22
+ constructor(redisURL) {
23
+ this._redisClient = new ioredis_1.default(redisURL, {
24
+ maxRetriesPerRequest: null,
25
+ });
26
+ }
27
+ get redisClient() {
28
+ return this._redisClient;
29
+ }
30
+ async getCachedObject(key) {
31
+ const usageResponse = await this._redisClient.get(key);
32
+ if (usageResponse != undefined) {
33
+ return JSON.parse(usageResponse);
34
+ }
35
+ return undefined;
36
+ }
37
+ async cacheObject(key, object, expiry) {
38
+ const stringifiedObject = JSON.stringify(object);
39
+ if (expiry) {
40
+ await this._redisClient.setex(key, expiry, stringifiedObject);
41
+ }
42
+ else {
43
+ await this._redisClient.set(key, stringifiedObject);
44
+ }
45
+ return true;
46
+ }
47
+ async deleteCachedObject(key) {
48
+ await this._redisClient.del(key);
49
+ return true;
50
+ }
51
+ async getCachedObjectByGroup(group, key) {
52
+ const usageResponse = await this._redisClient.hget(group, key);
53
+ if (usageResponse != undefined) {
54
+ return JSON.parse(usageResponse);
55
+ }
56
+ return undefined;
57
+ }
58
+ async setCachedObjectByGroup(group, key, object) {
59
+ const stringifiedObject = JSON.stringify(object);
60
+ await this._redisClient.hset(group, key, stringifiedObject);
61
+ return true;
62
+ }
63
+ async deleteCachedObjectByGroup(group, key) {
64
+ await this._redisClient.hdel(group, key);
65
+ return true;
66
+ }
67
+ sanitizeKey(key) {
68
+ return key
69
+ .replace(/[^\w\s]/gi, '')
70
+ .replace(/\s+/g, '-')
71
+ .toLowerCase();
72
+ }
73
+ async addToSet(group, member) {
74
+ await this._redisClient.sadd(group, member);
75
+ return true;
76
+ }
77
+ async removeFromSet(group, member) {
78
+ await this._redisClient.srem(group, member);
79
+ return true;
80
+ }
81
+ async isMemberOfSet(group, member) {
82
+ return (await this._redisClient.sismember(group, member)) === 1;
83
+ }
84
+ async getSetMembers(group) {
85
+ return await this._redisClient.smembers(group);
86
+ }
87
+ async acquireLock(key, ttl = 10000) {
88
+ const lockKey = `lock:${key}`;
89
+ const lockValue = (0, crypto_1.randomUUID)();
90
+ const result = await this._redisClient.set(lockKey, lockValue, 'PX', ttl, 'NX');
91
+ if (result === 'OK') {
92
+ return lockValue;
93
+ }
94
+ return null;
95
+ }
96
+ async releaseLock(key, lockValue) {
97
+ const lockKey = `lock:${key}`;
98
+ const luaScript = `
99
+ if redis.call("get", KEYS[1]) == ARGV[1] then
100
+ return redis.call("del", KEYS[1])
101
+ else
102
+ return 0
103
+ end
104
+ `;
105
+ const result = await this._redisClient.eval(luaScript, 1, lockKey, lockValue);
106
+ return result === 1;
107
+ }
108
+ async executeWithLock(key, ttl, callback, errorMessage, options) {
109
+ const maxRetries = options?.maxRetries ?? 10;
110
+ const retryDelayMs = options?.retryDelayMs ?? 500;
111
+ let attempt = 0;
112
+ while (attempt <= maxRetries) {
113
+ const lockValue = await this.acquireLock(key, ttl);
114
+ if (lockValue) {
115
+ try {
116
+ return await callback();
117
+ }
118
+ finally {
119
+ await this.releaseLock(key, lockValue);
120
+ }
121
+ }
122
+ await new Promise(r => setTimeout(r, retryDelayMs + Math.random() * 100));
123
+ attempt++;
124
+ }
125
+ throw new trpc_1.TRPCError({
126
+ code: 'CONFLICT',
127
+ message: errorMessage || 'Resource is locked',
128
+ cause: { retryable: true },
129
+ });
130
+ }
131
+ };
132
+ exports.RedisService = RedisService;
133
+ exports.RedisService = RedisService = __decorate([
134
+ (0, typedi_1.Service)(),
135
+ __metadata("design:paramtypes", [String])
136
+ ], RedisService);
137
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/redis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA4B;AAC5B,mCAAiC;AACjC,mCAAoC;AACpC,kCAAoC;AAQ7B,IAAM,YAAY,GAAlB,MAAM,YAAY;IAChB,YAAY,CAAS;IAE7B,YAAY,QAAgB;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAK,CAAC,QAAQ,EAAE;YACvC,oBAAoB,EAAE,IAAI;SAC1B,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAI,GAAW;QAC1C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvD,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAM,CAAC;QACvC,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,MAAS,EAAE,MAAe;QAClE,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,GAAW;QAC1C,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAI,KAAa,EAAE,GAAW;QAChE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE/D,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAM,CAAC;QACvC,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAI,KAAa,EAAE,GAAW,EAAE,MAAS;QAC3E,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAI,KAAa,EAAE,GAAW;QACnE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,WAAW,CAAC,GAAW;QAC7B,OAAO,GAAG;aACR,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;aACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,WAAW,EAAE,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,MAAc;QAClD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,MAAc;QACvD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,MAAc;QACvD,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,KAAa;QACvC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,WAAW,CACvB,GAAW,EACX,MAAc,KAAK;QAEnB,MAAM,OAAO,GAAG,QAAQ,GAAG,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAA,mBAAU,GAAE,CAAC;QAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAGhF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,SAAiB;QACtD,MAAM,OAAO,GAAG,QAAQ,GAAG,EAAE,CAAC;QAE9B,MAAM,SAAS,GAAG;;;;;;EAMlB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAE9E,OAAO,MAAM,KAAK,CAAC,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,eAAe,CAC3B,GAAW,EACX,GAAW,EACX,QAA0B,EAC1B,YAAqB,EACrB,OAAqB;QAErB,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,GAAG,CAAC;QAElD,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,OAAO,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAEnD,IAAI,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC;oBACJ,OAAO,MAAM,QAAQ,EAAE,CAAC;gBACzB,CAAC;wBAAS,CAAC;oBACV,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACxC,CAAC;YACF,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAE1E,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,gBAAS,CAAC;YACnB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,YAAY,IAAI,oBAAoB;YAC7C,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC1B,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AA1JY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,gBAAO,GAAE;;GACG,YAAY,CA0JxB","sourcesContent":["import Redis from 'ioredis';\nimport { Service } from 'typedi';\nimport { randomUUID } from 'crypto';\nimport { TRPCError } from '../trpc';\n\ninterface LockOptions {\n\tmaxRetries?: number;\n\tretryDelayMs?: number;\n}\n\n@Service()\nexport class RedisService {\n\tprivate _redisClient!: Redis;\n\n\tconstructor(redisURL: string) {\n\t\tthis._redisClient = new Redis(redisURL, {\n\t\t\tmaxRetriesPerRequest: null,\n\t\t});\n\t}\n\n\tget redisClient(): Redis {\n\t\treturn this._redisClient;\n\t}\n\n\tpublic async getCachedObject<T>(key: string): Promise<T | undefined> {\n\t\tconst usageResponse = await this._redisClient.get(key);\n\n\t\tif (usageResponse != undefined) {\n\t\t\treturn JSON.parse(usageResponse) as T;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tpublic async cacheObject<T>(key: string, object: T, expiry?: number): Promise<boolean> {\n\t\tconst stringifiedObject = JSON.stringify(object);\n\n\t\tif (expiry) {\n\t\t\tawait this._redisClient.setex(key, expiry, stringifiedObject);\n\t\t} else {\n\t\t\tawait this._redisClient.set(key, stringifiedObject);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic async deleteCachedObject(key: string): Promise<boolean> {\n\t\tawait this._redisClient.del(key);\n\t\treturn true;\n\t}\n\n\tpublic async getCachedObjectByGroup<T>(group: string, key: string): Promise<T | undefined> {\n\t\tconst usageResponse = await this._redisClient.hget(group, key);\n\n\t\tif (usageResponse != undefined) {\n\t\t\treturn JSON.parse(usageResponse) as T;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tpublic async setCachedObjectByGroup<T>(group: string, key: string, object: T): Promise<boolean> {\n\t\tconst stringifiedObject = JSON.stringify(object);\n\t\tawait this._redisClient.hset(group, key, stringifiedObject);\n\n\t\treturn true;\n\t}\n\n\tpublic async deleteCachedObjectByGroup<T>(group: string, key: string): Promise<boolean> {\n\t\tawait this._redisClient.hdel(group, key);\n\t\treturn true;\n\t}\n\n\tpublic sanitizeKey(key: string) {\n\t\treturn key\n\t\t\t.replace(/[^\\w\\s]/gi, '')\n\t\t\t.replace(/\\s+/g, '-')\n\t\t\t.toLowerCase();\n\t}\n\n\tpublic async addToSet(group: string, member: string): Promise<boolean> {\n\t\tawait this._redisClient.sadd(group, member);\n\t\treturn true;\n\t}\n\n\tpublic async removeFromSet(group: string, member: string): Promise<boolean> {\n\t\tawait this._redisClient.srem(group, member);\n\t\treturn true;\n\t}\n\n\tpublic async isMemberOfSet(group: string, member: string): Promise<boolean> {\n\t\treturn (await this._redisClient.sismember(group, member)) === 1;\n\t}\n\n\tpublic async getSetMembers(group: string): Promise<string[]> {\n\t\treturn await this._redisClient.smembers(group);\n\t}\n\n\tpublic async acquireLock(\n\t\tkey: string,\n\t\tttl: number = 10000 // default 10s\n\t): Promise<string | null> {\n\t\tconst lockKey = `lock:${key}`;\n\t\tconst lockValue = randomUUID(); // unique value per process\n\n\t\tconst result = await this._redisClient.set(lockKey, lockValue, 'PX', ttl, 'NX');\n\n\t\t// If result === 'OK' → lock acquired\n\t\tif (result === 'OK') {\n\t\t\treturn lockValue;\n\t\t}\n\n\t\treturn null; // lock not acquired\n\t}\n\n\tpublic async releaseLock(key: string, lockValue: string): Promise<boolean> {\n\t\tconst lockKey = `lock:${key}`;\n\n\t\tconst luaScript = `\n\t\tif redis.call(\"get\", KEYS[1]) == ARGV[1] then\n\t\t\treturn redis.call(\"del\", KEYS[1])\n\t\telse\n\t\t\treturn 0\n\t\tend\n\t`;\n\n\t\tconst result = await this._redisClient.eval(luaScript, 1, lockKey, lockValue);\n\n\t\treturn result === 1;\n\t}\n\n\tpublic async executeWithLock<T>(\n\t\tkey: string,\n\t\tttl: number,\n\t\tcallback: () => Promise<T>,\n\t\terrorMessage?: string,\n\t\toptions?: LockOptions\n\t): Promise<T> {\n\t\tconst maxRetries = options?.maxRetries ?? 10;\n\t\tconst retryDelayMs = options?.retryDelayMs ?? 500;\n\n\t\tlet attempt = 0;\n\n\t\twhile (attempt <= maxRetries) {\n\t\t\tconst lockValue = await this.acquireLock(key, ttl);\n\n\t\t\tif (lockValue) {\n\t\t\t\ttry {\n\t\t\t\t\treturn await callback();\n\t\t\t\t} finally {\n\t\t\t\t\tawait this.releaseLock(key, lockValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait new Promise(r => setTimeout(r, retryDelayMs + Math.random() * 100));\n\n\t\t\tattempt++;\n\t\t}\n\n\t\tthrow new TRPCError({\n\t\t\tcode: 'CONFLICT',\n\t\t\tmessage: errorMessage || 'Resource is locked',\n\t\t\tcause: { retryable: true },\n\t\t});\n\t}\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { RedisService } from '../redis';
2
+ import { ConfigurationService } from '../configuration';
3
+ export declare class SecretManagerService {
4
+ private _configurationService;
5
+ private _redisManager;
6
+ private _client;
7
+ constructor(configurationService: ConfigurationService, redisManager: RedisService);
8
+ getKey(key: string): Promise<string | undefined>;
9
+ setKey(key: string, value: string): Promise<string>;
10
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SecretManagerService = void 0;
13
+ const secret_manager_1 = require("@google-cloud/secret-manager");
14
+ const typedi_1 = require("typedi");
15
+ const redis_1 = require("../redis");
16
+ const configuration_1 = require("../configuration");
17
+ let SecretManagerService = class SecretManagerService {
18
+ _configurationService;
19
+ _redisManager;
20
+ _client;
21
+ constructor(configurationService, redisManager) {
22
+ this._configurationService = configurationService;
23
+ this._redisManager = redisManager;
24
+ this._client = new secret_manager_1.SecretManagerServiceClient({
25
+ credentials: {
26
+ client_id: '107840895824406590900',
27
+ private_key_id: 'ece1ebdfde57414700f23f1f4014f5e83d4f7644',
28
+ type: 'service_account',
29
+ universe_domain: 'googleapis.com',
30
+ projectId: 'for-poc-325210',
31
+ private_key: '-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDPTk9M5nCDYJhC\nLuyP+gqBXIHPrXegygco5tB50Y7Q9s/f4hm+xp/usYy5UCYyFVNjZ2mdjWQcr3Ta\nT3GZV9OiHej8ejveY0iyFBi0IlfGNm9blYlOIyQT4i6MoevNul7u4EQL8bid/sp/\nJ/XPNC+Jnk8Ke2G9FdfDYs+1O6Nf37HuPUmMwLAzcyl+k1v9UzInrgNPj+nactY7\nEPCVSM6XcZI3UL86n574iQBvUXsMpUt3csYVOxPap1Vd1TBEo1k85jZepMvaXHoK\nJUwQT7p1F1D0weVKJ1BjwQgmADZWfUKdwRyS8zFPbUGeptlA2XlxyVMasGzCCMi4\n6jzJGC81AgMBAAECggEAXoaLnDn7Fbym0I7K6T+PKLtAqaykPpnAOAM/DjzijR/t\nW12idZ3l8RXeX+VO9UlKE6pkuyVsf7P1aVIOL2ifpG1U/kLSJ65HyINnXEPImCXc\nEvuVdx6I5dQde5ydg9o2TV/PR0756njyZpaW+9sEzhB0ZAgsYeai0oGsyiuebCkm\nqlOnf5DO/kWlNvf8yZ7GMEa0WBYyan4O7YcVF13c7oM19XZfvw+lliU/geOwVNW5\nEfSn91UWIEMB60Q5XKHg11LAvbq8mvcHD+6ujeoPMfoZJrHZj5ucBP5auyRNFCUM\nWE2IILLpgdhDfE5I323xHIyMblMSc1OOkZzjhuNYRQKBgQDuEa/jMqEDu7ZpDo/g\nf+M4Qmmyh1WIjnORwqbf8INi5oN1NoIv6tcJ++COAWcBpyerW9aknLRMX9FXrNH5\nAPyRvHQt2IpRCqjdcEr2b3VwZmcjRVbpsISwqE0RBvXSXOnvbDzZ53bC70anL5OY\n7UYwOotbQXpcEGC57wy8G+VVlwKBgQDe63bcubV1W2+WPbdtzb7tzIS5PPz19U5i\n5PjVQ4E34FH0ZBnk2v1fjtVxR72mrzCg2xz72rWgdsHJ/1QZAfw+4troJV9LI9SG\nYRMeh86NSfNObdkY+LmCSH4eiFe83kFLUUzhnYE6DU/17i6T4V+ofawToasu3wag\nf7LzT2BzEwKBgQDlVD5lktDOQtWtj+yC607bVAZzhrCbUfX8FFEh6ZL3A2zgzXhN\nZmBtaqfew3URf47UICy894MrCyYi2gSOZCfoz2vu+egLt0QBw/lCOQ4dD1gM/u+B\nP5wifI14eIb2dLCZBV/83F5n24zo4gjBSNfS/6Jcbs/KvbAfjCptTkX10wKBgDxb\nwy5WtlRVcqxaf50ilWzr8I/7fH7YceYDG4EbKxTHD0m+BOjbhrlmAlMO2sIUM3WK\nfpmPCZiuLyCTmuC+kd8xK5ap79h3libgh/2/ReUpvdBhm+PQDOLC4CtCPYdtIn7T\nP57jN8dRLXJokIIIBw+nH32dS62AQ9oXWYvZ1UKzAoGBAOWOSphZMnPlLeLN54/4\nwKPI+D6G1JhzqQrUf8Z99J7m3r3ya+0ug5gRGQCoSRfqz9o87+fLCdSdc38L+j4T\nBnuwIcY6n4LF+3yAPIF1rnrIBFRqzPta7epYPXHtUTvWOkEkKzNmsFVCZKF7nQjS\ns/ucyyfUssPsTznYW3gXf3To\n-----END PRIVATE KEY-----\n',
32
+ client_email: 'lyxa-core@for-poc-325210.iam.gserviceaccount.com',
33
+ },
34
+ });
35
+ }
36
+ async getKey(key) {
37
+ const environmentTransformedKey = this._configurationService?.options?.environment + '_' + key;
38
+ try {
39
+ const data = await this._redisManager.getCachedObjectByGroup(this?._configurationService?.options?.environment + '_KEYS', key);
40
+ if (data != undefined) {
41
+ return data;
42
+ }
43
+ const [accessResponse] = await this._client.accessSecretVersion({
44
+ name: 'projects/899369746265/secrets/' + environmentTransformedKey + '/versions/latest',
45
+ });
46
+ const val = accessResponse.payload.data.toString();
47
+ await this.setKey(key, val);
48
+ return val;
49
+ }
50
+ catch (e) {
51
+ console.error(e);
52
+ }
53
+ }
54
+ async setKey(key, value) {
55
+ await this._redisManager.setCachedObjectByGroup(this._configurationService.options.environment + '_KEYS', key, value);
56
+ return value;
57
+ }
58
+ };
59
+ exports.SecretManagerService = SecretManagerService;
60
+ exports.SecretManagerService = SecretManagerService = __decorate([
61
+ (0, typedi_1.Service)(),
62
+ __metadata("design:paramtypes", [configuration_1.ConfigurationService, redis_1.RedisService])
63
+ ], SecretManagerService);
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/secrets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAA0E;AAC1E,mCAAiC;AACjC,oCAAwC;AACxC,oDAAwD;AAGjD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACxB,qBAAqB,CAAwB;IAC7C,aAAa,CAAgB;IAC7B,OAAO,CAA8B;IAE7C,YAAY,oBAA0C,EAAE,YAA0B;QACjF,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,2CAA0B,CAAC;YAC7C,WAAW,EAAE;gBACZ,SAAS,EAAE,uBAAuB;gBAClC,cAAc,EAAE,0CAA0C;gBAC1D,IAAI,EAAE,iBAAiB;gBACvB,eAAe,EAAE,gBAAgB;gBACjC,SAAS,EAAE,gBAAgB;gBAC3B,WAAW,EACV,ssDAAssD;gBACvsD,YAAY,EAAE,kDAAkD;aAChE;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW;QAC9B,MAAM,yBAAyB,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC;QAE/F,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAC3D,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,EAC3D,GAAG,CACH,CAAC;YAEF,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAC/D,IAAI,EAAE,gCAAgC,GAAG,yBAAyB,GAAG,kBAAkB;aACvF,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,cAAc,CAAC,OAAQ,CAAC,IAAK,CAAC,QAAQ,EAAE,CAAC;YAErD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAE5B,OAAO,GAAG,CAAC;QACZ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAa;QAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAC9C,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,EACxD,GAAG,EACH,KAAK,CACL,CAAC;QACF,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AAzDY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,gBAAO,GAAE;qCAMyB,oCAAoB,EAAgB,oBAAY;GALtE,oBAAoB,CAyDhC","sourcesContent":["import { SecretManagerServiceClient } from '@google-cloud/secret-manager';\nimport { Service } from 'typedi';\nimport { RedisService } from '../redis';\nimport { ConfigurationService } from '../configuration';\n\n@Service()\nexport class SecretManagerService {\n\tprivate _configurationService!: ConfigurationService;\n\tprivate _redisManager!: RedisService;\n\tprivate _client!: SecretManagerServiceClient;\n\n\tconstructor(configurationService: ConfigurationService, redisManager: RedisService) {\n\t\tthis._configurationService = configurationService;\n\t\tthis._redisManager = redisManager;\n\t\tthis._client = new SecretManagerServiceClient({\n\t\t\tcredentials: {\n\t\t\t\tclient_id: '107840895824406590900',\n\t\t\t\tprivate_key_id: 'ece1ebdfde57414700f23f1f4014f5e83d4f7644',\n\t\t\t\ttype: 'service_account',\n\t\t\t\tuniverse_domain: 'googleapis.com',\n\t\t\t\tprojectId: 'for-poc-325210',\n\t\t\t\tprivate_key:\n\t\t\t\t\t'-----BEGIN PRIVATE KEY-----\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDPTk9M5nCDYJhC\\nLuyP+gqBXIHPrXegygco5tB50Y7Q9s/f4hm+xp/usYy5UCYyFVNjZ2mdjWQcr3Ta\\nT3GZV9OiHej8ejveY0iyFBi0IlfGNm9blYlOIyQT4i6MoevNul7u4EQL8bid/sp/\\nJ/XPNC+Jnk8Ke2G9FdfDYs+1O6Nf37HuPUmMwLAzcyl+k1v9UzInrgNPj+nactY7\\nEPCVSM6XcZI3UL86n574iQBvUXsMpUt3csYVOxPap1Vd1TBEo1k85jZepMvaXHoK\\nJUwQT7p1F1D0weVKJ1BjwQgmADZWfUKdwRyS8zFPbUGeptlA2XlxyVMasGzCCMi4\\n6jzJGC81AgMBAAECggEAXoaLnDn7Fbym0I7K6T+PKLtAqaykPpnAOAM/DjzijR/t\\nW12idZ3l8RXeX+VO9UlKE6pkuyVsf7P1aVIOL2ifpG1U/kLSJ65HyINnXEPImCXc\\nEvuVdx6I5dQde5ydg9o2TV/PR0756njyZpaW+9sEzhB0ZAgsYeai0oGsyiuebCkm\\nqlOnf5DO/kWlNvf8yZ7GMEa0WBYyan4O7YcVF13c7oM19XZfvw+lliU/geOwVNW5\\nEfSn91UWIEMB60Q5XKHg11LAvbq8mvcHD+6ujeoPMfoZJrHZj5ucBP5auyRNFCUM\\nWE2IILLpgdhDfE5I323xHIyMblMSc1OOkZzjhuNYRQKBgQDuEa/jMqEDu7ZpDo/g\\nf+M4Qmmyh1WIjnORwqbf8INi5oN1NoIv6tcJ++COAWcBpyerW9aknLRMX9FXrNH5\\nAPyRvHQt2IpRCqjdcEr2b3VwZmcjRVbpsISwqE0RBvXSXOnvbDzZ53bC70anL5OY\\n7UYwOotbQXpcEGC57wy8G+VVlwKBgQDe63bcubV1W2+WPbdtzb7tzIS5PPz19U5i\\n5PjVQ4E34FH0ZBnk2v1fjtVxR72mrzCg2xz72rWgdsHJ/1QZAfw+4troJV9LI9SG\\nYRMeh86NSfNObdkY+LmCSH4eiFe83kFLUUzhnYE6DU/17i6T4V+ofawToasu3wag\\nf7LzT2BzEwKBgQDlVD5lktDOQtWtj+yC607bVAZzhrCbUfX8FFEh6ZL3A2zgzXhN\\nZmBtaqfew3URf47UICy894MrCyYi2gSOZCfoz2vu+egLt0QBw/lCOQ4dD1gM/u+B\\nP5wifI14eIb2dLCZBV/83F5n24zo4gjBSNfS/6Jcbs/KvbAfjCptTkX10wKBgDxb\\nwy5WtlRVcqxaf50ilWzr8I/7fH7YceYDG4EbKxTHD0m+BOjbhrlmAlMO2sIUM3WK\\nfpmPCZiuLyCTmuC+kd8xK5ap79h3libgh/2/ReUpvdBhm+PQDOLC4CtCPYdtIn7T\\nP57jN8dRLXJokIIIBw+nH32dS62AQ9oXWYvZ1UKzAoGBAOWOSphZMnPlLeLN54/4\\nwKPI+D6G1JhzqQrUf8Z99J7m3r3ya+0ug5gRGQCoSRfqz9o87+fLCdSdc38L+j4T\\nBnuwIcY6n4LF+3yAPIF1rnrIBFRqzPta7epYPXHtUTvWOkEkKzNmsFVCZKF7nQjS\\ns/ucyyfUssPsTznYW3gXf3To\\n-----END PRIVATE KEY-----\\n',\n\t\t\t\tclient_email: 'lyxa-core@for-poc-325210.iam.gserviceaccount.com',\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic async getKey(key: string): Promise<string | undefined> {\n\t\tconst environmentTransformedKey = this._configurationService?.options?.environment + '_' + key;\n\n\t\ttry {\n\t\t\tconst data = await this._redisManager.getCachedObjectByGroup<string>(\n\t\t\t\tthis?._configurationService?.options?.environment + '_KEYS',\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tif (data != undefined) {\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tconst [accessResponse] = await this._client.accessSecretVersion({\n\t\t\t\tname: 'projects/899369746265/secrets/' + environmentTransformedKey + '/versions/latest',\n\t\t\t});\n\n\t\t\tconst val = accessResponse.payload!.data!.toString();\n\n\t\t\tawait this.setKey(key, val);\n\n\t\t\treturn val;\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t}\n\t}\n\n\tpublic async setKey(key: string, value: string): Promise<string> {\n\t\tawait this._redisManager.setCachedObjectByGroup<string>(\n\t\t\tthis._configurationService.options.environment + '_KEYS',\n\t\t\tkey,\n\t\t\tvalue\n\t\t);\n\t\treturn value;\n\t}\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export declare class LRUCache<K, V> {
2
+ private cache;
3
+ private maxSize;
4
+ constructor(maxSize?: number);
5
+ get(key: K): V | undefined;
6
+ set(key: K, value: V): void;
7
+ delete(key: K): void;
8
+ clear(): void;
9
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LRUCache = void 0;
4
+ class LRUCache {
5
+ cache = new Map();
6
+ maxSize;
7
+ constructor(maxSize = 10000) {
8
+ this.maxSize = maxSize;
9
+ }
10
+ get(key) {
11
+ const value = this.cache.get(key);
12
+ if (value !== undefined) {
13
+ this.cache.delete(key);
14
+ this.cache.set(key, value);
15
+ }
16
+ return value;
17
+ }
18
+ set(key, value) {
19
+ this.cache.delete(key);
20
+ if (this.cache.size >= this.maxSize) {
21
+ const firstKey = this.cache.keys().next().value;
22
+ if (firstKey !== undefined) {
23
+ this.cache.delete(firstKey);
24
+ }
25
+ }
26
+ this.cache.set(key, value);
27
+ }
28
+ delete(key) {
29
+ this.cache.delete(key);
30
+ }
31
+ clear() {
32
+ this.cache.clear();
33
+ }
34
+ }
35
+ exports.LRUCache = LRUCache;
36
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"/","sources":["libraries/socket/connections/cache.ts"],"names":[],"mappings":";;;AACA,MAAa,QAAQ;IACZ,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAC;IACxB,OAAO,CAAS;IAExB,YAAY,OAAO,GAAG,KAAK;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,GAAM;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,GAAM;QACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;CACD;AAnCD,4BAmCC","sourcesContent":["// LRUCache and cache instances for socket Redis logic\nexport class LRUCache<K, V> {\n\tprivate cache = new Map<K, V>();\n\tprivate maxSize: number;\n\n\tconstructor(maxSize = 10000) {\n\t\tthis.maxSize = maxSize;\n\t}\n\n\tget(key: K): V | undefined {\n\t\tconst value = this.cache.get(key);\n\t\tif (value !== undefined) {\n\t\t\tthis.cache.delete(key);\n\t\t\tthis.cache.set(key, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\tset(key: K, value: V): void {\n\t\tthis.cache.delete(key);\n\t\tif (this.cache.size >= this.maxSize) {\n\t\t\tconst firstKey = this.cache.keys().next().value;\n\t\t\tif (firstKey !== undefined) {\n\t\t\t\tthis.cache.delete(firstKey);\n\t\t\t}\n\t\t}\n\t\tthis.cache.set(key, value);\n\t}\n\n\tdelete(key: K): void {\n\t\tthis.cache.delete(key);\n\t}\n\n\tclear(): void {\n\t\tthis.cache.clear();\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { AuthEntityType } from '../../auth';
2
+ export declare function disconnectAllEntitiesFromInstance(entityType?: AuthEntityType): Promise<void>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.disconnectAllEntitiesFromInstance = disconnectAllEntitiesFromInstance;
4
+ const instance_utils_1 = require("../../../utilities/instance.utils");
5
+ const __1 = require("../../..");
6
+ const keys_1 = require("./keys");
7
+ const redis_helpers_1 = require("./redis-helpers");
8
+ async function disconnectAllEntitiesFromInstance(entityType) {
9
+ const instanceId = (0, instance_utils_1.getInstanceId)();
10
+ const redis = (0, __1.getLibraries)().getRedisService();
11
+ const pattern = entityType
12
+ ? `socket:active_subscriptions:${entityType}:*`
13
+ : 'socket:active_subscriptions:*';
14
+ const ledgerKeys = await (0, redis_helpers_1.scanKeys)(redis.redisClient, pattern);
15
+ const affectedEvents = new Set();
16
+ await Promise.all(ledgerKeys.map(async (ledgerKey) => {
17
+ const [, , type, id] = ledgerKey.split(':');
18
+ const entity = {
19
+ id,
20
+ type: type === 'default' ? undefined : type,
21
+ };
22
+ const eventKeys = await redis.getSetMembers(ledgerKey);
23
+ const pipeline = redis.redisClient.pipeline();
24
+ for (const eventKey of eventKeys) {
25
+ const entityEventKey = (0, keys_1.kEntityEventSockets)(entity, eventKey);
26
+ const sockets = await redis.getSetMembers(entityEventKey);
27
+ const toRemove = sockets.filter(s => {
28
+ const [sInstanceId] = s.split('|');
29
+ return sInstanceId === instanceId;
30
+ });
31
+ for (const s of toRemove) {
32
+ pipeline.srem(entityEventKey, s);
33
+ }
34
+ if (sockets.length - toRemove.length === 0) {
35
+ pipeline.del(entityEventKey);
36
+ pipeline.srem(ledgerKey, eventKey);
37
+ }
38
+ affectedEvents.add(eventKey);
39
+ }
40
+ await pipeline.exec();
41
+ }));
42
+ }
43
+ //# sourceMappingURL=instance-disconnect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-disconnect.js","sourceRoot":"/","sources":["libraries/socket/connections/instance-disconnect.ts"],"names":[],"mappings":";;AAgBA,8EAqCC;AApDD,sEAAkE;AAClE,gCAAwC;AACxC,iCAA0F;AAC1F,mDAA2C;AAYpC,KAAK,UAAU,iCAAiC,CAAC,UAA2B;IAClF,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAA,gBAAY,GAAE,CAAC,eAAe,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,UAAU;QACzB,CAAC,CAAC,+BAA+B,UAAU,IAAI;QAC/C,CAAC,CAAC,+BAA+B,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAQ,EAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;QAChC,MAAM,CAAC,EAAE,AAAD,EAAG,IAAI,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAuB;YAClC,EAAE;YACF,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAuB;SAC/D,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,IAAA,0BAAmB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE1D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACnC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnC,OAAO,WAAW,KAAK,UAAU,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC,CACF,CAAC;AACH,CAAC","sourcesContent":["// Instance disconnect logic for socket Redis\nimport { getInstanceId } from '../../../utilities/instance.utils';\nimport { getLibraries } from '../../..';\nimport { kEntityEvent, kEntityEventSockets, entityKey, EntitySubscription } from './keys';\nimport { scanKeys } from './redis-helpers';\nimport { AuthEntityType } from '../../auth';\nimport { LRUCache } from './cache';\n\n/**\n * Removes all sockets belonging to the current instance.\n * Used on shutdown or crash recovery.\n * Cleans entity-event keys, event subscribers, and ledgers in bulk.\n *\n * NOTE: This currently scans all ledgers (SCAN), which is acceptable for small/medium scale and infrequent use.\n * For very large scale or frequent shutdowns, consider maintaining a reverse index (instance → ledgers) to avoid SCAN entirely.\n */\nexport async function disconnectAllEntitiesFromInstance(entityType?: AuthEntityType) {\n\tconst instanceId = getInstanceId();\n\tconst redis = getLibraries().getRedisService();\n\tconst pattern = entityType\n\t\t? `socket:active_subscriptions:${entityType}:*`\n\t\t: 'socket:active_subscriptions:*';\n\tconst ledgerKeys = await scanKeys(redis.redisClient, pattern);\n\tconst affectedEvents = new Set<string>();\n\tawait Promise.all(\n\t\tledgerKeys.map(async ledgerKey => {\n\t\t\tconst [, , type, id] = ledgerKey.split(':');\n\t\t\tconst entity: EntitySubscription = {\n\t\t\t\tid,\n\t\t\t\ttype: type === 'default' ? undefined : (type as AuthEntityType),\n\t\t\t};\n\t\t\tconst eventKeys = await redis.getSetMembers(ledgerKey);\n\t\t\tconst pipeline = redis.redisClient.pipeline();\n\t\t\tfor (const eventKey of eventKeys) {\n\t\t\t\tconst entityEventKey = kEntityEventSockets(entity, eventKey);\n\t\t\t\tconst sockets = await redis.getSetMembers(entityEventKey);\n\t\t\t\t// Remove all sockets for this instance\n\t\t\t\tconst toRemove = sockets.filter(s => {\n\t\t\t\t\tconst [sInstanceId] = s.split('|');\n\t\t\t\t\treturn sInstanceId === instanceId;\n\t\t\t\t});\n\t\t\t\tfor (const s of toRemove) {\n\t\t\t\t\tpipeline.srem(entityEventKey, s);\n\t\t\t\t}\n\t\t\t\tif (sockets.length - toRemove.length === 0) {\n\t\t\t\t\tpipeline.del(entityEventKey);\n\t\t\t\t\tpipeline.srem(ledgerKey, eventKey);\n\t\t\t\t}\n\t\t\t\taffectedEvents.add(eventKey);\n\t\t\t}\n\t\t\tawait pipeline.exec();\n\t\t})\n\t);\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { AuthEntityType } from '../../auth';
2
+ export type EntitySubscription = {
3
+ id: string;
4
+ type?: AuthEntityType;
5
+ };
6
+ export declare const entityKey: (entity: EntitySubscription) => string;
7
+ export declare const kEventEntity: (eventKey: string) => string;
8
+ export declare const kEntityEvent: (entity: EntitySubscription) => string;
9
+ export declare const kOnlineEntities: (type: AuthEntityType) => string;
10
+ export declare const kEntityEventSockets: (entity: EntitySubscription, eventKey: string) => string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kEntityEventSockets = exports.kOnlineEntities = exports.kEntityEvent = exports.kEventEntity = exports.entityKey = void 0;
4
+ const keyCache = new Map();
5
+ const entityKey = (entity) => {
6
+ const cacheKey = `${entity.type}:${entity.id}`;
7
+ let key = keyCache.get(cacheKey);
8
+ if (!key) {
9
+ key = `${entity.type ?? 'default'}:${entity.id}`;
10
+ keyCache.set(cacheKey, key);
11
+ }
12
+ return key;
13
+ };
14
+ exports.entityKey = entityKey;
15
+ const kEventEntity = (eventKey) => `socket:event:${eventKey}`;
16
+ exports.kEventEntity = kEventEntity;
17
+ const kEntityEvent = (entity) => `socket:subscriptions:${(0, exports.entityKey)(entity)}`;
18
+ exports.kEntityEvent = kEntityEvent;
19
+ const kOnlineEntities = (type) => `socket:online:${type}`;
20
+ exports.kOnlineEntities = kOnlineEntities;
21
+ const kEntityEventSockets = (entity, eventKey) => `socket:entity:${(0, exports.entityKey)(entity)}:${eventKey}`;
22
+ exports.kEntityEventSockets = kEntityEventSockets;
23
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"/","sources":["libraries/socket/connections/keys.ts"],"names":[],"mappings":";;;AAOA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEpC,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAU,EAAE;IAC/D,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;IAC/C,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACjD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AARW,QAAA,SAAS,aAQpB;AAEK,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,gBAAgB,QAAQ,EAAE,CAAC;AAAhE,QAAA,YAAY,gBAAoD;AAEtE,MAAM,YAAY,GAAG,CAAC,MAA0B,EAAE,EAAE,CAAC,wBAAwB,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;AAA3F,QAAA,YAAY,gBAA+E;AAEjG,MAAM,eAAe,GAAG,CAAC,IAAoB,EAAE,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAApE,QAAA,eAAe,mBAAqD;AAE1E,MAAM,mBAAmB,GAAG,CAAC,MAA0B,EAAE,QAAgB,EAAE,EAAE,CACnF,iBAAiB,IAAA,iBAAS,EAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;AADrC,QAAA,mBAAmB,uBACkB","sourcesContent":["import { AuthEntityType } from '../../auth';\n\nexport type EntitySubscription = {\n\tid: string;\n\ttype?: AuthEntityType;\n};\n\nconst keyCache = new Map<string, string>();\n\nexport const entityKey = (entity: EntitySubscription): string => {\n\tconst cacheKey = `${entity.type}:${entity.id}`;\n\tlet key = keyCache.get(cacheKey);\n\tif (!key) {\n\t\tkey = `${entity.type ?? 'default'}:${entity.id}`;\n\t\tkeyCache.set(cacheKey, key);\n\t}\n\treturn key;\n};\n\nexport const kEventEntity = (eventKey: string) => `socket:event:${eventKey}`;\n\nexport const kEntityEvent = (entity: EntitySubscription) => `socket:subscriptions:${entityKey(entity)}`;\n\nexport const kOnlineEntities = (type: AuthEntityType) => `socket:online:${type}`;\n\nexport const kEntityEventSockets = (entity: EntitySubscription, eventKey: string) =>\n\t`socket:entity:${entityKey(entity)}:${eventKey}`;\n"]}
@@ -0,0 +1,2 @@
1
+ import type { Redis } from 'ioredis';
2
+ export declare function scanKeys(redis: Redis, pattern: string): Promise<string[]>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scanKeys = scanKeys;
4
+ async function scanKeys(redis, pattern) {
5
+ const keys = [];
6
+ let cursor = '0';
7
+ do {
8
+ const [newCursor, foundKeys] = await redis.scan(cursor, 'MATCH', pattern, 'COUNT', 100);
9
+ cursor = newCursor;
10
+ keys.push(...foundKeys);
11
+ } while (cursor !== '0');
12
+ return keys;
13
+ }
14
+ //# sourceMappingURL=redis-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis-helpers.js","sourceRoot":"/","sources":["libraries/socket/connections/redis-helpers.ts"],"names":[],"mappings":";;AAGA,4BASC;AATM,KAAK,UAAU,QAAQ,CAAC,KAAY,EAAE,OAAe;IAC3D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,GAAG,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACxF,MAAM,GAAG,SAAS,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACzB,CAAC,QAAQ,MAAM,KAAK,GAAG,EAAE;IACzB,OAAO,IAAI,CAAC;AACb,CAAC","sourcesContent":["// Redis set helpers for socket logic\nimport type { Redis } from 'ioredis';\n\nexport async function scanKeys(redis: Redis, pattern: string): Promise<string[]> {\n\tconst keys: string[] = [];\n\tlet cursor = '0';\n\tdo {\n\t\tconst [newCursor, foundKeys] = await redis.scan(cursor, 'MATCH', pattern, 'COUNT', 100);\n\t\tcursor = newCursor;\n\t\tkeys.push(...foundKeys);\n\t} while (cursor !== '0');\n\treturn keys;\n}\n"]}
@@ -0,0 +1,37 @@
1
+ import { CreateHTTPContextOptions } from '@trpc/server/adapters/standalone';
2
+ import type { NodeHTTPCreateContextFnOptions } from '@trpc/server/adapters/node-http';
3
+ import type { CreateWSSContextFnOptions } from '@trpc/server/adapters/ws';
4
+ import { AuthEntityType, TokenType } from '../auth';
5
+ import jwt from 'jsonwebtoken';
6
+ import type { IncomingMessage, ServerResponse } from 'http';
7
+ import { Types } from 'mongoose';
8
+ import { AdminRole, ShopRole, UserRef, VendorRole } from '../../utilities/enum';
9
+ export interface EntityContext extends jwt.JwtPayload {
10
+ id: string;
11
+ type: AuthEntityType;
12
+ parameters: Record<string, unknown>;
13
+ }
14
+ export interface LyxaContextParams {
15
+ entity?: EntityContext;
16
+ requestId?: string;
17
+ tokenType?: TokenType;
18
+ usedRefreshToken?: boolean;
19
+ tokenRenewed?: boolean;
20
+ }
21
+ export interface LyxaHTTPContext extends LyxaContextParams {
22
+ req: IncomingMessage;
23
+ res: ServerResponse;
24
+ }
25
+ export interface LyxaWSContext extends LyxaContextParams {
26
+ req: any;
27
+ res: any;
28
+ }
29
+ export declare const createLyxaContext: (opts: CreateHTTPContextOptions | NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>) => Promise<LyxaHTTPContext>;
30
+ export declare const createLyxaWsContext: (opts: CreateWSSContextFnOptions) => Promise<LyxaWSContext>;
31
+ export type UserInfo = {
32
+ user: Types.ObjectId;
33
+ userType: UserRef;
34
+ userRole: AdminRole | VendorRole | ShopRole;
35
+ };
36
+ export declare function withUserContext<T extends object>(input: T, ctx: LyxaContext): T & UserInfo;
37
+ export type LyxaContext = Awaited<ReturnType<typeof createLyxaContext>>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLyxaWsContext = exports.createLyxaContext = void 0;
4
+ exports.withUserContext = withUserContext;
5
+ const mongoose_1 = require("mongoose");
6
+ const auth_ref_mapper_1 = require("../../utilities/auth-ref.mapper");
7
+ const createLyxaContext = async (opts) => {
8
+ opts.req._startTime = Date.now();
9
+ return {
10
+ entity: undefined,
11
+ requestId: undefined,
12
+ tokenType: undefined,
13
+ usedRefreshToken: false,
14
+ tokenRenewed: false,
15
+ req: opts.req,
16
+ res: opts.res,
17
+ };
18
+ };
19
+ exports.createLyxaContext = createLyxaContext;
20
+ const createLyxaWsContext = async (opts) => {
21
+ return {
22
+ entity: undefined,
23
+ requestId: undefined,
24
+ tokenType: undefined,
25
+ usedRefreshToken: false,
26
+ tokenRenewed: false,
27
+ req: opts.req,
28
+ res: opts.res,
29
+ };
30
+ };
31
+ exports.createLyxaWsContext = createLyxaWsContext;
32
+ function withUserContext(input, ctx) {
33
+ const entity = ctx.entity;
34
+ if (!entity)
35
+ throw new Error('No entity in context');
36
+ return {
37
+ ...input,
38
+ user: new mongoose_1.Types.ObjectId(entity.id),
39
+ userType: auth_ref_mapper_1.AuthEntityToUserRefMap[entity.type],
40
+ userRole: entity.parameters?.role,
41
+ };
42
+ }
43
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"/","sources":["libraries/trpc/context.ts"],"names":[],"mappings":";;;AA8EA,0CAUC;AAlFD,uCAAiC;AACjC,qEAAyE;AA2BlE,MAAM,iBAAiB,GAAG,KAAK,EACrC,IAAgG,EACrE,EAAE;IAG5B,IAAI,CAAC,GAAW,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1C,OAAO;QACN,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,KAAK;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;KACb,CAAC;AACH,CAAC,CAAC;AAfW,QAAA,iBAAiB,qBAe5B;AAEK,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAA+B,EAA0B,EAAE;IACpG,OAAO;QACN,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,KAAK;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;KACb,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,mBAAmB,uBAU9B;AAiBF,SAAgB,eAAe,CAAmB,KAAQ,EAAE,GAAgB;IAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAErD,OAAO;QACN,GAAG,KAAK;QACR,IAAI,EAAE,IAAI,gBAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,QAAQ,EAAE,wCAAsB,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,IAAyC;KACtE,CAAC;AACH,CAAC","sourcesContent":["import { CreateHTTPContextOptions } from '@trpc/server/adapters/standalone';\nimport type { NodeHTTPCreateContextFnOptions } from '@trpc/server/adapters/node-http';\nimport type { CreateWSSContextFnOptions } from '@trpc/server/adapters/ws';\nimport { AuthEntityType, TokenType } from '../auth';\nimport jwt from 'jsonwebtoken';\nimport type { IncomingMessage, ServerResponse } from 'http';\nimport { Types } from 'mongoose';\nimport { AuthEntityToUserRefMap } from '../../utilities/auth-ref.mapper';\nimport { AdminRole, ShopRole, UserRef, VendorRole } from '../../utilities/enum';\n\nexport interface EntityContext extends jwt.JwtPayload {\n\tid: string;\n\ttype: AuthEntityType;\n\tparameters: Record<string, unknown>;\n}\n\nexport interface LyxaContextParams {\n\tentity?: EntityContext;\n\trequestId?: string;\n\ttokenType?: TokenType;\n\tusedRefreshToken?: boolean;\n\ttokenRenewed?: boolean;\n}\n\nexport interface LyxaHTTPContext extends LyxaContextParams {\n\treq: IncomingMessage;\n\tres: ServerResponse;\n}\n\nexport interface LyxaWSContext extends LyxaContextParams {\n\treq: any;\n\tres: any;\n}\n\nexport const createLyxaContext = async (\n\topts: CreateHTTPContextOptions | NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>\n): Promise<LyxaHTTPContext> => {\n\t// Stamp request start so the error handler can report duration. ponytail: cheapest\n\t// place to time every request without adding a dedicated timing middleware.\n\t(opts.req as any)._startTime = Date.now();\n\treturn {\n\t\tentity: undefined,\n\t\trequestId: undefined,\n\t\ttokenType: undefined,\n\t\tusedRefreshToken: false,\n\t\ttokenRenewed: false,\n\t\treq: opts.req,\n\t\tres: opts.res,\n\t};\n};\n\nexport const createLyxaWsContext = async (opts: CreateWSSContextFnOptions): Promise<LyxaWSContext> => {\n\treturn {\n\t\tentity: undefined,\n\t\trequestId: undefined,\n\t\ttokenType: undefined,\n\t\tusedRefreshToken: false,\n\t\ttokenRenewed: false,\n\t\treq: opts.req,\n\t\tres: opts.res,\n\t};\n};\n\nexport type UserInfo = {\n\tuser: Types.ObjectId;\n\tuserType: UserRef;\n\tuserRole: AdminRole | VendorRole | ShopRole;\n};\n\n/**\n *\n * Enriches the input object with user context information from the LyxaContext.\n *\n * @param input\n * @param ctx\n *\n * @example const inp: SendMessageDTO = withUserContext(input, ctx);\n */\nexport function withUserContext<T extends object>(input: T, ctx: LyxaContext): T & UserInfo {\n\tconst entity = ctx.entity;\n\tif (!entity) throw new Error('No entity in context');\n\n\treturn {\n\t\t...input,\n\t\tuser: new Types.ObjectId(entity.id),\n\t\tuserType: AuthEntityToUserRefMap[entity.type],\n\t\tuserRole: entity.parameters?.role as AdminRole | VendorRole | ShopRole,\n\t};\n}\n\nexport type LyxaContext = Awaited<ReturnType<typeof createLyxaContext>>;\n"]}
@@ -0,0 +1,75 @@
1
+ export declare const t: import("@trpc/server").TRPCRootObject<import("./context").LyxaHTTPContext, object, {
2
+ errorFormatter({ shape, error }: {
3
+ error: import("@trpc/server").TRPCError;
4
+ type: import("@trpc/server").ProcedureType | "unknown";
5
+ path: string | undefined;
6
+ input: unknown;
7
+ ctx: import("./context").LyxaHTTPContext | undefined;
8
+ shape: import("@trpc/server").TRPCDefaultErrorShape;
9
+ }): {
10
+ message: string;
11
+ data: {
12
+ stack: undefined;
13
+ path: undefined;
14
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
15
+ httpStatus: number;
16
+ };
17
+ stack: undefined;
18
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
19
+ };
20
+ }, {
21
+ ctx: import("./context").LyxaHTTPContext;
22
+ meta: object;
23
+ errorShape: {
24
+ message: string;
25
+ data: {
26
+ stack: undefined;
27
+ path: undefined;
28
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
29
+ httpStatus: number;
30
+ };
31
+ stack: undefined;
32
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
33
+ };
34
+ transformer: false;
35
+ }>;
36
+ export declare const slowApiMiddleware: import("@trpc/server").TRPCMiddlewareBuilder<import("./context").LyxaHTTPContext, object, object, unknown>;
37
+ export declare const publicProcedure: import("@trpc/server").TRPCProcedureBuilder<import("./context").LyxaHTTPContext, object, {}, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
38
+ export declare const createTRPCRouter: import("@trpc/server").TRPCRouterBuilder<{
39
+ ctx: import("./context").LyxaHTTPContext;
40
+ meta: object;
41
+ errorShape: {
42
+ message: string;
43
+ data: {
44
+ stack: undefined;
45
+ path: undefined;
46
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
47
+ httpStatus: number;
48
+ };
49
+ stack: undefined;
50
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
51
+ };
52
+ transformer: false;
53
+ }>;
54
+ export declare const createCallerFactory: import("@trpc/server").TRPCRouterCallerFactory<{
55
+ ctx: import("./context").LyxaHTTPContext;
56
+ meta: object;
57
+ errorShape: {
58
+ message: string;
59
+ data: {
60
+ stack: undefined;
61
+ path: undefined;
62
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
63
+ httpStatus: number;
64
+ };
65
+ stack: undefined;
66
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
67
+ };
68
+ transformer: false;
69
+ }>;
70
+ export type { inferRouterInputs, inferRouterOutputs } from '@trpc/server';
71
+ export type { AnyTRPCRouter } from '@trpc/server';
72
+ export { createHTTPHandler } from '@trpc/server/adapters/standalone';
73
+ export { observable } from '@trpc/server/observable';
74
+ export { TRPCError } from '@trpc/server';
75
+ export type LyxaRouter = ReturnType<typeof createTRPCRouter>;