@lenne.tech/nest-server 10.2.7 → 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 (323) 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 +3 -3
  48. package/dist/core/common/helpers/table.helper.js +7 -7
  49. package/dist/core/common/helpers/table.helper.js.map +1 -1
  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 +12 -8
  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 +4 -0
  74. package/dist/core/common/services/brevo.service.js +27 -4
  75. package/dist/core/common/services/brevo.service.js.map +1 -1
  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 +58 -32
  81. package/dist/core/common/services/crud.service.js +40 -23
  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 +8 -4
  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/main.js +3 -3
  162. package/dist/main.js.map +1 -1
  163. package/dist/server/common/models/persistence.model.d.ts +24 -0
  164. package/dist/server/common/models/persistence.model.js +4 -4
  165. package/dist/server/common/models/persistence.model.js.map +1 -1
  166. package/dist/server/common/services/cron-jobs.service.js.map +1 -1
  167. package/dist/server/modules/auth/auth.controller.js.map +1 -1
  168. package/dist/server/modules/auth/auth.model.js.map +1 -1
  169. package/dist/server/modules/auth/auth.module.js +2 -2
  170. package/dist/server/modules/auth/auth.module.js.map +1 -1
  171. package/dist/server/modules/auth/auth.resolver.js.map +1 -1
  172. package/dist/server/modules/auth/auth.service.js +1 -1
  173. package/dist/server/modules/auth/auth.service.js.map +1 -1
  174. package/dist/server/modules/auth/inputs/auth-sign-in.input.js.map +1 -1
  175. package/dist/server/modules/auth/inputs/auth-sign-up.input.js.map +1 -1
  176. package/dist/server/modules/file/file-info.model.js.map +1 -1
  177. package/dist/server/modules/file/file.controller.js.map +1 -1
  178. package/dist/server/modules/file/file.module.js +2 -2
  179. package/dist/server/modules/file/file.module.js.map +1 -1
  180. package/dist/server/modules/file/file.resolver.js +5 -5
  181. package/dist/server/modules/file/file.resolver.js.map +1 -1
  182. package/dist/server/modules/file/file.service.d.ts +24 -0
  183. package/dist/server/modules/file/file.service.js.map +1 -1
  184. package/dist/server/modules/file/multer-config.service.js +2 -2
  185. package/dist/server/modules/file/multer-config.service.js.map +1 -1
  186. package/dist/server/modules/user/avatar.controller.js.map +1 -1
  187. package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
  188. package/dist/server/modules/user/inputs/user.input.js.map +1 -1
  189. package/dist/server/modules/user/outputs/find-and-count-users-result.output.js.map +1 -1
  190. package/dist/server/modules/user/user.model.js +2 -2
  191. package/dist/server/modules/user/user.model.js.map +1 -1
  192. package/dist/server/modules/user/user.module.js +2 -2
  193. package/dist/server/modules/user/user.module.js.map +1 -1
  194. package/dist/server/modules/user/user.resolver.d.ts +1 -1
  195. package/dist/server/modules/user/user.resolver.js +1 -1
  196. package/dist/server/modules/user/user.resolver.js.map +1 -1
  197. package/dist/server/modules/user/user.service.d.ts +25 -1
  198. package/dist/server/modules/user/user.service.js +2 -2
  199. package/dist/server/modules/user/user.service.js.map +1 -1
  200. package/dist/server/server.controller.js.map +1 -1
  201. package/dist/server/server.module.js +2 -2
  202. package/dist/server/server.module.js.map +1 -1
  203. package/dist/test/test.helper.d.ts +13 -13
  204. package/dist/test/test.helper.js +15 -15
  205. package/dist/test/test.helper.js.map +1 -1
  206. package/dist/tsconfig.build.tsbuildinfo +1 -1
  207. package/package.json +34 -34
  208. package/src/config.env.ts +79 -78
  209. package/src/core/common/args/filter.args.ts +2 -1
  210. package/src/core/common/args/pagination.args.ts +1 -0
  211. package/src/core/common/decorators/current-user.decorator.ts +1 -0
  212. package/src/core/common/decorators/graphql-populate.decorator.ts +1 -0
  213. package/src/core/common/decorators/graphql-service-options.decorator.ts +1 -0
  214. package/src/core/common/decorators/restricted.decorator.ts +7 -5
  215. package/src/core/common/enums/comparison-operator.enum.ts +1 -1
  216. package/src/core/common/enums/logical-operator.enum.ts +1 -1
  217. package/src/core/common/enums/role.enum.ts +6 -6
  218. package/src/core/common/enums/sort-order.emum.ts +1 -1
  219. package/src/core/common/helpers/context.helper.ts +1 -1
  220. package/src/core/common/helpers/db.helper.ts +14 -12
  221. package/src/core/common/helpers/decorator.helper.ts +1 -0
  222. package/src/core/common/helpers/file.helper.ts +1 -1
  223. package/src/core/common/helpers/filter.helper.ts +6 -5
  224. package/src/core/common/helpers/graphql.helper.ts +7 -6
  225. package/src/core/common/helpers/input.helper.ts +10 -8
  226. package/src/core/common/helpers/model.helper.ts +6 -5
  227. package/src/core/common/helpers/service.helper.ts +13 -11
  228. package/src/core/common/helpers/table.helper.ts +12 -10
  229. package/src/core/common/inputs/combined-filter.input.ts +1 -0
  230. package/src/core/common/inputs/filter.input.ts +1 -0
  231. package/src/core/common/inputs/single-filter.input.ts +1 -0
  232. package/src/core/common/inputs/sort.input.ts +1 -0
  233. package/src/core/common/interceptors/check-response.interceptor.ts +1 -0
  234. package/src/core/common/interceptors/check-security.interceptor.ts +1 -0
  235. package/src/core/common/interfaces/core-persistence-model.interface.ts +3 -3
  236. package/src/core/common/interfaces/cron-job-config-with-time-zone.interface.ts +1 -0
  237. package/src/core/common/interfaces/cron-job-config-with-utc-offset.interface.ts +1 -0
  238. package/src/core/common/interfaces/mailjet-options.interface.ts +1 -1
  239. package/src/core/common/interfaces/prepare-input-options.interface.ts +1 -1
  240. package/src/core/common/interfaces/server-options.interface.ts +33 -24
  241. package/src/core/common/interfaces/service-options.interface.ts +31 -16
  242. package/src/core/common/models/core-persistence.model.ts +1 -0
  243. package/src/core/common/pipes/check-input.pipe.ts +1 -0
  244. package/src/core/common/pipes/map-and-validate.pipe.ts +1 -0
  245. package/src/core/common/plugins/complexity.plugin.ts +5 -4
  246. package/src/core/common/scalars/date-timestamp.scalar.ts +1 -0
  247. package/src/core/common/scalars/date.scalar.ts +1 -0
  248. package/src/core/common/services/brevo.service.ts +50 -5
  249. package/src/core/common/services/config.service.ts +3 -1
  250. package/src/core/common/services/core-cron-jobs.service.ts +3 -2
  251. package/src/core/common/services/crud.service.ts +70 -43
  252. package/src/core/common/services/email.service.ts +7 -5
  253. package/src/core/common/services/mailjet.service.ts +14 -13
  254. package/src/core/common/services/model-doc.service.ts +2 -1
  255. package/src/core/common/services/module.service.ts +18 -10
  256. package/src/core/common/services/template.service.ts +5 -3
  257. package/src/core/common/types/core-model-constructor.type.ts +1 -1
  258. package/src/core/common/types/falsy.type.ts +1 -1
  259. package/src/core/common/types/field-selection.type.ts +4 -3
  260. package/src/core/common/types/ids.type.ts +3 -3
  261. package/src/core/common/types/maybe-promise.type.ts +1 -1
  262. package/src/core/common/types/plain-input.type.ts +1 -1
  263. package/src/core/common/types/populate-config.type.ts +1 -1
  264. package/src/core/common/types/string-or-object-id.type.ts +1 -1
  265. package/src/core/modules/auth/core-auth.controller.ts +2 -1
  266. package/src/core/modules/auth/core-auth.model.ts +1 -0
  267. package/src/core/modules/auth/core-auth.module.ts +8 -7
  268. package/src/core/modules/auth/core-auth.resolver.ts +2 -1
  269. package/src/core/modules/auth/guards/auth.guard.ts +4 -2
  270. package/src/core/modules/auth/guards/refresh-token.guard.ts +1 -0
  271. package/src/core/modules/auth/guards/roles.guard.ts +1 -0
  272. package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +1 -0
  273. package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +1 -0
  274. package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +4 -4
  275. package/src/core/modules/auth/interfaces/core-token-data.interface.ts +4 -4
  276. package/src/core/modules/auth/interfaces/jwt-payload.interface.ts +1 -1
  277. package/src/core/modules/auth/services/core-auth.service.ts +13 -11
  278. package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +3 -2
  279. package/src/core/modules/auth/strategies/jwt.strategy.ts +3 -2
  280. package/src/core/modules/auth/tokens.decorator.ts +4 -3
  281. package/src/core/modules/file/core-file-info.model.ts +6 -5
  282. package/src/core/modules/file/core-file.controller.ts +1 -0
  283. package/src/core/modules/file/core-file.resolver.ts +2 -1
  284. package/src/core/modules/file/core-file.service.ts +9 -8
  285. package/src/core/modules/file/interfaces/file-service-options.interface.ts +1 -1
  286. package/src/core/modules/file/interfaces/file-upload.interface.ts +2 -2
  287. package/src/core/modules/health-check/core-health-check-result.model.ts +1 -0
  288. package/src/core/modules/health-check/core-health-check.controller.ts +1 -0
  289. package/src/core/modules/health-check/core-health-check.module.ts +2 -1
  290. package/src/core/modules/health-check/core-health-check.resolver.ts +3 -2
  291. package/src/core/modules/health-check/core-health-check.service.ts +2 -1
  292. package/src/core/modules/user/core-user.model.ts +2 -1
  293. package/src/core/modules/user/core-user.service.ts +6 -4
  294. package/src/core/modules/user/inputs/core-user-create.input.ts +2 -1
  295. package/src/core/modules/user/inputs/core-user.input.ts +2 -1
  296. package/src/core.module.ts +24 -22
  297. package/src/main.ts +5 -3
  298. package/src/server/common/models/persistence.model.ts +7 -5
  299. package/src/server/common/services/cron-jobs.service.ts +1 -0
  300. package/src/server/modules/auth/auth.controller.ts +1 -0
  301. package/src/server/modules/auth/auth.model.ts +1 -0
  302. package/src/server/modules/auth/auth.module.ts +3 -2
  303. package/src/server/modules/auth/auth.resolver.ts +1 -0
  304. package/src/server/modules/auth/auth.service.ts +2 -1
  305. package/src/server/modules/auth/inputs/auth-sign-in.input.ts +1 -0
  306. package/src/server/modules/auth/inputs/auth-sign-up.input.ts +1 -0
  307. package/src/server/modules/file/file-info.model.ts +1 -0
  308. package/src/server/modules/file/file.controller.ts +1 -0
  309. package/src/server/modules/file/file.module.ts +3 -2
  310. package/src/server/modules/file/file.resolver.ts +7 -5
  311. package/src/server/modules/file/file.service.ts +1 -0
  312. package/src/server/modules/file/multer-config.service.ts +3 -2
  313. package/src/server/modules/user/avatar.controller.ts +1 -0
  314. package/src/server/modules/user/inputs/user-create.input.ts +1 -0
  315. package/src/server/modules/user/inputs/user.input.ts +1 -0
  316. package/src/server/modules/user/outputs/find-and-count-users-result.output.ts +1 -0
  317. package/src/server/modules/user/user.model.ts +3 -2
  318. package/src/server/modules/user/user.module.ts +3 -2
  319. package/src/server/modules/user/user.resolver.ts +2 -1
  320. package/src/server/modules/user/user.service.ts +5 -3
  321. package/src/server/server.controller.ts +1 -0
  322. package/src/server/server.module.ts +7 -6
  323. package/src/test/test.helper.ts +28 -26
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lenne.tech/nest-server",
3
- "version": "10.2.7",
3
+ "version": "10.2.8",
4
4
  "description": "Modern, fast, powerful Node.js web framework in TypeScript based on Nest with a GraphQL API and a connection to MongoDB (or other databases).",
