@aldb2b/common 1.0.486 → 1.0.487

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 (317) hide show
  1. package/build/db/CustomModel.d.ts +53 -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 +96 -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 +72 -0
  11. package/build/db/aggregate/AggregateConvertor.js +211 -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/{events/verification.interface.js → elastic/elastic-sort.interface.js} +1 -1
  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/enums/property-type.enum.d.ts +8 -0
  47. package/build/events/enums/property-type.enum.js +13 -0
  48. package/build/events/enums/property-type.enum.js.map +1 -0
  49. package/build/events/exchanges.d.ts +4 -0
  50. package/build/events/exchanges.js +9 -0
  51. package/build/events/exchanges.js.map +1 -0
  52. package/build/events/{verification.interface.d.ts → get-challenge-by-query.interface.d.ts} +2 -2
  53. package/build/events/get-challenge-by-query.interface.js +3 -0
  54. package/build/events/get-challenge-by-query.interface.js.map +1 -0
  55. package/build/events/queues.d.ts +80 -0
  56. package/build/events/queues.js +85 -0
  57. package/build/events/queues.js.map +1 -0
  58. package/build/events/subjects.d.ts +1 -1
  59. package/build/events/subjects.js +1 -1
  60. package/build/events/subjects.js.map +1 -1
  61. package/build/index.d.ts +1 -1
  62. package/build/index.js +1 -1
  63. package/build/index.js.map +1 -1
  64. package/build/interceptors/custom-exception.handler.d.ts +4 -0
  65. package/build/interceptors/custom-exception.handler.js +11 -0
  66. package/build/interceptors/custom-exception.handler.js.map +1 -0
  67. package/build/interceptors/response-with-code.interceptor.d.ts +6 -0
  68. package/build/interceptors/response-with-code.interceptor.js +32 -0
  69. package/build/interceptors/response-with-code.interceptor.js.map +1 -0
  70. package/build/interceptors/response.interceptor.d.ts +6 -0
  71. package/build/interceptors/response.interceptor.js +31 -0
  72. package/build/interceptors/response.interceptor.js.map +1 -0
  73. package/build/interceptors/serialize.interceptor.d.ts +12 -0
  74. package/build/interceptors/serialize.interceptor.js +25 -0
  75. package/build/interceptors/serialize.interceptor.js.map +1 -0
  76. package/build/middlewares/app.middleware.d.ts +6 -0
  77. package/build/middlewares/app.middleware.js +30 -0
  78. package/build/middlewares/app.middleware.js.map +1 -0
  79. package/build/middlewares/event-status.middleware.d.ts +6 -0
  80. package/build/middlewares/event-status.middleware.js +29 -0
  81. package/build/middlewares/event-status.middleware.js.map +1 -0
  82. package/build/middlewares/inject-filter-to-query-based-on-user-type.middleware.js +45 -0
  83. package/build/middlewares/inject-filter-to-query-based-on-user-type.middleware.js.map +1 -0
  84. package/build/tokens/user-term-token.interface.d.ts +4 -0
  85. package/build/tokens/user-term-token.interface.js +3 -0
  86. package/build/tokens/user-term-token.interface.js.map +1 -0
  87. package/build/tsconfig.tsbuildinfo +1 -1
  88. package/build/types/analytic-group.interface.d.ts +12 -0
  89. package/build/types/analytic-group.interface.js +3 -0
  90. package/build/types/analytic-group.interface.js.map +1 -0
  91. package/build/types/bulk-users.enum.d.ts +5 -0
  92. package/build/types/bulk-users.enum.js +10 -0
  93. package/build/types/bulk-users.enum.js.map +1 -0
  94. package/build/types/calendar-source-type.enum.d.ts +7 -0
  95. package/build/types/calendar-source-type.enum.js +12 -0
  96. package/build/types/calendar-source-type.enum.js.map +1 -0
  97. package/build/types/chat-group.interface.d.ts +4 -0
  98. package/build/types/chat-group.interface.js +3 -0
  99. package/build/types/chat-group.interface.js.map +1 -0
  100. package/build/types/chat-setting.interface.d.ts +6 -0
  101. package/build/types/chat-setting.interface.js +3 -0
  102. package/build/types/chat-setting.interface.js.map +1 -0
  103. package/build/types/default-visibility.interface.d.ts +13 -0
  104. package/build/types/default-visibility.interface.js +3 -0
  105. package/build/types/default-visibility.interface.js.map +1 -0
  106. package/build/types/download-presigned-url.interface.d.ts +4 -0
  107. package/build/types/download-presigned-url.interface.js +3 -0
  108. package/build/types/download-presigned-url.interface.js.map +1 -0
  109. package/build/types/enddpoint.interface.d.ts +10 -0
  110. package/build/types/enddpoint.interface.js +3 -0
  111. package/build/types/enddpoint.interface.js.map +1 -0
  112. package/build/types/endpoint-type.enum.d.ts +5 -0
  113. package/build/types/endpoint-type.enum.js +10 -0
  114. package/build/types/endpoint-type.enum.js.map +1 -0
  115. package/build/types/event-status.enum.d.ts +8 -0
  116. package/build/types/event-status.enum.js +13 -0
  117. package/build/types/event-status.enum.js.map +1 -0
  118. package/build/types/feature-mappings.d.ts +18 -0
  119. package/build/types/feature-mappings.js +29 -0
  120. package/build/types/feature-mappings.js.map +1 -0
  121. package/build/types/feature-type.enum.d.ts +20 -0
  122. package/build/types/feature-type.enum.js +25 -0
  123. package/build/types/feature-type.enum.js.map +1 -0
  124. package/build/types/feature.interface.d.ts +10 -0
  125. package/build/types/feature.interface.js +3 -0
  126. package/build/types/feature.interface.js.map +1 -0
  127. package/build/types/group-visibility.interface.d.ts +13 -0
  128. package/build/types/group-visibility.interface.js +3 -0
  129. package/build/types/group-visibility.interface.js.map +1 -0
  130. package/build/types/header-user.interface.d.ts +13 -0
  131. package/build/types/header-user.interface.js +3 -0
  132. package/build/types/header-user.interface.js.map +1 -0
  133. package/build/types/match-group.interface.d.ts +7 -0
  134. package/build/types/match-group.interface.js +3 -0
  135. package/build/types/match-group.interface.js.map +1 -0
  136. package/build/types/match.interface.d.ts +6 -0
  137. package/build/types/match.interface.js +3 -0
  138. package/build/types/match.interface.js.map +1 -0
  139. package/build/types/meeting-request-token.interface.d.ts +10 -0
  140. package/build/types/meeting-request-token.interface.js +3 -0
  141. package/build/types/meeting-request-token.interface.js.map +1 -0
  142. package/build/types/meeting-setting.interface.d.ts +7 -0
  143. package/build/types/meeting-setting.interface.js +3 -0
  144. package/build/types/meeting-setting.interface.js.map +1 -0
  145. package/build/types/meeting-token.interface.d.ts +8 -0
  146. package/build/types/meeting-token.interface.js +3 -0
  147. package/build/types/meeting-token.interface.js.map +1 -0
  148. package/build/types/meeting-type.enum.d.ts +8 -0
  149. package/build/types/meeting-type.enum.js +13 -0
  150. package/build/types/meeting-type.enum.js.map +1 -0
  151. package/build/types/notification-event.enum.d.ts +25 -0
  152. package/build/types/notification-event.enum.js +30 -0
  153. package/build/types/notification-event.enum.js.map +1 -0
  154. package/build/types/notification-type.enum.d.ts +6 -0
  155. package/build/types/notification-type.enum.js +11 -0
  156. package/build/types/notification-type.enum.js.map +1 -0
  157. package/build/types/notifications-calendar-event.interface.d.ts +5 -0
  158. package/build/types/notifications-calendar-event.interface.js +3 -0
  159. package/build/types/notifications-calendar-event.interface.js.map +1 -0
  160. package/build/types/onboarded-thru.enum.d.ts +13 -0
  161. package/build/types/onboarded-thru.enum.js +18 -0
  162. package/build/types/onboarded-thru.enum.js.map +1 -0
  163. package/build/types/operation-types.d.ts +6 -0
  164. package/build/types/operation-types.js +11 -0
  165. package/build/types/operation-types.js.map +1 -0
  166. package/build/types/payment-method.enum.d.ts +6 -0
  167. package/build/types/payment-method.enum.js +11 -0
  168. package/build/types/payment-method.enum.js.map +1 -0
  169. package/build/types/priority.enum.d.ts +6 -0
  170. package/build/types/priority.enum.js +11 -0
  171. package/build/types/priority.enum.js.map +1 -0
  172. package/build/types/read-result.interface.d.ts +5 -0
  173. package/build/types/read-result.interface.js +3 -0
  174. package/build/types/read-result.interface.js.map +1 -0
  175. package/build/types/record-type.enum.d.ts +21 -0
  176. package/build/types/record-type.enum.js +26 -0
  177. package/build/types/record-type.enum.js.map +1 -0
  178. package/build/types/subscription-model.enum.d.ts +4 -0
  179. package/build/types/subscription-model.enum.js +9 -0
  180. package/build/types/subscription-model.enum.js.map +1 -0
  181. package/build/types/update-input-data.interface.d.ts +16 -0
  182. package/build/types/update-input-data.interface.js +3 -0
  183. package/build/types/update-input-data.interface.js.map +1 -0
  184. package/build/types/upload-presigned-url.interface.d.ts +4 -0
  185. package/build/types/upload-presigned-url.interface.js +3 -0
  186. package/build/types/upload-presigned-url.interface.js.map +1 -0
  187. package/build/types/user-invitations.interface.d.ts +6 -0
  188. package/build/types/user-invitations.interface.js +3 -0
  189. package/build/types/user-invitations.interface.js.map +1 -0
  190. package/build/types/user-language.enum.d.ts +5 -0
  191. package/build/types/user-language.enum.js +10 -0
  192. package/build/types/user-language.enum.js.map +1 -0
  193. package/build/types/user-role.enum.d.ts +9 -0
  194. package/build/types/user-role.enum.js +14 -0
  195. package/build/types/user-role.enum.js.map +1 -0
  196. package/build/types/user-type.enum.d.ts +5 -0
  197. package/build/types/user-type.enum.js +10 -0
  198. package/build/types/user-type.enum.js.map +1 -0
  199. package/build/types/visibility-group.interface.d.ts +6 -0
  200. package/build/types/visibility-group.interface.js +3 -0
  201. package/build/types/visibility-group.interface.js.map +1 -0
  202. package/build/utils/addDaysToDate.d.ts +1 -0
  203. package/build/utils/addDaysToDate.js +10 -0
  204. package/build/utils/addDaysToDate.js.map +1 -0
  205. package/build/utils/addHours.d.ts +1 -0
  206. package/build/utils/addHours.js +9 -0
  207. package/build/utils/addHours.js.map +1 -0
  208. package/build/utils/adjustForTimezone.d.ts +1 -0
  209. package/build/utils/adjustForTimezone.js +10 -0
  210. package/build/utils/adjustForTimezone.js.map +1 -0
  211. package/build/utils/create-default-directories.d.ts +1 -0
  212. package/build/utils/create-default-directories.js +24 -0
  213. package/build/utils/create-default-directories.js.map +1 -0
  214. package/build/utils/encryptor.d.ts +7 -0
  215. package/build/utils/encryptor.js +36 -0
  216. package/build/utils/encryptor.js.map +1 -0
  217. package/build/utils/equal-array-object.d.ts +1 -0
  218. package/build/utils/equal-array-object.js +10 -0
  219. package/build/utils/equal-array-object.js.map +1 -0
  220. package/build/utils/equal-object.d.ts +1 -0
  221. package/build/utils/equal-object.js +9 -0
  222. package/build/utils/equal-object.js.map +1 -0
  223. package/build/utils/get-parsed-query.d.ts +1 -0
  224. package/build/utils/get-parsed-query.js +18 -0
  225. package/build/utils/get-parsed-query.js.map +1 -0
  226. package/build/utils/getEndpoint.d.ts +5 -0
  227. package/build/utils/getEndpoint.js +43 -0
  228. package/build/utils/getEndpoint.js.map +1 -0
  229. package/build/utils/getHeaderParam.d.ts +1 -0
  230. package/build/utils/getHeaderParam.js +8 -0
  231. package/build/utils/getHeaderParam.js.map +1 -0
  232. package/build/utils/parse-query.d.ts +1 -0
  233. package/build/utils/parse-query.js +31 -0
  234. package/build/utils/parse-query.js.map +1 -0
  235. package/build/utils/projection.d.ts +1 -0
  236. package/build/utils/projection.js +26 -0
  237. package/build/utils/projection.js.map +1 -0
  238. package/build/utils/redis-client.d.ts +9 -0
  239. package/build/utils/redis-client.js +55 -0
  240. package/build/utils/redis-client.js.map +1 -0
  241. package/build/utils/rmq/client/rabbitmq.client.d.ts +29 -0
  242. package/build/utils/rmq/client/rabbitmq.client.js +162 -0
  243. package/build/utils/rmq/client/rabbitmq.client.js.map +1 -0
  244. package/build/utils/rmq/constants.d.ts +9 -0
  245. package/build/utils/rmq/constants.js +13 -0
  246. package/build/utils/rmq/constants.js.map +1 -0
  247. package/build/utils/rmq/ctx-host/rmq.context.d.ts +9 -0
  248. package/build/utils/rmq/ctx-host/rmq.context.js +20 -0
  249. package/build/utils/rmq/ctx-host/rmq.context.js.map +1 -0
  250. package/build/utils/rmq/index.d.ts +4 -0
  251. package/build/utils/rmq/index.js +10 -0
  252. package/build/utils/rmq/index.js.map +1 -0
  253. package/build/utils/rmq/interfaces/rmq-options.interfaces.d.ts +79 -0
  254. package/build/utils/rmq/interfaces/rmq-options.interfaces.js +12 -0
  255. package/build/utils/rmq/interfaces/rmq-options.interfaces.js.map +1 -0
  256. package/build/utils/rmq/server/rabbitmq.server.d.ts +19 -0
  257. package/build/utils/rmq/server/rabbitmq.server.js +114 -0
  258. package/build/utils/rmq/server/rabbitmq.server.js.map +1 -0
  259. package/build/utils/timezone.d.ts +2 -0
  260. package/build/utils/timezone.js +15 -0
  261. package/build/utils/timezone.js.map +1 -0
  262. package/build/validators/conditional-required.d.ts +2 -0
  263. package/build/validators/conditional-required.js +24 -0
  264. package/build/validators/conditional-required.js.map +1 -0
  265. package/build/validators/date-validator.d.ts +2 -0
  266. package/build/validators/date-validator.js +21 -0
  267. package/build/validators/date-validator.js.map +1 -0
  268. package/build/validators/responses/customizeArrayResponse.d.ts +3 -0
  269. package/build/validators/responses/customizeArrayResponse.js +24 -0
  270. package/build/validators/responses/customizeArrayResponse.js.map +1 -0
  271. package/build/validators/responses/customizeResult.d.ts +1 -0
  272. package/build/validators/responses/customizeResult.js +12 -0
  273. package/build/validators/responses/customizeResult.js.map +1 -0
  274. package/build/validators/responses/error-with-code.d.ts +2 -0
  275. package/build/validators/responses/error-with-code.interface.d.ts +5 -0
  276. package/build/validators/responses/error-with-code.interface.js +3 -0
  277. package/build/validators/responses/error-with-code.interface.js.map +1 -0
  278. package/build/validators/responses/error-with-code.js +30 -0
  279. package/build/validators/responses/error-with-code.js.map +1 -0
  280. package/build/validators/responses/error.d.ts +2 -0
  281. package/build/validators/responses/error.interface.d.ts +5 -0
  282. package/build/validators/responses/error.interface.js +3 -0
  283. package/build/validators/responses/error.interface.js.map +1 -0
  284. package/build/validators/responses/error.js +30 -0
  285. package/build/validators/responses/error.js.map +1 -0
  286. package/build/validators/responses/response-option.interface.d.ts +7 -0
  287. package/build/validators/responses/response-option.interface.js +3 -0
  288. package/build/validators/responses/response-option.interface.js.map +1 -0
  289. package/build/validators/responses/succes-result.interface.d.ts +10 -0
  290. package/build/validators/responses/succes-result.interface.js +3 -0
  291. package/build/validators/responses/succes-result.interface.js.map +1 -0
  292. package/build/validators/responses/success-with-code.d.ts +3 -0
  293. package/build/validators/responses/success-with-code.interface.d.ts +4 -0
  294. package/build/validators/responses/success-with-code.interface.js +3 -0
  295. package/build/validators/responses/success-with-code.interface.js.map +1 -0
  296. package/build/validators/responses/success-with-code.js +15 -0
  297. package/build/validators/responses/success-with-code.js.map +1 -0
  298. package/build/validators/responses/success.d.ts +3 -0
  299. package/build/validators/responses/success.interface.d.ts +5 -0
  300. package/build/validators/responses/success.interface.js +3 -0
  301. package/build/validators/responses/success.interface.js.map +1 -0
  302. package/build/validators/responses/success.js +22 -0
  303. package/build/validators/responses/success.js.map +1 -0
  304. package/build/validators/validateNewItem.d.ts +1 -0
  305. package/build/validators/validateNewItem.js +23 -0
  306. package/build/validators/validateNewItem.js.map +1 -0
  307. package/build/validators/validateProjection.d.ts +1 -0
  308. package/build/validators/validateProjection.js +33 -0
  309. package/build/validators/validateProjection.js.map +1 -0
  310. package/build/validators/validateProjectionResult.d.ts +1 -0
  311. package/build/validators/validateProjectionResult.js +37 -0
  312. package/build/validators/validateProjectionResult.js.map +1 -0
  313. package/build/validators/validateUpdateItem.d.ts +1 -0
  314. package/build/validators/validateUpdateItem.js +23 -0
  315. package/build/validators/validateUpdateItem.js.map +1 -0
  316. package/package.json +1 -1
  317. package/build/events/verification.interface.js.map +0 -1
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongooseNestedModel = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ class MongooseNestedModel {
6
+ constructor(dbModelInstance, nestedField) {
7
+ this.projectionOnCreateResult = true;
8
+ this.dbModelInstance = dbModelInstance;
9
+ this.nestedField = nestedField;
10
+ }
11
+ async create(inputParams) {
12
+ try {
13
+ const validatedNestedNewItem = await this.dbModelInstance.validatedNestedNewItem(inputParams.data, this.nestedField);
14
+ const createObj = {};
15
+ createObj[this.nestedField] = validatedNestedNewItem;
16
+ const queryResult = await this.dbModelInstance.findOneAndUpdate(inputParams.query, {
17
+ $push: createObj,
18
+ }, {
19
+ runValidators: true,
20
+ new: true,
21
+ projection: ['_id', this.nestedField],
22
+ });
23
+ if (!queryResult) {
24
+ throw common_1.BadRequestException;
25
+ }
26
+ const createdItem = queryResult[this.nestedField].pop();
27
+ let pruningCreatedItem = this.projectionOnCreateResult
28
+ ? this.dbModelInstance.validatedNestedProjectionResult(createdItem, this.nestedField)
29
+ : createdItem;
30
+ return pruningCreatedItem;
31
+ }
32
+ catch (err) {
33
+ throw err;
34
+ }
35
+ }
36
+ async update(inputParams) {
37
+ try {
38
+ const validatedNestedUpdateItem = await this.dbModelInstance.validatedNestedUpdateItem(inputParams.data, this.nestedField);
39
+ const updateItemEntries = Object.entries(validatedNestedUpdateItem);
40
+ const validatedNestedUpdateItemSetQuery = {};
41
+ for (const entry of updateItemEntries) {
42
+ validatedNestedUpdateItemSetQuery[`${this.nestedField}.$.${entry[0]}`] =
43
+ entry[1];
44
+ }
45
+ const queryResult = await this.dbModelInstance.findOneAndUpdate(inputParams.query, {
46
+ $set: validatedNestedUpdateItemSetQuery,
47
+ }, {
48
+ runValidators: true,
49
+ new: true,
50
+ projection: ['_id', this.nestedField],
51
+ });
52
+ if (!queryResult || !queryResult[this.nestedField].length) {
53
+ throw common_1.BadRequestException;
54
+ }
55
+ const createdItem = queryResult[this.nestedField].find(obj => obj._id.toString() === inputParams.query[`${this.nestedField}._id`]);
56
+ let pruningCreatedItem = this.projectionOnCreateResult
57
+ ? await this.dbModelInstance.validatedNestedProjectionResult(createdItem, this.nestedField)
58
+ : createdItem;
59
+ return pruningCreatedItem;
60
+ }
61
+ catch (err) {
62
+ throw err;
63
+ }
64
+ }
65
+ }
66
+ exports.MongooseNestedModel = MongooseNestedModel;
67
+ //# sourceMappingURL=MongooseNestedModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongooseNestedModel.js","sourceRoot":"","sources":["../../src/db/MongooseNestedModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/aggregate" />
25
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/callback" />
26
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/collection" />
27
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/connection" />
28
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/cursor" />
29
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/document" />
30
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/error" />
31
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/expressions" />
32
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/helpers" />
33
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/middlewares" />
34
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/indexes" />
35
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/models" />
36
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/mongooseoptions" />
37
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/pipelinestage" />
38
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/populate" />
39
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/query" />
40
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/schemaoptions" />
41
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/schematypes" />
42
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/session" />
43
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/types" />
44
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/utility" />
45
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/validation" />
46
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/virtuals" />
47
+ /// <reference types="@aldb2b/common/node_modules/mongoose" />
48
+ /// <reference types="mongoose/types/inferschematype" />
49
+ /// <reference types="@aldb2b/common/node_modules/mongoose/types/inferschematype" />
50
+ import * as mongoose from 'mongoose';
51
+ import { MongooseFindOptions } from '../mongoose-find-options';
52
+ export declare class AggregateConvertor {
53
+ private findDto;
54
+ private populateFields;
55
+ private nonArrayAttributes;
56
+ private aggregates;
57
+ constructor(findDto: MongooseFindOptions, populateFields: object, nonArrayAttributes?: string[]);
58
+ createAggregate(): mongoose.PipelineStage[];
59
+ private modifyQuery;
60
+ private createLookups;
61
+ private getFieldToPopulate;
62
+ private getPipeLine;
63
+ private getInitialPipeline;
64
+ private getPipelineExpression;
65
+ private createObjectIds;
66
+ private isValidObjectId;
67
+ private hasLookupIndex;
68
+ private addProjection;
69
+ private createParameters;
70
+ private getSort;
71
+ private getLimit;
72
+ }
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateConvertor = void 0;
4
+ const moment = require("moment");
5
+ const mongoose_1 = require("mongoose");
6
+ class AggregateConvertor {
7
+ constructor(findDto, populateFields, nonArrayAttributes = []) {
8
+ this.findDto = findDto;
9
+ this.populateFields = populateFields;
10
+ this.nonArrayAttributes = nonArrayAttributes;
11
+ this.aggregates = [{ $match: {} }];
12
+ }
13
+ createAggregate() {
14
+ this.modifyQuery();
15
+ this.createLookups();
16
+ this.createObjectIds(this.findDto);
17
+ this.addProjection();
18
+ this.createParameters();
19
+ return this.aggregates;
20
+ }
21
+ modifyQuery() {
22
+ if (this.findDto &&
23
+ Array.isArray(this.findDto.populates) &&
24
+ this.findDto.populates.length > 0) {
25
+ this.findDto.populates = this.findDto.populates.map(item => {
26
+ try {
27
+ return JSON.parse(item);
28
+ }
29
+ catch (err) {
30
+ return item;
31
+ }
32
+ });
33
+ }
34
+ if (this.findDto.query) {
35
+ try {
36
+ this.findDto.query = JSON.parse(this.findDto.query);
37
+ }
38
+ catch (err) { }
39
+ }
40
+ }
41
+ createLookups() {
42
+ const lookUps = [];
43
+ if (this.findDto.needPopulate &&
44
+ Array.isArray(this.findDto.populates) &&
45
+ this.findDto.populates.length) {
46
+ this.findDto.populates.forEach(item => {
47
+ const itemType = typeof item;
48
+ const fieldToPopulate = this.getFieldToPopulate(item, itemType);
49
+ const pipeLine = this.getPipeLine(item, itemType, fieldToPopulate);
50
+ const lookUp = {
51
+ $lookup: {
52
+ from: this.populateFields[fieldToPopulate],
53
+ localField: fieldToPopulate,
54
+ foreignField: '_id',
55
+ as: `${fieldToPopulate}`,
56
+ },
57
+ };
58
+ if (Array.isArray(lookUp.$lookup.from)) {
59
+ for (let [index, value] of lookUp.$lookup.from.entries()) {
60
+ let finalLookup = Object.assign({}, lookUp);
61
+ finalLookup.$lookup.from = value;
62
+ finalLookup.$lookup.as = 'record' + index;
63
+ lookUps.push({ $lookup: Object.assign({}, finalLookup.$lookup) });
64
+ }
65
+ }
66
+ else {
67
+ lookUps.push(lookUp);
68
+ }
69
+ });
70
+ }
71
+ this.aggregates.push(...lookUps);
72
+ }
73
+ getFieldToPopulate(item, itemType) {
74
+ return itemType === 'object'
75
+ ? item.path
76
+ : itemType === 'string'
77
+ ? item
78
+ : null;
79
+ }
80
+ getPipeLine(item, itemType, fieldToPopulate) {
81
+ const projection = itemType === 'object' && item.select
82
+ ? item.select.trim().split(/\s+/)
83
+ : null;
84
+ const pipeLine = this.getInitialPipeline(fieldToPopulate);
85
+ if (projection) {
86
+ const selectObject = projection.reduce((obj, item) => {
87
+ return Object.assign(Object.assign({}, obj), { [item]: 1 });
88
+ }, {});
89
+ const projectionObj = { $project: selectObject };
90
+ pipeLine.push(projectionObj);
91
+ }
92
+ return pipeLine;
93
+ }
94
+ getInitialPipeline(fieldToPopulate) {
95
+ return [
96
+ {
97
+ $match: {
98
+ $expr: {
99
+ [`${this.getPipelineExpression(fieldToPopulate)}`]: [
100
+ '$_id',
101
+ '$$field_id',
102
+ ],
103
+ },
104
+ },
105
+ },
106
+ ];
107
+ }
108
+ getPipelineExpression(fieldToPopulate) {
109
+ return this.nonArrayAttributes.includes(fieldToPopulate) ? '$eq' : '$in';
110
+ }
111
+ createObjectIds(query) {
112
+ for (const item in query) {
113
+ if (this.isValidObjectId(query[item]) && this.hasLookupIndex(item)) {
114
+ const moduleName = `${item}._id`;
115
+ query[moduleName] = new mongoose_1.Types.ObjectId(query[item]);
116
+ delete query[item];
117
+ }
118
+ else if (typeof query[item] == 'object' &&
119
+ !this.isValidObjectId(query[item])) {
120
+ this.createObjectIds(query[item]);
121
+ }
122
+ else if (this.isValidObjectId(query[item]) &&
123
+ !this.hasLookupIndex(item)) {
124
+ query[item] = new mongoose_1.Types.ObjectId(query[item]);
125
+ }
126
+ else if (moment(query[item], moment.ISO_8601, true).isValid() &&
127
+ String(query[item]).includes('-')) {
128
+ query[item] = new Date(query[item]);
129
+ }
130
+ }
131
+ if (query.query) {
132
+ this.aggregates.push({ $match: query.query });
133
+ }
134
+ }
135
+ isValidObjectId(id) {
136
+ if (!mongoose_1.Types.ObjectId.isValid(id)) {
137
+ return false;
138
+ }
139
+ else {
140
+ const newId = new mongoose_1.Types.ObjectId(id);
141
+ return String(newId) === id;
142
+ }
143
+ }
144
+ hasLookupIndex(field) {
145
+ const jobIndex = this.aggregates.findIndex(aggregate => { var _a; return ((_a = aggregate['$lookup']) === null || _a === void 0 ? void 0 : _a.as) == field; });
146
+ return jobIndex !== -1;
147
+ }
148
+ addProjection() {
149
+ if (this.findDto.necessaryProjectionArray) {
150
+ const projection = { $project: {} };
151
+ this.findDto.necessaryProjectionArray.forEach(item => {
152
+ projection.$project[item] = 1;
153
+ });
154
+ this.aggregates.push(projection);
155
+ }
156
+ }
157
+ createParameters() {
158
+ const parameters = {
159
+ $facet: {
160
+ data: [],
161
+ total: [],
162
+ },
163
+ };
164
+ if (this.findDto.sort) {
165
+ parameters.$facet.data.push(this.getSort(this.findDto.sort));
166
+ }
167
+ if (this.findDto.hasTotal) {
168
+ parameters.$facet.total.push({ $count: 'total' });
169
+ }
170
+ if (this.findDto.skip) {
171
+ parameters.$facet.data.push({ $skip: Number(this.findDto.skip) });
172
+ }
173
+ else {
174
+ parameters.$facet.data.push({ $skip: 0 });
175
+ }
176
+ parameters.$facet.data.push({ $limit: this.getLimit(this.findDto.limit) });
177
+ if (!parameters.$facet.total.length) {
178
+ delete parameters.$facet.total;
179
+ }
180
+ this.aggregates.push(parameters);
181
+ }
182
+ getSort(sort) {
183
+ let sortObject = {};
184
+ try {
185
+ sortObject = JSON.parse(sort);
186
+ }
187
+ catch (err) {
188
+ const sortArray = sort.trim().split(/\s+/);
189
+ sortArray.forEach(item => {
190
+ if (item.charAt(0) === '-') {
191
+ sortObject[item.substring(1)] = -1;
192
+ }
193
+ else {
194
+ sortObject[item] = 1;
195
+ }
196
+ });
197
+ }
198
+ return { $sort: sortObject };
199
+ }
200
+ getLimit(limit) {
201
+ if (limit) {
202
+ const castedLimit = Number(limit);
203
+ return castedLimit > 300 ? 300 : castedLimit;
204
+ }
205
+ else {
206
+ return 100;
207
+ }
208
+ }
209
+ }
210
+ exports.AggregateConvertor = AggregateConvertor;
211
+ //# sourceMappingURL=AggregateConvertor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AggregateConvertor.js","sourceRoot":"","sources":["../../../src/db/aggregate/AggregateConvertor.ts"],"names":[],"mappings":";;;AACA,iCAAgC;AAEhC,uCAAgC;AAEhC,MAAa,kBAAkB;IAG7B,YACU,OAA4B,EAC5B,cAAsB,EACtB,qBAA+B,EAAE;QAFjC,YAAO,GAAP,OAAO,CAAqB;QAC5B,mBAAc,GAAd,cAAc,CAAQ;QACtB,uBAAkB,GAAlB,kBAAkB,CAAe;QALnC,eAAU,GAA6B,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;IAM3D,CAAC;IAEL,eAAe;QACb,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAEO,WAAW;QACjB,IACE,IAAI,CAAC,OAAO;YACZ,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACjC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACzD,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,IACE,IAAI,CAAC,OAAO,CAAC,YAAY;YACzB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAC7B,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACpC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAA;gBAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;gBAClE,MAAM,MAAM,GAAG;oBAOb,OAAO,EAAE;wBACP,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;wBAC1C,UAAU,EAAE,eAAe;wBAC3B,YAAY,EAAE,KAAK;wBACnB,EAAE,EAAE,GAAG,eAAe,EAAE;qBACzB;iBACF,CAAA;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;wBACzD,IAAI,WAAW,qBAAQ,MAAM,CAAE,CAAA;wBAC/B,WAAW,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAA;wBAChC,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAA;wBACzC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,oBAAO,WAAW,CAAC,OAAO,CAAE,EAAE,CAAC,CAAA;oBACvD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;IAClC,CAAC;IAEO,kBAAkB,CAAC,IAAI,EAAE,QAAgB;QAC/C,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBACrB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAA;IACZ,CAAC;IAEO,WAAW,CACjB,IAAI,EACJ,QAAgB,EAChB,eAAuB;QAEvB,MAAM,UAAU,GACd,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,IAAI,CAAA;QACV,MAAM,QAAQ,GACZ,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;QAE1C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACnD,uCAAY,GAAG,KAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAE;YAC9B,CAAC,EAAE,EAAE,CAAC,CAAA;YACN,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;YAChD,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,kBAAkB,CACxB,eAAuB;QAEvB,OAAO;YACL;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE;wBACL,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;4BAClD,MAAM;4BACN,YAAY;yBACb;qBACF;iBACF;aACF;SACF,CAAA;IACH,CAAC;IAEO,qBAAqB,CAAC,eAAuB;QACnD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1E,CAAC;IAEO,eAAe,CAAC,KAAK;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnE,MAAM,UAAU,GAAG,GAAG,IAAI,MAAM,CAAA;gBAChC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,gBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;gBACnD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;iBAAM,IACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ;gBAC9B,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAClC,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YACnC,CAAC;iBAAM,IACL,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAC1B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAC/C,CAAC;iBAAM,IACL,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACjC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,EAAE;QACxB,IAAI,CAAC,gBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,gBAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAK;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CACxC,SAAS,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,SAAS,CAAC,SAAS,CAAC,0CAAE,EAAE,KAAI,KAAK,CAAA,EAAA,CAC/C,CAAA;QACD,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAA;IACxB,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;YACnC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC/B,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,EAAE;aACV;SACF,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAC3C,CAAC;QAED,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAA;QAChC,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC;IAEO,OAAO,CAAC,IAAI;QAClB,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC1C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACpC,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;IAC9B,CAAC;IAEO,QAAQ,CAAC,KAAK;QACpB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YACjC,OAAO,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;CACF;AA5OD,gDA4OC"}
@@ -0,0 +1,2 @@
1
+ import { MongooseFindOptions } from '../mongoose-find-options';
2
+ export declare function createAggregateResponse(query: MongooseFindOptions, queryResult: any, nonArrayAttributes?: string[]): any;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAggregateResponse = void 0;
4
+ const modifyResponse = (data, nonArrayAttributes) => {
5
+ return data.map(item => {
6
+ nonArrayAttributes.forEach(attr => {
7
+ if (item[attr] && Array.isArray(item[attr]) && item[attr].length) {
8
+ item[attr] = item[attr][0];
9
+ }
10
+ else if (item[attr] && Array.isArray(item[attr])) {
11
+ item[attr] = null;
12
+ }
13
+ return item;
14
+ });
15
+ return item;
16
+ });
17
+ };
18
+ function createAggregateResponse(query, queryResult, nonArrayAttributes = []) {
19
+ var _a, _b, _c, _d;
20
+ const createResponse = {
21
+ data: ((_b = (_a = queryResult[0]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)
22
+ ? modifyResponse(queryResult[0].data, nonArrayAttributes)
23
+ : [],
24
+ };
25
+ if (query.skip) {
26
+ createResponse.skip = Number(query.skip);
27
+ }
28
+ if (query.limit) {
29
+ createResponse.limit = Number(query.limit);
30
+ }
31
+ else {
32
+ createResponse.limit = 100;
33
+ }
34
+ if (query.hasTotal) {
35
+ createResponse.hasTotal = true;
36
+ createResponse.total =
37
+ queryResult[0].total && ((_d = (_c = queryResult[0]) === null || _c === void 0 ? void 0 : _c.total[0]) === null || _d === void 0 ? void 0 : _d.total)
38
+ ? queryResult[0].total[0].total
39
+ : 0;
40
+ }
41
+ if (createResponse.data.length) {
42
+ createResponse.count = createResponse.data.length;
43
+ }
44
+ if (query.sort) {
45
+ createResponse.sort = query.sort;
46
+ }
47
+ return createResponse;
48
+ }
49
+ exports.createAggregateResponse = createAggregateResponse;
50
+ //# sourceMappingURL=createAggregateResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAggregateResponse.js","sourceRoot":"","sources":["../../../src/db/aggregate/createAggregateResponse.ts"],"names":[],"mappings":";;;AAEA,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,kBAA4B,EAAE,EAAE;IACtE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACrB,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;YACnB,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAgB,uBAAuB,CACrC,KAA0B,EAC1B,WAAW,EACX,qBAA+B,EAAE;;IAEjC,MAAM,cAAc,GAAQ;QAC1B,IAAI,EAAE,CAAA,MAAA,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,IAAI,0CAAE,MAAM;YAChC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC;YACzD,CAAC,CAAC,EAAE;KACP,CAAA;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,cAAc,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,KAAK,GAAG,GAAG,CAAA;IAC5B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC9B,cAAc,CAAC,KAAK;YAClB,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAI,MAAA,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAA;gBACrD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC/B,CAAC,CAAC,CAAC,CAAA;IACT,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAA;IACnD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,cAAc,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAClC,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAnCD,0DAmCC"}
@@ -0,0 +1,12 @@
1
+ export declare class MongooseFindOptions {
2
+ query?: string | any;
3
+ hasTotal?: string | boolean;
4
+ skip?: number;
5
+ limit?: number;
6
+ sort?: string;
7
+ needPopulate?: string | boolean;
8
+ populates?: string | string[] | object[];
9
+ necessaryProjectionArray?: string[];
10
+ lean?: string | boolean;
11
+ addPresignedURL?: string | boolean;
12
+ }
@@ -0,0 +1,68 @@
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.MongooseFindOptions = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class MongooseFindOptions {
16
+ }
17
+ exports.MongooseFindOptions = MongooseFindOptions;
18
+ __decorate([
19
+ (0, swagger_1.ApiPropertyOptional)(),
20
+ (0, class_validator_1.IsOptional)(),
21
+ __metadata("design:type", Object)
22
+ ], MongooseFindOptions.prototype, "query", void 0);
23
+ __decorate([
24
+ (0, swagger_1.ApiPropertyOptional)(),
25
+ (0, class_validator_1.IsOptional)(),
26
+ __metadata("design:type", Object)
27
+ ], MongooseFindOptions.prototype, "hasTotal", void 0);
28
+ __decorate([
29
+ (0, swagger_1.ApiPropertyOptional)(),
30
+ (0, class_validator_1.IsOptional)(),
31
+ __metadata("design:type", Number)
32
+ ], MongooseFindOptions.prototype, "skip", void 0);
33
+ __decorate([
34
+ (0, swagger_1.ApiPropertyOptional)(),
35
+ (0, class_validator_1.IsOptional)(),
36
+ __metadata("design:type", Number)
37
+ ], MongooseFindOptions.prototype, "limit", void 0);
38
+ __decorate([
39
+ (0, swagger_1.ApiPropertyOptional)(),
40
+ (0, class_validator_1.IsOptional)(),
41
+ __metadata("design:type", String)
42
+ ], MongooseFindOptions.prototype, "sort", void 0);
43
+ __decorate([
44
+ (0, swagger_1.ApiPropertyOptional)(),
45
+ (0, class_validator_1.IsOptional)(),
46
+ __metadata("design:type", Object)
47
+ ], MongooseFindOptions.prototype, "needPopulate", void 0);
48
+ __decorate([
49
+ (0, swagger_1.ApiPropertyOptional)(),
50
+ (0, class_validator_1.IsOptional)(),
51
+ __metadata("design:type", Object)
52
+ ], MongooseFindOptions.prototype, "populates", void 0);
53
+ __decorate([
54
+ (0, swagger_1.ApiPropertyOptional)(),
55
+ (0, class_validator_1.IsOptional)(),
56
+ __metadata("design:type", Array)
57
+ ], MongooseFindOptions.prototype, "necessaryProjectionArray", void 0);
58
+ __decorate([
59
+ (0, swagger_1.ApiPropertyOptional)(),
60
+ (0, class_validator_1.IsOptional)(),
61
+ __metadata("design:type", Object)
62
+ ], MongooseFindOptions.prototype, "lean", void 0);
63
+ __decorate([
64
+ (0, swagger_1.ApiPropertyOptional)(),
65
+ (0, class_validator_1.IsOptional)(),
66
+ __metadata("design:type", Object)
67
+ ], MongooseFindOptions.prototype, "addPresignedURL", void 0);
68
+ //# sourceMappingURL=mongoose-find-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoose-find-options.js","sourceRoot":"","sources":["../../src/db/mongoose-find-options.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,qDAA6C;AAE7C,MAAa,mBAAmB;CAwC/B;AAxCD,kDAwCC;AArCC;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;kDACQ;AAIrB;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;qDACe;AAI5B;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;iDACC;AAId;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;kDACE;AAIf;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;iDACC;AAId;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;yDACmB;AAIhC;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;sDAC4B;AAIzC;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;qEACuB;AAIpC;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;iDACW;AAIxB;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;4DACsB"}
@@ -0,0 +1,4 @@
1
+ export declare class MongooseNestedOption {
2
+ query: any;
3
+ data: any;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongooseNestedOption = void 0;
4
+ class MongooseNestedOption {
5
+ }
6
+ exports.MongooseNestedOption = MongooseNestedOption;
7
+ //# sourceMappingURL=mongoose-nested-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoose-nested-option.js","sourceRoot":"","sources":["../../src/db/mongoose-nested-option.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;CAGhC;AAHD,oDAGC"}
@@ -0,0 +1 @@
1
+ export declare const GetEventId: (...dataOrPipes: any[]) => ParameterDecorator;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetEventId = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ exports.GetEventId = (0, common_1.createParamDecorator)((data, ctx) => {
6
+ const req = ctx.switchToHttp().getRequest();
7
+ const eventId = req.headers['event-id'];
8
+ if (!eventId) {
9
+ throw new common_1.BadRequestException('Event id is required');
10
+ }
11
+ return eventId;
12
+ });
13
+ //# sourceMappingURL=get-event-id-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-event-id-decorator.js","sourceRoot":"","sources":["../../src/decorators/get-event-id-decorator.ts"],"names":[],"mappings":";;;AAAA,2CAIuB;AAEV,QAAA,UAAU,GAAG,IAAA,6BAAoB,EAC5C,CAAC,IAAI,EAAE,GAAqB,EAAU,EAAE;IACtC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,4BAAmB,CAAC,sBAAsB,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const GetUser: (...dataOrPipes: any[]) => ParameterDecorator;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetUser = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ exports.GetUser = (0, common_1.createParamDecorator)((data, ctx) => {
6
+ const req = ctx.switchToHttp().getRequest();
7
+ const { id, email, role, type, company, contactId, language, meetingHubEvent, firstname, lastname, eventStatus } = req.headers;
8
+ if (!id || !email || !role || !type) {
9
+ throw new common_1.BadRequestException('Invalid header');
10
+ }
11
+ return { id, email, role, type, company, contactId, language, meetingHubEvent, firstname, lastname, eventstatus: eventStatus };
12
+ });
13
+ //# sourceMappingURL=get-user-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-user-decorator.js","sourceRoot":"","sources":["../../src/decorators/get-user-decorator.ts"],"names":[],"mappings":";;;AAAA,2CAIuB;AAGV,QAAA,OAAO,GAAG,IAAA,6BAAoB,EACzC,CAAC,IAAI,EAAE,GAAqB,EAAc,EAAE;IAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,OAAO,CAAA;IAC9H,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;AAChI,CAAC,CACF,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { ElasticSortInterface } from './elastic-sort.interface';
2
+ export declare class ElasticFindOptions {
3
+ hasTotal?: string | boolean;
4
+ skip?: number;
5
+ limit?: number;
6
+ sort?: ElasticSortInterface[];
7
+ necessaryProjectionArray?: string[];
8
+ searchText?: string;
9
+ }
@@ -0,0 +1,48 @@
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.ElasticFindOptions = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class ElasticFindOptions {
16
+ }
17
+ exports.ElasticFindOptions = ElasticFindOptions;
18
+ __decorate([
19
+ (0, swagger_1.ApiPropertyOptional)(),
20
+ (0, class_validator_1.IsOptional)(),
21
+ __metadata("design:type", Object)
22
+ ], ElasticFindOptions.prototype, "hasTotal", void 0);
23
+ __decorate([
24
+ (0, swagger_1.ApiPropertyOptional)(),
25
+ (0, class_validator_1.IsOptional)(),
26
+ __metadata("design:type", Number)
27
+ ], ElasticFindOptions.prototype, "skip", void 0);
28
+ __decorate([
29
+ (0, swagger_1.ApiPropertyOptional)(),
30
+ (0, class_validator_1.IsOptional)(),
31
+ __metadata("design:type", Number)
32
+ ], ElasticFindOptions.prototype, "limit", void 0);
33
+ __decorate([
34
+ (0, swagger_1.ApiPropertyOptional)(),
35
+ (0, class_validator_1.IsOptional)(),
36
+ __metadata("design:type", Array)
37
+ ], ElasticFindOptions.prototype, "sort", void 0);
38
+ __decorate([
39
+ (0, swagger_1.ApiPropertyOptional)(),
40
+ (0, class_validator_1.IsOptional)(),
41
+ __metadata("design:type", Array)
42
+ ], ElasticFindOptions.prototype, "necessaryProjectionArray", void 0);
43
+ __decorate([
44
+ (0, swagger_1.ApiPropertyOptional)(),
45
+ (0, class_validator_1.IsOptional)(),
46
+ __metadata("design:type", String)
47
+ ], ElasticFindOptions.prototype, "searchText", void 0);
48
+ //# sourceMappingURL=elastic-find-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elastic-find-options.js","sourceRoot":"","sources":["../../src/elastic/elastic-find-options.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAqD;AACrD,qDAA4C;AAG5C,MAAa,kBAAkB;CAwB9B;AAxBD,gDAwBC;AArBC;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;oDACc;AAI3B;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;gDACA;AAIb;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;iDACC;AAId;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;gDACgB;AAI7B;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;oEACsB;AAInC;IAFC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;;sDACM"}