@lenne.tech/nest-server 10.2.6 → 10.2.8

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 (327) hide show
  1. package/dist/config.env.js +75 -75
  2. package/dist/config.env.js.map +1 -1
  3. package/dist/core/common/args/filter.args.js +1 -1
  4. package/dist/core/common/args/filter.args.js.map +1 -1
  5. package/dist/core/common/args/pagination.args.js.map +1 -1
  6. package/dist/core/common/decorators/current-user.decorator.js.map +1 -1
  7. package/dist/core/common/decorators/graphql-populate.decorator.js.map +1 -1
  8. package/dist/core/common/decorators/graphql-service-options.decorator.js.map +1 -1
  9. package/dist/core/common/decorators/restricted.decorator.d.ts +4 -4
  10. package/dist/core/common/decorators/restricted.decorator.js +2 -2
  11. package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
  12. package/dist/core/common/enums/comparison-operator.enum.js +1 -1
  13. package/dist/core/common/enums/comparison-operator.enum.js.map +1 -1
  14. package/dist/core/common/enums/logical-operator.enum.js +1 -1
  15. package/dist/core/common/enums/logical-operator.enum.js.map +1 -1
  16. package/dist/core/common/enums/role.enum.d.ts +3 -3
  17. package/dist/core/common/enums/role.enum.js +2 -2
  18. package/dist/core/common/enums/role.enum.js.map +1 -1
  19. package/dist/core/common/enums/sort-order.emum.js +1 -1
  20. package/dist/core/common/enums/sort-order.emum.js.map +1 -1
  21. package/dist/core/common/filters/http-exception-log.filter.js.map +1 -1
  22. package/dist/core/common/helpers/config.helper.js.map +1 -1
  23. package/dist/core/common/helpers/context.helper.js +1 -1
  24. package/dist/core/common/helpers/context.helper.js.map +1 -1
  25. package/dist/core/common/helpers/db.helper.d.ts +28 -4
  26. package/dist/core/common/helpers/db.helper.js +4 -4
  27. package/dist/core/common/helpers/db.helper.js.map +1 -1
  28. package/dist/core/common/helpers/decorator.helper.d.ts +24 -0
  29. package/dist/core/common/helpers/decorator.helper.js.map +1 -1
  30. package/dist/core/common/helpers/file.helper.js +1 -1
  31. package/dist/core/common/helpers/file.helper.js.map +1 -1
  32. package/dist/core/common/helpers/filter.helper.d.ts +26 -2
  33. package/dist/core/common/helpers/filter.helper.js +3 -3
  34. package/dist/core/common/helpers/filter.helper.js.map +1 -1
  35. package/dist/core/common/helpers/graphql.helper.d.ts +2 -2
  36. package/dist/core/common/helpers/graphql.helper.js +1 -1
  37. package/dist/core/common/helpers/graphql.helper.js.map +1 -1
  38. package/dist/core/common/helpers/input.helper.d.ts +3 -3
  39. package/dist/core/common/helpers/input.helper.js +5 -5
  40. package/dist/core/common/helpers/input.helper.js.map +1 -1
  41. package/dist/core/common/helpers/model.helper.d.ts +2 -2
  42. package/dist/core/common/helpers/model.helper.js +3 -3
  43. package/dist/core/common/helpers/model.helper.js.map +1 -1
  44. package/dist/core/common/helpers/service.helper.d.ts +6 -6
  45. package/dist/core/common/helpers/service.helper.js +5 -5
  46. package/dist/core/common/helpers/service.helper.js.map +1 -1
  47. package/dist/core/common/helpers/table.helper.d.ts +9 -0
  48. package/dist/core/common/helpers/table.helper.js +28 -0
  49. package/dist/core/common/helpers/table.helper.js.map +1 -0
  50. package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
  51. package/dist/core/common/inputs/filter.input.js.map +1 -1
  52. package/dist/core/common/inputs/single-filter.input.js.map +1 -1
  53. package/dist/core/common/inputs/sort.input.js.map +1 -1
  54. package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
  55. package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
  56. package/dist/core/common/interfaces/core-persistence-model.interface.d.ts +3 -3
  57. package/dist/core/common/interfaces/mailjet-options.interface.d.ts +1 -1
  58. package/dist/core/common/interfaces/prepare-input-options.interface.d.ts +1 -1
  59. package/dist/core/common/interfaces/server-options.interface.d.ts +15 -7
  60. package/dist/core/common/interfaces/service-options.interface.d.ts +31 -5
  61. package/dist/core/common/models/core-model.model.js.map +1 -1
  62. package/dist/core/common/models/core-persistence.model.d.ts +24 -0
  63. package/dist/core/common/models/core-persistence.model.js.map +1 -1
  64. package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
  65. package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
  66. package/dist/core/common/plugins/complexity.plugin.js +4 -4
  67. package/dist/core/common/plugins/complexity.plugin.js.map +1 -1
  68. package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
  69. package/dist/core/common/scalars/any.scalar.js.map +1 -1
  70. package/dist/core/common/scalars/date-timestamp.scalar.js.map +1 -1
  71. package/dist/core/common/scalars/date.scalar.js.map +1 -1
  72. package/dist/core/common/scalars/json.scalar.js.map +1 -1
  73. package/dist/core/common/services/brevo.service.d.ts +10 -0
  74. package/dist/core/common/services/brevo.service.js +75 -0
  75. package/dist/core/common/services/brevo.service.js.map +1 -0
  76. package/dist/core/common/services/config.service.js +1 -1
  77. package/dist/core/common/services/config.service.js.map +1 -1
  78. package/dist/core/common/services/core-cron-jobs.service.d.ts +2 -2
  79. package/dist/core/common/services/core-cron-jobs.service.js.map +1 -1
  80. package/dist/core/common/services/crud.service.d.ts +63 -32
  81. package/dist/core/common/services/crud.service.js +59 -21
  82. package/dist/core/common/services/crud.service.js.map +1 -1
  83. package/dist/core/common/services/email.service.js +5 -5
  84. package/dist/core/common/services/email.service.js.map +1 -1
  85. package/dist/core/common/services/mailjet.service.d.ts +4 -4
  86. package/dist/core/common/services/mailjet.service.js +8 -8
  87. package/dist/core/common/services/mailjet.service.js.map +1 -1
  88. package/dist/core/common/services/model-doc.service.d.ts +24 -0
  89. package/dist/core/common/services/model-doc.service.js +1 -1
  90. package/dist/core/common/services/model-doc.service.js.map +1 -1
  91. package/dist/core/common/services/module.service.d.ts +28 -4
  92. package/dist/core/common/services/module.service.js +23 -7
  93. package/dist/core/common/services/module.service.js.map +1 -1
  94. package/dist/core/common/services/template.service.js +3 -3
  95. package/dist/core/common/services/template.service.js.map +1 -1
  96. package/dist/core/common/types/core-model-constructor.type.d.ts +1 -1
  97. package/dist/core/common/types/falsy.type.d.ts +1 -1
  98. package/dist/core/common/types/field-selection.type.d.ts +25 -1
  99. package/dist/core/common/types/ids.type.d.ts +31 -7
  100. package/dist/core/common/types/maybe-promise.type.d.ts +1 -1
  101. package/dist/core/common/types/plain-input.type.d.ts +1 -1
  102. package/dist/core/common/types/populate-config.type.d.ts +25 -1
  103. package/dist/core/common/types/string-or-object-id.type.d.ts +25 -1
  104. package/dist/core/modules/auth/core-auth.controller.js +1 -1
  105. package/dist/core/modules/auth/core-auth.controller.js.map +1 -1
  106. package/dist/core/modules/auth/core-auth.model.js.map +1 -1
  107. package/dist/core/modules/auth/core-auth.module.d.ts +5 -5
  108. package/dist/core/modules/auth/core-auth.module.js +5 -5
  109. package/dist/core/modules/auth/core-auth.module.js.map +1 -1
  110. package/dist/core/modules/auth/core-auth.resolver.js +1 -1
  111. package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
  112. package/dist/core/modules/auth/guards/auth.guard.d.ts +1 -1
  113. package/dist/core/modules/auth/guards/auth.guard.js +1 -1
  114. package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
  115. package/dist/core/modules/auth/guards/refresh-token.guard.js.map +1 -1
  116. package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
  117. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js.map +1 -1
  118. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js.map +1 -1
  119. package/dist/core/modules/auth/interfaces/core-auth-user.interface.d.ts +1 -1
  120. package/dist/core/modules/auth/interfaces/core-token-data.interface.d.ts +1 -1
  121. package/dist/core/modules/auth/interfaces/jwt-payload.interface.d.ts +1 -1
  122. package/dist/core/modules/auth/services/core-auth.service.d.ts +1 -1
  123. package/dist/core/modules/auth/services/core-auth.service.js +10 -10
  124. package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
  125. package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js +1 -1
  126. package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js.map +1 -1
  127. package/dist/core/modules/auth/strategies/jwt.strategy.js.map +1 -1
  128. package/dist/core/modules/auth/tokens.decorator.js +1 -1
  129. package/dist/core/modules/auth/tokens.decorator.js.map +1 -1
  130. package/dist/core/modules/file/core-file-info.model.d.ts +24 -0
  131. package/dist/core/modules/file/core-file-info.model.js +5 -5
  132. package/dist/core/modules/file/core-file-info.model.js.map +1 -1
  133. package/dist/core/modules/file/core-file.controller.js.map +1 -1
  134. package/dist/core/modules/file/core-file.resolver.js +1 -1
  135. package/dist/core/modules/file/core-file.resolver.js.map +1 -1
  136. package/dist/core/modules/file/core-file.service.d.ts +30 -6
  137. package/dist/core/modules/file/core-file.service.js +3 -3
  138. package/dist/core/modules/file/core-file.service.js.map +1 -1
  139. package/dist/core/modules/file/interfaces/file-service-options.interface.d.ts +1 -1
  140. package/dist/core/modules/file/interfaces/file-upload.interface.d.ts +2 -2
  141. package/dist/core/modules/health-check/core-health-check-result.model.js.map +1 -1
  142. package/dist/core/modules/health-check/core-health-check.controller.js.map +1 -1
  143. package/dist/core/modules/health-check/core-health-check.module.js +1 -1
  144. package/dist/core/modules/health-check/core-health-check.module.js.map +1 -1
  145. package/dist/core/modules/health-check/core-health-check.resolver.js +2 -2
  146. package/dist/core/modules/health-check/core-health-check.resolver.js.map +1 -1
  147. package/dist/core/modules/health-check/core-health-check.service.js +1 -1
  148. package/dist/core/modules/health-check/core-health-check.service.js.map +1 -1
  149. package/dist/core/modules/user/core-user.model.d.ts +24 -0
  150. package/dist/core/modules/user/core-user.model.js +1 -1
  151. package/dist/core/modules/user/core-user.model.js.map +1 -1
  152. package/dist/core/modules/user/core-user.service.d.ts +25 -1
  153. package/dist/core/modules/user/core-user.service.js +3 -3
  154. package/dist/core/modules/user/core-user.service.js.map +1 -1
  155. package/dist/core/modules/user/inputs/core-user-create.input.js +1 -1
  156. package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
  157. package/dist/core/modules/user/inputs/core-user.input.js +1 -1
  158. package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
  159. package/dist/core.module.js +20 -20
  160. package/dist/core.module.js.map +1 -1
  161. package/dist/index.d.ts +2 -0
  162. package/dist/index.js +2 -0
  163. package/dist/index.js.map +1 -1
  164. package/dist/main.js +3 -3
  165. package/dist/main.js.map +1 -1
  166. package/dist/server/common/models/persistence.model.d.ts +24 -0
  167. package/dist/server/common/models/persistence.model.js +4 -4
  168. package/dist/server/common/models/persistence.model.js.map +1 -1
  169. package/dist/server/common/services/cron-jobs.service.js.map +1 -1
  170. package/dist/server/modules/auth/auth.controller.js.map +1 -1
  171. package/dist/server/modules/auth/auth.model.js.map +1 -1
  172. package/dist/server/modules/auth/auth.module.js +2 -2
  173. package/dist/server/modules/auth/auth.module.js.map +1 -1
  174. package/dist/server/modules/auth/auth.resolver.js.map +1 -1
  175. package/dist/server/modules/auth/auth.service.js +1 -1
  176. package/dist/server/modules/auth/auth.service.js.map +1 -1
  177. package/dist/server/modules/auth/inputs/auth-sign-in.input.js.map +1 -1
  178. package/dist/server/modules/auth/inputs/auth-sign-up.input.js.map +1 -1
  179. package/dist/server/modules/file/file-info.model.js.map +1 -1
  180. package/dist/server/modules/file/file.controller.js.map +1 -1
  181. package/dist/server/modules/file/file.module.js +2 -2
  182. package/dist/server/modules/file/file.module.js.map +1 -1
  183. package/dist/server/modules/file/file.resolver.js +5 -5
  184. package/dist/server/modules/file/file.resolver.js.map +1 -1
  185. package/dist/server/modules/file/file.service.d.ts +24 -0
  186. package/dist/server/modules/file/file.service.js.map +1 -1
  187. package/dist/server/modules/file/multer-config.service.js +2 -2
  188. package/dist/server/modules/file/multer-config.service.js.map +1 -1
  189. package/dist/server/modules/user/avatar.controller.js.map +1 -1
  190. package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
  191. package/dist/server/modules/user/inputs/user.input.js.map +1 -1
  192. package/dist/server/modules/user/outputs/find-and-count-users-result.output.js.map +1 -1
  193. package/dist/server/modules/user/user.model.js +2 -2
  194. package/dist/server/modules/user/user.model.js.map +1 -1
  195. package/dist/server/modules/user/user.module.js +2 -2
  196. package/dist/server/modules/user/user.module.js.map +1 -1
  197. package/dist/server/modules/user/user.resolver.d.ts +1 -1
  198. package/dist/server/modules/user/user.resolver.js +1 -1
  199. package/dist/server/modules/user/user.resolver.js.map +1 -1
  200. package/dist/server/modules/user/user.service.d.ts +25 -1
  201. package/dist/server/modules/user/user.service.js +2 -2
  202. package/dist/server/modules/user/user.service.js.map +1 -1
  203. package/dist/server/server.controller.js.map +1 -1
  204. package/dist/server/server.module.js +2 -2
  205. package/dist/server/server.module.js.map +1 -1
  206. package/dist/test/test.helper.d.ts +13 -13
  207. package/dist/test/test.helper.js +15 -15
  208. package/dist/test/test.helper.js.map +1 -1
  209. package/dist/tsconfig.build.tsbuildinfo +1 -1
  210. package/package.json +35 -34
  211. package/src/config.env.ts +79 -78
  212. package/src/core/common/args/filter.args.ts +2 -1
  213. package/src/core/common/args/pagination.args.ts +1 -0
  214. package/src/core/common/decorators/current-user.decorator.ts +1 -0
  215. package/src/core/common/decorators/graphql-populate.decorator.ts +1 -0
  216. package/src/core/common/decorators/graphql-service-options.decorator.ts +1 -0
  217. package/src/core/common/decorators/restricted.decorator.ts +7 -5
  218. package/src/core/common/enums/comparison-operator.enum.ts +1 -1
  219. package/src/core/common/enums/logical-operator.enum.ts +1 -1
  220. package/src/core/common/enums/role.enum.ts +6 -6
  221. package/src/core/common/enums/sort-order.emum.ts +1 -1
  222. package/src/core/common/helpers/context.helper.ts +1 -1
  223. package/src/core/common/helpers/db.helper.ts +14 -12
  224. package/src/core/common/helpers/decorator.helper.ts +1 -0
  225. package/src/core/common/helpers/file.helper.ts +1 -1
  226. package/src/core/common/helpers/filter.helper.ts +6 -5
  227. package/src/core/common/helpers/graphql.helper.ts +7 -6
  228. package/src/core/common/helpers/input.helper.ts +10 -8
  229. package/src/core/common/helpers/model.helper.ts +6 -5
  230. package/src/core/common/helpers/service.helper.ts +13 -11
  231. package/src/core/common/helpers/table.helper.ts +37 -0
  232. package/src/core/common/inputs/combined-filter.input.ts +1 -0
  233. package/src/core/common/inputs/filter.input.ts +1 -0
  234. package/src/core/common/inputs/single-filter.input.ts +1 -0
  235. package/src/core/common/inputs/sort.input.ts +1 -0
  236. package/src/core/common/interceptors/check-response.interceptor.ts +1 -0
  237. package/src/core/common/interceptors/check-security.interceptor.ts +1 -0
  238. package/src/core/common/interfaces/core-persistence-model.interface.ts +3 -3
  239. package/src/core/common/interfaces/cron-job-config-with-time-zone.interface.ts +1 -0
  240. package/src/core/common/interfaces/cron-job-config-with-utc-offset.interface.ts +1 -0
  241. package/src/core/common/interfaces/mailjet-options.interface.ts +1 -1
  242. package/src/core/common/interfaces/prepare-input-options.interface.ts +1 -1
  243. package/src/core/common/interfaces/server-options.interface.ts +49 -23
  244. package/src/core/common/interfaces/service-options.interface.ts +31 -16
  245. package/src/core/common/models/core-persistence.model.ts +1 -0
  246. package/src/core/common/pipes/check-input.pipe.ts +1 -0
  247. package/src/core/common/pipes/map-and-validate.pipe.ts +1 -0
  248. package/src/core/common/plugins/complexity.plugin.ts +5 -4
  249. package/src/core/common/scalars/date-timestamp.scalar.ts +1 -0
  250. package/src/core/common/scalars/date.scalar.ts +1 -0
  251. package/src/core/common/services/brevo.service.ts +93 -0
  252. package/src/core/common/services/config.service.ts +3 -1
  253. package/src/core/common/services/core-cron-jobs.service.ts +3 -2
  254. package/src/core/common/services/crud.service.ts +113 -41
  255. package/src/core/common/services/email.service.ts +7 -5
  256. package/src/core/common/services/mailjet.service.ts +14 -13
  257. package/src/core/common/services/model-doc.service.ts +2 -1
  258. package/src/core/common/services/module.service.ts +33 -13
  259. package/src/core/common/services/template.service.ts +5 -3
  260. package/src/core/common/types/core-model-constructor.type.ts +1 -1
  261. package/src/core/common/types/falsy.type.ts +1 -1
  262. package/src/core/common/types/field-selection.type.ts +4 -3
  263. package/src/core/common/types/ids.type.ts +3 -3
  264. package/src/core/common/types/maybe-promise.type.ts +1 -1
  265. package/src/core/common/types/plain-input.type.ts +1 -1
  266. package/src/core/common/types/populate-config.type.ts +1 -1
  267. package/src/core/common/types/string-or-object-id.type.ts +1 -1
  268. package/src/core/modules/auth/core-auth.controller.ts +2 -1
  269. package/src/core/modules/auth/core-auth.model.ts +1 -0
  270. package/src/core/modules/auth/core-auth.module.ts +8 -7
  271. package/src/core/modules/auth/core-auth.resolver.ts +2 -1
  272. package/src/core/modules/auth/guards/auth.guard.ts +4 -2
  273. package/src/core/modules/auth/guards/refresh-token.guard.ts +1 -0
  274. package/src/core/modules/auth/guards/roles.guard.ts +1 -0
  275. package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +1 -0
  276. package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +1 -0
  277. package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +4 -4
  278. package/src/core/modules/auth/interfaces/core-token-data.interface.ts +4 -4
  279. package/src/core/modules/auth/interfaces/jwt-payload.interface.ts +1 -1
  280. package/src/core/modules/auth/services/core-auth.service.ts +13 -11
  281. package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +3 -2
  282. package/src/core/modules/auth/strategies/jwt.strategy.ts +3 -2
  283. package/src/core/modules/auth/tokens.decorator.ts +4 -3
  284. package/src/core/modules/file/core-file-info.model.ts +6 -5
  285. package/src/core/modules/file/core-file.controller.ts +1 -0
  286. package/src/core/modules/file/core-file.resolver.ts +2 -1
  287. package/src/core/modules/file/core-file.service.ts +9 -8
  288. package/src/core/modules/file/interfaces/file-service-options.interface.ts +1 -1
  289. package/src/core/modules/file/interfaces/file-upload.interface.ts +2 -2
  290. package/src/core/modules/health-check/core-health-check-result.model.ts +1 -0
  291. package/src/core/modules/health-check/core-health-check.controller.ts +1 -0
  292. package/src/core/modules/health-check/core-health-check.module.ts +2 -1
  293. package/src/core/modules/health-check/core-health-check.resolver.ts +3 -2
  294. package/src/core/modules/health-check/core-health-check.service.ts +2 -1
  295. package/src/core/modules/user/core-user.model.ts +2 -1
  296. package/src/core/modules/user/core-user.service.ts +6 -4
  297. package/src/core/modules/user/inputs/core-user-create.input.ts +2 -1
  298. package/src/core/modules/user/inputs/core-user.input.ts +2 -1
  299. package/src/core.module.ts +24 -22
  300. package/src/index.ts +2 -0
  301. package/src/main.ts +5 -3
  302. package/src/server/common/models/persistence.model.ts +7 -5
  303. package/src/server/common/services/cron-jobs.service.ts +1 -0
  304. package/src/server/modules/auth/auth.controller.ts +1 -0
  305. package/src/server/modules/auth/auth.model.ts +1 -0
  306. package/src/server/modules/auth/auth.module.ts +3 -2
  307. package/src/server/modules/auth/auth.resolver.ts +1 -0
  308. package/src/server/modules/auth/auth.service.ts +2 -1
  309. package/src/server/modules/auth/inputs/auth-sign-in.input.ts +1 -0
  310. package/src/server/modules/auth/inputs/auth-sign-up.input.ts +1 -0
  311. package/src/server/modules/file/file-info.model.ts +1 -0
  312. package/src/server/modules/file/file.controller.ts +1 -0
  313. package/src/server/modules/file/file.module.ts +3 -2
  314. package/src/server/modules/file/file.resolver.ts +7 -5
  315. package/src/server/modules/file/file.service.ts +1 -0
  316. package/src/server/modules/file/multer-config.service.ts +3 -2
  317. package/src/server/modules/user/avatar.controller.ts +1 -0
  318. package/src/server/modules/user/inputs/user-create.input.ts +1 -0
  319. package/src/server/modules/user/inputs/user.input.ts +1 -0
  320. package/src/server/modules/user/outputs/find-and-count-users-result.output.ts +1 -0
  321. package/src/server/modules/user/user.model.ts +3 -2
  322. package/src/server/modules/user/user.module.ts +3 -2
  323. package/src/server/modules/user/user.resolver.ts +2 -1
  324. package/src/server/modules/user/user.service.ts +5 -3
  325. package/src/server/server.controller.ts +1 -0
  326. package/src/server/server.module.ts +7 -6
  327. package/src/test/test.helper.ts +28 -26