5
5
  "keywords": [
6
6
  "node",
@@ -62,25 +62,25 @@
62
62
  "node": ">= 16.13.0"
63
63
  },
64
64
  "dependencies": {
65
- "@apollo/gateway": "2.5.7",
65
+ "@apollo/gateway": "2.6.3",
66
66
  "@getbrevo/brevo": "1.0.1",
67
67
  "@lenne.tech/mongoose-gridfs": "1.4.2",
68
68
  "@lenne.tech/multer-gridfs-storage": "5.0.6",
69
69
  "@nestjs/apollo": "12.0.11",
70
- "@nestjs/common": "10.2.9",
71
- "@nestjs/core": "10.2.9",
70
+ "@nestjs/common": "10.3.0",
71
+ "@nestjs/core": "10.3.0",
72
72
  "@nestjs/graphql": "12.0.11",
73
73
  "@nestjs/jwt": "10.2.0",
74
74
  "@nestjs/mongoose": "10.0.2",
75
- "@nestjs/passport": "10.0.2",
76
- "@nestjs/platform-express": "10.2.9",
75
+ "@nestjs/passport": "10.0.3",
76
+ "@nestjs/platform-express": "10.3.0",
77
77
  "@nestjs/schedule": "4.0.0",
78
- "@nestjs/terminus": "10.1.1",
78
+ "@nestjs/terminus": "10.2.0",
79
79
  "apollo-server-core": "3.13.0",
80
80
  "apollo-server-express": "3.13.0",
81
81
  "bcrypt": "5.1.1",
82
82
  "class-transformer": "0.5.1",
83
- "class-validator": "0.14.0",
83
+ "class-validator": "0.14.1",
84
84
  "compression": "1.7.4",
85
85
  "cookie-parser": "1.4.6",
86
86
  "ejs": "3.1.9",
@@ -93,14 +93,14 @@
93
93
  "light-my-request": "5.11.0",
94
94
  "lodash": "4.17.21",
95
95
  "mongodb": "6.3.0",
96
- "mongoose": "7.6.5",
96
+ "mongoose": "7.6.8",
97
97
  "multer": "1.4.5-lts.1",
98
- "node-mailjet": "6.0.4",
99
- "nodemailer": "6.9.7",
100
- "nodemon": "3.0.1",
101
- "passport": "0.6.0",
98
+ "node-mailjet": "6.0.5",
99
+ "nodemailer": "6.9.8",
100
+ "nodemon": "3.0.2",
101
+ "passport": "0.7.0",
102
102
  "passport-jwt": "4.0.1",
103
- "reflect-metadata": "0.1.13",
103
+ "reflect-metadata": "0.1.14",
104
104
  "rfdc": "1.3.0",
105
105
  "rimraf": "5.0.5",
106
106
  "rxjs": "7.8.1",
@@ -108,30 +108,30 @@
108
108
  },
