zibri 2.4.1 → 2.5.0

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 (496) hide show
  1. package/dist/cjs/application-options.model.d.ts +2 -2
  2. package/dist/cjs/application-options.model.d.ts.map +1 -1
  3. package/dist/cjs/application.d.ts.map +1 -1
  4. package/dist/cjs/application.js +0 -1
  5. package/dist/cjs/application.js.map +1 -1
  6. package/dist/cjs/assets/asset.service.d.ts.map +1 -1
  7. package/dist/cjs/assets/asset.service.js +3 -1
  8. package/dist/cjs/assets/asset.service.js.map +1 -1
  9. package/dist/cjs/auth/2fa/methods/otp/otp-credentials.model.d.ts +1 -1
  10. package/dist/cjs/auth/2fa/methods/otp/otp-credentials.model.d.ts.map +1 -1
  11. package/dist/cjs/auth/2fa/methods/otp/otp-credentials.model.js.map +1 -1
  12. package/dist/cjs/auth/2fa/methods/otp/otp.two-factor-method.js +1 -1
  13. package/dist/cjs/auth/2fa/methods/otp/otp.two-factor-method.js.map +1 -1
  14. package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.js +1 -1
  15. package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.js.map +1 -1
  16. package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.js +1 -1
  17. package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.js.map +1 -1
  18. package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js +1 -1
  19. package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
  20. package/dist/cjs/backup/backup-resource-entity.model.d.ts +1 -1
  21. package/dist/cjs/backup/backup-resource-entity.model.d.ts.map +1 -1
  22. package/dist/cjs/backup/backup-resource-entity.model.js.map +1 -1
  23. package/dist/cjs/change-sets/models/change-set.model.d.ts +1 -1
  24. package/dist/cjs/change-sets/models/change-set.model.d.ts.map +1 -1
  25. package/dist/cjs/change-sets/models/change-set.model.js +1 -1
  26. package/dist/cjs/change-sets/models/change-set.model.js.map +1 -1
  27. package/dist/cjs/change-sets/models/change.model.d.ts +2 -2
  28. package/dist/cjs/change-sets/models/change.model.d.ts.map +1 -1
  29. package/dist/cjs/change-sets/models/change.model.js.map +1 -1
  30. package/dist/cjs/context/cache/cache.context.d.ts +2 -2
  31. package/dist/cjs/context/cache/cache.context.d.ts.map +1 -1
  32. package/dist/cjs/context/cache/cache.context.js +2 -2
  33. package/dist/cjs/context/cache/cache.context.js.map +1 -1
  34. package/dist/cjs/context/request/request-context-token.model.js +1 -1
  35. package/dist/cjs/context/request/request-context-token.model.js.map +1 -1
  36. package/dist/cjs/cron/cron-job-entity.model.d.ts +2 -2
  37. package/dist/cjs/cron/cron-job-entity.model.d.ts.map +1 -1
  38. package/dist/cjs/cron/cron-job-entity.model.js.map +1 -1
  39. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts +1 -0
  40. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts.map +1 -1
  41. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js +9 -0
  42. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -1
  43. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.d.ts.map +1 -1
  44. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js +3 -3
  45. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -1
  46. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts +2 -1
  47. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts.map +1 -1
  48. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +20 -0
  49. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -1
  50. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts +4 -0
  51. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts.map +1 -1
  52. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +3 -1
  53. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -1
  54. package/dist/cjs/data-source/migration/migration-entity.model.d.ts +2 -2
  55. package/dist/cjs/data-source/migration/migration-entity.model.d.ts.map +1 -1
  56. package/dist/cjs/data-source/migration/migration-entity.model.js.map +1 -1
  57. package/dist/cjs/data-source/migration/migration.model.d.ts +2 -2
  58. package/dist/cjs/data-source/migration/migration.model.d.ts.map +1 -1
  59. package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts +10 -2
  60. package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts.map +1 -1
  61. package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts +17 -0
  62. package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts.map +1 -1
  63. package/dist/cjs/data-source/models/where/where-filter-keys.model.d.ts.map +1 -1
  64. package/dist/cjs/data-source/models/where/where-filter-keys.model.js +3 -0
  65. package/dist/cjs/data-source/models/where/where-filter-keys.model.js.map +1 -1
  66. package/dist/cjs/di/default/zibri-di-providers.default.d.ts.map +1 -1
  67. package/dist/cjs/di/default/zibri-di-providers.default.js +4 -0
  68. package/dist/cjs/di/default/zibri-di-providers.default.js.map +1 -1
  69. package/dist/cjs/di/default/zibri-di-tokens.default.d.ts +3 -0
  70. package/dist/cjs/di/default/zibri-di-tokens.default.d.ts.map +1 -1
  71. package/dist/cjs/di/default/zibri-di-tokens.default.js +2 -0
  72. package/dist/cjs/di/default/zibri-di-tokens.default.js.map +1 -1
  73. package/dist/cjs/email/email.service.d.ts +1 -1
  74. package/dist/cjs/email/email.service.d.ts.map +1 -1
  75. package/dist/cjs/email/email.service.js +4 -4
  76. package/dist/cjs/email/email.service.js.map +1 -1
  77. package/dist/cjs/email/models/email.model.d.ts +4 -4
  78. package/dist/cjs/email/models/email.model.d.ts.map +1 -1
  79. package/dist/cjs/email/models/email.model.js +4 -4
  80. package/dist/cjs/email/models/email.model.js.map +1 -1
  81. package/dist/cjs/entity/generation/generate-entity-file.function.js +1 -1
  82. package/dist/cjs/entity/generation/generate-entity-file.function.js.map +1 -1
  83. package/dist/cjs/event/event-subscriber-run.model.d.ts +1 -1
  84. package/dist/cjs/event/event-subscriber-run.model.d.ts.map +1 -1
  85. package/dist/cjs/event/event-subscriber-run.model.js +1 -1
  86. package/dist/cjs/event/event-subscriber-run.model.js.map +1 -1
  87. package/dist/cjs/global/global-registry.d.ts +2 -2
  88. package/dist/cjs/global/global-registry.d.ts.map +1 -1
  89. package/dist/cjs/http/http-request.model.d.ts +2 -2
  90. package/dist/cjs/http/http-request.model.d.ts.map +1 -1
  91. package/dist/cjs/http/known-header.enum.d.ts +1 -0
  92. package/dist/cjs/http/known-header.enum.d.ts.map +1 -1
  93. package/dist/cjs/http/known-header.enum.js +1 -0
  94. package/dist/cjs/http/known-header.enum.js.map +1 -1
  95. package/dist/cjs/http-client/http-client.d.ts.map +1 -1
  96. package/dist/cjs/http-client/http-client.js.map +1 -1
  97. package/dist/cjs/index.d.ts +7 -3
  98. package/dist/cjs/index.d.ts.map +1 -1
  99. package/dist/cjs/index.js +8 -3
  100. package/dist/cjs/index.js.map +1 -1
  101. package/dist/cjs/localization/formatting/format-price.function.d.ts.map +1 -1
  102. package/dist/cjs/localization/formatting/format-price.function.js.map +1 -1
  103. package/dist/cjs/logging/log-context.model.d.ts +6 -6
  104. package/dist/cjs/logging/log-context.model.d.ts.map +1 -1
  105. package/dist/cjs/logging/log-context.model.js +6 -6
  106. package/dist/cjs/logging/log-context.model.js.map +1 -1
  107. package/dist/cjs/logging/logger.js +1 -1
  108. package/dist/cjs/logging/logger.js.map +1 -1
  109. package/dist/cjs/multithreading/models/thread-job-entity.model.d.ts +5 -5
  110. package/dist/cjs/multithreading/models/thread-job-entity.model.d.ts.map +1 -1
  111. package/dist/cjs/multithreading/models/thread-job-entity.model.js +4 -4
  112. package/dist/cjs/multithreading/models/thread-job-entity.model.js.map +1 -1
  113. package/dist/cjs/multithreading/services/thread-job.d.ts +4 -4
  114. package/dist/cjs/multithreading/services/thread-job.d.ts.map +1 -1
  115. package/dist/cjs/multithreading/services/thread-job.js.map +1 -1
  116. package/dist/cjs/open-api/open-api-service.interface.d.ts +2 -1
  117. package/dist/cjs/open-api/open-api-service.interface.d.ts.map +1 -1
  118. package/dist/cjs/open-api/open-api.service.d.ts +5 -2
  119. package/dist/cjs/open-api/open-api.service.d.ts.map +1 -1
  120. package/dist/cjs/open-api/open-api.service.js +256 -139
  121. package/dist/cjs/open-api/open-api.service.js.map +1 -1
  122. package/dist/cjs/parsing/html/csp-options.model.d.ts +1 -1
  123. package/dist/cjs/parsing/html/csp-options.model.d.ts.map +1 -1
  124. package/dist/cjs/parsing/html/csp-options.model.js.map +1 -1
  125. package/dist/cjs/parsing/parser.js +3 -3
  126. package/dist/cjs/parsing/parser.js.map +1 -1
  127. package/dist/cjs/plugin/invoicing/models/invoice-address.model.d.ts +2 -2
  128. package/dist/cjs/plugin/invoicing/models/invoice-address.model.d.ts.map +1 -1
  129. package/dist/cjs/plugin/invoicing/models/invoice-address.model.js +2 -2
  130. package/dist/cjs/plugin/invoicing/models/invoice-address.model.js.map +1 -1
  131. package/dist/cjs/plugin/invoicing/models/vat.model.d.ts +1 -1
  132. package/dist/cjs/plugin/invoicing/models/vat.model.d.ts.map +1 -1
  133. package/dist/cjs/plugin/invoicing/models/vat.model.js +1 -1
  134. package/dist/cjs/plugin/invoicing/models/vat.model.js.map +1 -1
  135. package/dist/cjs/plugin/mailing-list/mailing-list.controller.js +1 -1
  136. package/dist/cjs/plugin/mailing-list/mailing-list.controller.js.map +1 -1
  137. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.d.ts +1 -1
  138. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.d.ts.map +1 -1
  139. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.js +1 -1
  140. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.js.map +1 -1
  141. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.d.ts +1 -1
  142. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.d.ts.map +1 -1
  143. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js +1 -1
  144. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js.map +1 -1
  145. package/dist/cjs/plugin/payment/models/payment.model.d.ts +2 -2
  146. package/dist/cjs/plugin/payment/models/payment.model.d.ts.map +1 -1
  147. package/dist/cjs/plugin/payment/models/payment.model.js +1 -1
  148. package/dist/cjs/plugin/payment/models/payment.model.js.map +1 -1
  149. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.d.ts +17 -17
  150. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.d.ts.map +1 -1
  151. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.js +17 -17
  152. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.js.map +1 -1
  153. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js +1 -1
  154. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js.map +1 -1
  155. package/dist/cjs/preact/preact.utilities.js +1 -1
  156. package/dist/cjs/preact/preact.utilities.js.map +1 -1
  157. package/dist/cjs/preact/validate-email-templates.function.js +1 -1
  158. package/dist/cjs/preact/validate-email-templates.function.js.map +1 -1
  159. package/dist/cjs/rate-limiting/rate-limiter.d.ts +10 -5
  160. package/dist/cjs/rate-limiting/rate-limiter.d.ts.map +1 -1
  161. package/dist/cjs/rate-limiting/rate-limiter.js +22 -12
  162. package/dist/cjs/rate-limiting/rate-limiter.js.map +1 -1
  163. package/dist/cjs/routing/controller-route-configuration.model.d.ts +5 -0
  164. package/dist/cjs/routing/controller-route-configuration.model.d.ts.map +1 -1
  165. package/dist/cjs/routing/decorators/controller.decorator.d.ts +5 -0
  166. package/dist/cjs/routing/decorators/controller.decorator.d.ts.map +1 -1
  167. package/dist/cjs/routing/decorators/controller.decorator.js +3 -2
  168. package/dist/cjs/routing/decorators/controller.decorator.js.map +1 -1
  169. package/dist/cjs/routing/decorators/create-http-decorator.function.d.ts +2 -1
  170. package/dist/cjs/routing/decorators/create-http-decorator.function.d.ts.map +1 -1
  171. package/dist/cjs/routing/decorators/create-http-decorator.function.js +2 -2
  172. package/dist/cjs/routing/decorators/create-http-decorator.function.js.map +1 -1
  173. package/dist/cjs/routing/decorators/delete.decorator.d.ts +3 -1
  174. package/dist/cjs/routing/decorators/delete.decorator.d.ts.map +1 -1
  175. package/dist/cjs/routing/decorators/delete.decorator.js +3 -2
  176. package/dist/cjs/routing/decorators/delete.decorator.js.map +1 -1
  177. package/dist/cjs/routing/decorators/get.decorator.d.ts +3 -1
  178. package/dist/cjs/routing/decorators/get.decorator.d.ts.map +1 -1
  179. package/dist/cjs/routing/decorators/get.decorator.js +3 -2
  180. package/dist/cjs/routing/decorators/get.decorator.js.map +1 -1
  181. package/dist/cjs/routing/decorators/http-decorator-option-input.model.d.ts +11 -0
  182. package/dist/cjs/routing/decorators/http-decorator-option-input.model.d.ts.map +1 -0
  183. package/dist/cjs/routing/decorators/http-decorator-option-input.model.js +3 -0
  184. package/dist/cjs/routing/decorators/http-decorator-option-input.model.js.map +1 -0
  185. package/dist/cjs/routing/decorators/patch.decorator.d.ts +3 -1
  186. package/dist/cjs/routing/decorators/patch.decorator.d.ts.map +1 -1
  187. package/dist/cjs/routing/decorators/patch.decorator.js +3 -2
  188. package/dist/cjs/routing/decorators/patch.decorator.js.map +1 -1
  189. package/dist/cjs/routing/decorators/post.decorator.d.ts +3 -1
  190. package/dist/cjs/routing/decorators/post.decorator.d.ts.map +1 -1
  191. package/dist/cjs/routing/decorators/post.decorator.js +3 -2
  192. package/dist/cjs/routing/decorators/post.decorator.js.map +1 -1
  193. package/dist/cjs/routing/resolve-route-params.function.js +1 -0
  194. package/dist/cjs/routing/resolve-route-params.function.js.map +1 -1
  195. package/dist/cjs/routing/route-configuration.model.d.ts +11 -1
  196. package/dist/cjs/routing/route-configuration.model.d.ts.map +1 -1
  197. package/dist/cjs/routing/router.d.ts +6 -2
  198. package/dist/cjs/routing/router.d.ts.map +1 -1
  199. package/dist/cjs/routing/router.js +173 -88
  200. package/dist/cjs/routing/router.js.map +1 -1
  201. package/dist/cjs/utilities/fs.utilities.d.ts +1 -1
  202. package/dist/cjs/utilities/fs.utilities.js +1 -1
  203. package/dist/cjs/utilities/sem-ver.utilities.d.ts +46 -0
  204. package/dist/cjs/utilities/sem-ver.utilities.d.ts.map +1 -0
  205. package/dist/cjs/utilities/sem-ver.utilities.js +204 -0
  206. package/dist/cjs/utilities/sem-ver.utilities.js.map +1 -0
  207. package/dist/cjs/utilities/uuid.utilities.js +2 -2
  208. package/dist/cjs/utilities/uuid.utilities.js.map +1 -1
  209. package/dist/cjs/versioning/route-with-version-data.model.d.ts +15 -0
  210. package/dist/cjs/versioning/route-with-version-data.model.d.ts.map +1 -0
  211. package/dist/cjs/versioning/route-with-version-data.model.js +3 -0
  212. package/dist/cjs/versioning/route-with-version-data.model.js.map +1 -0
  213. package/dist/cjs/versioning/supported-versions-options.model.d.ts +17 -0
  214. package/dist/cjs/versioning/supported-versions-options.model.d.ts.map +1 -0
  215. package/dist/cjs/versioning/supported-versions-options.model.js +3 -0
  216. package/dist/cjs/versioning/supported-versions-options.model.js.map +1 -0
  217. package/dist/cjs/versioning/version.model.d.ts +29 -0
  218. package/dist/cjs/versioning/version.model.d.ts.map +1 -0
  219. package/dist/{esm/types/version.type.js → cjs/versioning/version.model.js} +1 -1
  220. package/dist/cjs/versioning/version.model.js.map +1 -0
  221. package/dist/cjs/versioning/versioning-service.interface.d.ts +31 -0
  222. package/dist/cjs/versioning/versioning-service.interface.d.ts.map +1 -0
  223. package/dist/cjs/versioning/versioning-service.interface.js +3 -0
  224. package/dist/cjs/versioning/versioning-service.interface.js.map +1 -0
  225. package/dist/cjs/versioning/versioning.service.d.ts +41 -0
  226. package/dist/cjs/versioning/versioning.service.d.ts.map +1 -0
  227. package/dist/cjs/versioning/versioning.service.js +366 -0
  228. package/dist/cjs/versioning/versioning.service.js.map +1 -0
  229. package/dist/cjs/websocket/decorators/websocket-controller.decorator.d.ts +10 -0
  230. package/dist/cjs/websocket/decorators/websocket-controller.decorator.d.ts.map +1 -1
  231. package/dist/cjs/websocket/decorators/websocket-controller.decorator.js +2 -2
  232. package/dist/cjs/websocket/decorators/websocket-controller.decorator.js.map +1 -1
  233. package/dist/cjs/websocket/decorators/websocket-route.decorator.d.ts +13 -1
  234. package/dist/cjs/websocket/decorators/websocket-route.decorator.d.ts.map +1 -1
  235. package/dist/cjs/websocket/decorators/websocket-route.decorator.js +3 -2
  236. package/dist/cjs/websocket/decorators/websocket-route.decorator.js.map +1 -1
  237. package/dist/cjs/websocket/models/connection/base-websocket-connection.model.d.ts +5 -0
  238. package/dist/cjs/websocket/models/connection/base-websocket-connection.model.d.ts.map +1 -1
  239. package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.d.ts +3 -1
  240. package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.d.ts.map +1 -1
  241. package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.js +3 -1
  242. package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.js.map +1 -1
  243. package/dist/cjs/websocket/models/websocket-controller-route-configuration.model.d.ts +6 -0
  244. package/dist/cjs/websocket/models/websocket-controller-route-configuration.model.d.ts.map +1 -1
  245. package/dist/cjs/websocket/models/websocket-message.model.d.ts +2 -2
  246. package/dist/cjs/websocket/models/websocket-message.model.d.ts.map +1 -1
  247. package/dist/cjs/websocket/models/websocket-message.model.js.map +1 -1
  248. package/dist/cjs/websocket/models/websocket-request.model.d.ts +3 -3
  249. package/dist/cjs/websocket/models/websocket-request.model.d.ts.map +1 -1
  250. package/dist/cjs/websocket/models/websocket-request.model.js +1 -1
  251. package/dist/cjs/websocket/models/websocket-request.model.js.map +1 -1
  252. package/dist/cjs/websocket/services/websocket.service.d.ts +6 -4
  253. package/dist/cjs/websocket/services/websocket.service.d.ts.map +1 -1
  254. package/dist/cjs/websocket/services/websocket.service.js +121 -33
  255. package/dist/cjs/websocket/services/websocket.service.js.map +1 -1
  256. package/dist/esm/application.js +0 -1
  257. package/dist/esm/application.js.map +1 -1
  258. package/dist/esm/assets/asset.service.js +3 -1
  259. package/dist/esm/assets/asset.service.js.map +1 -1
  260. package/dist/esm/auth/2fa/methods/otp/otp-credentials.model.js.map +1 -1
  261. package/dist/esm/auth/2fa/methods/otp/otp.two-factor-method.js +1 -1
  262. package/dist/esm/auth/2fa/methods/otp/otp.two-factor-method.js.map +1 -1
  263. package/dist/esm/auth/strategies/cookie/cookie-auth.controller.js +1 -1
  264. package/dist/esm/auth/strategies/cookie/cookie-auth.controller.js.map +1 -1
  265. package/dist/esm/auth/strategies/jwt/jwt-auth.controller.js +1 -1
  266. package/dist/esm/auth/strategies/jwt/jwt-auth.controller.js.map +1 -1
  267. package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js +1 -1
  268. package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
  269. package/dist/esm/backup/backup-resource-entity.model.js.map +1 -1
  270. package/dist/esm/change-sets/models/change-set.model.js +1 -1
  271. package/dist/esm/change-sets/models/change-set.model.js.map +1 -1
  272. package/dist/esm/change-sets/models/change.model.js.map +1 -1
  273. package/dist/esm/context/cache/cache.context.js +2 -2
  274. package/dist/esm/context/cache/cache.context.js.map +1 -1
  275. package/dist/esm/context/request/request-context-token.model.js +1 -1
  276. package/dist/esm/context/request/request-context-token.model.js.map +1 -1
  277. package/dist/esm/cron/cron-job-entity.model.js.map +1 -1
  278. package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js +9 -0
  279. package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -1
  280. package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js +3 -3
  281. package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -1
  282. package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +20 -0
  283. package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -1
  284. package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +3 -1
  285. package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -1
  286. package/dist/esm/data-source/migration/migration-entity.model.js.map +1 -1
  287. package/dist/esm/data-source/models/where/where-filter-keys.model.js +3 -0
  288. package/dist/esm/data-source/models/where/where-filter-keys.model.js.map +1 -1
  289. package/dist/esm/di/default/zibri-di-providers.default.js +4 -0
  290. package/dist/esm/di/default/zibri-di-providers.default.js.map +1 -1
  291. package/dist/esm/di/default/zibri-di-tokens.default.js +2 -0
  292. package/dist/esm/di/default/zibri-di-tokens.default.js.map +1 -1
  293. package/dist/esm/email/email.service.js +4 -4
  294. package/dist/esm/email/email.service.js.map +1 -1
  295. package/dist/esm/email/models/email.model.js +4 -4
  296. package/dist/esm/email/models/email.model.js.map +1 -1
  297. package/dist/esm/entity/generation/generate-entity-file.function.js +1 -1
  298. package/dist/esm/entity/generation/generate-entity-file.function.js.map +1 -1
  299. package/dist/esm/event/event-subscriber-run.model.js +1 -1
  300. package/dist/esm/event/event-subscriber-run.model.js.map +1 -1
  301. package/dist/esm/http/known-header.enum.js +1 -0
  302. package/dist/esm/http/known-header.enum.js.map +1 -1
  303. package/dist/esm/http-client/http-client.js.map +1 -1
  304. package/dist/esm/index.js +8 -3
  305. package/dist/esm/index.js.map +1 -1
  306. package/dist/esm/localization/formatting/format-price.function.js.map +1 -1
  307. package/dist/esm/logging/log-context.model.js +6 -6
  308. package/dist/esm/logging/log-context.model.js.map +1 -1
  309. package/dist/esm/logging/logger.js +1 -1
  310. package/dist/esm/logging/logger.js.map +1 -1
  311. package/dist/esm/multithreading/models/thread-job-entity.model.js +4 -4
  312. package/dist/esm/multithreading/models/thread-job-entity.model.js.map +1 -1
  313. package/dist/esm/multithreading/services/thread-job.js.map +1 -1
  314. package/dist/esm/open-api/open-api.service.js +256 -139
  315. package/dist/esm/open-api/open-api.service.js.map +1 -1
  316. package/dist/esm/parsing/html/csp-options.model.js.map +1 -1
  317. package/dist/esm/parsing/parser.js +3 -3
  318. package/dist/esm/parsing/parser.js.map +1 -1
  319. package/dist/esm/plugin/invoicing/models/invoice-address.model.js +2 -2
  320. package/dist/esm/plugin/invoicing/models/invoice-address.model.js.map +1 -1
  321. package/dist/esm/plugin/invoicing/models/vat.model.js +1 -1
  322. package/dist/esm/plugin/invoicing/models/vat.model.js.map +1 -1
  323. package/dist/esm/plugin/mailing-list/mailing-list.controller.js +1 -1
  324. package/dist/esm/plugin/mailing-list/mailing-list.controller.js.map +1 -1
  325. package/dist/esm/plugin/mailing-list/models/mailing-list-subscriber.model.js +1 -1
  326. package/dist/esm/plugin/mailing-list/models/mailing-list-subscriber.model.js.map +1 -1
  327. package/dist/esm/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js +1 -1
  328. package/dist/esm/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js.map +1 -1
  329. package/dist/esm/plugin/payment/models/payment.model.js +1 -1
  330. package/dist/esm/plugin/payment/models/payment.model.js.map +1 -1
  331. package/dist/esm/plugin/payment/providers/pay-pal/pay-pal-client.js +17 -17
  332. package/dist/esm/plugin/payment/providers/pay-pal/pay-pal-client.js.map +1 -1
  333. package/dist/esm/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js +1 -1
  334. package/dist/esm/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js.map +1 -1
  335. package/dist/esm/preact/preact.utilities.js +1 -1
  336. package/dist/esm/preact/preact.utilities.js.map +1 -1
  337. package/dist/esm/preact/validate-email-templates.function.js +1 -1
  338. package/dist/esm/preact/validate-email-templates.function.js.map +1 -1
  339. package/dist/esm/rate-limiting/rate-limiter.js +22 -12
  340. package/dist/esm/rate-limiting/rate-limiter.js.map +1 -1
  341. package/dist/esm/routing/decorators/controller.decorator.js +3 -2
  342. package/dist/esm/routing/decorators/controller.decorator.js.map +1 -1
  343. package/dist/esm/routing/decorators/create-http-decorator.function.js +2 -2
  344. package/dist/esm/routing/decorators/create-http-decorator.function.js.map +1 -1
  345. package/dist/esm/routing/decorators/delete.decorator.js +3 -2
  346. package/dist/esm/routing/decorators/delete.decorator.js.map +1 -1
  347. package/dist/esm/routing/decorators/get.decorator.js +3 -2
  348. package/dist/esm/routing/decorators/get.decorator.js.map +1 -1
  349. package/dist/esm/routing/decorators/http-decorator-option-input.model.js +3 -0
  350. package/dist/esm/routing/decorators/http-decorator-option-input.model.js.map +1 -0
  351. package/dist/esm/routing/decorators/patch.decorator.js +3 -2
  352. package/dist/esm/routing/decorators/patch.decorator.js.map +1 -1
  353. package/dist/esm/routing/decorators/post.decorator.js +3 -2
  354. package/dist/esm/routing/decorators/post.decorator.js.map +1 -1
  355. package/dist/esm/routing/resolve-route-params.function.js +1 -0
  356. package/dist/esm/routing/resolve-route-params.function.js.map +1 -1
  357. package/dist/esm/routing/router.js +173 -88
  358. package/dist/esm/routing/router.js.map +1 -1
  359. package/dist/esm/utilities/fs.utilities.js +1 -1
  360. package/dist/esm/utilities/sem-ver.utilities.js +204 -0
  361. package/dist/esm/utilities/sem-ver.utilities.js.map +1 -0
  362. package/dist/esm/utilities/uuid.utilities.js +2 -2
  363. package/dist/esm/utilities/uuid.utilities.js.map +1 -1
  364. package/dist/esm/versioning/route-with-version-data.model.js +3 -0
  365. package/dist/esm/versioning/route-with-version-data.model.js.map +1 -0
  366. package/dist/esm/versioning/supported-versions-options.model.js +3 -0
  367. package/dist/esm/versioning/supported-versions-options.model.js.map +1 -0
  368. package/dist/{cjs/types/version.type.js → esm/versioning/version.model.js} +1 -1
  369. package/dist/esm/versioning/version.model.js.map +1 -0
  370. package/dist/esm/versioning/versioning-service.interface.js +3 -0
  371. package/dist/esm/versioning/versioning-service.interface.js.map +1 -0
  372. package/dist/esm/versioning/versioning.service.js +366 -0
  373. package/dist/esm/versioning/versioning.service.js.map +1 -0
  374. package/dist/esm/websocket/decorators/websocket-controller.decorator.js +2 -2
  375. package/dist/esm/websocket/decorators/websocket-controller.decorator.js.map +1 -1
  376. package/dist/esm/websocket/decorators/websocket-route.decorator.js +3 -2
  377. package/dist/esm/websocket/decorators/websocket-route.decorator.js.map +1 -1
  378. package/dist/esm/websocket/models/connection/socket-io-websocket-connection.model.js +3 -1
  379. package/dist/esm/websocket/models/connection/socket-io-websocket-connection.model.js.map +1 -1
  380. package/dist/esm/websocket/models/websocket-message.model.js.map +1 -1
  381. package/dist/esm/websocket/models/websocket-request.model.js +1 -1
  382. package/dist/esm/websocket/models/websocket-request.model.js.map +1 -1
  383. package/dist/esm/websocket/services/websocket.service.js +121 -33
  384. package/dist/esm/websocket/services/websocket.service.js.map +1 -1
  385. package/package.json +17 -19
  386. package/src/__testing__/test-server/providers.ts +25 -1
  387. package/src/__testing__/test-server/start-test-server.function.ts +76 -8
  388. package/src/application-options.model.ts +2 -2
  389. package/src/application.ts +0 -1
  390. package/src/assets/asset.service.ts +3 -1
  391. package/src/auth/2fa/methods/otp/otp-credentials.model.ts +1 -1
  392. package/src/auth/2fa/methods/otp/otp.two-factor-method.ts +1 -1
  393. package/src/auth/strategies/cookie/cookie-auth.controller.ts +1 -1
  394. package/src/auth/strategies/jwt/jwt-auth.controller.ts +1 -1
  395. package/src/auth/strategies/jwt/jwt.auth-strategy.ts +1 -1
  396. package/src/backup/backup-resource-entity.model.ts +1 -1
  397. package/src/backup/backup-service.test.ts +2 -1
  398. package/src/change-sets/models/change-set.model.ts +1 -1
  399. package/src/change-sets/models/change.model.ts +2 -2
  400. package/src/context/cache/cache.context.ts +2 -2
  401. package/src/context/request/request-context-token.model.ts +1 -1
  402. package/src/cron/cron-job-entity.model.ts +2 -2
  403. package/src/data-source/data-sources/postgres-typeorm-data-source.model.ts +10 -0
  404. package/src/data-source/data-sources/typeorm-base-data-source.model.ts +4 -5
  405. package/src/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.ts +35 -2
  406. package/src/data-source/data-sources/where-converter/typeorm-where-filter.converter.ts +14 -1
  407. package/src/data-source/hooks/hooks.test.ts +1 -1
  408. package/src/data-source/migration/migration-entity.model.ts +2 -2
  409. package/src/data-source/migration/migration.model.ts +2 -2
  410. package/src/data-source/migration/migration.test.ts +2 -2
  411. package/src/data-source/models/where/date-where-filter.model.ts +11 -3
  412. package/src/data-source/models/where/string-where-filter.model.ts +18 -1
  413. package/src/data-source/models/where/where-filter-keys.model.ts +3 -0
  414. package/src/data-source/nested-where-filter.test.ts +8 -3
  415. package/src/data-source/repository.test.ts +2 -2
  416. package/src/data-source/where-filter.test.ts +17 -7
  417. package/src/di/default/zibri-di-providers.default.ts +4 -0
  418. package/src/di/default/zibri-di-tokens.default.ts +3 -0
  419. package/src/email/email.service.ts +5 -5
  420. package/src/email/models/email.model.ts +4 -4
  421. package/src/entity/generation/generate-entity-file.function.ts +1 -1
  422. package/src/event/event-subscriber-run.model.ts +1 -1
  423. package/src/global/global-registry.ts +2 -2
  424. package/src/http/http-request.model.ts +2 -2
  425. package/src/http/known-header.enum.ts +1 -0
  426. package/src/http-client/http-client.ts +0 -1
  427. package/src/index.ts +9 -3
  428. package/src/localization/formatting/format-price.function.ts +2 -3
  429. package/src/logging/log-context.model.ts +6 -6
  430. package/src/logging/logger.ts +1 -1
  431. package/src/multithreading/models/thread-job-entity.model.ts +5 -5
  432. package/src/multithreading/services/thread-job.ts +4 -4
  433. package/src/open-api/open-api-service.interface.ts +2 -1
  434. package/src/open-api/open-api.service.ts +263 -141
  435. package/src/parsing/html/csp-options.model.ts +3 -0
  436. package/src/parsing/parser.ts +3 -3
  437. package/src/plugin/invoicing/models/invoice-address.model.ts +2 -2
  438. package/src/plugin/invoicing/models/vat.model.ts +1 -1
  439. package/src/plugin/mailing-list/mailing-list.controller.ts +1 -1
  440. package/src/plugin/mailing-list/models/mailing-list-subscriber.model.ts +1 -1
  441. package/src/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.ts +1 -1
  442. package/src/plugin/payment/models/payment.model.ts +2 -2
  443. package/src/plugin/payment/providers/pay-pal/pay-pal-client.ts +17 -17
  444. package/src/plugin/payment/providers/pay-pal/pay-pal.payment-provider.test.ts +1 -1
  445. package/src/plugin/payment/providers/pay-pal/pay-pal.payment-provider.ts +1 -1
  446. package/src/preact/preact.utilities.ts +1 -1
  447. package/src/preact/validate-email-templates.function.ts +1 -1
  448. package/src/rate-limiting/rate-limiter.ts +23 -12
  449. package/src/routing/controller-route-configuration.model.ts +6 -1
  450. package/src/routing/decorators/controller.decorator.ts +8 -2
  451. package/src/routing/decorators/create-http-decorator.function.ts +3 -2
  452. package/src/routing/decorators/delete.decorator.ts +4 -2
  453. package/src/routing/decorators/get.decorator.ts +4 -2
  454. package/src/routing/decorators/http-decorator-option-input.model.ts +11 -0
  455. package/src/routing/decorators/patch.decorator.ts +4 -2
  456. package/src/routing/decorators/post.decorator.ts +4 -2
  457. package/src/routing/resolve-route-params.function.ts +1 -0
  458. package/src/routing/route-configuration.model.ts +13 -3
  459. package/src/routing/router.ts +265 -134
  460. package/src/utilities/fs.utilities.ts +1 -1
  461. package/src/utilities/sem-ver.utilities.ts +270 -0
  462. package/src/utilities/uuid.utilities.ts +2 -2
  463. package/src/versioning/route-with-version-data.model.ts +15 -0
  464. package/src/versioning/supported-versions-options.model.ts +25 -0
  465. package/src/versioning/version.model.ts +30 -0
  466. package/src/versioning/versioning-service.interface.ts +39 -0
  467. package/src/versioning/versioning-websocket.test.ts +351 -0
  468. package/src/versioning/versioning.service.test.ts +582 -0
  469. package/src/versioning/versioning.service.ts +496 -0
  470. package/src/websocket/decorators/websocket-controller.decorator.ts +13 -3
  471. package/src/websocket/decorators/websocket-route.decorator.ts +15 -2
  472. package/src/websocket/models/connection/base-websocket-connection.model.ts +6 -0
  473. package/src/websocket/models/connection/socket-io-websocket-connection.model.ts +8 -1
  474. package/src/websocket/models/websocket-controller-route-configuration.model.ts +8 -1
  475. package/src/websocket/models/websocket-message.model.ts +2 -2
  476. package/src/websocket/models/websocket-request.model.ts +4 -3
  477. package/src/websocket/services/websocket.service.ts +143 -38
  478. package/dist/cjs/types/version.type.d.ts +0 -5
  479. package/dist/cjs/types/version.type.d.ts.map +0 -1
  480. package/dist/cjs/types/version.type.js.map +0 -1
  481. package/dist/cjs/utilities/compare-versions.function.d.ts +0 -9
  482. package/dist/cjs/utilities/compare-versions.function.d.ts.map +0 -1
  483. package/dist/cjs/utilities/compare-versions.function.js +0 -33
  484. package/dist/cjs/utilities/compare-versions.function.js.map +0 -1
  485. package/dist/cjs/utilities/is-version.function.d.ts +0 -7
  486. package/dist/cjs/utilities/is-version.function.d.ts.map +0 -1
  487. package/dist/cjs/utilities/is-version.function.js +0 -18
  488. package/dist/cjs/utilities/is-version.function.js.map +0 -1
  489. package/dist/esm/types/version.type.js.map +0 -1
  490. package/dist/esm/utilities/compare-versions.function.js +0 -33
  491. package/dist/esm/utilities/compare-versions.function.js.map +0 -1
  492. package/dist/esm/utilities/is-version.function.js +0 -18
  493. package/dist/esm/utilities/is-version.function.js.map +0 -1
  494. package/src/types/version.type.ts +0 -4
  495. package/src/utilities/compare-versions.function.ts +0 -33
  496. package/src/utilities/is-version.function.ts +0 -16