@@ -1,19 +1,21 @@
1
- import { Blob } from 'buffer';
2
- import util = require('util');
3
1
  import { INestApplication } from '@nestjs/common';
2
+ import { Blob } from 'buffer';
4
3
  import { createClient } from 'graphql-ws';
5
4
  import { jsonToGraphQLQuery } from 'json-to-graphql-query';
6
5
  import { Types } from 'mongoose';
6
+
7
+ import { getStringIds } from '../core/common/helpers/db.helper';
8
+
7
9
  import supertest = require('supertest');
10
+ import util = require('util');
8
11
  import ws = require('ws');
9
- import { getStringIds } from '../core/common/helpers/db.helper';
10
12
 
11
13
  /**
12
14
  * GraphQL request type
13
15
  */
14
16
  export enum TestGraphQLType {
15
- QUERY = 'query',
16
17
  MUTATION = 'mutation',
18
+ QUERY = 'query',
17
19
  SUBSCRIPTION = 'subscription',
18
20
  }
19
21
 
@@ -21,13 +23,13 @@ export enum TestGraphQLType {
21
23
  * GraphQL fields
22
24
  */
23
25
  export interface TestFieldObject {
24
- [key: string]: boolean | (string | TestFieldObject)[] | TestFieldObject;
26
+ [key: string]: (TestFieldObject | string)[] | TestFieldObject | boolean;
25
27
  }
26
28
 
27
29
  /**
28
30
  * GraphQL fields
29
31
  */
30
- export type TestFields = string | string[] | TestFieldObject;
32
+ export type TestFields = TestFieldObject | string | string[];
31
33
 
32
34
  /**
33
35
  * GraphQL request config
@@ -63,13 +65,13 @@ export interface TestGraphQLConfig {
63
65
  }
64
66
 
65
67
  export interface TestGraphQLAttachment {
66
- file: Blob | Buffer | ReadableStream | string | boolean | number;
67
- options?: string | { filename?: string | undefined; contentType?: string | undefined };
68
+ file: Blob | Buffer | ReadableStream | boolean | number | string;
69
+ options?: { contentType?: string | undefined; filename?: string | undefined } | string;
68
70
  }
69
71
 
70
72
  export interface TestGraphQLVariable {
71
- value: string | string[] | TestGraphQLAttachment | TestGraphQLAttachment[] | any;
72
- type: 'field' | 'attachment';
73
+ type: 'attachment' | 'field';
74
+ value: TestGraphQLAttachment | TestGraphQLAttachment[] | any | string | string[];
73
75
  }
74
76
 
75
77
  /**
@@ -125,7 +127,7 @@ export interface TestRestOptions {
125
127
  attachments?: Record<string, string>;
126
128
  log?: boolean;
127
129
  logError?: boolean;
128
- method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
130
+ method?: 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT';
129
131
  payload?: any;
130
132
  statusCode?: number;
131
133
  token?: string;
@@ -183,21 +185,21 @@ export class TestHelper {
183
185
  /**
184
186
  * GraphQL request
185
187
  */
186
- async graphQl(graphql: string | TestGraphQLConfig, options: TestGraphQLOptions = {}): Promise<any> {
188
+ async graphQl(graphql: TestGraphQLConfig | string, options: TestGraphQLOptions = {}): Promise<any> {
187
189
  // Default options
188
190
  const config = {
189
191
  convertEnums: true,
190
192
  countOfSubscriptionMessages: 1,
191
- token: null,
192
- statusCode: 200,
193
193
  log: false,
194
194
  logError: false,
195
195
  prepareArguments: true,
196
+ statusCode: 200,
197
+ token: null,
196
198
  ...options,
197
199
  };
198
200
 
199
201
  // Init vars
200
- const { token, statusCode, log, logError, variables } = config;
202
+ const { log, logError, statusCode, token, variables } = config;
201
203
 
202
204
  // Init
203
205
  let query = '';
@@ -268,8 +270,8 @@ export class TestHelper {
268
270
  // Request configuration
269
271
  const requestConfig: any = {
270
272
  method: 'POST',
271
- url: '/graphql',
272
273
  payload: { query },
274
+ url: '/graphql',
273
275
  };
274
276
 
275
277
  // Token
@@ -304,17 +306,17 @@ export class TestHelper {
304
306
  async rest(url: string, options: TestRestOptions = {}): Promise<any> {
305
307
  // Default options
306
308
  const config: TestRestOptions = {
307
- token: null,
308
- statusCode: 200,
309
309
  log: false,
310
310
  logError: false,
311
- payload: null,
312
311
  method: options?.attachments ? 'POST' : 'GET',
312
+ payload: null,
313
+ statusCode: 200,
314
+ token: null,
313
315
  ...options,
314
316
  };
315
317
 
316
318
  // Init vars
317
- const { token, statusCode, log, logError, attachments } = config;
319
+ const { attachments, log, logError, statusCode, token } = config;
318
320
 
319
321
  // Request configuration
320
322
  const requestConfig: any = {
@@ -486,7 +488,7 @@ export class TestHelper {
486
488
  /**
487
489
  * Process GraphQL variables
488
490
  */
489
- processVariables(request: any, variables: Record<string, TestGraphQLVariable>, query: string | object) {
491
+ processVariables(request: any, variables: Record<string, TestGraphQLVariable>, query: object | string) {
490
492
  // Check and optimize parameters
491
493
  if (!variables) {
492
494
  return request;
@@ -496,11 +498,11 @@ export class TestHelper {
496
498
  }
497
499
 
498
500
  // Create map
499
- const mapArray: { key: string; type: 'attachment' | 'field'; value: any; index?: number }[] = [];
501
+ const mapArray: { index?: number; key: string; type: 'attachment' | 'field'; value: any }[] = [];
500
502
  for (const [key, item] of Object.entries(variables)) {
501
503
  if (item.type === 'attachment' && Array.isArray(item.value)) {
502
504
  item.value.forEach((element, index) => {
503
- mapArray.push({ key, type: 'attachment', value: element, index });
505
+ mapArray.push({ index, key, type: 'attachment', value: element });
504
506
  });
505
507
  } else {
506
508
  mapArray.push({ key, type: item.type, value: item.value });
@@ -578,7 +580,7 @@ export class TestHelper {
578
580
  if (options.log) {
579
581
  console.info('Subscription query', JSON.stringify(query, null, 2));
580
582
  }
581
- const client = createClient({ url: this.subscriptionUrl, connectionParams, webSocketImpl: ws });
583
+ const client = createClient({ connectionParams, url: this.subscriptionUrl, webSocketImpl: ws });
582
584
  const messages: any[] = [];
583
585
  let unsubscribe: () => void;
584
586
  const onNext = (message) => {
@@ -596,9 +598,9 @@ export class TestHelper {
596
598
  unsubscribe = client.subscribe(
597
599
  { query },
598
600
  {
599
- next: onNext,
600
- error: reject,
601
601
  complete: resolve as any,
602
+ error: reject,
603
+ next: onNext,
602
604
  },
603
605
  );
604
606
  });