109
109
  "devDependencies": {
110
110
  "@babel/plugin-proposal-private-methods": "7.18.6",
111
- "@compodoc/compodoc": "1.1.22",
112
- "@lenne.tech/eslint-config-ts": "0.0.10",
113
- "@nestjs/cli": "10.2.1",
114
- "@nestjs/schematics": "10.0.3",
115
- "@nestjs/testing": "10.2.9",
111
+ "@compodoc/compodoc": "1.1.23",
112
+ "@lenne.tech/eslint-config-ts": "0.0.16",
113
+ "@nestjs/cli": "10.3.0",
114
+ "@nestjs/schematics": "10.1.0",
115
+ "@nestjs/testing": "10.3.0",
116
116
  "@swc/cli": "0.1.63",
117
- "@swc/core": "1.3.96",
117
+ "@swc/core": "1.3.103",
118
118
  "@swc/jest": "0.2.29",
119
119
  "@types/compression": "1.7.5",
120
120
  "@types/cookie-parser": "1.4.6",
121
121
  "@types/ejs": "3.1.5",
122
122
  "@types/express": "4.17.21",
123
- "@types/jest": "29.5.8",
124
- "@types/lodash": "4.14.201",
125
- "@types/multer": "1.4.10",
126
- "@types/node": "20.9.1",
123
+ "@types/jest": "29.5.11",
124
+ "@types/lodash": "4.14.202",
125
+ "@types/multer": "1.4.11",
126
+ "@types/node": "20.11.3",
127
127
  "@types/nodemailer": "6.4.14",
128
- "@types/passport": "1.0.15",
129
- "@types/supertest": "2.0.16",
130
- "@typescript-eslint/eslint-plugin": "6.11.0",
131
- "@typescript-eslint/parser": "6.11.0",
128
+ "@types/passport": "1.0.16",
129
+ "@types/supertest": "6.0.2",
130
+ "@typescript-eslint/eslint-plugin": "6.19.0",
131
+ "@typescript-eslint/parser": "6.19.0",
132
132
  "coffeescript": "2.7.0",
133
- "eslint": "8.54.0",
134
- "eslint-config-prettier": "9.0.0",
133
+ "eslint": "8.56.0",
134
+ "eslint-config-prettier": "9.1.0",
135
135
  "eslint-plugin-unused-imports": "3.0.0",
136
136
  "find-file-up": "2.0.1",
137
137
  "grunt": "1.6.1",
@@ -143,15 +143,15 @@
143
143
  "jest": "29.7.0",
144
144
  "npm-watch": "0.11.0",
145
145
  "pm2": "5.3.0",
146
- "prettier": "3.1.0",
146
+ "prettier": "3.2.2",
147
147
  "pretty-quick": "3.1.3",
148
- "supertest": "6.3.3",
148
+ "supertest": "6.3.4",
149
149
  "ts-jest": "29.1.1",
150
150
  "ts-loader": "9.5.1",
151
151
  "ts-morph": "20.0.0",
152
- "ts-node": "10.9.1",
152
+ "ts-node": "10.9.2",
153
153
  "tsconfig-paths": "4.2.0",
154
- "typescript": "5.2.2",
154
+ "typescript": "5.3.3",
155
155
  "yalc": "1.0.0-pre.53"
156
156
  },