@@ -11,8 +11,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
14
17
  Object.defineProperty(exports, "__esModule", { value: true });
15
18
  exports.WebsocketService = void 0;
19
+ const node_assert_1 = __importDefault(require("node:assert"));
16
20
  const socket_io_1 = require("socket.io");
17
21
  const als_utilities_1 = require("../../context/als.utilities");
18
22
  const websocket_request_context_1 = require("../../context/request/websocket-request.context");
@@ -26,6 +30,7 @@ const error_handler_1 = require("../../error-handling/error-handler");
26
30
  const bad_request_error_1 = require("../../error-handling/errors/bad-request.error");
27
31
  const http_error_1 = require("../../error-handling/errors/http.error");
28
32
  const not_found_error_1 = require("../../error-handling/errors/not-found.error");
33
+ const unauthorized_error_1 = require("../../error-handling/errors/unauthorized.error");
29
34
  const is_error_function_1 = require("../../error-handling/is-error.function");
30
35
  const global_registry_1 = require("../../global/global-registry");
31
36
  const http_status_enum_1 = require("../../http/http-status.enum");
@@ -44,19 +49,22 @@ const websocket_message_model_1 = require("../models/websocket-message.model");
44
49
  let WebsocketService = class WebsocketService {
45
50
  logger;
46
51
  authService;
47
- parser;
48
52
  validationService;
49
53
  channelRepository;
50
54
  messageRepository;
51
55
  options;
52
56
  socketServer;
57
+ allEventRoutes = [];
53
58
  websocketHandlers = {};
54
59
  websocketChannels = {};
55
60
  connections = [];
56
- constructor(logger, authService, parser, validationService, channelRepository, messageRepository, options) {
61
+ pendingRouteGroups = new Map();
62
+ get versioningService() {
63
+ return (0, inject_function_1.inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.VERSIONING_SERVICE);
64
+ }
65
+ constructor(logger, authService, validationService, channelRepository, messageRepository, options) {
57
66
  this.logger = logger;
58
67
  this.authService = authService;
59
- this.parser = parser;
60
68
  this.validationService = validationService;
61
69
  this.channelRepository = channelRepository;
62
70
  this.messageRepository = messageRepository;
@@ -73,33 +81,54 @@ let WebsocketService = class WebsocketService {
73
81
  await this.registerController(controller);
74
82
  }
75
83
  this.checkForOrphanedControllers(app.options.websocketControllers);
76
- this.socketServer.on('connection', socket => this.onConnect(socket));
84
+ for (const [event, group] of this.pendingRouteGroups.entries()) {
85
+ this.websocketHandlers[event] = this.createDispatchHandler(group.entries);
86
+ await this.logger.debug(`- mounting websocket event "${event}"`);
87
+ }
88
+ // eslint-disable-next-line typescript/no-misused-promises
89
+ this.socketServer.use(async (socket, next) => {
90
+ const request = {
91
+ headers: socket.handshake.headers,
92
+ body: undefined,
93
+ query: socket.handshake.query,
94
+ params: {}
95
+ };
96
+ const context = new websocket_request_context_1.WebsocketRequestContext(request, undefined, undefined, undefined);
97
+ const currentUser = await this.authService.getCurrentUser(context, this.authService.strategies, false);
98
+ if (!await this.options.isAllowedToConnect(currentUser)) {
99
+ next(new unauthorized_error_1.UnauthorizedError('Not allowed to connect'));
100
+ return;
101
+ }
102
+ try {
103
+ const version = await this.versioningService.resolveVersion(context);
104
+ // eslint-disable-next-line typescript/no-unsafe-member-access
105
+ socket.data.resolvedVersion = version;
106
+ // eslint-disable-next-line typescript/no-unsafe-member-access
107
+ socket.data.currentUser = currentUser;
108
+ next();
109
+ }
110
+ catch (error) {
111
+ next(error instanceof Error ? error : new Error('Could not resolve version', { cause: error }));
112
+ }
113
+ });
114
+ this.socketServer.on('connection', async (socket) => await this.onConnect(socket));
77
115
  }
78
116
  // eslint-disable-next-line jsdoc/require-jsdoc
79
117
  async beforeAppShutdown() {
80
118
  await this.socketServer.close();
81
119
  }
82
120
  async onConnect(socket) {
83
- const request = {
84
- headers: socket.handshake.headers,
85
- body: undefined,
86
- query: socket.handshake.query,
87
- params: {}
88
- };
121
+ // eslint-disable-next-line typescript/no-unsafe-member-access
122
+ const currentUser = socket.data.currentUser;
123
+ // eslint-disable-next-line typescript/no-unsafe-member-access
124
+ const resolvedVersion = socket.data.resolvedVersion;
89
125
  let connection = this.connections.find(c => c.id === socket.id);
90
- const context = new websocket_request_context_1.WebsocketRequestContext(request, connection, undefined, undefined);
91
- const currentUser = await this.authService.getCurrentUser(context, this.authService.strategies, false);
92
- const isAllowedToConnect = await this.options.isAllowedToConnect(currentUser);
93
- if (!isAllowedToConnect) {
94
- socket.disconnect(true);
95
- return;
96
- }
97
126
  if (connection) {
98
127
  connection.offset = socket.handshake.auth.offset;
99
128
  await this.recoverConnection(connection, currentUser);
100
129
  return;
101
130
  }
102
- connection = new socket_io_websocket_connection_model_1.SocketIOWebsocketConnection(socket, currentUser?.id);
131
+ connection = new socket_io_websocket_connection_model_1.SocketIOWebsocketConnection(socket, currentUser?.id, resolvedVersion);
103
132
  this.connections.push(connection);
104
133
  await this.logger.debug('a user connected');
105
134
  connection.onDisconnect(() => this.onDisconnect(connection));
@@ -238,18 +267,43 @@ let WebsocketService = class WebsocketService {
238
267
  // eslint-disable-next-line jsdoc/require-jsdoc
239
268
  async registerController(controllerClass) {
240
269
  const controllerData = metadata_utilities_1.MetadataUtilities.getWebsocketControllerData(controllerClass);
270
+ const currentLatest = global_registry_1.GlobalRegistry.getAppData('version');
271
+ (0, node_assert_1.default)(currentLatest);
241
272
  if (controllerData == undefined) {
242
273
  // eslint-disable-next-line stylistic/max-len
243
274
  throw new Error(`Could not find websocket controller data on class ${controllerClass.name}. Did you forget to decorate it with @WebsocketController?`);
244
275
  }
245
276
  const routes = metadata_utilities_1.MetadataUtilities.getWebsocketControllerRoutes(controllerClass);
246
277
  for (const route of routes) {
247
- const handler = this.controllerRouteToWebsocketHandler(controllerClass, route);
248
- if (this.websocketHandlers[route.event]) {
249
- throw new Error(`The websocket event "${route.event}" has been defined more than once.`, { cause: controllerClass });
278
+ const fullEvent = `${controllerData.eventPrefix}${route.event}`;
279
+ const versions = route.versions ?? controllerData.versions;
280
+ const overlappingRoute = this.allEventRoutes.find(r => r.key === fullEvent && this.versioningService.hasOverlappingVersions(r.versions, versions, currentLatest));
281
+ if (overlappingRoute) {
282
+ const overlappingVersions = this.versioningService.findOverlappingVersions(overlappingRoute.versions, versions, currentLatest);
283
+ if (overlappingVersions === 'all') {
284
+ throw new Error([
285
+ `The websocket event "${fullEvent}"`,
286
+ 'has been defined more than once.',
287
+ '(versions: \'all\' has been used)'
288
+ ].join(' '), { cause: controllerClass });
289
+ }
290
+ throw new Error([
291
+ `The websocket event "${fullEvent}"`,
292
+ `for the ${overlappingVersions.length > 1 ? 'versions' : 'version'} "${overlappingVersions.join(', ')}"`,
293
+ 'has been defined more than once.'
294
+ ].join(' '), { cause: controllerClass });
250
295
  }
251
- await this.logger.debug(`- mounting websocket event "${route.event}"`);
252
- this.websocketHandlers[route.event] = handler;
296
+ this.allEventRoutes.push({ key: fullEvent, versions });
297
+ const innerHandler = this.controllerRouteToWebsocketHandler(controllerClass, route);
298
+ // eslint-disable-next-line typescript/typedef
299
+ const existing = this.pendingRouteGroups.get(fullEvent);
300
+ if (existing) {
301
+ existing.entries.push({ versions, innerHandler });
302
+ }
303
+ else {
304
+ this.pendingRouteGroups.set(fullEvent, { entries: [{ versions, innerHandler }] });
305
+ }
306
+ await this.logger.debug(`- registering websocket event "${fullEvent}"`);
253
307
  }
254
308
  }
255
309
  // eslint-disable-next-line jsdoc/require-jsdoc
@@ -287,7 +341,7 @@ let WebsocketService = class WebsocketService {
287
341
  }
288
342
  // eslint-disable-next-line jsdoc/require-jsdoc
289
343
  async sendToChannel(data) {
290
- data.expectResponse ??= true;
344
+ data.expectResponse ??= false;
291
345
  const channel = await this.channelRepository.findById(data.channelId);
292
346
  const message = await this.createWebsocketMessage(data.persist ?? true, data.message.ok
293
347
  ? {
@@ -340,7 +394,8 @@ let WebsocketService = class WebsocketService {
340
394
  return res;
341
395
  }
342
396
  // eslint-disable-next-line jsdoc/require-jsdoc
343
- async sendToAll(data, expectResponse = true) {
397
+ async sendToAll(data) {
398
+ data.expectResponse ??= false;
344
399
  const message = await this.createWebsocketMessage(data.persist ?? true, data.message.ok
345
400
  ? {
346
401
  event: data.event,
@@ -361,7 +416,7 @@ let WebsocketService = class WebsocketService {
361
416
  await data.responseHandler(message);
362
417
  return undefined;
363
418
  }
364
- if (!expectResponse) {
419
+ if (!data.expectResponse) {
365
420
  this.socketServer.emit(data.event, json_utilities_1.JsonUtilities.parse(json_utilities_1.JsonUtilities.stringify(message)));
366
421
  return undefined;
367
422
  }
@@ -417,7 +472,7 @@ let WebsocketService = class WebsocketService {
417
472
  await this.channelRepository.updateById(channel.id, { userIds: channel.userIds });
418
473
  }
419
474
  await connection.leave(channel.name);
420
- const foundChannel = this.websocketChannels[channel.name]?.find(c => c.id === channel.id);
475
+ const foundChannel = this.websocketChannels[channel.name]?.find(c => c.id === connection.id);
421
476
  if (foundChannel) {
422
477
  // eslint-disable-next-line typescript/no-non-null-assertion
423
478
  this.websocketChannels[channel.name].splice(this.websocketChannels[channel.name].indexOf(foundChannel), 1);
@@ -443,6 +498,40 @@ let WebsocketService = class WebsocketService {
443
498
  }
444
499
  return foundConnection;
445
500
  }
501
+ createDispatchHandler(
502
+ // eslint-disable-next-line jsdoc/require-jsdoc
503
+ entries) {
504
+ return async (connection, req, responseHandler) => {
505
+ try {
506
+ // eslint-disable-next-line typescript/typedef
507
+ const match = entries.find(e => this.versioningService.matchesVersion(e.versions, connection.resolvedVersion));
508
+ if (!match) {
509
+ const error = new not_found_error_1.NotFoundError(`Could not find handler for websocket event for version "${connection.resolvedVersion.value}"`);
510
+ await this.send({
511
+ connection,
512
+ event: websocket_event_enum_1.WebsocketEvent.RESPONSE,
513
+ message: { ok: false, error, status: error.status, senderUserId: undefined, senderConnectionId: undefined },
514
+ responseHandler,
515
+ expectResponse: true,
516
+ persist: false
517
+ });
518
+ return;
519
+ }
520
+ await match.innerHandler(connection, req, responseHandler);
521
+ }
522
+ catch (error) {
523
+ const err = (0, error_handler_1.toHttpError)(error);
524
+ await this.send({
525
+ connection,
526
+ event: websocket_event_enum_1.WebsocketEvent.RESPONSE,
527
+ message: { ok: false, error: err, status: err.status, senderUserId: undefined, senderConnectionId: undefined },
528
+ responseHandler,
529
+ expectResponse: true,
530
+ persist: false
531
+ });
532
+ }
533
+ };
534
+ }
446
535
  async createWebsocketMessage(persist, messageData) {
447
536
  if ('id' in messageData) {
448
537
  return messageData;
@@ -534,12 +623,11 @@ exports.WebsocketService = WebsocketService = __decorate([
534
623
  (0, injectable_decorator_1.Injectable)({ register: 'onUse' }),
535
624
  __param(0, (0, inject_decorator_1.Inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.LOGGER)),
536
625
  __param(1, (0, inject_decorator_1.Inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.AUTH_SERVICE)),
537
- __param(2, (0, inject_decorator_1.Inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.PARSER)),
538
- __param(3, (0, inject_decorator_1.Inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.VALIDATION_SERVICE)),
539
- __param(4, (0, inject_repository_decorator_1.InjectRepository)(websocket_channel_model_1.WebsocketChannel)),
540
- __param(5, (0, inject_repository_decorator_1.InjectRepository)(websocket_message_model_1.WebsocketMessage)),
541
- __param(6, (0, inject_decorator_1.Inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.WEBSOCKET_OPTIONS)),
542
- __metadata("design:paramtypes", [Object, Object, Object, Object, repository_1.Repository,
626
+ __param(2, (0, inject_decorator_1.Inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.VALIDATION_SERVICE)),
627
+ __param(3, (0, inject_repository_decorator_1.InjectRepository)(websocket_channel_model_1.WebsocketChannel)),
628
+ __param(4, (0, inject_repository_decorator_1.InjectRepository)(websocket_message_model_1.WebsocketMessage)),
629
+ __param(5, (0, inject_decorator_1.Inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.WEBSOCKET_OPTIONS)),
630
+ __metadata("design:paramtypes", [Object, Object, Object, repository_1.Repository,
543
631
  repository_1.Repository, Object])
544
632
  ], WebsocketService);
545
633
  //# sourceMappingURL=websocket.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.service.js","sourceRoot":"","sources":["../../../../src/websocket/services/websocket.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.service.js","sourceRoot":"","sources":["../../../../src/websocket/services/websocket.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zibri",
3
- "version": "2.4.1",
3
+ "version": "2.5.0",
4
4
  "main": "./dist/cjs/index.js",
5
5
  "types": "./dist/cjs/index.d.ts",
6
6
  "module": "./dist/esm/index.mjs",
@@ -49,22 +49,21 @@
49
49
  "license": "MIT",
50
50
  "description": "TS Backend Framework",
51
51
  "peerDependencies": {
52
- "axios": "^1.16.0",
52
+ "axios": "^1.16.1",
53
53
  "bcryptjs": "^3.0.3",
54
54
  "bignumber.js": "^11.1.1",
55
+ "cookie-parser": "^1.4.7",
55
56
  "handlebars": "^4.7.9",
56
57
  "hi-base32": "^0.5.1",
57
58
  "jsonwebtoken": "^9.0.3",
58
59
  "otpauth": "^9.5.1",
59
- "pdfmake": "^0.2.2",
60
- "preact": "^10.29.1",
61
- "preact-render-to-string": "^6.6.7",
60
+ "pdfmake": "^0.2.23",
61
+ "preact": "^10.29.2",
62
+ "preact-render-to-string": "^6.7.0",
62
63
  "rxjs": "^7.8.2",
63
64
  "socket.io": "^4.8.3",
64
65
  "ts-node": "^10.9.2",
65
- "uuid": "^11.1.1",
66
- "xmlbuilder2": "^4.0.3",
67
- "cookie-parser": "^1.4.7"
66
+ "xmlbuilder2": "^4.0.3"
68
67
  },
69
68
  "dependencies": {
70
69
  "@fastify/busboy": "^3.2.0",
@@ -72,36 +71,35 @@
72
71
  "express": "^5.2.1",
73
72
  "glob": "^13.0.6",
74
73
  "node-cron": "^4.2.1",
75
- "nodemailer": "^8.0.7",
76
- "pg": "^8.20.0",
74
+ "nodemailer": "^8.0.8",
75
+ "pg": "^8.21.0",
77
76
  "prom-client": "^15.1.3",
78
77
  "reflect-metadata": "^0.2.2",
79
- "swagger-ui-express": "^5.0.1",
80
78
  "swagger2openapi": "^7.0.8",
81
79
  "systeminformation": "^5.31.6",
82
80
  "typeorm": "^0.3.29"
83
81
  },
84
82
  "devDependencies": {
85
83
  "@faker-js/faker": "^9.9.0",
86
- "@jest/globals": "^30.3.0",
87
- "@swc/core": "^1.15.33",
88
- "@testcontainers/postgresql": "^11.14.0",
84
+ "@jest/globals": "^30.4.1",
85
+ "@swc/core": "^1.15.40",
86
+ "@testcontainers/postgresql": "^12.0.0",
89
87
  "@types/cookie-parser": "^1.4.10",
90
88
  "@types/cors": "^2.8.19",
91
89
  "@types/express": "^5.0.6",
92
90
  "@types/jsonwebtoken": "^9.0.10",
93
- "@types/node": "^25.6.0",
91
+ "@types/node": "^25.9.1",
94
92
  "@types/nodemailer": "^8.0.0",
95
93
  "@types/pdfmake": "^0.2.11",
96
- "@types/swagger-ui-express": "^4.1.8",
97
94
  "@types/swagger2openapi": "^7.0.4",
98
95
  "eslint": "^9.36.0",
99
96
  "eslint-config-service-soft": "^2.1.6",
100
- "jest": "^30.3.0",
97
+ "jest": "^30.4.2",
101
98
  "npm-run-all": "^4.1.5",
102
99
  "openapi3-ts": "^4.5.0",
103
- "testcontainers": "^11.14.0",
104
- "ts-jest": "^29.4.9",
100
+ "socket.io-client": "^4.8.3",
101
+ "testcontainers": "^12.0.0",
102
+ "ts-jest": "^29.4.11",
105
103
  "typedoc": "^0.28.19",
106
104
  "typescript": "^5.9.2"
107
105
  }
@@ -3,10 +3,30 @@ import { randomBytes } from 'node:crypto';
3
3
  import { AesGcmEncryptionStrategy } from '../../auth/encryption/strategies/aes-gcm.encryption-strategy';
4
4
  import { PasswordResetEmailTemplate } from '../../auth/strategies/jwt/jwt-auth.controller';
5
5
  import { CronServiceInterface } from '../../cron/cron-service.interface';
6
+ import { Inject } from '../../di/decorators/inject.decorator';
6
7
  import { ZIBRI_DI_TOKENS } from '../../di/default/zibri-di-tokens.default';
7
8
  import { defineProvider, DiProvider } from '../../di/models/di-provider.model';
9
+ import { type Header } from '../../http/header.type';
8
10
  import { MultithreadingServiceInterface } from '../../multithreading/services/multithreading-service.interface';
9
- import { noOp, noOpAsync } from '../constants';
11
+ import { type RouterInterface } from '../../routing/router.interface';
12
+ import { FsPath, FsUtilities } from '../../utilities/fs.utilities';
13
+ import { VersioningService } from '../../versioning/versioning.service';
14
+ import { noOp, noOpAsync, testFileFolder } from '../constants';
15
+
16
+ const testVersionsDir: FsPath = FsUtilities.getPath(testFileFolder, 'versions-default');
17
+
18
+ class TestVersioningService extends VersioningService {
19
+ constructor(
20
+ @Inject(ZIBRI_DI_TOKENS.VERSION_HEADER)
21
+ versionHeader: Header,
22
+ @Inject(ZIBRI_DI_TOKENS.ROUTER)
23
+ router: RouterInterface
24
+ ) {
25
+ super(versionHeader, router);
26
+ // eslint-disable-next-line typescript/no-unsafe-member-access, typescript/no-explicit-any
27
+ (this as any).versionsPath = testVersionsDir;
28
+ }
29
+ }
10
30
 
11
31
  export const defaultTestServerProviders: DiProvider<unknown>[] = [
12
32
  defineProvider({
@@ -83,5 +103,9 @@ export const defaultTestServerProviders: DiProvider<unknown>[] = [
83
103
  };
84
104
  return res;
85
105
  }
106
+ }),
107
+ defineProvider({
108
+ token: ZIBRI_DI_TOKENS.VERSIONING_SERVICE,
109
+ useClass: TestVersioningService
86
110
  })
87
111
  ];
@@ -15,6 +15,8 @@ import { PostgresDataSource, PostgresOptions } from '../../data-source/data-sour
15
15
  import { ZIBRI_DI_TOKENS } from '../../di/default/zibri-di-tokens.default';
16
16
  import { DiContainer } from '../../di/di-container';
17
17
  import { inject } from '../../di/inject.function';
18
+ import { AppState } from '../../global/app-state.enum';
19
+ import { GlobalRegistry } from '../../global/global-registry';
18
20
  import { LoggerInterface } from '../../logging/logger.interface';
19
21
  import { Newable } from '../../types/newable.type';
20
22
  import { noOp, POSTGRES_TEST_IMAGE, testAssetsFolder } from '../constants';
@@ -22,16 +24,39 @@ import { createTestDataSource } from './create-test-data-source.function';
22
24
  import { AssetServiceInterface } from '../../assets/asset-service.interface';
23
25
  import { OmitStrict } from '../../types/omit-strict.type';
24
26
 
25
- type StartTestServerOptions = Partial<Pick<ZibriApplicationOptions, 'providers' | 'plugins' | 'controllers' | 'cronJobs'>> & {
27
+ type StartTestServerOptions = Partial<
28
+ Pick<
29
+ ZibriApplicationOptions,
30
+ 'providers'
31
+ | 'plugins'
32
+ | 'controllers'
33
+ | 'cronJobs'
34
+ | 'version'
35
+ | 'websocketControllers'
36
+ >
37
+ > & {
26
38
  dataSources?: Newable<PostgresDataSource>[]
27
39
  };
28
40
 
29
41
  export class StartedTestServer {
42
+ private readonly containerPorts: Map<Newable<PostgresDataSource>, number>;
43
+
30
44
  constructor(
31
- private readonly app: ZibriApplication,
45
+ private app: ZibriApplication,
32
46
  private readonly containers: AbstractStartedContainer[],
33
47
  private readonly exitSpy = jest.spyOn(process, 'exit').mockImplementation(() => undefined as never)
34
- ) {}
48
+ ) {
49
+ this.containerPorts = new Map(
50
+ app.options.dataSources.map((ds, i) => [ds as Newable<PostgresDataSource>, containers[i].getMappedPort(5432)])
51
+ );
52
+ }
53
+
54
+ private reApplyContainerPorts(): void {
55
+ for (const [ds, port] of this.containerPorts) {
56
+ const dataSource: PostgresDataSource = inject(ds);
57
+ (dataSource.options as OmitStrict<PostgresOptions, 'type'>) = { ...dataSource.options, port };
58
+ }
59
+ }
35
60
 
36
61
  async start(): Promise<string> {
37
62
  await this.app.start(0);
@@ -50,6 +75,47 @@ export class StartedTestServer {
50
75
  this.exitSpy.mockRestore();
51
76
  await Promise.all(this.containers.map(c => c.stop()));
52
77
  }
78
+
79
+ async reInit(
80
+ {
81
+ dataSources = this.app.options.dataSources as Newable<PostgresDataSource>[],
82
+ providers = this.app.options.providers,
83
+ plugins = defaultTestServerPlugins,
84
+ controllers = this.app.options.controllers,
85
+ websocketControllers = this.app.options.websocketControllers,
86
+ cronJobs = this.app.options.cronJobs,
87
+ version = this.app.options.version
88
+ }: StartTestServerOptions = {}
89
+ ): Promise<void> {
90
+ const logger: LoggerInterface = inject(ZIBRI_DI_TOKENS.LOGGER);
91
+ await logger.info('re initializes test server...');
92
+ const info: typeof logger.info = logger.info;
93
+ logger.info = noOp;
94
+ await this.app.shutdown();
95
+
96
+ // Reset singleton — every test file gets a clean container with no stale instances.
97
+ DiContainer['singleton'] = undefined;
98
+ GlobalRegistry['appData'].state = AppState.OFFLINE;
99
+
100
+ this.reApplyContainerPorts();
101
+
102
+ this.app = new ZibriApplication({
103
+ name: 'test',
104
+ version,
105
+ baseUrl: 'http://localhost:3000',
106
+ controllers,
107
+ websocketControllers,
108
+ dataSources,
109
+ providers,
110
+ plugins,
111
+ cronJobs
112
+ });
113
+
114
+ await this.app.init(H);
115
+
116
+ logger.info = info;
117
+ await logger.info('test server re initialized');
118
+ }
53
119
  }
54
120
 
55
121
  export async function startTestServer(
@@ -58,7 +124,9 @@ export async function startTestServer(
58
124
  providers = defaultTestServerProviders,
59
125
  plugins = defaultTestServerPlugins,
60
126
  controllers = [],
61
- cronJobs = []
127
+ websocketControllers = [],
128
+ cronJobs = [],
129
+ version = '1.0.0'
62
130
  }: StartTestServerOptions = {}
63
131
  ): Promise<StartedTestServer> {
64
132
  // Reset singleton — every test file gets a clean container with no stale instances.
@@ -79,7 +147,7 @@ export async function startTestServer(
79
147
  }));
80
148
 
81
149
  const logger: LoggerInterface = inject(ZIBRI_DI_TOKENS.LOGGER);
82
- await logger.info('starts up test server...');
150
+ await logger.info('initializes test server...');
83
151
  const info: typeof logger.info = logger.info;
84
152
  logger.info = noOp;
85
153
 
@@ -88,10 +156,10 @@ export async function startTestServer(
88
156
 
89
157
  const app: ZibriApplication = new ZibriApplication({
90
158
  name: 'test',
91
- version: '0.0.1',
159
+ version,
92
160
  baseUrl: 'http://localhost:3000',
93
161
  controllers,
94
- websocketControllers: [],
162
+ websocketControllers,
95
163
  dataSources,
96
164
  providers,
97
165
  plugins,
@@ -101,7 +169,7 @@ export async function startTestServer(
101
169
  await app.init(H);
102
170
 
103
171
  logger.info = info;
104
- await logger.info('test server started');
172
+ await logger.info('test server initialized');
105
173
 
106
174
  return new StartedTestServer(app, containers);
107
175
  }
@@ -8,7 +8,7 @@ import { BodyParserInterface } from './parsing/body-parser.interface';
8
8
  import { ZibriPlugin } from './plugin/plugin.model';
9
9
  import { DeepPartial } from './types/deep-partial.type';
10
10
  import { Newable } from './types/newable.type';
11
- import { Version } from './types/version.type';
11
+ import { SemVerVersion } from './utilities/sem-ver.utilities';
12
12
 
13
13
  /**
14
14
  * Configuration options for strict transport security / hsts.
@@ -61,7 +61,7 @@ export type ZibriApplicationOptions = {
61
61
  *
62
62
  * Is also used by migrations by default.
63
63
  */
64
- version: Version,
64
+ version: SemVerVersion,
65
65
  /**
66
66
  * The controllers to register in the app.
67
67
  */
@@ -428,7 +428,6 @@ export class ZibriApplication {
428
428
  }
429
429
  };
430
430
  for (const plugin of this.providedOptions.plugins ?? []) {
431
- // TODO: handle order of plugin initialization so that everything is available for DI inside the plugin constructor.
432
431
  res.authStrategies = [...plugin.authStrategies, ...res.authStrategies];
433
432
  res.bodyParsers = [...plugin.bodyParsers, ...res.bodyParsers];
434
433
  res.controllers = [...plugin.controllers, ...res.controllers];