@aldb2b/common 1.0.450 → 1.0.451

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 (658) hide show
  1. package/build/db/CustomModel.d.ts +4 -0
  2. package/build/db/CustomModel.js +8 -0
  3. package/build/db/CustomModel.js.map +1 -0
  4. package/build/db/MongooseBase.d.ts +47 -0
  5. package/build/db/MongooseBase.js +451 -0
  6. package/build/db/MongooseBase.js.map +1 -0
  7. package/build/db/MongooseNestedModel.d.ts +10 -0
  8. package/build/db/MongooseNestedModel.js +67 -0
  9. package/build/db/MongooseNestedModel.js.map +1 -0
  10. package/build/db/aggregate/AggregateConvertor.d.ts +23 -0
  11. package/build/db/aggregate/AggregateConvertor.js +212 -0
  12. package/build/db/aggregate/AggregateConvertor.js.map +1 -0
  13. package/build/db/aggregate/createAggregateResponse.d.ts +2 -0
  14. package/build/db/aggregate/createAggregateResponse.js +50 -0
  15. package/build/db/aggregate/createAggregateResponse.js.map +1 -0
  16. package/build/db/mongoose-find-options.d.ts +12 -0
  17. package/build/db/mongoose-find-options.js +68 -0
  18. package/build/db/mongoose-find-options.js.map +1 -0
  19. package/build/db/mongoose-nested-option.d.ts +4 -0
  20. package/build/db/mongoose-nested-option.js +7 -0
  21. package/build/db/mongoose-nested-option.js.map +1 -0
  22. package/build/decorators/get-event-id-decorator.d.ts +1 -0
  23. package/build/decorators/get-event-id-decorator.js +13 -0
  24. package/build/decorators/get-event-id-decorator.js.map +1 -0
  25. package/build/decorators/get-user-decorator.d.ts +1 -0
  26. package/build/decorators/get-user-decorator.js +13 -0
  27. package/build/decorators/get-user-decorator.js.map +1 -0
  28. package/build/elastic/elastic-find-options.d.ts +9 -0
  29. package/build/elastic/elastic-find-options.js +48 -0
  30. package/build/elastic/elastic-find-options.js.map +1 -0
  31. package/build/elastic/elastic-search-index.d.ts +17 -0
  32. package/build/elastic/elastic-search-index.js +43 -0
  33. package/build/elastic/elastic-search-index.js.map +1 -0
  34. package/build/elastic/elastic-sort.interface.d.ts +5 -0
  35. package/build/elastic/elastic-sort.interface.js +3 -0
  36. package/build/elastic/elastic-sort.interface.js.map +1 -0
  37. package/build/enums/elastic-search-action.enum.d.ts +5 -0
  38. package/build/enums/elastic-search-action.enum.js +10 -0
  39. package/build/enums/elastic-search-action.enum.js.map +1 -0
  40. package/build/enums/elastic-sort-order.enum.d.ts +4 -0
  41. package/build/enums/elastic-sort-order.enum.js +9 -0
  42. package/build/enums/elastic-sort-order.enum.js.map +1 -0
  43. package/build/enums/event-profile-status.enum.d.ts +4 -0
  44. package/build/enums/event-profile-status.enum.js +9 -0
  45. package/build/enums/event-profile-status.enum.js.map +1 -0
  46. package/build/events/add-company-crm.interface.d.ts +10 -0
  47. package/build/events/add-company-crm.interface.js +3 -0
  48. package/build/events/add-company-crm.interface.js.map +1 -0
  49. package/build/events/add-contact-crm.interface.d.ts +10 -0
  50. package/build/events/add-contact-crm.interface.js +3 -0
  51. package/build/events/add-contact-crm.interface.js.map +1 -0
  52. package/build/events/attendee-contact.interface.d.ts +10 -0
  53. package/build/events/attendee-contact.interface.js +3 -0
  54. package/build/events/attendee-contact.interface.js.map +1 -0
  55. package/build/events/authorize-user.interface.d.ts +11 -0
  56. package/build/events/authorize-user.interface.js +3 -0
  57. package/build/events/authorize-user.interface.js.map +1 -0
  58. package/build/events/campaign-add-in-queue.interface.d.ts +11 -0
  59. package/build/events/campaign-add-in-queue.interface.js +3 -0
  60. package/build/events/campaign-add-in-queue.interface.js.map +1 -0
  61. package/build/events/campaign-meeting-request-created.interface.d.ts +22 -0
  62. package/build/events/campaign-meeting-request-created.interface.js +3 -0
  63. package/build/events/campaign-meeting-request-created.interface.js.map +1 -0
  64. package/build/events/campaign-users.interface.d.ts +11 -0
  65. package/build/events/campaign-users.interface.js +3 -0
  66. package/build/events/campaign-users.interface.js.map +1 -0
  67. package/build/events/cancel-meetings-and-requests.interface.d.ts +11 -0
  68. package/build/events/cancel-meetings-and-requests.interface.js +3 -0
  69. package/build/events/cancel-meetings-and-requests.interface.js.map +1 -0
  70. package/build/events/companies-by-search.interface.d.ts +11 -0
  71. package/build/events/companies-by-search.interface.js +3 -0
  72. package/build/events/companies-by-search.interface.js.map +1 -0
  73. package/build/events/company-created.interface.d.ts +9 -0
  74. package/build/events/company-created.interface.js +3 -0
  75. package/build/events/company-created.interface.js.map +1 -0
  76. package/build/events/company-updated.interface.d.ts +9 -0
  77. package/build/events/company-updated.interface.js +3 -0
  78. package/build/events/company-updated.interface.js.map +1 -0
  79. package/build/events/compute-calendar.interface.d.ts +14 -0
  80. package/build/events/compute-calendar.interface.js +3 -0
  81. package/build/events/compute-calendar.interface.js.map +1 -0
  82. package/build/events/contact-created.interface.d.ts +9 -0
  83. package/build/events/contact-created.interface.js +3 -0
  84. package/build/events/contact-created.interface.js.map +1 -0
  85. package/build/events/contact-updated.interface.d.ts +9 -0
  86. package/build/events/contact-updated.interface.js +3 -0
  87. package/build/events/contact-updated.interface.js.map +1 -0
  88. package/build/events/contacts-by-search.interface.d.ts +11 -0
  89. package/build/events/contacts-by-search.interface.js +3 -0
  90. package/build/events/contacts-by-search.interface.js.map +1 -0
  91. package/build/events/countries-by-search.interface.d.ts +10 -0
  92. package/build/events/countries-by-search.interface.js +3 -0
  93. package/build/events/countries-by-search.interface.js.map +1 -0
  94. package/build/events/create-chat-setting.interface.d.ts +12 -0
  95. package/build/events/create-chat-setting.interface.js +3 -0
  96. package/build/events/create-chat-setting.interface.js.map +1 -0
  97. package/build/events/create-cities.interface.d.ts +10 -0
  98. package/build/events/create-cities.interface.js +3 -0
  99. package/build/events/create-cities.interface.js.map +1 -0
  100. package/build/events/create-company-event.interface.js +3 -0
  101. package/build/events/create-company-event.interface.js.map +1 -0
  102. package/build/events/create-company-setting.interface.d.ts +18 -0
  103. package/build/events/create-company-setting.interface.js +3 -0
  104. package/build/events/create-company-setting.interface.js.map +1 -0
  105. package/build/events/create-company.interface.js +3 -0
  106. package/build/events/create-company.interface.js.map +1 -0
  107. package/build/events/create-contact.interface.js +3 -0
  108. package/build/events/create-contact.interface.js.map +1 -0
  109. package/build/events/create-default-templates.d.ts +10 -0
  110. package/build/events/create-default-templates.js +3 -0
  111. package/build/events/create-default-templates.js.map +1 -0
  112. package/build/events/create-meeting-crm.interface.d.ts +9 -0
  113. package/build/events/create-meeting-crm.interface.js +3 -0
  114. package/build/events/create-meeting-crm.interface.js.map +1 -0
  115. package/build/events/create-meeting-event.interface.js +3 -0
  116. package/build/events/create-meeting-event.interface.js.map +1 -0
  117. package/build/events/create-meeting-setting.interface.d.ts +12 -0
  118. package/build/events/create-meeting-setting.interface.js +3 -0
  119. package/build/events/create-meeting-setting.interface.js.map +1 -0
  120. package/build/events/create-notification-event.interface.js +3 -0
  121. package/build/events/create-notification-event.interface.js.map +1 -0
  122. package/build/events/create-order-crm.interface.d.ts +10 -0
  123. package/build/events/create-order-crm.interface.js +3 -0
  124. package/build/events/create-order-crm.interface.js.map +1 -0
  125. package/build/events/create-order-send-email.interface.d.ts +18 -0
  126. package/build/events/create-order-send-email.interface.js +3 -0
  127. package/build/events/create-order-send-email.interface.js.map +1 -0
  128. package/build/events/create-property.interface.d.ts +18 -0
  129. package/build/events/create-property.interface.js +3 -0
  130. package/build/events/create-property.interface.js.map +1 -0
  131. package/build/events/create-quotation-crm.interface.d.ts +10 -0
  132. package/build/events/create-quotation-crm.interface.js +3 -0
  133. package/build/events/create-quotation-crm.interface.js.map +1 -0
  134. package/build/events/create-subscription-event.interface.js +3 -0
  135. package/build/events/create-subscription-event.interface.js.map +1 -0
  136. package/build/events/create-user-event.interface.js +3 -0
  137. package/build/events/create-user-event.interface.js.map +1 -0
  138. package/build/events/data-by-search.interface.d.ts +10 -0
  139. package/build/events/data-by-search.interface.js +3 -0
  140. package/build/events/data-by-search.interface.js.map +1 -0
  141. package/build/events/delete-property.interface.d.ts +10 -0
  142. package/build/events/delete-property.interface.js +3 -0
  143. package/build/events/delete-property.interface.js.map +1 -0
  144. package/build/events/demo-create-meeting-requests.interface.d.ts +10 -0
  145. package/build/events/demo-create-meeting-requests.interface.js +3 -0
  146. package/build/events/demo-create-meeting-requests.interface.js.map +1 -0
  147. package/build/events/demo-create-meetings.interface.d.ts +12 -0
  148. package/build/events/demo-create-meetings.interface.js +3 -0
  149. package/build/events/demo-create-meetings.interface.js.map +1 -0
  150. package/build/events/demo-create-users.interface.d.ts +10 -0
  151. package/build/events/demo-create-users.interface.js +3 -0
  152. package/build/events/demo-create-users.interface.js.map +1 -0
  153. package/build/events/edit-list-users.interface.d.ts +10 -0
  154. package/build/events/edit-list-users.interface.js +3 -0
  155. package/build/events/edit-list-users.interface.js.map +1 -0
  156. package/build/events/edit-property.interface.d.ts +11 -0
  157. package/build/events/edit-property.interface.js +3 -0
  158. package/build/events/edit-property.interface.js.map +1 -0
  159. package/build/events/elastic-search-event.interface.d.ts +13 -0
  160. package/build/events/elastic-search-event.interface.js +3 -0
  161. package/build/events/elastic-search-event.interface.js.map +1 -0
  162. package/build/events/email-specs.interface.d.ts +34 -0
  163. package/build/events/email-specs.interface.js +3 -0
  164. package/build/events/email-specs.interface.js.map +1 -0
  165. package/build/events/enums/property-type.enum.d.ts +8 -0
  166. package/build/events/enums/property-type.enum.js +13 -0
  167. package/build/events/enums/property-type.enum.js.map +1 -0
  168. package/build/events/event-created.interface.d.ts +9 -0
  169. package/build/events/event-created.interface.js +3 -0
  170. package/build/events/event-created.interface.js.map +1 -0
  171. package/build/events/event-deleted.interface.d.ts +9 -0
  172. package/build/events/event-deleted.interface.js +3 -0
  173. package/build/events/event-deleted.interface.js.map +1 -0
  174. package/build/events/event-updated.interface.d.ts +9 -0
  175. package/build/events/event-updated.interface.js +3 -0
  176. package/build/events/event-updated.interface.js.map +1 -0
  177. package/build/events/exchanges.d.ts +4 -0
  178. package/build/events/exchanges.js +9 -0
  179. package/build/events/exchanges.js.map +1 -0
  180. package/build/events/get-city-country-by-id.interface.d.ts +11 -0
  181. package/build/events/get-city-country-by-id.interface.js +3 -0
  182. package/build/events/get-city-country-by-id.interface.js.map +1 -0
  183. package/build/events/get-companies-by-query.interface.d.ts +10 -0
  184. package/build/events/get-companies-by-query.interface.js +3 -0
  185. package/build/events/get-companies-by-query.interface.js.map +1 -0
  186. package/build/events/get-companies.interface.d.ts +10 -0
  187. package/build/events/get-companies.interface.js +3 -0
  188. package/build/events/get-companies.interface.js.map +1 -0
  189. package/build/events/get-company-properties.interface.d.ts +9 -0
  190. package/build/events/get-company-properties.interface.js +3 -0
  191. package/build/events/get-company-properties.interface.js.map +1 -0
  192. package/build/events/get-company-states.interface.d.ts +10 -0
  193. package/build/events/get-company-states.interface.js +3 -0
  194. package/build/events/get-company-states.interface.js.map +1 -0
  195. package/build/events/get-contact-by-id.interface.d.ts +10 -0
  196. package/build/events/get-contact-by-id.interface.js +3 -0
  197. package/build/events/get-contact-by-id.interface.js.map +1 -0
  198. package/build/events/get-contacts-by-email.interface.d.ts +11 -0
  199. package/build/events/get-contacts-by-email.interface.js +3 -0
  200. package/build/events/get-contacts-by-email.interface.js.map +1 -0
  201. package/build/events/get-contacts-by-query.interface.d.ts +10 -0
  202. package/build/events/get-contacts-by-query.interface.js +3 -0
  203. package/build/events/get-contacts-by-query.interface.js.map +1 -0
  204. package/build/events/get-event-profile.interface.d.ts +10 -0
  205. package/build/events/get-event-profile.interface.js +3 -0
  206. package/build/events/get-event-profile.interface.js.map +1 -0
  207. package/build/events/get-event.interface.d.ts +10 -0
  208. package/build/events/get-event.interface.js +3 -0
  209. package/build/events/get-event.interface.js.map +1 -0
  210. package/build/events/get-hall-event-topic.interface.d.ts +10 -0
  211. package/build/events/get-hall-event-topic.interface.js +3 -0
  212. package/build/events/get-hall-event-topic.interface.js.map +1 -0
  213. package/build/events/get-meeting-by-query.interface.d.ts +10 -0
  214. package/build/events/get-meeting-by-query.interface.js +3 -0
  215. package/build/events/get-meeting-by-query.interface.js.map +1 -0
  216. package/build/events/get-meeting-request-by-query.interface.d.ts +10 -0
  217. package/build/events/get-meeting-request-by-query.interface.js +3 -0
  218. package/build/events/get-meeting-request-by-query.interface.js.map +1 -0
  219. package/build/events/get-meeting-stats-by-company.interface.d.ts +10 -0
  220. package/build/events/get-meeting-stats-by-company.interface.js +3 -0
  221. package/build/events/get-meeting-stats-by-company.interface.js.map +1 -0
  222. package/build/events/get-onboarding-survey.interface.d.ts +11 -0
  223. package/build/events/get-onboarding-survey.interface.js +3 -0
  224. package/build/events/get-onboarding-survey.interface.js.map +1 -0
  225. package/build/events/get-properties.interface.d.ts +10 -0
  226. package/build/events/get-properties.interface.js +3 -0
  227. package/build/events/get-properties.interface.js.map +1 -0
  228. package/build/events/get-sessions-by-ids.interface.d.ts +10 -0
  229. package/build/events/get-sessions-by-ids.interface.js +3 -0
  230. package/build/events/get-sessions-by-ids.interface.js.map +1 -0
  231. package/build/events/get-shared-list-by-token.interface.d.ts +10 -0
  232. package/build/events/get-shared-list-by-token.interface.js +3 -0
  233. package/build/events/get-shared-list-by-token.interface.js.map +1 -0
  234. package/build/events/get-table-event-topic.interface.d.ts +10 -0
  235. package/build/events/get-table-event-topic.interface.js +3 -0
  236. package/build/events/get-table-event-topic.interface.js.map +1 -0
  237. package/build/events/get-tables-by-group.interface.d.ts +10 -0
  238. package/build/events/get-tables-by-group.interface.js +3 -0
  239. package/build/events/get-tables-by-group.interface.js.map +1 -0
  240. package/build/events/get-templates.interface.d.ts +10 -0
  241. package/build/events/get-templates.interface.js +3 -0
  242. package/build/events/get-templates.interface.js.map +1 -0
  243. package/build/events/get-unavailable-by-user.interface.d.ts +13 -0
  244. package/build/events/get-unavailable-by-user.interface.js +3 -0
  245. package/build/events/get-unavailable-by-user.interface.js.map +1 -0
  246. package/build/events/get-user-by-email.interface.d.ts +10 -0
  247. package/build/events/get-user-by-email.interface.js +3 -0
  248. package/build/events/get-user-by-email.interface.js.map +1 -0
  249. package/build/events/get-user-by-id.interface.d.ts +10 -0
  250. package/build/events/get-user-by-id.interface.js +3 -0
  251. package/build/events/get-user-by-id.interface.js.map +1 -0
  252. package/build/events/get-users-by-query.interface.d.ts +10 -0
  253. package/build/events/get-users-by-query.interface.js +3 -0
  254. package/build/events/get-users-by-query.interface.js.map +1 -0
  255. package/build/events/groups-by-companies.interface.d.ts +11 -0
  256. package/build/events/groups-by-companies.interface.js +3 -0
  257. package/build/events/groups-by-companies.interface.js.map +1 -0
  258. package/build/events/groups-by-company.interface.d.ts +13 -0
  259. package/build/events/groups-by-company.interface.js +3 -0
  260. package/build/events/groups-by-company.interface.js.map +1 -0
  261. package/build/events/groups-by-ids.interface.d.ts +10 -0
  262. package/build/events/groups-by-ids.interface.js +3 -0
  263. package/build/events/groups-by-ids.interface.js.map +1 -0
  264. package/build/events/has-subscription.interface.d.ts +12 -0
  265. package/build/events/has-subscription.interface.js +3 -0
  266. package/build/events/has-subscription.interface.js.map +1 -0
  267. package/build/events/is-system-user.interface.d.ts +10 -0
  268. package/build/events/is-system-user.interface.js +3 -0
  269. package/build/events/is-system-user.interface.js.map +1 -0
  270. package/build/events/manage-asseccibillity.interface.d.ts +13 -0
  271. package/build/events/manage-asseccibillity.interface.js +3 -0
  272. package/build/events/manage-asseccibillity.interface.js.map +1 -0
  273. package/build/events/meeting-count-by-company.interface.d.ts +10 -0
  274. package/build/events/meeting-count-by-company.interface.js +3 -0
  275. package/build/events/meeting-count-by-company.interface.js.map +1 -0
  276. package/build/events/meeting-count-by-user.interface.d.ts +10 -0
  277. package/build/events/meeting-count-by-user.interface.js +3 -0
  278. package/build/events/meeting-count-by-user.interface.js.map +1 -0
  279. package/build/events/meeting-created.interface.d.ts +9 -0
  280. package/build/events/meeting-created.interface.js +3 -0
  281. package/build/events/meeting-created.interface.js.map +1 -0
  282. package/build/events/meeting-request-created.interface.d.ts +10 -0
  283. package/build/events/meeting-request-created.interface.js +3 -0
  284. package/build/events/meeting-request-created.interface.js.map +1 -0
  285. package/build/events/meeting-request-updated.interface.d.ts +9 -0
  286. package/build/events/meeting-request-updated.interface.js +3 -0
  287. package/build/events/meeting-request-updated.interface.js.map +1 -0
  288. package/build/events/meeting-requested-users.interface.d.ts +10 -0
  289. package/build/events/meeting-requested-users.interface.js +3 -0
  290. package/build/events/meeting-requested-users.interface.js.map +1 -0
  291. package/build/events/meeting-updated.interface.d.ts +9 -0
  292. package/build/events/meeting-updated.interface.js +3 -0
  293. package/build/events/meeting-updated.interface.js.map +1 -0
  294. package/build/events/move-user-event-info.interface.d.ts +14 -0
  295. package/build/events/move-user-event-info.interface.js +3 -0
  296. package/build/events/move-user-event-info.interface.js.map +1 -0
  297. package/build/events/product-created.interface.d.ts +9 -0
  298. package/build/events/product-created.interface.js +3 -0
  299. package/build/events/product-created.interface.js.map +1 -0
  300. package/build/events/product-updated.interface.d.ts +9 -0
  301. package/build/events/product-updated.interface.js +3 -0
  302. package/build/events/product-updated.interface.js.map +1 -0
  303. package/build/events/publish-event-import-statistics.interface.d.ts +10 -0
  304. package/build/events/publish-event-import-statistics.interface.js +3 -0
  305. package/build/events/publish-event-import-statistics.interface.js.map +1 -0
  306. package/build/events/publish-event-meeting-statistics.interface.d.ts +10 -0
  307. package/build/events/publish-event-meeting-statistics.interface.js +3 -0
  308. package/build/events/publish-event-meeting-statistics.interface.js.map +1 -0
  309. package/build/events/pull-event-info.interface.d.ts +11 -0
  310. package/build/events/pull-event-info.interface.js +3 -0
  311. package/build/events/pull-event-info.interface.js.map +1 -0
  312. package/build/events/queues.d.ts +79 -0
  313. package/build/events/queues.js +84 -0
  314. package/build/events/queues.js.map +1 -0
  315. package/build/events/quotation-created.interface.d.ts +9 -0
  316. package/build/events/quotation-created.interface.js +3 -0
  317. package/build/events/quotation-created.interface.js.map +1 -0
  318. package/build/events/quotation-updated.interface.d.ts +9 -0
  319. package/build/events/quotation-updated.interface.js +3 -0
  320. package/build/events/quotation-updated.interface.js.map +1 -0
  321. package/build/events/received-order-crm.interface.d.ts +10 -0
  322. package/build/events/received-order-crm.interface.js +3 -0
  323. package/build/events/received-order-crm.interface.js.map +1 -0
  324. package/build/events/received-quotation-crm.interface.d.ts +10 -0
  325. package/build/events/received-quotation-crm.interface.js +3 -0
  326. package/build/events/received-quotation-crm.interface.js.map +1 -0
  327. package/build/events/rfq-create-crm.interface.d.ts +10 -0
  328. package/build/events/rfq-create-crm.interface.js +3 -0
  329. package/build/events/rfq-create-crm.interface.js.map +1 -0
  330. package/build/events/rfq-created.interface.d.ts +9 -0
  331. package/build/events/rfq-created.interface.js +3 -0
  332. package/build/events/rfq-created.interface.js.map +1 -0
  333. package/build/events/rfq-update-crm.interface.d.ts +10 -0
  334. package/build/events/rfq-update-crm.interface.js +3 -0
  335. package/build/events/rfq-update-crm.interface.js.map +1 -0
  336. package/build/events/rfq-updated.interface.d.ts +9 -0
  337. package/build/events/rfq-updated.interface.js +3 -0
  338. package/build/events/rfq-updated.interface.js.map +1 -0
  339. package/build/events/send-emails.interface.d.ts +21 -0
  340. package/build/events/send-emails.interface.js +3 -0
  341. package/build/events/send-emails.interface.js.map +1 -0
  342. package/build/events/send-notifications.interface.d.ts +35 -0
  343. package/build/events/send-notifications.interface.js +3 -0
  344. package/build/events/send-notifications.interface.js.map +1 -0
  345. package/build/events/service-created.interface.d.ts +9 -0
  346. package/build/events/service-created.interface.js +3 -0
  347. package/build/events/service-created.interface.js.map +1 -0
  348. package/build/events/service-updated.interface.d.ts +9 -0
  349. package/build/events/service-updated.interface.js +3 -0
  350. package/build/events/service-updated.interface.js.map +1 -0
  351. package/build/events/set-event-max-users.interface.d.ts +11 -0
  352. package/build/events/set-event-max-users.interface.js +3 -0
  353. package/build/events/set-event-max-users.interface.js.map +1 -0
  354. package/build/events/set-meetings-to-not-show.interface.d.ts +14 -0
  355. package/build/events/set-meetings-to-not-show.interface.js +3 -0
  356. package/build/events/set-meetings-to-not-show.interface.js.map +1 -0
  357. package/build/events/subjects.d.ts +122 -0
  358. package/build/events/subjects.js +127 -0
  359. package/build/events/subjects.js.map +1 -0
  360. package/build/events/subtract-subscription-limit.interface.d.ts +20 -0
  361. package/build/events/subtract-subscription-limit.interface.js +3 -0
  362. package/build/events/subtract-subscription-limit.interface.js.map +1 -0
  363. package/build/events/subtract-subscription-point.interface.d.ts +18 -0
  364. package/build/events/subtract-subscription-point.interface.js +3 -0
  365. package/build/events/subtract-subscription-point.interface.js.map +1 -0
  366. package/build/events/survey-send-email.interface.d.ts +17 -0
  367. package/build/events/survey-send-email.interface.js +3 -0
  368. package/build/events/survey-send-email.interface.js.map +1 -0
  369. package/build/events/sync-accessibility-creation.interface.d.ts +9 -0
  370. package/build/events/sync-accessibility-creation.interface.js +3 -0
  371. package/build/events/sync-accessibility-creation.interface.js.map +1 -0
  372. package/build/events/sync-event-creation.interface.d.ts +12 -0
  373. package/build/events/sync-event-creation.interface.js +3 -0
  374. package/build/events/sync-event-creation.interface.js.map +1 -0
  375. package/build/events/sync-event-with-notification.interface.js +3 -0
  376. package/build/events/sync-event-with-notification.interface.js.map +1 -0
  377. package/build/events/sync-subscription-event.interface.js +3 -0
  378. package/build/events/sync-subscription-event.interface.js.map +1 -0
  379. package/build/events/unset-contact-details.interface.d.ts +15 -0
  380. package/build/events/unset-contact-details.interface.js +3 -0
  381. package/build/events/unset-contact-details.interface.js.map +1 -0
  382. package/build/events/update-chat-setting.interface.d.ts +12 -0
  383. package/build/events/update-chat-setting.interface.js +3 -0
  384. package/build/events/update-chat-setting.interface.js.map +1 -0
  385. package/build/events/update-company-meeting-stats.interface.d.ts +14 -0
  386. package/build/events/update-company-meeting-stats.interface.js +3 -0
  387. package/build/events/update-company-meeting-stats.interface.js.map +1 -0
  388. package/build/events/update-company-setting.interface.d.ts +18 -0
  389. package/build/events/update-company-setting.interface.js +3 -0
  390. package/build/events/update-company-setting.interface.js.map +1 -0
  391. package/build/events/update-meeting-crm.interface.d.ts +10 -0
  392. package/build/events/update-meeting-crm.interface.js +3 -0
  393. package/build/events/update-meeting-crm.interface.js.map +1 -0
  394. package/build/events/update-meeting-setting.interface.d.ts +12 -0
  395. package/build/events/update-meeting-setting.interface.js +3 -0
  396. package/build/events/update-meeting-setting.interface.js.map +1 -0
  397. package/build/events/update-meeting-status.interface.d.ts +16 -0
  398. package/build/events/update-meeting-status.interface.js +3 -0
  399. package/build/events/update-meeting-status.interface.js.map +1 -0
  400. package/build/events/update-user-event-info.interface.js +3 -0
  401. package/build/events/update-user-event-info.interface.js.map +1 -0
  402. package/build/index.d.ts +0 -1
  403. package/build/index.js +0 -1
  404. package/build/index.js.map +1 -1
  405. package/build/interceptors/custom-exception.handler.d.ts +4 -0
  406. package/build/interceptors/custom-exception.handler.js +11 -0
  407. package/build/interceptors/custom-exception.handler.js.map +1 -0
  408. package/build/interceptors/response-with-code.interceptor.d.ts +6 -0
  409. package/build/interceptors/response-with-code.interceptor.js +32 -0
  410. package/build/interceptors/response-with-code.interceptor.js.map +1 -0
  411. package/build/interceptors/response.interceptor.d.ts +6 -0
  412. package/build/interceptors/response.interceptor.js +31 -0
  413. package/build/interceptors/response.interceptor.js.map +1 -0
  414. package/build/interceptors/serialize.interceptor.d.ts +12 -0
  415. package/build/interceptors/serialize.interceptor.js +25 -0
  416. package/build/interceptors/serialize.interceptor.js.map +1 -0
  417. package/build/middlewares/app.middleware.d.ts +6 -0
  418. package/build/middlewares/app.middleware.js +30 -0
  419. package/build/middlewares/app.middleware.js.map +1 -0
  420. package/build/middlewares/authorizer.middleware.d.ts +11 -0
  421. package/build/middlewares/authorizer.middleware.js +88 -0
  422. package/build/middlewares/authorizer.middleware.js.map +1 -0
  423. package/build/middlewares/event-status.middleware.d.ts +6 -0
  424. package/build/middlewares/event-status.middleware.js +29 -0
  425. package/build/middlewares/event-status.middleware.js.map +1 -0
  426. package/build/middlewares/subscription-subtractor.middleware.d.ts +10 -0
  427. package/build/middlewares/subscription-subtractor.middleware.js +129 -0
  428. package/build/middlewares/subscription-subtractor.middleware.js.map +1 -0
  429. package/build/middlewares/subscription-validator.middleware.d.ts +10 -0
  430. package/build/middlewares/subscription-validator.middleware.js +107 -0
  431. package/build/middlewares/subscription-validator.middleware.js.map +1 -0
  432. package/build/tsconfig.tsbuildinfo +2 -2
  433. package/build/types/analytic-group.interface.d.ts +12 -0
  434. package/build/types/analytic-group.interface.js +3 -0
  435. package/build/types/analytic-group.interface.js.map +1 -0
  436. package/build/types/bulk-users.enum.d.ts +5 -0
  437. package/build/types/bulk-users.enum.js +10 -0
  438. package/build/types/bulk-users.enum.js.map +1 -0
  439. package/build/types/calendar-source-type.enum.d.ts +7 -0
  440. package/build/types/calendar-source-type.enum.js +12 -0
  441. package/build/types/calendar-source-type.enum.js.map +1 -0
  442. package/build/types/chat-group.interface.d.ts +4 -0
  443. package/build/types/chat-group.interface.js +3 -0
  444. package/build/types/chat-group.interface.js.map +1 -0
  445. package/build/types/chat-setting.interface.d.ts +6 -0
  446. package/build/types/chat-setting.interface.js +3 -0
  447. package/build/types/chat-setting.interface.js.map +1 -0
  448. package/build/types/default-visibility.interface.d.ts +13 -0
  449. package/build/types/default-visibility.interface.js +3 -0
  450. package/build/types/default-visibility.interface.js.map +1 -0
  451. package/build/types/download-presigned-url.interface.d.ts +4 -0
  452. package/build/types/download-presigned-url.interface.js +3 -0
  453. package/build/types/download-presigned-url.interface.js.map +1 -0
  454. package/build/types/enddpoint.interface.d.ts +10 -0
  455. package/build/types/enddpoint.interface.js +3 -0
  456. package/build/types/enddpoint.interface.js.map +1 -0
  457. package/build/types/endpoint-type.enum.d.ts +5 -0
  458. package/build/types/endpoint-type.enum.js +10 -0
  459. package/build/types/endpoint-type.enum.js.map +1 -0
  460. package/build/types/event-status.enum.d.ts +8 -0
  461. package/build/types/event-status.enum.js +13 -0
  462. package/build/types/event-status.enum.js.map +1 -0
  463. package/build/types/feature-mappings.d.ts +18 -0
  464. package/build/types/feature-mappings.js +29 -0
  465. package/build/types/feature-mappings.js.map +1 -0
  466. package/build/types/feature-type.enum.d.ts +20 -0
  467. package/build/types/feature-type.enum.js +25 -0
  468. package/build/types/feature-type.enum.js.map +1 -0
  469. package/build/types/feature.interface.d.ts +10 -0
  470. package/build/types/feature.interface.js +3 -0
  471. package/build/types/feature.interface.js.map +1 -0
  472. package/build/types/group-visibility.interface.d.ts +13 -0
  473. package/build/types/group-visibility.interface.js +3 -0
  474. package/build/types/group-visibility.interface.js.map +1 -0
  475. package/build/types/header-user.interface.d.ts +13 -0
  476. package/build/types/header-user.interface.js +3 -0
  477. package/build/types/header-user.interface.js.map +1 -0
  478. package/build/types/match-group.interface.d.ts +7 -0
  479. package/build/types/match-group.interface.js +3 -0
  480. package/build/types/match-group.interface.js.map +1 -0
  481. package/build/types/match.interface.d.ts +6 -0
  482. package/build/types/match.interface.js +3 -0
  483. package/build/types/match.interface.js.map +1 -0
  484. package/build/types/meeting-request-token.interface.d.ts +10 -0
  485. package/build/types/meeting-request-token.interface.js +3 -0
  486. package/build/types/meeting-request-token.interface.js.map +1 -0
  487. package/build/types/meeting-setting.interface.d.ts +7 -0
  488. package/build/types/meeting-setting.interface.js +3 -0
  489. package/build/types/meeting-setting.interface.js.map +1 -0
  490. package/build/types/meeting-type.enum.d.ts +8 -0
  491. package/build/types/meeting-type.enum.js +13 -0
  492. package/build/types/meeting-type.enum.js.map +1 -0
  493. package/build/types/notification-event.enum.d.ts +25 -0
  494. package/build/types/notification-event.enum.js +30 -0
  495. package/build/types/notification-event.enum.js.map +1 -0
  496. package/build/types/notification-type.enum.d.ts +6 -0
  497. package/build/types/notification-type.enum.js +11 -0
  498. package/build/types/notification-type.enum.js.map +1 -0
  499. package/build/types/notifications-calendar-event.interface.d.ts +5 -0
  500. package/build/types/notifications-calendar-event.interface.js +3 -0
  501. package/build/types/notifications-calendar-event.interface.js.map +1 -0
  502. package/build/types/onboarded-thru.enum.d.ts +13 -0
  503. package/build/types/onboarded-thru.enum.js +18 -0
  504. package/build/types/onboarded-thru.enum.js.map +1 -0
  505. package/build/types/operation-types.d.ts +6 -0
  506. package/build/types/operation-types.js +11 -0
  507. package/build/types/operation-types.js.map +1 -0
  508. package/build/types/payment-method.enum.d.ts +6 -0
  509. package/build/types/payment-method.enum.js +11 -0
  510. package/build/types/payment-method.enum.js.map +1 -0
  511. package/build/types/priority.enum.d.ts +6 -0
  512. package/build/types/priority.enum.js +11 -0
  513. package/build/types/priority.enum.js.map +1 -0
  514. package/build/types/read-result.interface.d.ts +5 -0
  515. package/build/types/read-result.interface.js +3 -0
  516. package/build/types/read-result.interface.js.map +1 -0
  517. package/build/types/record-type.enum.d.ts +21 -0
  518. package/build/types/record-type.enum.js +26 -0
  519. package/build/types/record-type.enum.js.map +1 -0
  520. package/build/types/subscription-model.enum.d.ts +4 -0
  521. package/build/types/subscription-model.enum.js +9 -0
  522. package/build/types/subscription-model.enum.js.map +1 -0
  523. package/build/types/update-input-data.interface.d.ts +16 -0
  524. package/build/types/update-input-data.interface.js +3 -0
  525. package/build/types/update-input-data.interface.js.map +1 -0
  526. package/build/types/upload-presigned-url.interface.d.ts +4 -0
  527. package/build/types/upload-presigned-url.interface.js +3 -0
  528. package/build/types/upload-presigned-url.interface.js.map +1 -0
  529. package/build/types/user-invitations.interface.d.ts +6 -0
  530. package/build/types/user-invitations.interface.js +3 -0
  531. package/build/types/user-invitations.interface.js.map +1 -0
  532. package/build/types/user-language.enum.d.ts +5 -0
  533. package/build/types/user-language.enum.js +10 -0
  534. package/build/types/user-language.enum.js.map +1 -0
  535. package/build/types/user-role.enum.d.ts +9 -0
  536. package/build/types/user-role.enum.js +14 -0
  537. package/build/types/user-role.enum.js.map +1 -0
  538. package/build/types/user-type.enum.d.ts +5 -0
  539. package/build/types/user-type.enum.js +10 -0
  540. package/build/types/user-type.enum.js.map +1 -0
  541. package/build/types/visibility-group.interface.d.ts +6 -0
  542. package/build/types/visibility-group.interface.js +3 -0
  543. package/build/types/visibility-group.interface.js.map +1 -0
  544. package/build/utils/addDaysToDate.d.ts +1 -0
  545. package/build/utils/addDaysToDate.js +10 -0
  546. package/build/utils/addDaysToDate.js.map +1 -0
  547. package/build/utils/addHours.d.ts +1 -0
  548. package/build/utils/addHours.js +9 -0
  549. package/build/utils/addHours.js.map +1 -0
  550. package/build/utils/adjustForTimezone.d.ts +1 -0
  551. package/build/utils/adjustForTimezone.js +10 -0
  552. package/build/utils/adjustForTimezone.js.map +1 -0
  553. package/build/utils/create-default-directories.d.ts +1 -0
  554. package/build/utils/create-default-directories.js +24 -0
  555. package/build/utils/create-default-directories.js.map +1 -0
  556. package/build/utils/encryptor.d.ts +7 -0
  557. package/build/utils/encryptor.js +40 -0
  558. package/build/utils/encryptor.js.map +1 -0
  559. package/build/utils/equal-array-object.d.ts +1 -0
  560. package/build/utils/equal-array-object.js +10 -0
  561. package/build/utils/equal-array-object.js.map +1 -0
  562. package/build/utils/equal-object.d.ts +1 -0
  563. package/build/utils/equal-object.js +9 -0
  564. package/build/utils/equal-object.js.map +1 -0
  565. package/build/utils/get-parsed-query.d.ts +1 -0
  566. package/build/utils/get-parsed-query.js +18 -0
  567. package/build/utils/get-parsed-query.js.map +1 -0
  568. package/build/utils/getEndpoint.d.ts +5 -0
  569. package/build/utils/getEndpoint.js +43 -0
  570. package/build/utils/getEndpoint.js.map +1 -0
  571. package/build/utils/getHeaderParam.d.ts +1 -0
  572. package/build/utils/getHeaderParam.js +8 -0
  573. package/build/utils/getHeaderParam.js.map +1 -0
  574. package/build/utils/parse-query.d.ts +1 -0
  575. package/build/utils/parse-query.js +31 -0
  576. package/build/utils/parse-query.js.map +1 -0
  577. package/build/utils/projection.d.ts +1 -0
  578. package/build/utils/projection.js +26 -0
  579. package/build/utils/projection.js.map +1 -0
  580. package/build/utils/redis-client.d.ts +9 -0
  581. package/build/utils/redis-client.js +55 -0
  582. package/build/utils/redis-client.js.map +1 -0
  583. package/build/utils/rmq/client/rabbitmq.client.d.ts +29 -0
  584. package/build/utils/rmq/client/rabbitmq.client.js +162 -0
  585. package/build/utils/rmq/client/rabbitmq.client.js.map +1 -0
  586. package/build/utils/rmq/constants.d.ts +9 -0
  587. package/build/utils/rmq/constants.js +13 -0
  588. package/build/utils/rmq/constants.js.map +1 -0
  589. package/build/utils/rmq/ctx-host/rmq.context.d.ts +9 -0
  590. package/build/utils/rmq/ctx-host/rmq.context.js +20 -0
  591. package/build/utils/rmq/ctx-host/rmq.context.js.map +1 -0
  592. package/build/utils/rmq/index.d.ts +4 -0
  593. package/build/utils/rmq/index.js +10 -0
  594. package/build/utils/rmq/index.js.map +1 -0
  595. package/build/utils/rmq/interfaces/rmq-options.interfaces.d.ts +79 -0
  596. package/build/utils/rmq/interfaces/rmq-options.interfaces.js +12 -0
  597. package/build/utils/rmq/interfaces/rmq-options.interfaces.js.map +1 -0
  598. package/build/utils/rmq/server/rabbitmq.server.d.ts +19 -0
  599. package/build/utils/rmq/server/rabbitmq.server.js +114 -0
  600. package/build/utils/rmq/server/rabbitmq.server.js.map +1 -0
  601. package/build/utils/timezone.d.ts +2 -0
  602. package/build/utils/timezone.js +15 -0
  603. package/build/utils/timezone.js.map +1 -0
  604. package/build/validators/conditional-required.d.ts +2 -0
  605. package/build/validators/conditional-required.js +24 -0
  606. package/build/validators/conditional-required.js.map +1 -0
  607. package/build/validators/date-validator.d.ts +2 -0
  608. package/build/validators/date-validator.js +21 -0
  609. package/build/validators/date-validator.js.map +1 -0
  610. package/build/validators/responses/customizeArrayResponse.d.ts +3 -0
  611. package/build/validators/responses/customizeArrayResponse.js +24 -0
  612. package/build/validators/responses/customizeArrayResponse.js.map +1 -0
  613. package/build/validators/responses/customizeResult.d.ts +1 -0
  614. package/build/validators/responses/customizeResult.js +12 -0
  615. package/build/validators/responses/customizeResult.js.map +1 -0
  616. package/build/validators/responses/error-with-code.d.ts +2 -0
  617. package/build/validators/responses/error-with-code.interface.d.ts +5 -0
  618. package/build/validators/responses/error-with-code.interface.js +3 -0
  619. package/build/validators/responses/error-with-code.interface.js.map +1 -0
  620. package/build/validators/responses/error-with-code.js +30 -0
  621. package/build/validators/responses/error-with-code.js.map +1 -0
  622. package/build/validators/responses/error.d.ts +2 -0
  623. package/build/validators/responses/error.interface.d.ts +5 -0
  624. package/build/validators/responses/error.interface.js +3 -0
  625. package/build/validators/responses/error.interface.js.map +1 -0
  626. package/build/validators/responses/error.js +30 -0
  627. package/build/validators/responses/error.js.map +1 -0
  628. package/build/validators/responses/response-option.interface.d.ts +7 -0
  629. package/build/validators/responses/response-option.interface.js +3 -0
  630. package/build/validators/responses/response-option.interface.js.map +1 -0
  631. package/build/validators/responses/succes-result.interface.d.ts +10 -0
  632. package/build/validators/responses/succes-result.interface.js +3 -0
  633. package/build/validators/responses/succes-result.interface.js.map +1 -0
  634. package/build/validators/responses/success-with-code.d.ts +3 -0
  635. package/build/validators/responses/success-with-code.interface.d.ts +4 -0
  636. package/build/validators/responses/success-with-code.interface.js +3 -0
  637. package/build/validators/responses/success-with-code.interface.js.map +1 -0
  638. package/build/validators/responses/success-with-code.js +15 -0
  639. package/build/validators/responses/success-with-code.js.map +1 -0
  640. package/build/validators/responses/success.d.ts +3 -0
  641. package/build/validators/responses/success.interface.d.ts +5 -0
  642. package/build/validators/responses/success.interface.js +3 -0
  643. package/build/validators/responses/success.interface.js.map +1 -0
  644. package/build/validators/responses/success.js +22 -0
  645. package/build/validators/responses/success.js.map +1 -0
  646. package/build/validators/validateNewItem.d.ts +1 -0
  647. package/build/validators/validateNewItem.js +23 -0
  648. package/build/validators/validateNewItem.js.map +1 -0
  649. package/build/validators/validateProjection.d.ts +1 -0
  650. package/build/validators/validateProjection.js +33 -0
  651. package/build/validators/validateProjection.js.map +1 -0
  652. package/build/validators/validateProjectionResult.d.ts +1 -0
  653. package/build/validators/validateProjectionResult.js +37 -0
  654. package/build/validators/validateProjectionResult.js.map +1 -0
  655. package/build/validators/validateUpdateItem.d.ts +1 -0
  656. package/build/validators/validateUpdateItem.js +23 -0
  657. package/build/validators/validateUpdateItem.js.map +1 -0
  658. package/package.json +1 -1
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomExceptionHandler = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ class CustomExceptionHandler extends common_1.HttpException {
6
+ constructor(status, message, data = {}) {
7
+ super({ message, data }, status);
8
+ }
9
+ }
10
+ exports.CustomExceptionHandler = CustomExceptionHandler;
11
+ //# sourceMappingURL=custom-exception.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-exception.handler.js","sourceRoot":"","sources":["../../src/interceptors/custom-exception.handler.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D,MAAa,sBAAuB,SAAQ,sBAAa;IACvD,YAAY,MAAkB,EAAE,OAAe,EAAE,OAAY,EAAE;QAC7D,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;CACF;AAJD,wDAIC"}
@@ -0,0 +1,6 @@
1
+ import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ export declare function SerializeResponseWithCode(): MethodDecorator & ClassDecorator;
4
+ export declare class ResponseWithCodeInterceptor implements NestInterceptor {
5
+ intercept(context: ExecutionContext, handler: CallHandler): Observable<any>;
6
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResponseWithCodeInterceptor = exports.SerializeResponseWithCode = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const rxjs_1 = require("rxjs");
6
+ const operators_1 = require("rxjs/operators");
7
+ const success_with_code_1 = require("../validators/responses/success-with-code");
8
+ const error_with_code_1 = require("../validators/responses/error-with-code");
9
+ function SerializeResponseWithCode() {
10
+ return common_1.UseInterceptors(new ResponseWithCodeInterceptor());
11
+ }
12
+ exports.SerializeResponseWithCode = SerializeResponseWithCode;
13
+ class ResponseWithCodeInterceptor {
14
+ intercept(context, handler) {
15
+ return handler.handle().pipe(operators_1.catchError((err) => {
16
+ const response = error_with_code_1.errorWithCode(err);
17
+ err =
18
+ (response === null || response === void 0 ? void 0 : response.error) && !err.status
19
+ ? new common_1.BadRequestException(response.error)
20
+ : err;
21
+ err.response = response;
22
+ err.statusCode = response.statusCode;
23
+ console.log('ERROR---------------', err);
24
+ return rxjs_1.throwError(() => err);
25
+ }), operators_1.map((data) => {
26
+ console.log('DATA---------------', data);
27
+ return success_with_code_1.successWithCode(data);
28
+ }));
29
+ }
30
+ }
31
+ exports.ResponseWithCodeInterceptor = ResponseWithCodeInterceptor;
32
+ //# sourceMappingURL=response-with-code.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-with-code.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/response-with-code.interceptor.ts"],"names":[],"mappings":";;;AAAA,2CAMwB;AACxB,+BAA8C;AAC9C,8CAAiD;AACjD,iFAA4E;AAC5E,6EAAwE;AAExE,SAAgB,yBAAyB;IACvC,OAAO,wBAAe,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;AAC5D,CAAC;AAFD,8DAEC;AAED,MAAa,2BAA2B;IACtC,SAAS,CAAC,OAAyB,EAAE,OAAoB;QACvD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAC1B,sBAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,+BAAa,CAAC,GAAG,CAAC,CAAC;YACpC,GAAG;gBACD,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,CAAC,GAAG,CAAC,MAAM;oBAC5B,CAAC,CAAC,IAAI,4BAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACzC,CAAC,CAAC,GAAG,CAAC;YACV,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACxB,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,iBAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,EACF,eAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,mCAAe,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AApBD,kEAoBC"}
@@ -0,0 +1,6 @@
1
+ import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ export declare function SerializeResponse(): MethodDecorator & ClassDecorator;
4
+ export declare class ResponseInterceptor implements NestInterceptor {
5
+ intercept(context: ExecutionContext, handler: CallHandler): Observable<any>;
6
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResponseInterceptor = exports.SerializeResponse = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const rxjs_1 = require("rxjs");
6
+ const operators_1 = require("rxjs/operators");
7
+ const success_1 = require("../validators/responses/success");
8
+ const error_1 = require("../validators/responses/error");
9
+ function SerializeResponse() {
10
+ return common_1.UseInterceptors(new ResponseInterceptor());
11
+ }
12
+ exports.SerializeResponse = SerializeResponse;
13
+ class ResponseInterceptor {
14
+ intercept(context, handler) {
15
+ return handler.handle().pipe(operators_1.catchError((err) => {
16
+ const response = error_1.error(err);
17
+ err =
18
+ (response === null || response === void 0 ? void 0 : response.error) && !err.status
19
+ ? new common_1.BadRequestException(response.error)
20
+ : err;
21
+ err.response = response;
22
+ console.log('ERROR---------------', err);
23
+ return rxjs_1.throwError(() => err);
24
+ }), operators_1.map((data) => {
25
+ console.log('DATA---------------', data);
26
+ return success_1.success(data);
27
+ }));
28
+ }
29
+ }
30
+ exports.ResponseInterceptor = ResponseInterceptor;
31
+ //# sourceMappingURL=response.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/response.interceptor.ts"],"names":[],"mappings":";;;AAAA,2CAMwB;AACxB,+BAA8C;AAC9C,8CAAiD;AACjD,6DAA0D;AAC1D,yDAAsD;AAEtD,SAAgB,iBAAiB;IAC/B,OAAO,wBAAe,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AACpD,CAAC;AAFD,8CAEC;AAED,MAAa,mBAAmB;IAC9B,SAAS,CAAC,OAAyB,EAAE,OAAoB;QACvD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAC1B,sBAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,aAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,GAAG;gBACD,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,CAAC,GAAG,CAAC,MAAM;oBAC5B,CAAC,CAAC,IAAI,4BAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACzC,CAAC,CAAC,GAAG,CAAC;YACV,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACvB,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,iBAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,EACF,eAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,iBAAO,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAnBD,kDAmBC"}
@@ -0,0 +1,12 @@
1
+ import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ interface ClassConstructor {
4
+ new (...args: any[]): object;
5
+ }
6
+ export declare function Serialize(dto: ClassConstructor): MethodDecorator & ClassDecorator;
7
+ export declare class SerializeInterceptor implements NestInterceptor {
8
+ private dto;
9
+ constructor(dto: any);
10
+ intercept(context: ExecutionContext, handler: CallHandler): Observable<any>;
11
+ }
12
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SerializeInterceptor = exports.Serialize = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const operators_1 = require("rxjs/operators");
6
+ const class_transformer_1 = require("class-transformer");
7
+ function Serialize(dto) {
8
+ return common_1.UseInterceptors(new SerializeInterceptor(dto));
9
+ }
10
+ exports.Serialize = Serialize;
11
+ class SerializeInterceptor {
12
+ constructor(dto) {
13
+ this.dto = dto;
14
+ }
15
+ intercept(context, handler) {
16
+ return handler.handle().pipe(operators_1.map((data) => {
17
+ const dataToTransform = (data === null || data === void 0 ? void 0 : data.data) && Array.isArray(data === null || data === void 0 ? void 0 : data.data) ? data.data : data;
18
+ return class_transformer_1.plainToClass(this.dto, dataToTransform, {
19
+ excludeExtraneousValues: true,
20
+ });
21
+ }));
22
+ }
23
+ }
24
+ exports.SerializeInterceptor = SerializeInterceptor;
25
+ //# sourceMappingURL=serialize.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/serialize.interceptor.ts"],"names":[],"mappings":";;;AAAA,2CAKwB;AAExB,8CAAqC;AACrC,yDAAiD;AAMjD,SAAgB,SAAS,CAAC,GAAqB;IAC7C,OAAO,wBAAe,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC;AAFD,8BAEC;AAED,MAAa,oBAAoB;IAC/B,YAAoB,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;IAAG,CAAC;IAEhC,SAAS,CAAC,OAAyB,EAAE,OAAoB;QACvD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAC1B,eAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAChB,MAAM,eAAe,GACnB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,KAAK,CAAC,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,OAAO,gCAAY,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE;gBAC7C,uBAAuB,EAAE,IAAI;aAC9B,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAdD,oDAcC"}
@@ -0,0 +1,6 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Request, Response, NextFunction } from 'express';
3
+ export declare class AppLoggerMiddleware implements NestMiddleware {
4
+ private logger;
5
+ use(request: Request, response: Response, next: NextFunction): void;
6
+ }
@@ -0,0 +1,30 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AppLoggerMiddleware = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ let AppLoggerMiddleware = class AppLoggerMiddleware {
12
+ constructor() {
13
+ this.logger = new common_1.Logger('HTTP');
14
+ }
15
+ use(request, response, next) {
16
+ const now = Date.now();
17
+ const { method, baseUrl } = request;
18
+ response.on('close', () => {
19
+ const { statusCode } = response;
20
+ const delay = Date.now() - now;
21
+ this.logger.log(`${method} ${baseUrl} ${statusCode} ${delay}ms`);
22
+ });
23
+ next();
24
+ }
25
+ };
26
+ AppLoggerMiddleware = __decorate([
27
+ common_1.Injectable()
28
+ ], AppLoggerMiddleware);
29
+ exports.AppLoggerMiddleware = AppLoggerMiddleware;
30
+ //# sourceMappingURL=app.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.middleware.js","sourceRoot":"","sources":["../../src/middlewares/app.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoE;AAIpE,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAAhC;QACU,WAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;IActC,CAAC;IAZC,GAAG,CAAC,OAAgB,EAAE,QAAkB,EAAE,IAAkB;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAEpC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,OAAO,IAAI,UAAU,IAAI,KAAK,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAfY,mBAAmB;IAD/B,mBAAU,EAAE;GACA,mBAAmB,CAe/B;AAfY,kDAAmB"}
@@ -0,0 +1,11 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { ClientProxy } from '@nestjs/microservices';
3
+ import { Request, Response, NextFunction } from 'express';
4
+ export declare class AuthorizerMiddleware implements NestMiddleware {
5
+ private readonly client;
6
+ private cachManager;
7
+ constructor(client: ClientProxy);
8
+ use(request: Request, response: Response, next: NextFunction): Promise<void>;
9
+ private isPermitted;
10
+ private getUserPermissions;
11
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuthorizerMiddleware = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const microservices_1 = require("@nestjs/microservices");
18
+ const rxjs_1 = require("rxjs");
19
+ const subjects_1 = require("../events/subjects");
20
+ const redis_client_1 = require("../utils/redis-client");
21
+ const getHeaderParam_1 = require("../utils/getHeaderParam");
22
+ let AuthorizerMiddleware = class AuthorizerMiddleware {
23
+ constructor(client) {
24
+ this.client = client;
25
+ this.cachManager = new redis_client_1.RedisClient();
26
+ }
27
+ async use(request, response, next) {
28
+ let cognitoUserId = getHeaderParam_1.getHeaderParam(request.headers, 'x-cognito-userid');
29
+ if (cognitoUserId.includes(",")) {
30
+ cognitoUserId = cognitoUserId.split(",");
31
+ cognitoUserId = cognitoUserId[cognitoUserId.length - 1].trim();
32
+ }
33
+ const user = {
34
+ subject: subjects_1.Subjects.AuthorizeUser,
35
+ data: {
36
+ cognitoUserId: cognitoUserId,
37
+ eventId: getHeaderParam_1.getHeaderParam(request.headers, 'event-id'),
38
+ },
39
+ };
40
+ const redisResponse = await this.cachManager.getData(JSON.stringify(user.data));
41
+ let resp;
42
+ if (redisResponse) {
43
+ resp = JSON.parse(redisResponse);
44
+ await this.isPermitted(resp.type, resp.role, request.method, request.route.path);
45
+ }
46
+ else {
47
+ resp = await rxjs_1.firstValueFrom(this.client.send(user.subject, user.data));
48
+ if (resp.isAuthorized === false) {
49
+ throw new common_1.ForbiddenException('Un-authorized Forbidden');
50
+ }
51
+ else {
52
+ await this.cachManager.setData(JSON.stringify(user.data), JSON.stringify(resp));
53
+ }
54
+ }
55
+ request.headers.id = resp.id;
56
+ request.headers.type = resp.type;
57
+ request.headers.role = resp.role;
58
+ request.headers.email = resp.email;
59
+ request.headers.firstname = resp === null || resp === void 0 ? void 0 : resp.firstname;
60
+ request.headers.lastname = resp === null || resp === void 0 ? void 0 : resp.lastname;
61
+ request.headers.company = resp.company;
62
+ request.headers.contactId = resp.contactId;
63
+ request.headers.language = resp.language;
64
+ request.headers.eventStatus = resp === null || resp === void 0 ? void 0 : resp.eventStatus;
65
+ request.headers.meetingHubEvent = resp.meetingHubEvent;
66
+ next();
67
+ }
68
+ async isPermitted(type, role, method, path) {
69
+ const permissions = await this.getUserPermissions(type, role);
70
+ const permission = permissions.find(item => {
71
+ return item.type === method && item.route === path;
72
+ });
73
+ if (!permission || !permission.isAllowed) {
74
+ throw new common_1.ForbiddenException('Permission Forbidden');
75
+ }
76
+ }
77
+ async getUserPermissions(type, role) {
78
+ let cachedPermissions = await this.cachManager.getData(`${type}-${role}`);
79
+ return JSON.parse(cachedPermissions);
80
+ }
81
+ };
82
+ AuthorizerMiddleware = __decorate([
83
+ common_1.Injectable(),
84
+ __param(0, common_1.Inject('USER_SERVICE')),
85
+ __metadata("design:paramtypes", [microservices_1.ClientProxy])
86
+ ], AuthorizerMiddleware);
87
+ exports.AuthorizerMiddleware = AuthorizerMiddleware;
88
+ //# sourceMappingURL=authorizer.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorizer.middleware.js","sourceRoot":"","sources":["../../src/middlewares/authorizer.middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { NextFunction, Request, Response } from 'express';
3
+ export declare class EventStatusMiddleware implements NestMiddleware {
4
+ use(req: Request, res: Response, next: NextFunction): Promise<void>;
5
+ private static getHeaderParam;
6
+ }
@@ -0,0 +1,29 @@
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 EventStatusMiddleware_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.EventStatusMiddleware = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const event_status_enum_1 = require("../types/event-status.enum");
13
+ let EventStatusMiddleware = EventStatusMiddleware_1 = class EventStatusMiddleware {
14
+ async use(req, res, next) {
15
+ console.log('EventStatusMiddleware: ', JSON.stringify(req.headers));
16
+ const eventStatus = EventStatusMiddleware_1.getHeaderParam(req.headers, 'eventStatus');
17
+ if (eventStatus === event_status_enum_1.EventStatus.CLOSED)
18
+ throw new common_1.ForbiddenException('Unauthorized. Event is closed');
19
+ next();
20
+ }
21
+ static getHeaderParam(headers, param) {
22
+ return Array.isArray(headers[param]) ? headers[param][0] : headers[param];
23
+ }
24
+ };
25
+ EventStatusMiddleware = EventStatusMiddleware_1 = __decorate([
26
+ common_1.Injectable()
27
+ ], EventStatusMiddleware);
28
+ exports.EventStatusMiddleware = EventStatusMiddleware;
29
+ //# sourceMappingURL=event-status.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-status.middleware.js","sourceRoot":"","sources":["../../src/middlewares/event-status.middleware.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AAExB,kEAAyD;AAGzD,IAAa,qBAAqB,6BAAlC,MAAa,qBAAqB;IAChC,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACvD,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,uBAAqB,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrF,IAAI,WAAW,KAAK,+BAAW,CAAC,MAAM;YACpC,MAAM,IAAI,2BAAkB,CAAC,+BAA+B,CAAC,CAAC;QAEhE,IAAI,EAAE,CAAC;IACT,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK;QAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;CACF,CAAA;AAbY,qBAAqB;IADjC,mBAAU,EAAE;GACA,qBAAqB,CAajC;AAbY,sDAAqB"}
@@ -0,0 +1,10 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { ClientProxy } from '@nestjs/microservices';
3
+ import { Request, Response, NextFunction } from 'express';
4
+ export declare class SubscriptionSubtractorMiddleware implements NestMiddleware {
5
+ private readonly client;
6
+ private cachManager;
7
+ constructor(client: ClientProxy);
8
+ use(request: Request, response: Response, next: NextFunction): Promise<void>;
9
+ private subtractSubscription;
10
+ }
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SubscriptionSubtractorMiddleware = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const microservices_1 = require("@nestjs/microservices");
18
+ const rxjs_1 = require("rxjs");
19
+ const getEndpoint_1 = require("../utils/getEndpoint");
20
+ const subjects_1 = require("../events/subjects");
21
+ const endpoint_type_enum_1 = require("../types/endpoint-type.enum");
22
+ const getHeaderParam_1 = require("../utils/getHeaderParam");
23
+ const redis_client_1 = require("../utils/redis-client");
24
+ let SubscriptionSubtractorMiddleware = class SubscriptionSubtractorMiddleware {
25
+ constructor(client) {
26
+ this.client = client;
27
+ this.cachManager = new redis_client_1.RedisClient();
28
+ }
29
+ async use(request, response, next) {
30
+ response.on('close', async () => {
31
+ if (request['validateSubscription'] === false) {
32
+ return next();
33
+ }
34
+ const { statusCode } = response;
35
+ if (statusCode < 200 || statusCode >= 300) {
36
+ return;
37
+ }
38
+ const user = {
39
+ subject: subjects_1.Subjects.HasSubscription,
40
+ data: {
41
+ user: getHeaderParam_1.getHeaderParam(request.headers, 'id'),
42
+ company: getHeaderParam_1.getHeaderParam(request.headers, 'company'),
43
+ eventId: getHeaderParam_1.getHeaderParam(request.headers, 'event-id'),
44
+ },
45
+ };
46
+ const redisKey = JSON.stringify({
47
+ user: getHeaderParam_1.getHeaderParam(request.headers, 'id'),
48
+ eventId: getHeaderParam_1.getHeaderParam(request.headers, 'event-id')
49
+ });
50
+ const redisResponse = undefined;
51
+ let resp;
52
+ if (redisResponse) {
53
+ resp = JSON.parse(redisResponse);
54
+ console.log('FROM REDIS--------------------');
55
+ await this.subtractSubscription(resp, request.method, request.route.path, redisKey, response['recordId'], response['description'], request.headers['contactid'], request.headers['event']);
56
+ }
57
+ else {
58
+ resp = await rxjs_1.firstValueFrom(this.client.send(user.subject, user.data));
59
+ console.log('FROM MESSAGE BROKER--------------------');
60
+ await this.cachManager.setData(redisKey, JSON.stringify(resp), 60);
61
+ await this.subtractSubscription(resp, request.method, request.route.path, redisKey, response['recordId'], response['description'], request.headers['contactid'], request.headers['event']);
62
+ }
63
+ });
64
+ next();
65
+ }
66
+ async subtractSubscription(subscription, method, path, key, recordId, description, contactId, event) {
67
+ const { features, remainingPoints } = subscription;
68
+ const { endpoint, feature: subscriptionFeature } = getEndpoint_1.getEndpoint(features, method, path);
69
+ if (!endpoint || (endpoint === null || endpoint === void 0 ? void 0 : endpoint.isFree)) {
70
+ return true;
71
+ }
72
+ description += `Deduct ${endpoint.point} ${endpoint.endpointType} for ${subscriptionFeature.featureType}`;
73
+ if ((endpoint === null || endpoint === void 0 ? void 0 : endpoint.endpointType) === endpoint_type_enum_1.EndpointType.BINARY) {
74
+ console.log('InsideBinaryEndpoint');
75
+ return;
76
+ }
77
+ else if ((endpoint === null || endpoint === void 0 ? void 0 : endpoint.endpointType) === endpoint_type_enum_1.EndpointType.LIMIT) {
78
+ console.log('InsideLimitEndpoint');
79
+ subscription.features = subscription.features.map(feature => {
80
+ if (feature._id === subscriptionFeature._id) {
81
+ feature.endpoints = feature.endpoints.map(existingEndpoint => {
82
+ if (existingEndpoint._id === endpoint._id) {
83
+ existingEndpoint.limit -= 1;
84
+ }
85
+ return existingEndpoint;
86
+ });
87
+ }
88
+ return feature;
89
+ });
90
+ await this.cachManager.setData(key, JSON.stringify(subscription), 60);
91
+ rxjs_1.firstValueFrom(this.client.send(subjects_1.Subjects.SubtractSubscriptionLimit, {
92
+ limit: endpoint.limit,
93
+ id: subscription._id,
94
+ featureId: subscriptionFeature._id,
95
+ endpointId: endpoint._id,
96
+ method: endpoint.method,
97
+ action: 'endpoint-called',
98
+ description: description,
99
+ createdBy: contactId,
100
+ relatedRecord: recordId,
101
+ relatedRecordType: subscriptionFeature.featureType,
102
+ event,
103
+ }));
104
+ }
105
+ else if ((endpoint === null || endpoint === void 0 ? void 0 : endpoint.endpointType) === endpoint_type_enum_1.EndpointType.CREDIT) {
106
+ console.log('InsideCreditEndpoint');
107
+ const modifiedSubscription = Object.assign(Object.assign({}, subscription), { remainingPoints: remainingPoints - endpoint.point });
108
+ await this.cachManager.setData(key, JSON.stringify(modifiedSubscription), 60);
109
+ rxjs_1.firstValueFrom(this.client.send(subjects_1.Subjects.SubtractSubscriptionPoint, {
110
+ point: endpoint.point,
111
+ id: subscription._id,
112
+ method: endpoint.method,
113
+ action: 'endpoint-called',
114
+ description: description,
115
+ createdBy: contactId,
116
+ relatedRecord: recordId,
117
+ relatedRecordType: subscriptionFeature.featureType,
118
+ event,
119
+ }));
120
+ }
121
+ }
122
+ };
123
+ SubscriptionSubtractorMiddleware = __decorate([
124
+ common_1.Injectable(),
125
+ __param(0, common_1.Inject('SUBSCRIPTION_SERVICE')),
126
+ __metadata("design:paramtypes", [microservices_1.ClientProxy])
127
+ ], SubscriptionSubtractorMiddleware);
128
+ exports.SubscriptionSubtractorMiddleware = SubscriptionSubtractorMiddleware;
129
+ //# sourceMappingURL=subscription-subtractor.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-subtractor.middleware.js","sourceRoot":"","sources":["../../src/middlewares/subscription-subtractor.middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { ClientProxy } from '@nestjs/microservices';
3
+ import { Request, Response, NextFunction } from 'express';
4
+ export declare class SubscriptionValidatorMiddleware implements NestMiddleware {
5
+ private readonly client;
6
+ private cachManager;
7
+ constructor(client: ClientProxy);
8
+ use(request: Request, response: Response, next: NextFunction): Promise<void>;
9
+ private isPermitted;
10
+ }
@@ -0,0 +1,107 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SubscriptionValidatorMiddleware = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const microservices_1 = require("@nestjs/microservices");
18
+ const rxjs_1 = require("rxjs");
19
+ const getEndpoint_1 = require("../utils/getEndpoint");
20
+ const subjects_1 = require("../events/subjects");
21
+ const endpoint_type_enum_1 = require("../types/endpoint-type.enum");
22
+ const getHeaderParam_1 = require("../utils/getHeaderParam");
23
+ const redis_client_1 = require("../utils/redis-client");
24
+ let SubscriptionValidatorMiddleware = class SubscriptionValidatorMiddleware {
25
+ constructor(client) {
26
+ this.client = client;
27
+ this.cachManager = new redis_client_1.RedisClient();
28
+ }
29
+ async use(request, response, next) {
30
+ console.log('INSIDE VALIDATOR MIDDLEWARE');
31
+ if (request['validateSubscription'] === false) {
32
+ return next();
33
+ }
34
+ const user = {
35
+ subject: subjects_1.Subjects.HasSubscription,
36
+ data: {
37
+ user: getHeaderParam_1.getHeaderParam(request.headers, 'id'),
38
+ company: getHeaderParam_1.getHeaderParam(request.headers, 'company'),
39
+ eventId: getHeaderParam_1.getHeaderParam(request.headers, 'event-id'),
40
+ },
41
+ };
42
+ const redisKey = JSON.stringify({
43
+ user: getHeaderParam_1.getHeaderParam(request.headers, 'id'),
44
+ eventId: getHeaderParam_1.getHeaderParam(request.headers, 'event-id')
45
+ });
46
+ const redisResponse = undefined;
47
+ let resp;
48
+ if (redisResponse) {
49
+ resp = JSON.parse(redisResponse);
50
+ console.log('INSIDE REDIS: ', JSON.stringify(resp));
51
+ await this.isPermitted(resp, request.method, request.route.path);
52
+ }
53
+ else {
54
+ resp = await rxjs_1.firstValueFrom(this.client.send(user.subject, user.data));
55
+ console.log('INSIDE MESSAGE BROKER: ', JSON.stringify(resp));
56
+ if (resp.hasSubscription === false) {
57
+ throw new common_1.ForbiddenException('Subscription is required');
58
+ }
59
+ else {
60
+ await this.cachManager.setData(redisKey, JSON.stringify(resp), 60);
61
+ await this.isPermitted(resp, request.method, request.route.path);
62
+ }
63
+ }
64
+ next();
65
+ }
66
+ async isPermitted(subscription, method, path) {
67
+ const { features, remainingPoints } = subscription;
68
+ const { endpoint } = getEndpoint_1.getEndpoint(features, method, path);
69
+ if (!endpoint || (endpoint === null || endpoint === void 0 ? void 0 : endpoint.isFree)) {
70
+ return true;
71
+ }
72
+ console.log('endpoint.endpointType: ', endpoint.endpointType);
73
+ if (endpoint.endpointType === endpoint_type_enum_1.EndpointType.BINARY && !endpoint.isFree) {
74
+ throw new common_1.ForbiddenException({
75
+ statusCode: 403,
76
+ message: 'Please upgrade your subscription',
77
+ error: 'Forbidden',
78
+ description: 'Please upgrade your subscription',
79
+ });
80
+ }
81
+ else if (endpoint.endpointType === endpoint_type_enum_1.EndpointType.LIMIT &&
82
+ endpoint.limit === 0) {
83
+ throw new common_1.ForbiddenException({
84
+ statusCode: 402,
85
+ message: 'Limits exceeded',
86
+ error: 'Forbidden',
87
+ description: 'Limits exceeded, please renew your subscription or upgrade your plan',
88
+ });
89
+ }
90
+ else if (endpoint.endpointType === endpoint_type_enum_1.EndpointType.CREDIT &&
91
+ remainingPoints < endpoint.point) {
92
+ throw new common_1.ForbiddenException({
93
+ statusCode: 402,
94
+ message: 'Insufficient credit',
95
+ error: 'Forbidden',
96
+ description: 'Insufficient credits, please renew your subscription or upgrade your plan',
97
+ });
98
+ }
99
+ }
100
+ };
101
+ SubscriptionValidatorMiddleware = __decorate([
102
+ common_1.Injectable(),
103
+ __param(0, common_1.Inject('SUBSCRIPTION_SERVICE')),
104
+ __metadata("design:paramtypes", [microservices_1.ClientProxy])
105
+ ], SubscriptionValidatorMiddleware);
106
+ exports.SubscriptionValidatorMiddleware = SubscriptionValidatorMiddleware;
107
+ //# sourceMappingURL=subscription-validator.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-validator.middleware.js","sourceRoot":"","sources":["../../src/middlewares/subscription-validator.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKuB;AACvB,yDAAmD;AAEnD,+BAAqC;AACrC,sDAAkD;AAClD,iDAA6C;AAC7C,oEAA0D;AAC1D,4DAAwD;AACxD,wDAAmD;AAGnD,IAAa,+BAA+B,GAA5C,MAAa,+BAA+B;IAE1C,YACmD,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QAEpE,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,EAAE,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,GAAG,CACP,OAAgB,EAChB,QAAkB,EAClB,IAAkB;QAElB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,sBAAsB,CAAC,KAAK,KAAK,EAAE;YAC7C,OAAO,IAAI,EAAE,CAAA;SACd;QACD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,mBAAQ,CAAC,eAAe;YACjC,IAAI,EAAE;gBACJ,IAAI,EAAE,+BAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC3C,OAAO,EAAE,+BAAc,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;gBACnD,OAAO,EAAE,+BAAc,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;aACrD;SACF,CAAA;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,IAAI,EAAE,+BAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3C,OAAO,EAAE,+BAAc,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;SACrD,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,SAAS,CAAC;QAEhC,IAAI,IAAI,CAAA;QACR,IAAI,aAAa,EAAE;YACjB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SACjE;aAAM;YACL,IAAI,GAAG,MAAM,qBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACtE,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5D,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;gBAClC,MAAM,IAAI,2BAAkB,CAAC,0BAA0B,CAAC,CAAA;aACzD;iBAAM;gBACL,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;gBAClE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;aACjE;SACF;QAED,IAAI,EAAE,CAAA;IACR,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,MAAc,EAAE,IAAY;QAClE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,YAAY,CAAA;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,yBAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACxD,IAAI,CAAC,QAAQ,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;YACjC,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,QAAQ,CAAC,YAAY,KAAK,iCAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAKrE,MAAM,IAAI,2BAAkB,CAAC;gBAC3B,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,kCAAkC;gBAC3C,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,kCAAkC;aAChD,CAAC,CAAC;SACJ;aAAM,IACH,QAAQ,CAAC,YAAY,KAAK,iCAAY,CAAC,KAAK;YAC5C,QAAQ,CAAC,KAAK,KAAK,CAAC,EACtB;YAIA,MAAM,IAAI,2BAAkB,CAAC;gBAC3B,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,KAAK,EAAE,WAAW;gBAClB,WAAW,EACP,sEAAsE;aAC3E,CAAC,CAAC;SACJ;aAAM,IACH,QAAQ,CAAC,YAAY,KAAK,iCAAY,CAAC,MAAM;YAC7C,eAAe,GAAG,QAAQ,CAAC,KAAK,EAClC;YAIA,MAAM,IAAI,2BAAkB,CAAC;gBAC3B,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,qBAAqB;gBAC9B,KAAK,EAAE,WAAW;gBAClB,WAAW,EACP,2EAA2E;aAChF,CAAC,CAAC;SACJ;IACH,CAAC;CACF,CAAA;AApGY,+BAA+B;IAD3C,mBAAU,EAAE;IAIR,WAAA,eAAM,CAAC,sBAAsB,CAAC,CAAA;qCAA0B,2BAAW;GAH3D,+BAA+B,CAoG3C;AApGY,0EAA+B"}