157
157
  "overrides": {
package/src/config.env.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { join } from 'path';
2
1
  import { CronExpression } from '@nestjs/schedule';
2
+ import { join } from 'path';
3
+
3
4
  import { merge } from './core/common/helpers/config.helper';
4
5
  import { IServerOptions } from './core/common/interfaces/server-options.interface';
5
6
 
@@ -10,42 +11,32 @@ const config: { [env: string]: IServerOptions } = {
10
11
  // ===========================================================================
11
12
  // Local environment
12
13
  // ===========================================================================
13
- local: {
14
+ development: {
14
15
  automaticObjectIdFiltering: true,
15
16
  compression: true,
16
17
  cookies: false,
17
- cronJobs: {
18
- sayHello: {
19
- cronTime: CronExpression.EVERY_10_SECONDS,
20
- runOnInit: false,
21
- disabled: false,
22
- runParallel: 1,
23
- timeZone: 'Europe/Berlin',
24
- throwException: false,
25
- },
26
- },
27
18
  email: {
19
+ defaultSender: {
20
+ email: 'oren.satterfield@ethereal.email',
21
+ name: 'Nest Server Development',
22
+ },
23
+ mailjet: {
24
+ api_key_private: 'MAILJET_API_KEY_PRIVATE',
25
+ api_key_public: 'MAILJET_API_KEY_PUBLIC',
26
+ },
27
+ passwordResetLink: 'http://localhost:4200/user/password-reset',
28
28
  smtp: {
29
29
  auth: {
30
- user: 'oren.satterfield@ethereal.email',
31
30
  pass: 'K4DvD8U31VKseT7vQC',
31
+ user: 'oren.satterfield@ethereal.email',
32
32
  },
33
33
  host: 'mailhog.lenne.tech',
34
34
  port: 1025,
35
35
  secure: false,
36
36
  },
37
- mailjet: {
38
- api_key_public: 'MAILJET_API_KEY_PUBLIC',
39
- api_key_private: 'MAILJET_API_KEY_PRIVATE',
40
- },
41
- defaultSender: {
42
- email: 'oren.satterfield@ethereal.email',
43
- name: 'Nest Server Local',
44
- },
45
37
  verificationLink: 'http://localhost:4200/user/verification',
46
- passwordResetLink: 'http://localhost:4200/user/password-reset',
47
38
  },
48
- env: 'local',
39
+ env: 'development',
49
40
  execAfterInit: 'npm run docs:bootstrap',
50
41
  filter: {
51
42
  maxLimit: null,
@@ -57,87 +48,96 @@ const config: { [env: string]: IServerOptions } = {
57
48
  maxComplexity: 20,
58
49
  },
59
50
  healthCheck: {
60
- enabled: true,
61
51
  configs: {
62
52
  database: {
63
53
  enabled: true,
64
54
  },
65
55
  },
56
+ enabled: true,
66
57
  },
67
- hostname: '127.0.0.1',
68
58
  ignoreSelectionsForPopulate: true,
69
59
  jwt: {
70
60
  // Each secret should be unique and not reused in other environments,
71
61
  // also the JWT secret should be different from the Refresh secret!
72
62
  // crypto.randomBytes(512).toString('base64') (see https://nodejs.org/api/crypto.html#crypto)
73
- // tslint:disable-next-line:max-line-length
74
- secret: 'SECRET_OR_PRIVATE_KEY_LOCAL',
75
- signInOptions: {
76
- expiresIn: '15m',
77
- },
78
63
  refresh: {
79
64
  renewal: true,
80
65
  // Each secret should be unique and not reused in other environments,
81
66
  // also the JWT secret should be different from the Refresh secret!
82
67
  // crypto.randomBytes(512).toString('base64') (see https://nodejs.org/api/crypto.html#crypto)
83
68
  // tslint:disable-next-line:max-line-length
84
- secret: 'SECRET_OR_PRIVATE_KEY_LOCAL_REFRESH',
69
+ secret: 'SECRET_OR_PRIVATE_KEY_DEV_REFRESH',
85
70
  signInOptions: {
86
71
  expiresIn: '7d',
87
72
  },
88
73
  },
89
74
  sameTokenIdPeriod: 2000,
75
+ // tslint:disable-next-line:max-line-length
76
+ secret: 'SECRET_OR_PRIVATE_KEY_DEV',
77
+ signInOptions: {
78
+ expiresIn: '15m',
79
+ },
90
80
  },
91
- loadLocalConfig: true,
81
+ loadLocalConfig: false,
92
82
  logExceptions: true,
93
83
  mongoose: {
94
84
  collation: {
95
85
  locale: 'de',
96
86
  },
97
- modelDocumentation: true,
98
- uri: 'mongodb://127.0.0.1/nest-server-local',
87
+ modelDocumentation: false,
88
+ uri: 'mongodb://127.0.0.1/nest-server-dev',
99
89
  },
100
90
  port: 3000,
101
91
  sha256: true,
102
92
  staticAssets: {
103
- path: join(__dirname, '..', 'public'),
104
93
  options: { prefix: '' },
94
+ path: join(__dirname, '..', 'public'),
105
95
  },
106
96
  templates: {
107
- path: join(__dirname, 'templates'),
108
97
  engine: 'ejs',
98
+ path: join(__dirname, 'templates'),
109
99
  },
110
100
  },
111
101
 
112
102
  // ===========================================================================
113
103
  // Development environment
114
104
  // ===========================================================================
115
- development: {
105
+ local: {
116
106
  automaticObjectIdFiltering: true,
117
107
  compression: true,
118
108
  cookies: false,
109
+ cronJobs: {
110
+ sayHello: {
111
+ cronTime: CronExpression.EVERY_10_SECONDS,
112
+ disabled: false,
113
+ runOnInit: false,
114
+ runParallel: 1,
115
+ throwException: false,
116
+ timeZone: 'Europe/Berlin',
117
+ },
118
+ },
119
119
  email: {
120
+ defaultSender: {
121
+ email: 'oren.satterfield@ethereal.email',
122
+ name: 'Nest Server Local',
123
+ },
124
+ mailjet: {
125
+ api_key_private: 'MAILJET_API_KEY_PRIVATE',
126
+ api_key_public: 'MAILJET_API_KEY_PUBLIC',
127
+ },
128
+ passwordResetLink: 'http://localhost:4200/user/password-reset',
120
129
  smtp: {
121
130
  auth: {
122
- user: 'oren.satterfield@ethereal.email',
123
131
  pass: 'K4DvD8U31VKseT7vQC',
132
+ user: 'oren.satterfield@ethereal.email',
124
133
  },
125
134
  host: 'mailhog.lenne.tech',
126
135
  port: 1025,
127
136
  secure: false,
128
137
  },
129
- mailjet: {
130
- api_key_public: 'MAILJET_API_KEY_PUBLIC',
131
- api_key_private: 'MAILJET_API_KEY_PRIVATE',
132
- },
133
- defaultSender: {
134
- email: 'oren.satterfield@ethereal.email',
135
- name: 'Nest Server Development',
136
- },
137
138
  verificationLink: 'http://localhost:4200/user/verification',
138
- passwordResetLink: 'http://localhost:4200/user/password-reset',
139
139
  },
140
- env: 'development',
140
+ env: 'local',
141
141
  execAfterInit: 'npm run docs:bootstrap',
142
142
  filter: {
143
143
  maxLimit: null,
@@ -149,54 +149,55 @@ const config: { [env: string]: IServerOptions } = {
149
149
  maxComplexity: 20,
150
150
  },
151
151
  healthCheck: {
152
- enabled: true,
153
152
  configs: {
154
153
  database: {
155
154
  enabled: true,
156
155
  },
157
156
  },
157
+ enabled: true,
158
158
  },
159
+ hostname: '127.0.0.1',
159
160
  ignoreSelectionsForPopulate: true,
160
161
  jwt: {
161
162
  // Each secret should be unique and not reused in other environments,
162
163
  // also the JWT secret should be different from the Refresh secret!
163
164
  // crypto.randomBytes(512).toString('base64') (see https://nodejs.org/api/crypto.html#crypto)
164
- // tslint:disable-next-line:max-line-length
165
- secret: 'SECRET_OR_PRIVATE_KEY_DEV',
166
- signInOptions: {
167
- expiresIn: '15m',
168
- },
169
165
  refresh: {
170
166
  renewal: true,
171
167
  // Each secret should be unique and not reused in other environments,
172
168
  // also the JWT secret should be different from the Refresh secret!
173
169
  // crypto.randomBytes(512).toString('base64') (see https://nodejs.org/api/crypto.html#crypto)
174
170
  // tslint:disable-next-line:max-line-length
175
- secret: 'SECRET_OR_PRIVATE_KEY_DEV_REFRESH',
171
+ secret: 'SECRET_OR_PRIVATE_KEY_LOCAL_REFRESH',
176
172
  signInOptions: {
177
173
  expiresIn: '7d',
178
174
  },
179
175
  },
180
176
  sameTokenIdPeriod: 2000,
177
+ // tslint:disable-next-line:max-line-length
178
+ secret: 'SECRET_OR_PRIVATE_KEY_LOCAL',
179
+ signInOptions: {
180
+ expiresIn: '15m',
181
+ },
181
182
  },
182
- loadLocalConfig: false,
183
+ loadLocalConfig: true,
183
184
  logExceptions: true,
184
185
  mongoose: {
185
186
  collation: {
186
187
  locale: 'de',
187
188
  },
188
- modelDocumentation: false,
189
- uri: 'mongodb://127.0.0.1/nest-server-dev',
189
+ modelDocumentation: true,
190
+ uri: 'mongodb://127.0.0.1/nest-server-local',
190
191
  },
191
192
  port: 3000,
192
193
  sha256: true,
193
194
  staticAssets: {
194
- path: join(__dirname, '..', 'public'),
195
195
  options: { prefix: '' },
196
+ path: join(__dirname, '..', 'public'),
196
197
  },
197
198
  templates: {
198
- path: join(__dirname, 'templates'),
199
199
  engine: 'ejs',
200
+ path: join(__dirname, 'templates'),
200
201
  },
201
202
  },
202
203
 
@@ -208,25 +209,25 @@ const config: { [env: string]: IServerOptions } = {
208
209
  compression: true,
209
210
  cookies: false,
210
211
  email: {
212
+ defaultSender: {
213
+ email: 'oren.satterfield@ethereal.email',
214
+ name: 'Nest Server Production',
215
+ },
216
+ mailjet: {
217
+ api_key_private: 'MAILJET_API_KEY_PRIVATE',
218
+ api_key_public: 'MAILJET_API_KEY_PUBLIC',
219
+ },
220
+ passwordResetLink: 'http://localhost:4200/user/password-reset',
211
221
  smtp: {
212
222
  auth: {
213
- user: 'oren.satterfield@ethereal.email',
214
223
  pass: 'K4DvD8U31VKseT7vQC',
224
+ user: 'oren.satterfield@ethereal.email',
215
225
  },
216
226
  host: 'mailhog.lenne.tech',
217
227
  port: 1025,
218
228
  secure: false,
219
229
  },
220
- mailjet: {
221
- api_key_public: 'MAILJET_API_KEY_PUBLIC',
222
- api_key_private: 'MAILJET_API_KEY_PRIVATE',
223
- },
224
- defaultSender: {
225
- email: 'oren.satterfield@ethereal.email',
226
- name: 'Nest Server Production',
227
- },
228
230
  verificationLink: 'http://localhost:4200/user/verification',
229
- passwordResetLink: 'http://localhost:4200/user/password-reset',
230
231
  },
231
232
  env: 'production',
232
233
  execAfterInit: 'npm run docs:bootstrap',
@@ -240,23 +241,18 @@ const config: { [env: string]: IServerOptions } = {
240
241
  maxComplexity: 20,
241
242
  },
242
243
  healthCheck: {
243
- enabled: true,
244
244
  configs: {
245
245
  database: {
246
246
  enabled: true,
247
247
  },
248
248
  },
249
+ enabled: true,
249
250
  },
250
251
  ignoreSelectionsForPopulate: true,
251
252
  jwt: {
252
253
  // Each secret should be unique and not reused in other environments,
253
254
  // also the JWT secret should be different from the Refresh secret!
254
255
  // crypto.randomBytes(512).toString('base64') (see https://nodejs.org/api/crypto.html#crypto)
255
- // tslint:disable-next-line:max-line-length
256
- secret: 'SECRET_OR_PRIVATE_KEY_PROD',
257
- signInOptions: {
258
- expiresIn: '15m',
259
- },
260
256
  refresh: {
261
257
  renewal: true,
262
258
  // Each secret should be unique and not reused in other environments,
@@ -269,6 +265,11 @@ const config: { [env: string]: IServerOptions } = {
269
265
  },
270
266
  },
271
267
  sameTokenIdPeriod: 2000,
268
+ // tslint:disable-next-line:max-line-length
269
+ secret: 'SECRET_OR_PRIVATE_KEY_PROD',
270
+ signInOptions: {
271
+ expiresIn: '15m',
272
+ },
272
273
  },
273
274
  loadLocalConfig: false,
274
275
  logExceptions: true,
@@ -282,12 +283,12 @@ const config: { [env: string]: IServerOptions } = {
282
283
  port: 3000,
283
284
  sha256: true,
284
285
  staticAssets: {
285
- path: join(__dirname, '..', 'public'),
286
286
  options: { prefix: '' },
287
+ path: join(__dirname, '..', 'public'),
287
288
  },
288
289
  templates: {
289
- path: join(__dirname, 'templates'),
290
290
  engine: 'ejs',
291
+ path: join(__dirname, 'templates'),
291
292
  },
292
293
  },
293
294
  };
@@ -1,5 +1,6 @@
1
- import { IsOptional } from 'class-validator';
2
1
  import { ArgsType, Field } from '@nestjs/graphql';
2
+ import { IsOptional } from 'class-validator';
3
+
3
4
  import { FilterInput } from '../inputs/filter.input';
4
5
  import { PaginationArgs } from './pagination.args';
5
6
 
@@ -1,5 +1,6 @@
1
1
  import { ArgsType, Field, Int } from '@nestjs/graphql';
2
2
  import { IsOptional } from 'class-validator';
3
+
3
4
  import { maps } from '../helpers/model.helper';
4
5
  import { CoreInput } from '../inputs/core-input.input';
5
6
  import { SortInput } from '../inputs/sort.input';
@@ -1,4 +1,5 @@
1
1
  import { createParamDecorator } from '@nestjs/common';
2
+
2
3
  import { currentUserDec } from '../helpers/decorator.helper';
3
4
 
4
5
  /**
@@ -1,4 +1,5 @@
1
1
  import { createParamDecorator } from '@nestjs/common';
2
+
2
3
  import { graphqlPopulateDec } from '../helpers/decorator.helper';
3
4
 
4
5
  /**
@@ -1,4 +1,5 @@
1
1
  import { ExecutionContext, createParamDecorator } from '@nestjs/common';
2
+
2
3
  import { currentUserDec, graphqlPopulateDec } from '../helpers/decorator.helper';
3
4
  import { ServiceOptions } from '../interfaces/service-options.interface';
4
5
 
@@ -1,11 +1,13 @@
1
- import 'reflect-metadata';
2
1
  import { UnauthorizedException } from '@nestjs/common';
3
- import _ = require('lodash');
2
+ import 'reflect-metadata';
3
+
4
4
  import { ProcessType } from '../enums/process-type.enum';
5
5
  import { RoleEnum } from '../enums/role.enum';
6
6
  import { getIncludedIds } from '../helpers/db.helper';
7
7
  import { RequireAtLeastOne } from '../types/required-at-least-one.type';
8
8
 
9
+ import _ = require('lodash');
10
+
9
11
  /**
10
12
  * Restricted meta key
11
13
  */
@@ -15,11 +17,11 @@ const restrictedMetaKey = Symbol('restricted');
15
17
  * Restricted type
16
18
  */
17
19
  export type RestrictedType = (
18
- | string
19
20
  | RequireAtLeastOne<
20
- { memberOf?: string | string[]; roles?: string | string[]; processType?: ProcessType },
21
+ { memberOf?: string | string[]; processType?: ProcessType; roles?: string | string[] },
21
22
  'memberOf' | 'roles'
22
23
  >
24
+ | string
23
25
  )[];
24
26
 
25
27
  /**
@@ -59,7 +61,7 @@ export const getRestricted = (object: unknown, propertyKey?: string): Restricted
59
61
  */
60
62
  export const checkRestricted = (
61
63
  data: any,
62
- user: { id: any; hasRole: (roles: string[]) => boolean },
64
+ user: { hasRole: (roles: string[]) => boolean; id: any },
63
65
  options: {
64
66
  checkObjectItself?: boolean;
65
67
  dbObject?: any;
@@ -34,7 +34,7 @@ export enum ComparisonOperatorEnum {
34
34
 
35
35
  // Register LogicalOperatorEnum enum in TypeGraphQL
36
36
  registerEnumType(ComparisonOperatorEnum, {
37
- name: 'ComparisonOperatorEnum',
38
37
  description:
39
38
  '[Comparison Operators](https://docs.mongodb.com/manual/reference/operator/query-comparison/) for filters',
39
+ name: 'ComparisonOperatorEnum',
40
40
  });
@@ -16,6 +16,6 @@ export enum LogicalOperatorEnum {
16
16
 
17
17
  // Register LogicalOperatorEnum enum in TypeGraphQL
18
18
  registerEnumType(LogicalOperatorEnum, {
19
- name: 'LogicalOperatorEnum',
20
19
  description: 'Logical operators to combine filters',
20
+ name: 'LogicalOperatorEnum',
21
21
  });
@@ -36,24 +36,24 @@ export enum RoleEnum {
36
36
  // into user.roles!
37
37
  // ===================================================================================================================
38
38
 
39
+ // User must be the creator of the processed object(s) (see createdBy property of object(s))
40
+ S_CREATOR = 's_creator',
41
+
39
42
  // Everyone, including users who are not logged in, can access (see context user, e.g. @CurrentUser)
40
43
  S_EVERYONE = 's_everyone',
41
44
 
42
45
  // No one has access, not even administrators
43
46
  S_NO_ONE = 's_no_one',
44
47
 
45
- // User must be logged in (see context user, e.g. @CurrentUser)
46
- S_USER = 's_user',
47
-
48
48
  // ===================================================================================================================
49
49
  // Special system roles that check rights for DB objects and can be used via @Restricted for Models
50
50
  // (classes and properties) and via ServiceOptions for Resolver methods. These roles should not be integrated in
51
51
  // user.roles!
52
52
  // ===================================================================================================================
53
53
 
54
- // User must be the creator of the processed object(s) (see createdBy property of object(s))
55
- S_CREATOR = 's_creator',
56
-
57
54
  // User must be herself/himself
58
55
  S_SELF = 's_self',
56
+
57
+ // User must be logged in (see context user, e.g. @CurrentUser)
58
+ S_USER = 's_user',
59
59
  }
@@ -13,6 +13,6 @@ export enum SortOrderEnum {
13
13
 
14
14
  // Register SortOrderEnum enum in TypeGraphQL
15
15
  registerEnumType(SortOrderEnum, {
16
- name: 'SortOrderEnum',
17
16
  description: 'SortInput order of items',
17
+ name: 'SortOrderEnum',
18
18
  });
@@ -30,7 +30,7 @@ export function getContextData(context: ExecutionContext): {
30
30
  } {
31
31
  // Check context
32
32
  if (!context) {
33
- return { currentUser: null, args: null, request: null };
33
+ return { args: null, currentUser: null, request: null };
34
34
  }
35
35
 
36
36
  // Init data