zibri 2.4.0 → 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 (859) 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 +8 -3
  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/encryption/encryption-key.model.d.ts +5 -1
  15. package/dist/cjs/auth/encryption/encryption-key.model.d.ts.map +1 -1
  16. package/dist/cjs/auth/encryption/encryption-key.model.js +9 -1
  17. package/dist/cjs/auth/encryption/encryption-key.model.js.map +1 -1
  18. package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.d.ts.map +1 -1
  19. package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.js.map +1 -1
  20. package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.js +1 -1
  21. package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.js.map +1 -1
  22. package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.js +1 -1
  23. package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.js.map +1 -1
  24. package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.d.ts +5 -1
  25. package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.d.ts.map +1 -1
  26. package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.js +9 -1
  27. package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.js.map +1 -1
  28. package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.d.ts.map +1 -1
  29. package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js +3 -2
  30. package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
  31. package/dist/cjs/backup/backup-resource-entity.model.d.ts +6 -2
  32. package/dist/cjs/backup/backup-resource-entity.model.d.ts.map +1 -1
  33. package/dist/cjs/backup/backup-resource-entity.model.js +9 -1
  34. package/dist/cjs/backup/backup-resource-entity.model.js.map +1 -1
  35. package/dist/cjs/backup/backup.service.js +2 -2
  36. package/dist/cjs/backup/backup.service.js.map +1 -1
  37. package/dist/cjs/caching/cache/base-cache.model.js.map +1 -1
  38. package/dist/cjs/caching/cache/multi-tier.cache.js.map +1 -1
  39. package/dist/cjs/caching/cache/read-aside/read-aside.cache.js.map +1 -1
  40. package/dist/cjs/caching/cache/read-aside/write-around-read-aside.cache.js.map +1 -1
  41. package/dist/cjs/caching/cache/read-aside/write-behind-read-aside.cache.js.map +1 -1
  42. package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js.map +1 -1
  43. package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js.map +1 -1
  44. package/dist/cjs/caching/cache/read-aside/write-through-read-aside.cache.js.map +1 -1
  45. package/dist/cjs/caching/cache/read-through/read-through.cache.js.map +1 -1
  46. package/dist/cjs/caching/cache/read-through/write-around-read-through.cache.js.map +1 -1
  47. package/dist/cjs/caching/cache/read-through/write-behind-read-through.cache.js.map +1 -1
  48. package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js.map +1 -1
  49. package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js.map +1 -1
  50. package/dist/cjs/caching/cache/read-through/write-through-read-through.cache.js.map +1 -1
  51. package/dist/cjs/change-sets/change-set-repository.d.ts +5 -3
  52. package/dist/cjs/change-sets/change-set-repository.d.ts.map +1 -1
  53. package/dist/cjs/change-sets/change-set-repository.js +16 -16
  54. package/dist/cjs/change-sets/change-set-repository.js.map +1 -1
  55. package/dist/cjs/change-sets/models/change-set-entity.model.d.ts +2 -2
  56. package/dist/cjs/change-sets/models/change-set-entity.model.d.ts.map +1 -1
  57. package/dist/cjs/change-sets/models/change-set-entity.model.js +29 -1
  58. package/dist/cjs/change-sets/models/change-set-entity.model.js.map +1 -1
  59. package/dist/cjs/change-sets/models/change-set.model.d.ts +1 -1
  60. package/dist/cjs/change-sets/models/change-set.model.d.ts.map +1 -1
  61. package/dist/cjs/change-sets/models/change-set.model.js +2 -2
  62. package/dist/cjs/change-sets/models/change-set.model.js.map +1 -1
  63. package/dist/cjs/change-sets/models/change.model.d.ts +7 -3
  64. package/dist/cjs/change-sets/models/change.model.d.ts.map +1 -1
  65. package/dist/cjs/change-sets/models/change.model.js +9 -1
  66. package/dist/cjs/change-sets/models/change.model.js.map +1 -1
  67. package/dist/cjs/change-sets/models/soft-delete-entity.model.d.ts +2 -2
  68. package/dist/cjs/change-sets/models/soft-delete-entity.model.d.ts.map +1 -1
  69. package/dist/cjs/change-sets/models/soft-delete-entity.model.js +26 -0
  70. package/dist/cjs/change-sets/models/soft-delete-entity.model.js.map +1 -1
  71. package/dist/cjs/change-sets/soft-delete-repository.d.ts +6 -5
  72. package/dist/cjs/change-sets/soft-delete-repository.d.ts.map +1 -1
  73. package/dist/cjs/change-sets/soft-delete-repository.js +22 -6
  74. package/dist/cjs/change-sets/soft-delete-repository.js.map +1 -1
  75. package/dist/cjs/context/als.utilities.d.ts +3 -3
  76. package/dist/cjs/context/als.utilities.d.ts.map +1 -1
  77. package/dist/cjs/context/als.utilities.js.map +1 -1
  78. package/dist/cjs/context/cache/cache.context.d.ts +27 -0
  79. package/dist/cjs/context/cache/cache.context.d.ts.map +1 -0
  80. package/dist/cjs/context/cache/cache.context.js +61 -0
  81. package/dist/cjs/context/cache/cache.context.js.map +1 -0
  82. package/dist/cjs/context/request/request-context-token.model.js +1 -1
  83. package/dist/cjs/context/request/request-context-token.model.js.map +1 -1
  84. package/dist/cjs/cron/cron-job-entity.model.d.ts +2 -2
  85. package/dist/cjs/cron/cron-job-entity.model.d.ts.map +1 -1
  86. package/dist/cjs/cron/cron-job-entity.model.js.map +1 -1
  87. package/dist/cjs/data-source/data-sources/data-source-initialization.error.d.ts +7 -0
  88. package/dist/cjs/data-source/data-sources/data-source-initialization.error.d.ts.map +1 -0
  89. package/dist/cjs/data-source/data-sources/data-source-initialization.error.js +14 -0
  90. package/dist/cjs/data-source/data-sources/data-source-initialization.error.js.map +1 -0
  91. package/dist/cjs/data-source/data-sources/data-source.interface.d.ts +9 -1
  92. package/dist/cjs/data-source/data-sources/data-source.interface.d.ts.map +1 -1
  93. package/dist/cjs/data-source/data-sources/data-source.interface.js.map +1 -1
  94. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts +45 -0
  95. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts.map +1 -0
  96. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js +298 -0
  97. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -0
  98. package/dist/cjs/data-source/data-sources/sql-data-source.interface.d.ts +32 -0
  99. package/dist/cjs/data-source/data-sources/sql-data-source.interface.d.ts.map +1 -0
  100. package/dist/cjs/{entity/models/one-to-one-property-metadata.model.js → data-source/data-sources/sql-data-source.interface.js} +1 -1
  101. package/dist/cjs/data-source/data-sources/sql-data-source.interface.js.map +1 -0
  102. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.d.ts +156 -0
  103. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.d.ts.map +1 -0
  104. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js +378 -0
  105. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -0
  106. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts +26 -0
  107. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts.map +1 -0
  108. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +373 -0
  109. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -0
  110. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts +74 -0
  111. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts.map +1 -0
  112. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +250 -0
  113. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -0
  114. package/dist/cjs/data-source/migration/migration-entity.model.d.ts +2 -2
  115. package/dist/cjs/data-source/migration/migration-entity.model.d.ts.map +1 -1
  116. package/dist/cjs/data-source/migration/migration-entity.model.js.map +1 -1
  117. package/dist/cjs/data-source/migration/migration.model.d.ts +2 -2
  118. package/dist/cjs/data-source/migration/migration.model.d.ts.map +1 -1
  119. package/dist/cjs/data-source/models/options/count-options.model.d.ts +2 -7
  120. package/dist/cjs/data-source/models/options/count-options.model.d.ts.map +1 -1
  121. package/dist/cjs/data-source/models/options/delete-all-options.model.d.ts +2 -4
  122. package/dist/cjs/data-source/models/options/delete-all-options.model.d.ts.map +1 -1
  123. package/dist/cjs/data-source/models/options/find-all-options.model.d.ts +2 -2
  124. package/dist/cjs/data-source/models/options/find-all-options.model.d.ts.map +1 -1
  125. package/dist/cjs/data-source/models/options/find-by-id-options.model.d.ts +1 -6
  126. package/dist/cjs/data-source/models/options/find-by-id-options.model.d.ts.map +1 -1
  127. package/dist/cjs/data-source/models/options/find-one-options.model.d.ts +2 -11
  128. package/dist/cjs/data-source/models/options/find-one-options.model.d.ts.map +1 -1
  129. package/dist/cjs/data-source/models/options/update-all-options.model.d.ts +1 -7
  130. package/dist/cjs/data-source/models/options/update-all-options.model.d.ts.map +1 -1
  131. package/dist/cjs/data-source/models/options/update-by-id-options.model.d.ts +1 -7
  132. package/dist/cjs/data-source/models/options/update-by-id-options.model.d.ts.map +1 -1
  133. package/dist/cjs/data-source/models/where/array-where-filter.model.d.ts +142 -3
  134. package/dist/cjs/data-source/models/where/array-where-filter.model.d.ts.map +1 -1
  135. package/dist/cjs/data-source/models/where/base-where-filter.model.d.ts +18 -1
  136. package/dist/cjs/data-source/models/where/base-where-filter.model.d.ts.map +1 -1
  137. package/dist/cjs/data-source/models/where/boolean-where-filter.model.d.ts +4 -2
  138. package/dist/cjs/data-source/models/where/boolean-where-filter.model.d.ts.map +1 -1
  139. package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts +16 -15
  140. package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts.map +1 -1
  141. package/dist/cjs/data-source/models/where/number-where-filter.model.d.ts +8 -15
  142. package/dist/cjs/data-source/models/where/number-where-filter.model.d.ts.map +1 -1
  143. package/dist/cjs/data-source/models/where/object-where-filter.model.d.ts +52 -7
  144. package/dist/cjs/data-source/models/where/object-where-filter.model.d.ts.map +1 -1
  145. package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts +25 -15
  146. package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts.map +1 -1
  147. package/dist/cjs/data-source/models/where/where-filter-keys.model.d.ts +46 -0
  148. package/dist/cjs/data-source/models/where/where-filter-keys.model.d.ts.map +1 -0
  149. package/dist/cjs/data-source/models/where/where-filter-keys.model.js +39 -0
  150. package/dist/cjs/data-source/models/where/where-filter-keys.model.js.map +1 -0
  151. package/dist/cjs/data-source/models/where/where-filter.model.d.ts +2 -2
  152. package/dist/cjs/data-source/models/where/where-filter.model.d.ts.map +1 -1
  153. package/dist/cjs/data-source/query-failed.error.js +27 -1
  154. package/dist/cjs/data-source/query-failed.error.js.map +1 -1
  155. package/dist/cjs/data-source/repository.d.ts +8 -3
  156. package/dist/cjs/data-source/repository.d.ts.map +1 -1
  157. package/dist/cjs/data-source/repository.js +42 -16
  158. package/dist/cjs/data-source/repository.js.map +1 -1
  159. package/dist/cjs/di/decorators/inject-repository.decorator.d.ts +2 -2
  160. package/dist/cjs/di/decorators/inject-repository.decorator.d.ts.map +1 -1
  161. package/dist/cjs/di/decorators/inject-repository.decorator.js.map +1 -1
  162. package/dist/cjs/di/default/zibri-di-providers.default.d.ts.map +1 -1
  163. package/dist/cjs/di/default/zibri-di-providers.default.js +4 -0
  164. package/dist/cjs/di/default/zibri-di-providers.default.js.map +1 -1
  165. package/dist/cjs/di/default/zibri-di-tokens.default.d.ts +5 -2
  166. package/dist/cjs/di/default/zibri-di-tokens.default.d.ts.map +1 -1
  167. package/dist/cjs/di/default/zibri-di-tokens.default.js +2 -0
  168. package/dist/cjs/di/default/zibri-di-tokens.default.js.map +1 -1
  169. package/dist/cjs/email/email.service.d.ts +3 -3
  170. package/dist/cjs/email/email.service.d.ts.map +1 -1
  171. package/dist/cjs/email/email.service.js +8 -10
  172. package/dist/cjs/email/email.service.js.map +1 -1
  173. package/dist/cjs/email/models/email.model.d.ts +4 -4
  174. package/dist/cjs/email/models/email.model.d.ts.map +1 -1
  175. package/dist/cjs/email/models/email.model.js +5 -5
  176. package/dist/cjs/email/models/email.model.js.map +1 -1
  177. package/dist/cjs/entity/decorators/entity.decorator.d.ts +28 -1
  178. package/dist/cjs/entity/decorators/entity.decorator.d.ts.map +1 -1
  179. package/dist/cjs/entity/decorators/entity.decorator.js +6 -3
  180. package/dist/cjs/entity/decorators/entity.decorator.js.map +1 -1
  181. package/dist/cjs/entity/decorators/property.decorator.d.ts +5 -8
  182. package/dist/cjs/entity/decorators/property.decorator.d.ts.map +1 -1
  183. package/dist/cjs/entity/decorators/property.decorator.js +34 -20
  184. package/dist/cjs/entity/decorators/property.decorator.js.map +1 -1
  185. package/dist/cjs/entity/entity-metadata-missing.error.d.ts +9 -0
  186. package/dist/cjs/entity/entity-metadata-missing.error.d.ts.map +1 -0
  187. package/dist/cjs/entity/entity-metadata-missing.error.js +17 -0
  188. package/dist/cjs/entity/entity-metadata-missing.error.js.map +1 -0
  189. package/dist/cjs/entity/generation/generate-entity-file.function.js +1 -1
  190. package/dist/cjs/entity/generation/generate-entity-file.function.js.map +1 -1
  191. package/dist/cjs/entity/models/base-relation-metadata.model.d.ts +1 -1
  192. package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.d.ts +28 -0
  193. package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.d.ts.map +1 -0
  194. package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.js +3 -0
  195. package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.js.map +1 -0
  196. package/dist/cjs/entity/models/has-one-property-metadata.model.d.ts +18 -0
  197. package/dist/cjs/entity/models/has-one-property-metadata.model.d.ts.map +1 -0
  198. package/dist/{esm/entity/models/one-to-one-property-metadata.model.js → cjs/entity/models/has-one-property-metadata.model.js} +1 -1
  199. package/dist/cjs/entity/models/has-one-property-metadata.model.js.map +1 -0
  200. package/dist/cjs/entity/models/many-to-many-property-metadata.model.d.ts +3 -3
  201. package/dist/cjs/entity/models/many-to-many-property-metadata.model.d.ts.map +1 -1
  202. package/dist/cjs/entity/models/many-to-one-property-metadata.model.d.ts +11 -1
  203. package/dist/cjs/entity/models/many-to-one-property-metadata.model.d.ts.map +1 -1
  204. package/dist/cjs/entity/models/relation.enum.d.ts +2 -1
  205. package/dist/cjs/entity/models/relation.enum.d.ts.map +1 -1
  206. package/dist/cjs/entity/models/relation.enum.js +2 -1
  207. package/dist/cjs/entity/models/relation.enum.js.map +1 -1
  208. package/dist/cjs/entity/partial-class.model.js +1 -1
  209. package/dist/cjs/entity/partial-class.model.js.map +1 -1
  210. package/dist/cjs/event/event-cleanup.cron-job.d.ts.map +1 -1
  211. package/dist/cjs/event/event-cleanup.cron-job.js +4 -6
  212. package/dist/cjs/event/event-cleanup.cron-job.js.map +1 -1
  213. package/dist/cjs/event/event-subscriber-run.model.d.ts +7 -9
  214. package/dist/cjs/event/event-subscriber-run.model.d.ts.map +1 -1
  215. package/dist/cjs/event/event-subscriber-run.model.js +11 -18
  216. package/dist/cjs/event/event-subscriber-run.model.js.map +1 -1
  217. package/dist/cjs/event/event.model.js +1 -1
  218. package/dist/cjs/event/event.model.js.map +1 -1
  219. package/dist/cjs/event/event.service.d.ts.map +1 -1
  220. package/dist/cjs/event/event.service.js +6 -3
  221. package/dist/cjs/event/event.service.js.map +1 -1
  222. package/dist/cjs/global/global-registry.d.ts +2 -2
  223. package/dist/cjs/global/global-registry.d.ts.map +1 -1
  224. package/dist/cjs/global/model-registry/default-descriptor.d.ts.map +1 -1
  225. package/dist/cjs/global/model-registry/default-descriptor.js +2 -1
  226. package/dist/cjs/global/model-registry/default-descriptor.js.map +1 -1
  227. package/dist/cjs/global/model-registry/encryption-descriptor.d.ts.map +1 -1
  228. package/dist/cjs/global/model-registry/encryption-descriptor.js +2 -1
  229. package/dist/cjs/global/model-registry/encryption-descriptor.js.map +1 -1
  230. package/dist/cjs/global/model-registry/exclude-descriptor.d.ts.map +1 -1
  231. package/dist/cjs/global/model-registry/exclude-descriptor.js +2 -1
  232. package/dist/cjs/global/model-registry/exclude-descriptor.js.map +1 -1
  233. package/dist/cjs/global/model-registry/hash-descriptor.d.ts.map +1 -1
  234. package/dist/cjs/global/model-registry/hash-descriptor.js +2 -1
  235. package/dist/cjs/global/model-registry/hash-descriptor.js.map +1 -1
  236. package/dist/cjs/http/http-request.model.d.ts +2 -2
  237. package/dist/cjs/http/http-request.model.d.ts.map +1 -1
  238. package/dist/cjs/http/known-header.enum.d.ts +1 -0
  239. package/dist/cjs/http/known-header.enum.d.ts.map +1 -1
  240. package/dist/cjs/http/known-header.enum.js +1 -0
  241. package/dist/cjs/http/known-header.enum.js.map +1 -1
  242. package/dist/cjs/http-client/http-client.d.ts.map +1 -1
  243. package/dist/cjs/http-client/http-client.js.map +1 -1
  244. package/dist/cjs/index.d.ts +19 -6
  245. package/dist/cjs/index.d.ts.map +1 -1
  246. package/dist/cjs/index.js +20 -6
  247. package/dist/cjs/index.js.map +1 -1
  248. package/dist/cjs/localization/formatting/format-price.function.d.ts.map +1 -1
  249. package/dist/cjs/localization/formatting/format-price.function.js.map +1 -1
  250. package/dist/cjs/logging/log-context.model.d.ts +7 -32
  251. package/dist/cjs/logging/log-context.model.d.ts.map +1 -1
  252. package/dist/cjs/logging/log-context.model.js +9 -55
  253. package/dist/cjs/logging/log-context.model.js.map +1 -1
  254. package/dist/cjs/logging/logger.js +1 -1
  255. package/dist/cjs/logging/logger.js.map +1 -1
  256. package/dist/cjs/multithreading/models/thread-job-entity.model.d.ts +5 -5
  257. package/dist/cjs/multithreading/models/thread-job-entity.model.d.ts.map +1 -1
  258. package/dist/cjs/multithreading/models/thread-job-entity.model.js +4 -4
  259. package/dist/cjs/multithreading/models/thread-job-entity.model.js.map +1 -1
  260. package/dist/cjs/multithreading/services/thread-job.d.ts +4 -4
  261. package/dist/cjs/multithreading/services/thread-job.d.ts.map +1 -1
  262. package/dist/cjs/multithreading/services/thread-job.js.map +1 -1
  263. package/dist/cjs/open-api/open-api-service.interface.d.ts +2 -1
  264. package/dist/cjs/open-api/open-api-service.interface.d.ts.map +1 -1
  265. package/dist/cjs/open-api/open-api.service.d.ts +5 -2
  266. package/dist/cjs/open-api/open-api.service.d.ts.map +1 -1
  267. package/dist/cjs/open-api/open-api.service.js +276 -150
  268. package/dist/cjs/open-api/open-api.service.js.map +1 -1
  269. package/dist/cjs/parsing/form-data/form-data.body-parser.d.ts.map +1 -1
  270. package/dist/cjs/parsing/form-data/form-data.body-parser.js +2 -1
  271. package/dist/cjs/parsing/form-data/form-data.body-parser.js.map +1 -1
  272. package/dist/cjs/parsing/functions/parse-boolean.function.d.ts.map +1 -1
  273. package/dist/cjs/parsing/functions/parse-boolean.function.js.map +1 -1
  274. package/dist/cjs/parsing/functions/parse-object.function.d.ts.map +1 -1
  275. package/dist/cjs/parsing/functions/parse-object.function.js +2 -1
  276. package/dist/cjs/parsing/functions/parse-object.function.js.map +1 -1
  277. package/dist/cjs/parsing/html/csp-options.model.d.ts +1 -1
  278. package/dist/cjs/parsing/html/csp-options.model.d.ts.map +1 -1
  279. package/dist/cjs/parsing/html/csp-options.model.js.map +1 -1
  280. package/dist/cjs/parsing/parser.d.ts.map +1 -1
  281. package/dist/cjs/parsing/parser.js +5 -4
  282. package/dist/cjs/parsing/parser.js.map +1 -1
  283. package/dist/cjs/plugin/invoicing/models/invoice-address.model.d.ts +2 -2
  284. package/dist/cjs/plugin/invoicing/models/invoice-address.model.d.ts.map +1 -1
  285. package/dist/cjs/plugin/invoicing/models/invoice-address.model.js +2 -2
  286. package/dist/cjs/plugin/invoicing/models/invoice-address.model.js.map +1 -1
  287. package/dist/cjs/plugin/invoicing/models/vat.model.d.ts +1 -1
  288. package/dist/cjs/plugin/invoicing/models/vat.model.d.ts.map +1 -1
  289. package/dist/cjs/plugin/invoicing/models/vat.model.js +1 -1
  290. package/dist/cjs/plugin/invoicing/models/vat.model.js.map +1 -1
  291. package/dist/cjs/plugin/mailing-list/mailing-list.controller.js +1 -1
  292. package/dist/cjs/plugin/mailing-list/mailing-list.controller.js.map +1 -1
  293. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.d.ts +1 -1
  294. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.d.ts.map +1 -1
  295. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.js +1 -1
  296. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.js.map +1 -1
  297. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.d.ts +1 -1
  298. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.d.ts.map +1 -1
  299. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js +1 -1
  300. package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js.map +1 -1
  301. package/dist/cjs/plugin/payment/models/payment.model.d.ts +2 -2
  302. package/dist/cjs/plugin/payment/models/payment.model.d.ts.map +1 -1
  303. package/dist/cjs/plugin/payment/models/payment.model.js +1 -1
  304. package/dist/cjs/plugin/payment/models/payment.model.js.map +1 -1
  305. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.d.ts +17 -17
  306. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.d.ts.map +1 -1
  307. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.js +17 -17
  308. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.js.map +1 -1
  309. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js +1 -1
  310. package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js.map +1 -1
  311. package/dist/cjs/preact/preact.utilities.js +1 -1
  312. package/dist/cjs/preact/preact.utilities.js.map +1 -1
  313. package/dist/cjs/preact/validate-email-templates.function.js +1 -1
  314. package/dist/cjs/preact/validate-email-templates.function.js.map +1 -1
  315. package/dist/cjs/rate-limiting/rate-limiter.d.ts +10 -5
  316. package/dist/cjs/rate-limiting/rate-limiter.d.ts.map +1 -1
  317. package/dist/cjs/rate-limiting/rate-limiter.js +22 -12
  318. package/dist/cjs/rate-limiting/rate-limiter.js.map +1 -1
  319. package/dist/cjs/routing/controller-route-configuration.model.d.ts +5 -0
  320. package/dist/cjs/routing/controller-route-configuration.model.d.ts.map +1 -1
  321. package/dist/cjs/routing/decorators/body.decorator.js +2 -1
  322. package/dist/cjs/routing/decorators/body.decorator.js.map +1 -1
  323. package/dist/cjs/routing/decorators/controller.decorator.d.ts +5 -0
  324. package/dist/cjs/routing/decorators/controller.decorator.d.ts.map +1 -1
  325. package/dist/cjs/routing/decorators/controller.decorator.js +3 -2
  326. package/dist/cjs/routing/decorators/controller.decorator.js.map +1 -1
  327. package/dist/cjs/routing/decorators/create-http-decorator.function.d.ts +2 -1
  328. package/dist/cjs/routing/decorators/create-http-decorator.function.d.ts.map +1 -1
  329. package/dist/cjs/routing/decorators/create-http-decorator.function.js +2 -2
  330. package/dist/cjs/routing/decorators/create-http-decorator.function.js.map +1 -1
  331. package/dist/cjs/routing/decorators/delete.decorator.d.ts +3 -1
  332. package/dist/cjs/routing/decorators/delete.decorator.d.ts.map +1 -1
  333. package/dist/cjs/routing/decorators/delete.decorator.js +3 -2
  334. package/dist/cjs/routing/decorators/delete.decorator.js.map +1 -1
  335. package/dist/cjs/routing/decorators/get.decorator.d.ts +3 -1
  336. package/dist/cjs/routing/decorators/get.decorator.d.ts.map +1 -1
  337. package/dist/cjs/routing/decorators/get.decorator.js +3 -2
  338. package/dist/cjs/routing/decorators/get.decorator.js.map +1 -1
  339. package/dist/cjs/routing/decorators/http-decorator-option-input.model.d.ts +11 -0
  340. package/dist/cjs/routing/decorators/http-decorator-option-input.model.d.ts.map +1 -0
  341. package/dist/cjs/routing/decorators/http-decorator-option-input.model.js +3 -0
  342. package/dist/cjs/routing/decorators/http-decorator-option-input.model.js.map +1 -0
  343. package/dist/cjs/routing/decorators/patch.decorator.d.ts +3 -1
  344. package/dist/cjs/routing/decorators/patch.decorator.d.ts.map +1 -1
  345. package/dist/cjs/routing/decorators/patch.decorator.js +3 -2
  346. package/dist/cjs/routing/decorators/patch.decorator.js.map +1 -1
  347. package/dist/cjs/routing/decorators/post.decorator.d.ts +3 -1
  348. package/dist/cjs/routing/decorators/post.decorator.d.ts.map +1 -1
  349. package/dist/cjs/routing/decorators/post.decorator.js +3 -2
  350. package/dist/cjs/routing/decorators/post.decorator.js.map +1 -1
  351. package/dist/cjs/routing/resolve-route-params.function.js +2 -1
  352. package/dist/cjs/routing/resolve-route-params.function.js.map +1 -1
  353. package/dist/cjs/routing/route-configuration.model.d.ts +11 -1
  354. package/dist/cjs/routing/route-configuration.model.d.ts.map +1 -1
  355. package/dist/cjs/routing/router.d.ts +6 -2
  356. package/dist/cjs/routing/router.d.ts.map +1 -1
  357. package/dist/cjs/routing/router.js +191 -70
  358. package/dist/cjs/routing/router.js.map +1 -1
  359. package/dist/cjs/utilities/fs.utilities.d.ts +1 -1
  360. package/dist/cjs/utilities/fs.utilities.js +1 -1
  361. package/dist/cjs/utilities/metadata-injection-keys.enum.d.ts +1 -0
  362. package/dist/cjs/utilities/metadata-injection-keys.enum.d.ts.map +1 -1
  363. package/dist/cjs/utilities/metadata-injection-keys.enum.js +1 -0
  364. package/dist/cjs/utilities/metadata-injection-keys.enum.js.map +1 -1
  365. package/dist/cjs/utilities/sem-ver.utilities.d.ts +46 -0
  366. package/dist/cjs/utilities/sem-ver.utilities.d.ts.map +1 -0
  367. package/dist/cjs/utilities/sem-ver.utilities.js +204 -0
  368. package/dist/cjs/utilities/sem-ver.utilities.js.map +1 -0
  369. package/dist/cjs/utilities/typeorm.utilities.d.ts +39 -0
  370. package/dist/cjs/utilities/typeorm.utilities.d.ts.map +1 -0
  371. package/dist/cjs/utilities/typeorm.utilities.js +47 -0
  372. package/dist/cjs/utilities/typeorm.utilities.js.map +1 -0
  373. package/dist/cjs/utilities/uuid.utilities.js +2 -2
  374. package/dist/cjs/utilities/uuid.utilities.js.map +1 -1
  375. package/dist/cjs/validation/validation-problem.model.d.ts.map +1 -1
  376. package/dist/cjs/validation/validation-problem.model.js +4 -7
  377. package/dist/cjs/validation/validation-problem.model.js.map +1 -1
  378. package/dist/cjs/validation/validation.service.d.ts.map +1 -1
  379. package/dist/cjs/validation/validation.service.js +6 -4
  380. package/dist/cjs/validation/validation.service.js.map +1 -1
  381. package/dist/cjs/versioning/route-with-version-data.model.d.ts +15 -0
  382. package/dist/cjs/versioning/route-with-version-data.model.d.ts.map +1 -0
  383. package/dist/cjs/versioning/route-with-version-data.model.js +3 -0
  384. package/dist/cjs/versioning/route-with-version-data.model.js.map +1 -0
  385. package/dist/cjs/versioning/supported-versions-options.model.d.ts +17 -0
  386. package/dist/cjs/versioning/supported-versions-options.model.d.ts.map +1 -0
  387. package/dist/cjs/versioning/supported-versions-options.model.js +3 -0
  388. package/dist/cjs/versioning/supported-versions-options.model.js.map +1 -0
  389. package/dist/cjs/versioning/version.model.d.ts +29 -0
  390. package/dist/cjs/versioning/version.model.d.ts.map +1 -0
  391. package/dist/cjs/{types/version.type.js → versioning/version.model.js} +1 -1
  392. package/dist/cjs/versioning/version.model.js.map +1 -0
  393. package/dist/cjs/versioning/versioning-service.interface.d.ts +31 -0
  394. package/dist/cjs/versioning/versioning-service.interface.d.ts.map +1 -0
  395. package/dist/cjs/versioning/versioning-service.interface.js +3 -0
  396. package/dist/cjs/versioning/versioning-service.interface.js.map +1 -0
  397. package/dist/cjs/versioning/versioning.service.d.ts +41 -0
  398. package/dist/cjs/versioning/versioning.service.d.ts.map +1 -0
  399. package/dist/cjs/versioning/versioning.service.js +366 -0
  400. package/dist/cjs/versioning/versioning.service.js.map +1 -0
  401. package/dist/cjs/websocket/decorators/websocket-controller.decorator.d.ts +10 -0
  402. package/dist/cjs/websocket/decorators/websocket-controller.decorator.d.ts.map +1 -1
  403. package/dist/cjs/websocket/decorators/websocket-controller.decorator.js +2 -2
  404. package/dist/cjs/websocket/decorators/websocket-controller.decorator.js.map +1 -1
  405. package/dist/cjs/websocket/decorators/websocket-route.decorator.d.ts +13 -1
  406. package/dist/cjs/websocket/decorators/websocket-route.decorator.d.ts.map +1 -1
  407. package/dist/cjs/websocket/decorators/websocket-route.decorator.js +3 -2
  408. package/dist/cjs/websocket/decorators/websocket-route.decorator.js.map +1 -1
  409. package/dist/cjs/websocket/models/connection/base-websocket-connection.model.d.ts +5 -0
  410. package/dist/cjs/websocket/models/connection/base-websocket-connection.model.d.ts.map +1 -1
  411. package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.d.ts +3 -1
  412. package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.d.ts.map +1 -1
  413. package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.js +3 -1
  414. package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.js.map +1 -1
  415. package/dist/cjs/websocket/models/websocket-controller-route-configuration.model.d.ts +6 -0
  416. package/dist/cjs/websocket/models/websocket-controller-route-configuration.model.d.ts.map +1 -1
  417. package/dist/cjs/websocket/models/websocket-message.model.d.ts +2 -2
  418. package/dist/cjs/websocket/models/websocket-message.model.d.ts.map +1 -1
  419. package/dist/cjs/websocket/models/websocket-message.model.js +1 -1
  420. package/dist/cjs/websocket/models/websocket-message.model.js.map +1 -1
  421. package/dist/cjs/websocket/models/websocket-request.model.d.ts +6 -12
  422. package/dist/cjs/websocket/models/websocket-request.model.d.ts.map +1 -1
  423. package/dist/cjs/websocket/models/websocket-request.model.js +1 -1
  424. package/dist/cjs/websocket/models/websocket-request.model.js.map +1 -1
  425. package/dist/cjs/websocket/services/websocket.service.d.ts +6 -4
  426. package/dist/cjs/websocket/services/websocket.service.d.ts.map +1 -1
  427. package/dist/cjs/websocket/services/websocket.service.js +122 -35
  428. package/dist/cjs/websocket/services/websocket.service.js.map +1 -1
  429. package/dist/esm/application.js +8 -3
  430. package/dist/esm/application.js.map +1 -1
  431. package/dist/esm/assets/asset.service.js +3 -1
  432. package/dist/esm/assets/asset.service.js.map +1 -1
  433. package/dist/esm/auth/2fa/methods/otp/otp-credentials.model.js.map +1 -1
  434. package/dist/esm/auth/2fa/methods/otp/otp.two-factor-method.js +1 -1
  435. package/dist/esm/auth/2fa/methods/otp/otp.two-factor-method.js.map +1 -1
  436. package/dist/esm/auth/encryption/encryption-key.model.js +9 -1
  437. package/dist/esm/auth/encryption/encryption-key.model.js.map +1 -1
  438. package/dist/esm/auth/strategies/cookie/cookie-auth.auth-strategy.js.map +1 -1
  439. package/dist/esm/auth/strategies/cookie/cookie-auth.controller.js +1 -1
  440. package/dist/esm/auth/strategies/cookie/cookie-auth.controller.js.map +1 -1
  441. package/dist/esm/auth/strategies/jwt/jwt-auth.controller.js +1 -1
  442. package/dist/esm/auth/strategies/jwt/jwt-auth.controller.js.map +1 -1
  443. package/dist/esm/auth/strategies/jwt/jwt-credentials.model.js +9 -1
  444. package/dist/esm/auth/strategies/jwt/jwt-credentials.model.js.map +1 -1
  445. package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js +3 -2
  446. package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
  447. package/dist/esm/backup/backup-resource-entity.model.js +9 -1
  448. package/dist/esm/backup/backup-resource-entity.model.js.map +1 -1
  449. package/dist/esm/backup/backup.service.js +2 -2
  450. package/dist/esm/backup/backup.service.js.map +1 -1
  451. package/dist/esm/caching/cache/base-cache.model.js.map +1 -1
  452. package/dist/esm/caching/cache/multi-tier.cache.js.map +1 -1
  453. package/dist/esm/caching/cache/read-aside/read-aside.cache.js.map +1 -1
  454. package/dist/esm/caching/cache/read-aside/write-around-read-aside.cache.js.map +1 -1
  455. package/dist/esm/caching/cache/read-aside/write-behind-read-aside.cache.js.map +1 -1
  456. package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js.map +1 -1
  457. package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js.map +1 -1
  458. package/dist/esm/caching/cache/read-aside/write-through-read-aside.cache.js.map +1 -1
  459. package/dist/esm/caching/cache/read-through/read-through.cache.js.map +1 -1
  460. package/dist/esm/caching/cache/read-through/write-around-read-through.cache.js.map +1 -1
  461. package/dist/esm/caching/cache/read-through/write-behind-read-through.cache.js.map +1 -1
  462. package/dist/esm/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js.map +1 -1
  463. package/dist/esm/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js.map +1 -1
  464. package/dist/esm/caching/cache/read-through/write-through-read-through.cache.js.map +1 -1
  465. package/dist/esm/change-sets/change-set-repository.js +16 -16
  466. package/dist/esm/change-sets/change-set-repository.js.map +1 -1
  467. package/dist/esm/change-sets/models/change-set-entity.model.js +29 -1
  468. package/dist/esm/change-sets/models/change-set-entity.model.js.map +1 -1
  469. package/dist/esm/change-sets/models/change-set.model.js +2 -2
  470. package/dist/esm/change-sets/models/change-set.model.js.map +1 -1
  471. package/dist/esm/change-sets/models/change.model.js +9 -1
  472. package/dist/esm/change-sets/models/change.model.js.map +1 -1
  473. package/dist/esm/change-sets/models/soft-delete-entity.model.js +26 -0
  474. package/dist/esm/change-sets/models/soft-delete-entity.model.js.map +1 -1
  475. package/dist/esm/change-sets/soft-delete-repository.js +22 -6
  476. package/dist/esm/change-sets/soft-delete-repository.js.map +1 -1
  477. package/dist/esm/context/als.utilities.js.map +1 -1
  478. package/dist/esm/context/cache/cache.context.js +61 -0
  479. package/dist/esm/context/cache/cache.context.js.map +1 -0
  480. package/dist/esm/context/request/request-context-token.model.js +1 -1
  481. package/dist/esm/context/request/request-context-token.model.js.map +1 -1
  482. package/dist/esm/cron/cron-job-entity.model.js.map +1 -1
  483. package/dist/esm/data-source/data-sources/data-source-initialization.error.js +14 -0
  484. package/dist/esm/data-source/data-sources/data-source-initialization.error.js.map +1 -0
  485. package/dist/esm/data-source/data-sources/data-source.interface.js.map +1 -1
  486. package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js +298 -0
  487. package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -0
  488. package/dist/esm/data-source/data-sources/sql-data-source.interface.js +3 -0
  489. package/dist/esm/data-source/data-sources/sql-data-source.interface.js.map +1 -0
  490. package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js +378 -0
  491. package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -0
  492. package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +373 -0
  493. package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -0
  494. package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +250 -0
  495. package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -0
  496. package/dist/esm/data-source/migration/migration-entity.model.js.map +1 -1
  497. package/dist/esm/data-source/models/where/where-filter-keys.model.js +39 -0
  498. package/dist/esm/data-source/models/where/where-filter-keys.model.js.map +1 -0
  499. package/dist/esm/data-source/query-failed.error.js +27 -1
  500. package/dist/esm/data-source/query-failed.error.js.map +1 -1
  501. package/dist/esm/data-source/repository.js +42 -16
  502. package/dist/esm/data-source/repository.js.map +1 -1
  503. package/dist/esm/di/decorators/inject-repository.decorator.js.map +1 -1
  504. package/dist/esm/di/default/zibri-di-providers.default.js +4 -0
  505. package/dist/esm/di/default/zibri-di-providers.default.js.map +1 -1
  506. package/dist/esm/di/default/zibri-di-tokens.default.js +2 -0
  507. package/dist/esm/di/default/zibri-di-tokens.default.js.map +1 -1
  508. package/dist/esm/email/email.service.js +8 -10
  509. package/dist/esm/email/email.service.js.map +1 -1
  510. package/dist/esm/email/models/email.model.js +5 -5
  511. package/dist/esm/email/models/email.model.js.map +1 -1
  512. package/dist/esm/entity/decorators/entity.decorator.js +6 -3
  513. package/dist/esm/entity/decorators/entity.decorator.js.map +1 -1
  514. package/dist/esm/entity/decorators/property.decorator.js +34 -20
  515. package/dist/esm/entity/decorators/property.decorator.js.map +1 -1
  516. package/dist/esm/entity/entity-metadata-missing.error.js +17 -0
  517. package/dist/esm/entity/entity-metadata-missing.error.js.map +1 -0
  518. package/dist/esm/entity/generation/generate-entity-file.function.js +1 -1
  519. package/dist/esm/entity/generation/generate-entity-file.function.js.map +1 -1
  520. package/dist/esm/entity/models/belongs-to-one-property-metadata.model.js +3 -0
  521. package/dist/esm/entity/models/belongs-to-one-property-metadata.model.js.map +1 -0
  522. package/dist/esm/entity/models/has-one-property-metadata.model.js +3 -0
  523. package/dist/esm/entity/models/has-one-property-metadata.model.js.map +1 -0
  524. package/dist/esm/entity/models/relation.enum.js +2 -1
  525. package/dist/esm/entity/models/relation.enum.js.map +1 -1
  526. package/dist/esm/entity/partial-class.model.js +1 -1
  527. package/dist/esm/entity/partial-class.model.js.map +1 -1
  528. package/dist/esm/event/event-cleanup.cron-job.js +4 -6
  529. package/dist/esm/event/event-cleanup.cron-job.js.map +1 -1
  530. package/dist/esm/event/event-subscriber-run.model.js +11 -18
  531. package/dist/esm/event/event-subscriber-run.model.js.map +1 -1
  532. package/dist/esm/event/event.model.js +1 -1
  533. package/dist/esm/event/event.model.js.map +1 -1
  534. package/dist/esm/event/event.service.js +6 -3
  535. package/dist/esm/event/event.service.js.map +1 -1
  536. package/dist/esm/global/model-registry/default-descriptor.js +2 -1
  537. package/dist/esm/global/model-registry/default-descriptor.js.map +1 -1
  538. package/dist/esm/global/model-registry/encryption-descriptor.js +2 -1
  539. package/dist/esm/global/model-registry/encryption-descriptor.js.map +1 -1
  540. package/dist/esm/global/model-registry/exclude-descriptor.js +2 -1
  541. package/dist/esm/global/model-registry/exclude-descriptor.js.map +1 -1
  542. package/dist/esm/global/model-registry/hash-descriptor.js +2 -1
  543. package/dist/esm/global/model-registry/hash-descriptor.js.map +1 -1
  544. package/dist/esm/http/known-header.enum.js +1 -0
  545. package/dist/esm/http/known-header.enum.js.map +1 -1
  546. package/dist/esm/http-client/http-client.js.map +1 -1
  547. package/dist/esm/index.js +20 -6
  548. package/dist/esm/index.js.map +1 -1
  549. package/dist/esm/localization/formatting/format-price.function.js.map +1 -1
  550. package/dist/esm/logging/log-context.model.js +9 -55
  551. package/dist/esm/logging/log-context.model.js.map +1 -1
  552. package/dist/esm/logging/logger.js +1 -1
  553. package/dist/esm/logging/logger.js.map +1 -1
  554. package/dist/esm/multithreading/models/thread-job-entity.model.js +4 -4
  555. package/dist/esm/multithreading/models/thread-job-entity.model.js.map +1 -1
  556. package/dist/esm/multithreading/services/thread-job.js.map +1 -1
  557. package/dist/esm/open-api/open-api.service.js +276 -150
  558. package/dist/esm/open-api/open-api.service.js.map +1 -1
  559. package/dist/esm/parsing/form-data/form-data.body-parser.js +2 -1
  560. package/dist/esm/parsing/form-data/form-data.body-parser.js.map +1 -1
  561. package/dist/esm/parsing/functions/parse-boolean.function.js.map +1 -1
  562. package/dist/esm/parsing/functions/parse-object.function.js +2 -1
  563. package/dist/esm/parsing/functions/parse-object.function.js.map +1 -1
  564. package/dist/esm/parsing/html/csp-options.model.js.map +1 -1
  565. package/dist/esm/parsing/parser.js +5 -4
  566. package/dist/esm/parsing/parser.js.map +1 -1
  567. package/dist/esm/plugin/invoicing/models/invoice-address.model.js +2 -2
  568. package/dist/esm/plugin/invoicing/models/invoice-address.model.js.map +1 -1
  569. package/dist/esm/plugin/invoicing/models/vat.model.js +1 -1
  570. package/dist/esm/plugin/invoicing/models/vat.model.js.map +1 -1
  571. package/dist/esm/plugin/mailing-list/mailing-list.controller.js +1 -1
  572. package/dist/esm/plugin/mailing-list/mailing-list.controller.js.map +1 -1
  573. package/dist/esm/plugin/mailing-list/models/mailing-list-subscriber.model.js +1 -1
  574. package/dist/esm/plugin/mailing-list/models/mailing-list-subscriber.model.js.map +1 -1
  575. package/dist/esm/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js +1 -1
  576. package/dist/esm/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js.map +1 -1
  577. package/dist/esm/plugin/payment/models/payment.model.js +1 -1
  578. package/dist/esm/plugin/payment/models/payment.model.js.map +1 -1
  579. package/dist/esm/plugin/payment/providers/pay-pal/pay-pal-client.js +17 -17
  580. package/dist/esm/plugin/payment/providers/pay-pal/pay-pal-client.js.map +1 -1
  581. package/dist/esm/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js +1 -1
  582. package/dist/esm/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js.map +1 -1
  583. package/dist/esm/preact/preact.utilities.js +1 -1
  584. package/dist/esm/preact/preact.utilities.js.map +1 -1
  585. package/dist/esm/preact/validate-email-templates.function.js +1 -1
  586. package/dist/esm/preact/validate-email-templates.function.js.map +1 -1
  587. package/dist/esm/rate-limiting/rate-limiter.js +22 -12
  588. package/dist/esm/rate-limiting/rate-limiter.js.map +1 -1
  589. package/dist/esm/routing/decorators/body.decorator.js +2 -1
  590. package/dist/esm/routing/decorators/body.decorator.js.map +1 -1
  591. package/dist/esm/routing/decorators/controller.decorator.js +3 -2
  592. package/dist/esm/routing/decorators/controller.decorator.js.map +1 -1
  593. package/dist/esm/routing/decorators/create-http-decorator.function.js +2 -2
  594. package/dist/esm/routing/decorators/create-http-decorator.function.js.map +1 -1
  595. package/dist/esm/routing/decorators/delete.decorator.js +3 -2
  596. package/dist/esm/routing/decorators/delete.decorator.js.map +1 -1
  597. package/dist/esm/routing/decorators/get.decorator.js +3 -2
  598. package/dist/esm/routing/decorators/get.decorator.js.map +1 -1
  599. package/dist/esm/routing/decorators/http-decorator-option-input.model.js +3 -0
  600. package/dist/esm/routing/decorators/http-decorator-option-input.model.js.map +1 -0
  601. package/dist/esm/routing/decorators/patch.decorator.js +3 -2
  602. package/dist/esm/routing/decorators/patch.decorator.js.map +1 -1
  603. package/dist/esm/routing/decorators/post.decorator.js +3 -2
  604. package/dist/esm/routing/decorators/post.decorator.js.map +1 -1
  605. package/dist/esm/routing/resolve-route-params.function.js +2 -1
  606. package/dist/esm/routing/resolve-route-params.function.js.map +1 -1
  607. package/dist/esm/routing/router.js +191 -70
  608. package/dist/esm/routing/router.js.map +1 -1
  609. package/dist/esm/utilities/fs.utilities.js +1 -1
  610. package/dist/esm/utilities/metadata-injection-keys.enum.js +1 -0
  611. package/dist/esm/utilities/metadata-injection-keys.enum.js.map +1 -1
  612. package/dist/esm/utilities/sem-ver.utilities.js +204 -0
  613. package/dist/esm/utilities/sem-ver.utilities.js.map +1 -0
  614. package/dist/esm/utilities/typeorm.utilities.js +47 -0
  615. package/dist/esm/utilities/typeorm.utilities.js.map +1 -0
  616. package/dist/esm/utilities/uuid.utilities.js +2 -2
  617. package/dist/esm/utilities/uuid.utilities.js.map +1 -1
  618. package/dist/esm/validation/validation-problem.model.js +4 -7
  619. package/dist/esm/validation/validation-problem.model.js.map +1 -1
  620. package/dist/esm/validation/validation.service.js +6 -4
  621. package/dist/esm/validation/validation.service.js.map +1 -1
  622. package/dist/esm/versioning/route-with-version-data.model.js +3 -0
  623. package/dist/esm/versioning/route-with-version-data.model.js.map +1 -0
  624. package/dist/esm/versioning/supported-versions-options.model.js +3 -0
  625. package/dist/esm/versioning/supported-versions-options.model.js.map +1 -0
  626. package/dist/esm/{types/version.type.js → versioning/version.model.js} +1 -1
  627. package/dist/esm/versioning/version.model.js.map +1 -0
  628. package/dist/esm/versioning/versioning-service.interface.js +3 -0
  629. package/dist/esm/versioning/versioning-service.interface.js.map +1 -0
  630. package/dist/esm/versioning/versioning.service.js +366 -0
  631. package/dist/esm/versioning/versioning.service.js.map +1 -0
  632. package/dist/esm/websocket/decorators/websocket-controller.decorator.js +2 -2
  633. package/dist/esm/websocket/decorators/websocket-controller.decorator.js.map +1 -1
  634. package/dist/esm/websocket/decorators/websocket-route.decorator.js +3 -2
  635. package/dist/esm/websocket/decorators/websocket-route.decorator.js.map +1 -1
  636. package/dist/esm/websocket/models/connection/socket-io-websocket-connection.model.js +3 -1
  637. package/dist/esm/websocket/models/connection/socket-io-websocket-connection.model.js.map +1 -1
  638. package/dist/esm/websocket/models/websocket-message.model.js +1 -1
  639. package/dist/esm/websocket/models/websocket-message.model.js.map +1 -1
  640. package/dist/esm/websocket/models/websocket-request.model.js +1 -1
  641. package/dist/esm/websocket/models/websocket-request.model.js.map +1 -1
  642. package/dist/esm/websocket/services/websocket.service.js +122 -35
  643. package/dist/esm/websocket/services/websocket.service.js.map +1 -1
  644. package/package.json +21 -23
  645. package/src/__testing__/mocks/entities/child.entity.ts +4 -1
  646. package/src/__testing__/mocks/entities/company.entity.ts +5 -2
  647. package/src/__testing__/mocks/entities/profile.entity.ts +5 -2
  648. package/src/__testing__/mocks/entities/role.entity.ts +1 -1
  649. package/src/__testing__/mocks/entities/user.entity.ts +1 -1
  650. package/src/__testing__/test-server/create-test-data-source.function.ts +5 -5
  651. package/src/__testing__/test-server/providers.ts +25 -1
  652. package/src/__testing__/test-server/start-test-server.function.ts +82 -12
  653. package/src/__testing__/test-server/user-repository.ts +4 -3
  654. package/src/application-options.model.ts +2 -2
  655. package/src/application.ts +8 -3
  656. package/src/assets/asset.service.ts +3 -1
  657. package/src/auth/2fa/methods/otp/otp-credentials.model.ts +1 -1
  658. package/src/auth/2fa/methods/otp/otp.two-factor-method.ts +1 -1
  659. package/src/auth/2fa/two-factor.service.test.ts +151 -0
  660. package/src/auth/auth.service.test.ts +381 -0
  661. package/src/auth/encryption/encryption-key.model.ts +7 -2
  662. package/src/auth/strategies/cookie/cookie-auth.auth-strategy.ts +3 -2
  663. package/src/auth/strategies/cookie/cookie-auth.controller.ts +1 -1
  664. package/src/auth/strategies/jwt/jwt-auth.controller.ts +1 -1
  665. package/src/auth/strategies/jwt/jwt-credentials.model.ts +7 -1
  666. package/src/auth/strategies/jwt/jwt.auth-strategy.ts +6 -4
  667. package/src/backup/backup-resource-entity.model.ts +8 -3
  668. package/src/backup/backup-service.test.ts +3 -2
  669. package/src/backup/backup.service.ts +1 -1
  670. package/src/caching/cache/base-cache.model.ts +3 -3
  671. package/src/caching/cache/multi-tier.cache.ts +3 -3
  672. package/src/caching/cache/read-aside/read-aside.cache.ts +2 -2
  673. package/src/caching/cache/read-aside/write-around-read-aside.cache.ts +2 -2
  674. package/src/caching/cache/read-aside/write-behind-read-aside.cache.ts +2 -2
  675. package/src/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.ts +2 -2
  676. package/src/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.ts +2 -2
  677. package/src/caching/cache/read-aside/write-through-read-aside.cache.ts +2 -2
  678. package/src/caching/cache/read-through/read-through.cache.ts +2 -2
  679. package/src/caching/cache/read-through/write-around-read-through.cache.ts +2 -2
  680. package/src/caching/cache/read-through/write-behind-read-through.cache.ts +2 -2
  681. package/src/caching/cache/read-through/write-invalidate-read-through-args-only.cache.ts +2 -2
  682. package/src/caching/cache/read-through/write-invalidate-read-through-with-result.cache.ts +2 -2
  683. package/src/caching/cache/read-through/write-through-read-through.cache.ts +2 -2
  684. package/src/change-sets/change-set-repository.test.ts +317 -0
  685. package/src/change-sets/change-set-repository.ts +17 -17
  686. package/src/change-sets/models/change-set-entity.model.ts +6 -4
  687. package/src/change-sets/models/change-set.model.ts +2 -2
  688. package/src/change-sets/models/change.model.ts +9 -4
  689. package/src/change-sets/models/soft-delete-entity.model.ts +5 -3
  690. package/src/change-sets/soft-delete-repository.test.ts +326 -0
  691. package/src/change-sets/soft-delete-repository.ts +29 -10
  692. package/src/context/als.utilities.ts +5 -5
  693. package/src/context/cache/cache.context.ts +33 -0
  694. package/src/context/request/request-context-token.model.ts +1 -1
  695. package/src/cron/cron-job-entity.model.ts +2 -2
  696. package/src/cron/cron.test.ts +421 -0
  697. package/src/data-source/array-where-filter.test.ts +332 -0
  698. package/src/data-source/data-sources/data-source-initialization.error.ts +9 -0
  699. package/src/data-source/data-sources/data-source.interface.ts +14 -1
  700. package/src/data-source/data-sources/postgres-typeorm-data-source.model.ts +340 -0
  701. package/src/data-source/data-sources/sql-data-source.interface.ts +35 -0
  702. package/src/data-source/data-sources/typeorm-base-data-source.model.ts +543 -0
  703. package/src/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.ts +484 -0
  704. package/src/data-source/data-sources/where-converter/typeorm-where-filter.converter.ts +389 -0
  705. package/src/data-source/exclude-property.test.ts +4 -1
  706. package/src/data-source/hooks/hooks.test.ts +268 -0
  707. package/src/data-source/migration/migration-entity.model.ts +2 -2
  708. package/src/data-source/migration/migration.model.ts +2 -2
  709. package/src/data-source/migration/migration.test.ts +6 -5
  710. package/src/data-source/models/options/count-options.model.ts +2 -7
  711. package/src/data-source/models/options/delete-all-options.model.ts +2 -4
  712. package/src/data-source/models/options/find-all-options.model.ts +2 -2
  713. package/src/data-source/models/options/find-by-id-options.model.ts +1 -6
  714. package/src/data-source/models/options/find-one-options.model.ts +2 -11
  715. package/src/data-source/models/options/update-all-options.model.ts +2 -5
  716. package/src/data-source/models/options/update-by-id-options.model.ts +2 -5
  717. package/src/data-source/models/where/array-where-filter.model.ts +147 -5
  718. package/src/data-source/models/where/base-where-filter.model.ts +19 -1
  719. package/src/data-source/models/where/boolean-where-filter.model.ts +7 -2
  720. package/src/data-source/models/where/date-where-filter.model.ts +17 -16
  721. package/src/data-source/models/where/number-where-filter.model.ts +9 -16
  722. package/src/data-source/models/where/object-where-filter.model.ts +66 -7
  723. package/src/data-source/models/where/string-where-filter.model.ts +27 -17
  724. package/src/data-source/models/where/where-filter-keys.model.ts +91 -0
  725. package/src/data-source/models/where/where-filter-to-find-options-where-function.test.ts +35 -13
  726. package/src/data-source/models/where/where-filter.model.ts +7 -4
  727. package/src/data-source/nested-where-filter.test.ts +349 -0
  728. package/src/data-source/query-failed.error.ts +38 -1
  729. package/src/data-source/repository-relation-pitfalls.test.ts +232 -0
  730. package/src/data-source/repository.test.ts +274 -37
  731. package/src/data-source/repository.ts +50 -16
  732. package/src/data-source/transaction/transaction.test.ts +1 -1
  733. package/src/data-source/where-filter.test.ts +489 -0
  734. package/src/di/decorators/inject-repository.decorator.ts +3 -2
  735. package/src/di/default/zibri-di-providers.default.ts +4 -0
  736. package/src/di/default/zibri-di-tokens.default.ts +5 -2
  737. package/src/email/email.service.test.ts +382 -0
  738. package/src/email/email.service.ts +9 -10
  739. package/src/email/models/email.model.ts +5 -5
  740. package/src/entity/decorators/entity.decorator.ts +44 -5
  741. package/src/entity/decorators/property.decorator.ts +54 -36
  742. package/src/entity/entity-metadata-missing.error.ts +15 -0
  743. package/src/entity/generation/generate-entity-file.function.ts +1 -1
  744. package/src/entity/models/base-relation-metadata.model.ts +1 -1
  745. package/src/entity/models/belongs-to-one-property-metadata.model.ts +34 -0
  746. package/src/entity/models/has-one-property-metadata.model.ts +20 -0
  747. package/src/entity/models/many-to-many-property-metadata.model.ts +3 -3
  748. package/src/entity/models/many-to-one-property-metadata.model.ts +17 -3
  749. package/src/entity/models/relation.enum.ts +2 -1
  750. package/src/entity/partial-class.model.ts +1 -1
  751. package/src/event/event-cleanup.cron-job.ts +4 -6
  752. package/src/event/event-subscriber-run.model.ts +9 -10
  753. package/src/event/event.model.ts +1 -1
  754. package/src/event/event.service.ts +6 -3
  755. package/src/global/global-registry.ts +2 -2
  756. package/src/global/model-registry/default-descriptor.ts +2 -1
  757. package/src/global/model-registry/encryption-descriptor.ts +2 -1
  758. package/src/global/model-registry/exclude-descriptor.ts +2 -1
  759. package/src/global/model-registry/hash-descriptor.ts +2 -1
  760. package/src/http/http-request.model.ts +2 -2
  761. package/src/http/known-header.enum.ts +1 -0
  762. package/src/http-client/http-client.ts +0 -1
  763. package/src/index.ts +24 -6
  764. package/src/localization/formatting/format-price.function.ts +2 -3
  765. package/src/logging/log-context.model.ts +8 -39
  766. package/src/logging/logger.ts +1 -1
  767. package/src/multithreading/models/thread-job-entity.model.ts +5 -5
  768. package/src/multithreading/services/thread-job.ts +4 -4
  769. package/src/open-api/open-api-service.interface.ts +2 -1
  770. package/src/open-api/open-api.service.ts +295 -154
  771. package/src/parsing/form-data/form-data.body-parser.ts +2 -1
  772. package/src/parsing/functions/parse-boolean.function.ts +0 -1
  773. package/src/parsing/functions/parse-object.function.ts +2 -1
  774. package/src/parsing/html/csp-options.model.ts +3 -0
  775. package/src/parsing/parser.ts +5 -4
  776. package/src/plugin/invoicing/models/invoice-address.model.ts +2 -2
  777. package/src/plugin/invoicing/models/vat.model.ts +1 -1
  778. package/src/plugin/mailing-list/mailing-list.controller.ts +1 -1
  779. package/src/plugin/mailing-list/models/mailing-list-subscriber.model.ts +1 -1
  780. package/src/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.ts +1 -1
  781. package/src/plugin/payment/models/payment.model.ts +2 -2
  782. package/src/plugin/payment/providers/pay-pal/pay-pal-client.ts +17 -17
  783. package/src/plugin/payment/providers/pay-pal/pay-pal.payment-provider.test.ts +1 -1
  784. package/src/plugin/payment/providers/pay-pal/pay-pal.payment-provider.ts +1 -1
  785. package/src/preact/preact.utilities.ts +1 -1
  786. package/src/preact/validate-email-templates.function.ts +1 -1
  787. package/src/rate-limiting/rate-limiter.ts +23 -12
  788. package/src/routing/controller-route-configuration.model.ts +6 -1
  789. package/src/routing/decorators/body.decorator.ts +2 -1
  790. package/src/routing/decorators/controller.decorator.ts +8 -2
  791. package/src/routing/decorators/create-http-decorator.function.ts +3 -2
  792. package/src/routing/decorators/delete.decorator.ts +4 -2
  793. package/src/routing/decorators/get.decorator.ts +4 -2
  794. package/src/routing/decorators/http-decorator-option-input.model.ts +11 -0
  795. package/src/routing/decorators/patch.decorator.ts +4 -2
  796. package/src/routing/decorators/post.decorator.ts +4 -2
  797. package/src/routing/resolve-route-params.function.ts +2 -1
  798. package/src/routing/route-configuration.model.ts +13 -3
  799. package/src/routing/router.ts +266 -101
  800. package/src/utilities/fs.utilities.ts +1 -1
  801. package/src/utilities/metadata-injection-keys.enum.ts +1 -0
  802. package/src/utilities/sem-ver.utilities.ts +270 -0
  803. package/src/utilities/typeorm.utilities.ts +75 -0
  804. package/src/utilities/uuid.utilities.ts +2 -2
  805. package/src/validation/validation-problem.model.ts +7 -9
  806. package/src/validation/validation.service.ts +6 -4
  807. package/src/versioning/route-with-version-data.model.ts +15 -0
  808. package/src/versioning/supported-versions-options.model.ts +25 -0
  809. package/src/versioning/version.model.ts +30 -0
  810. package/src/versioning/versioning-service.interface.ts +39 -0
  811. package/src/versioning/versioning-websocket.test.ts +351 -0
  812. package/src/versioning/versioning.service.test.ts +582 -0
  813. package/src/versioning/versioning.service.ts +496 -0
  814. package/src/websocket/decorators/websocket-controller.decorator.ts +13 -3
  815. package/src/websocket/decorators/websocket-route.decorator.ts +15 -2
  816. package/src/websocket/models/connection/base-websocket-connection.model.ts +6 -0
  817. package/src/websocket/models/connection/socket-io-websocket-connection.model.ts +8 -1
  818. package/src/websocket/models/websocket-controller-route-configuration.model.ts +8 -1
  819. package/src/websocket/models/websocket-message.model.ts +3 -3
  820. package/src/websocket/models/websocket-request.model.ts +19 -10
  821. package/src/websocket/services/websocket.service.ts +144 -40
  822. package/dist/cjs/data-source/data-sources/postgres-data-source.model.d.ts +0 -129
  823. package/dist/cjs/data-source/data-sources/postgres-data-source.model.d.ts.map +0 -1
  824. package/dist/cjs/data-source/data-sources/postgres-data-source.model.js +0 -534
  825. package/dist/cjs/data-source/data-sources/postgres-data-source.model.js.map +0 -1
  826. package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.d.ts +0 -11
  827. package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.d.ts.map +0 -1
  828. package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.js +0 -229
  829. package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.js.map +0 -1
  830. package/dist/cjs/entity/models/one-to-one-property-metadata.model.d.ts +0 -30
  831. package/dist/cjs/entity/models/one-to-one-property-metadata.model.d.ts.map +0 -1
  832. package/dist/cjs/entity/models/one-to-one-property-metadata.model.js.map +0 -1
  833. package/dist/cjs/types/version.type.d.ts +0 -5
  834. package/dist/cjs/types/version.type.d.ts.map +0 -1
  835. package/dist/cjs/types/version.type.js.map +0 -1
  836. package/dist/cjs/utilities/compare-versions.function.d.ts +0 -9
  837. package/dist/cjs/utilities/compare-versions.function.d.ts.map +0 -1
  838. package/dist/cjs/utilities/compare-versions.function.js +0 -33
  839. package/dist/cjs/utilities/compare-versions.function.js.map +0 -1
  840. package/dist/cjs/utilities/is-version.function.d.ts +0 -7
  841. package/dist/cjs/utilities/is-version.function.d.ts.map +0 -1
  842. package/dist/cjs/utilities/is-version.function.js +0 -18
  843. package/dist/cjs/utilities/is-version.function.js.map +0 -1
  844. package/dist/esm/data-source/data-sources/postgres-data-source.model.js +0 -534
  845. package/dist/esm/data-source/data-sources/postgres-data-source.model.js.map +0 -1
  846. package/dist/esm/data-source/models/where/where-filter-to-find-options-where.function.js +0 -229
  847. package/dist/esm/data-source/models/where/where-filter-to-find-options-where.function.js.map +0 -1
  848. package/dist/esm/entity/models/one-to-one-property-metadata.model.js.map +0 -1
  849. package/dist/esm/types/version.type.js.map +0 -1
  850. package/dist/esm/utilities/compare-versions.function.js +0 -33
  851. package/dist/esm/utilities/compare-versions.function.js.map +0 -1
  852. package/dist/esm/utilities/is-version.function.js +0 -18
  853. package/dist/esm/utilities/is-version.function.js.map +0 -1
  854. package/src/data-source/data-sources/postgres-data-source.model.ts +0 -675
  855. package/src/data-source/models/where/where-filter-to-find-options-where.function.ts +0 -307
  856. package/src/entity/models/one-to-one-property-metadata.model.ts +0 -35
  857. package/src/types/version.type.ts +0 -4
  858. package/src/utilities/compare-versions.function.ts +0 -33
  859. package/src/utilities/is-version.function.ts +0 -16
@@ -2,7 +2,7 @@ import { MigrationEntity } from './migration-entity.model';
2
2
  import { repositoryTokenFor } from '../../di/decorators/inject-repository.decorator';
3
3
  import { inject } from '../../di/inject.function';
4
4
  import { Newable } from '../../types/newable.type';
5
- import { Version } from '../../types/version.type';
5
+ import { SemVerVersion } from '../../utilities/sem-ver.utilities';
6
6
  import { DataSourceInterface } from '../data-sources/data-source.interface';
7
7
  import { Repository } from '../repository';
8
8
  import { Transaction } from '../transaction/transaction.model';
@@ -11,7 +11,7 @@ import { Transaction } from '../transaction/transaction.model';
11
11
  * Base class for a data source migration.
12
12
  */
13
13
  export abstract class Migration {
14
- abstract readonly version: Version;
14
+ abstract readonly version: SemVerVersion;
15
15
  /**
16
16
  * The data source that the migration is for.
17
17
  */
@@ -19,8 +19,9 @@ import { Entity } from '../../entity/decorators/entity.decorator';
19
19
  import { Property } from '../../entity/decorators/property.decorator';
20
20
  import { GlobalRegistry } from '../../global/global-registry';
21
21
  import { Newable } from '../../types/newable.type';
22
- import { Version } from '../../types/version.type';
23
- import { PostgresDataSource, PostgresOptions } from '../data-sources/postgres-data-source.model';
22
+ import { OmitStrict } from '../../types/omit-strict.type';
23
+ import { SemVerVersion } from '../../types/version.type';
24
+ import { PostgresDataSource, PostgresOptions } from '../data-sources/postgres-typeorm-data-source.model';
24
25
  import { DataSource } from '../decorators/data-source.decorator';
25
26
  import { Repository } from '../repository';
26
27
  import { Transaction } from '../transaction/transaction.model';
@@ -33,7 +34,7 @@ class LegacyItem {
33
34
 
34
35
  @DataSource()
35
36
  class LegacyDbDataSource extends PostgresDataSource {
36
- options: PostgresOptions = {
37
+ options: OmitStrict<PostgresOptions, 'type'> = {
37
38
  host: 'localhost',
38
39
  username: 'postgres',
39
40
  password: 'password',
@@ -54,7 +55,7 @@ class Item {
54
55
 
55
56
  @DataSource()
56
57
  class DbDataSource extends PostgresDataSource {
57
- options: PostgresOptions = {
58
+ options: OmitStrict<PostgresOptions, 'type'> = {
58
59
  host: 'localhost',
59
60
  username: 'postgres',
60
61
  password: 'password',
@@ -67,7 +68,7 @@ class DbDataSource extends PostgresDataSource {
67
68
 
68
69
  @Injectable()
69
70
  class AddTestValueMigration extends Migration {
70
- version: Version = '0.0.1';
71
+ version: SemVerVersion = '0.0.1';
71
72
 
72
73
  constructor(
73
74
  @InjectRepository(Item)
@@ -1,14 +1,9 @@
1
1
  import { BaseRepositoryOptions } from './base-repository-options.model';
2
+ import { FindAllOptions } from './find-all-options.model';
2
3
  import { BaseEntity } from '../../../entity/base-entity.model';
3
- import { Where } from '../where/where-filter.model';
4
4
 
5
5
  /**
6
6
  * Options for counting entities.
7
7
  */
8
8
  export type CountOptions<T extends BaseEntity> = BaseRepositoryOptions
9
- & {
10
- /**
11
- * The where filter to count the options by.
12
- */
13
- where?: Where<T>
14
- };
9
+ & Pick<FindAllOptions<T>, 'where'>;
@@ -1,8 +1,6 @@
1
- import { FindAllOptions } from './find-all-options.model';
2
- import { BaseEntity } from '../../../entity/base-entity.model';
3
- import { OmitStrict } from '../../../types/omit-strict.type';
1
+ import { BaseRepositoryOptions } from './base-repository-options.model';
4
2
 
5
3
  /**
6
4
  * Options for deleting multiple entities.
7
5
  */
8
- export type DeleteAllOptions<T extends BaseEntity> = OmitStrict<FindAllOptions<T>, 'where'>;
6
+ export type DeleteAllOptions = BaseRepositoryOptions;
@@ -1,4 +1,4 @@
1
- import { FindManyOptions } from 'typeorm';
1
+ import { FindManyOptions, FindOptionsRelations } from 'typeorm';
2
2
 
3
3
  import { BaseRepositoryOptions } from './base-repository-options.model';
4
4
  import { BaseEntity } from '../../../entity/base-entity.model';
@@ -17,5 +17,5 @@ export type FindAllOptions<T extends BaseEntity> = BaseRepositoryOptions
17
17
  /**
18
18
  * The relations to include in the found entities.
19
19
  */
20
- relations?: (keyof T)[]
20
+ relations?: FindOptionsRelations<T> | (keyof T)[]
21
21
  };
@@ -5,9 +5,4 @@ import { OmitStrict } from '../../../types/omit-strict.type';
5
5
  /**
6
6
  * Options for finding a single entity by its id.
7
7
  */
8
- export type FindByIdOptions<T extends BaseEntity> = OmitStrict<FindOneOptions<T>, 'where' | 'relations'> & {
9
- /**
10
- * The relations to include in the found entity.
11
- */
12
- relations?: (keyof T)[]
13
- };
8
+ export type FindByIdOptions<T extends BaseEntity> = OmitStrict<FindOneOptions<T>, 'where'>;
@@ -1,18 +1,9 @@
1
1
  import { BaseRepositoryOptions } from './base-repository-options.model';
2
+ import { FindAllOptions } from './find-all-options.model';
2
3
  import { BaseEntity } from '../../../entity/base-entity.model';
3
- import { Where } from '../where/where-filter.model';
4
4
 
5
5
  /**
6
6
  * Options for finding a single entity.
7
7
  */
8
8
  export type FindOneOptions<T extends BaseEntity> = BaseRepositoryOptions
9
- & {
10
- /**
11
- * The where filter to find the entity by.
12
- */
13
- where?: Where<T>,
14
- /**
15
- * The relations to include in the found entity.
16
- */
17
- relations?: (keyof T)[]
18
- };
9
+ & Pick<FindAllOptions<T>, 'where' | 'relations'>;
@@ -4,9 +4,6 @@ import { BaseRepositoryOptions } from './base-repository-options.model';
4
4
  * Options for updating multiple entities at once.
5
5
  */
6
6
  export type UpdateAllOptions = BaseRepositoryOptions & {
7
- /**
8
- * Whether or not setting the id property manually is allowed.
9
- * @default false.
10
- */
11
- allowId?: boolean
7
+ // should never be allowed, as that would cause typeorm's manager.save method to create new entities instead of updating the existing ones.
8
+ // allowId?: boolean
12
9
  };
@@ -4,9 +4,6 @@ import { BaseRepositoryOptions } from './base-repository-options.model';
4
4
  * Options for updating an entity by its id.
5
5
  */
6
6
  export type UpdateByIdOptions = BaseRepositoryOptions & {
7
- /**
8
- * Whether or not setting the id property manually is allowed.
9
- * @default false.
10
- */
11
- allowId?: boolean
7
+ // should never be allowed, as that would cause typeorm's manager.save method to create a new entity instead of updating the existing one.
8
+ // allowId?: boolean
12
9
  };
@@ -1,13 +1,13 @@
1
+ import { Where, WhereFilterProperty } from './where-filter.model';
1
2
 
2
3
  /**
3
4
  * A filter for an array where property.
4
5
  */
5
- export type ArrayWhereFilter<ItemType> = null | {
6
+ export type ArrayWhereFilter<ItemType> = null | ItemType[] | {
6
7
  /**
7
- * The property needs to equal the value.
8
+ * The property needs to be not this value.
8
9
  */
9
- equals: ItemType[]
10
- } | {
10
+ not?: null | ItemType[],
11
11
  /**
12
12
  * The property needs to include the value.
13
13
  */
@@ -15,5 +15,147 @@ export type ArrayWhereFilter<ItemType> = null | {
15
15
  /**
16
16
  * The properties items needs to be included in the value.
17
17
  */
18
- isIncludedIn?: ItemType[]
18
+ isIncludedIn?: ItemType[],
19
+ /**
20
+ * The length that this array needs to have.
21
+ */
22
+ length?: number,
23
+ /**
24
+ * The length of this array needs to be greater than the provided value.
25
+ */
26
+ lengthGreaterThan?: number,
27
+ /**
28
+ * The length of this array needs to be greater than or equal to the provided value.
29
+ */
30
+ lengthGreaterThanEquals?: number,
31
+ /**
32
+ * The length of this array needs to be lesser than the provided value.
33
+ */
34
+ lengthLesserThan?: number,
35
+ /**
36
+ * The length of this array needs to be lesser than or equal to the provided value.
37
+ */
38
+ lengthLesserThanEquals?: number,
39
+ /**
40
+ * A where condition that at least one of the items inside this array needs to match.
41
+ */
42
+ where?: never
43
+ }
44
+ | {
45
+ /**
46
+ * The property needs to be not this value.
47
+ */
48
+ not?: never,
49
+ /**
50
+ * The property needs to include the value.
51
+ */
52
+ includes?: never,
53
+ /**
54
+ * The properties items needs to be included in the value.
55
+ */
56
+ isIncludedIn?: never,
57
+ /**
58
+ * The length that this array needs to have.
59
+ */
60
+ length?: number,
61
+ /**
62
+ * The length of this array needs to be greater than the provided value.
63
+ */
64
+ lengthGreaterThan?: number,
65
+ /**
66
+ * The length of this array needs to be greater than or equal to the provided value.
67
+ */
68
+ lengthGreaterThanEquals?: number,
69
+ /**
70
+ * The length of this array needs to be lesser than the provided value.
71
+ */
72
+ lengthLesserThan?: number,
73
+ /**
74
+ * The length of this array needs to be lesser than or equal to the provided value.
75
+ */
76
+ lengthLesserThanEquals?: number,
77
+ /**
78
+ * A where condition that at least one of the items inside this array needs to match.
79
+ */
80
+ where: WhereFilterProperty<ItemType> | WhereFilterProperty<ItemType>[]
81
+ };
82
+
83
+ /**
84
+ * A filter for an array of object items where property.
85
+ */
86
+ export type ObjectArrayWhereFilter<ItemType extends object> = null | ItemType[] | {
87
+ /**
88
+ * The property needs to be not this value.
89
+ */
90
+ not?: null | ItemType[],
91
+ /**
92
+ * The property needs to include the value.
93
+ */
94
+ includes?: ItemType[],
95
+ /**
96
+ * The properties items needs to be included in the value.
97
+ */
98
+ isIncludedIn?: ItemType[],
99
+ /**
100
+ * The length that this array needs to have.
101
+ */
102
+ length?: number,
103
+ /**
104
+ * The length of this array needs to be greater than the provided value.
105
+ */
106
+ lengthGreaterThan?: number,
107
+ /**
108
+ * The length of this array needs to be greater than or equal to the provided value.
109
+ */
110
+ lengthGreaterThanEquals?: number,
111
+ /**
112
+ * The length of this array needs to be lesser than the provided value.
113
+ */
114
+ lengthLesserThan?: number,
115
+ /**
116
+ * The length of this array needs to be lesser than or equal to the provided value.
117
+ */
118
+ lengthLesserThanEquals?: number,
119
+ /**
120
+ * A where condition that at least one of the items inside this array needs to match.
121
+ */
122
+ where?: never
123
+ }
124
+ | {
125
+ /**
126
+ * The property needs to be not this value.
127
+ */
128
+ not?: never,
129
+ /**
130
+ * The property needs to include the value.
131
+ */
132
+ includes?: never,
133
+ /**
134
+ * The properties items needs to be included in the value.
135
+ */
136
+ isIncludedIn?: never,
137
+ /**
138
+ * The length that this array needs to have.
139
+ */
140
+ length?: number,
141
+ /**
142
+ * The length of this array needs to be greater than the provided value.
143
+ */
144
+ lengthGreaterThan?: number,
145
+ /**
146
+ * The length of this array needs to be greater than or equal to the provided value.
147
+ */
148
+ lengthGreaterThanEquals?: number,
149
+ /**
150
+ * The length of this array needs to be lesser than the provided value.
151
+ */
152
+ lengthLesserThan?: number,
153
+ /**
154
+ * The length of this array needs to be lesser than or equal to the provided value.
155
+ */
156
+ lengthLesserThanEquals?: number,
157
+ /**
158
+ * A where condition that at least one of the items inside this array needs to match.
159
+ */
160
+ where: Where<ItemType>
19
161
  };
@@ -1,4 +1,22 @@
1
+ /**
2
+ * The base where filter object.
3
+ */
4
+ export type BaseWhereFilterObject<T> = {
5
+ /**
6
+ * The property needs to be not this value.
7
+ */
8
+ not?: T | null,
9
+ /**
10
+ * The property needs to be one of the values in the array.
11
+ */
12
+ oneOf?: (T | null)[],
13
+ /**
14
+ * The property needs to be NOT one of the values in the array.
15
+ */
16
+ notOneOf?: (T | null)[]
17
+ };
18
+
1
19
  /**
2
20
  * A base where filter, shared by all property types.
3
21
  */
4
- export type BaseWhereFilter<T> = T | null;
22
+ export type BaseWhereFilter<T, FilterObject extends BaseWhereFilterObject<T>> = T | null | FilterObject;
@@ -1,6 +1,11 @@
1
- import { BaseWhereFilter } from './base-where-filter.model';
1
+ import { BaseWhereFilter, BaseWhereFilterObject } from './base-where-filter.model';
2
+ import { ExcludeStrict } from '../../../types/exclude-strict.type';
3
+ import { OmitStrict } from '../../../types/omit-strict.type';
2
4
 
3
5
  /**
4
6
  * A filter for a boolean where property.
5
7
  */
6
- export type BooleanWhereFilter = BaseWhereFilter<boolean>;
8
+ export type BooleanWhereFilter = ExcludeStrict<
9
+ BaseWhereFilter<boolean, BaseWhereFilterObject<boolean>>,
10
+ BaseWhereFilterObject<boolean>
11
+ > | Required<OmitStrict<BaseWhereFilterObject<boolean>, 'oneOf' | 'notOneOf'>>;
@@ -1,27 +1,28 @@
1
- import { BaseWhereFilter } from './base-where-filter.model';
1
+ import { BaseWhereFilter, BaseWhereFilterObject } from './base-where-filter.model';
2
2
 
3
3
  /**
4
- * A filter for a date where property.
4
+ * The date where filter object.
5
5
  */
6
- export type DateWhereFilter = BaseWhereFilter<Date> | {
7
- /**
8
- * The property needs to be not this value.
9
- */
10
- not?: Date,
6
+ type DateFilterWhereObject = BaseWhereFilterObject<Date> & {
11
7
  /**
12
- * The property needs to be one of the values in the array.
8
+ * The property needs to be after the date.
13
9
  */
14
- oneOf?: Date[],
10
+ after?: Date,
15
11
  /**
16
- * The property needs to be NOT one of the values in the array.
12
+ * The property needs to be before the date.
17
13
  */
18
- notOneOf?: Date[],
14
+ before?: Date,
19
15
  /**
20
- * The property needs to be after the value.
16
+ * The property needs to be after or on the date.
21
17
  */
22
- after?: Date,
18
+ afterOrOn?: Date,
23
19
  /**
24
- * The property needs to be before the value.
20
+ * The property needs to be before or on the date.
25
21
  */
26
- before?: Date
27
- };
22
+ beforeOrOn?: Date
23
+ };
24
+
25
+ /**
26
+ * A filter for a date where property.
27
+ */
28
+ export type DateWhereFilter = BaseWhereFilter<Date, DateFilterWhereObject>;
@@ -1,21 +1,9 @@
1
- import { BaseWhereFilter } from './base-where-filter.model';
1
+ import { BaseWhereFilter, BaseWhereFilterObject } from './base-where-filter.model';
2
2
 
3
3
  /**
4
- * A filter for a number where property.
4
+ * The number where filter object.
5
5
  */
6
- export type NumberWhereFilter<T extends number | bigint> = BaseWhereFilter<T> | {
7
- /**
8
- * The property needs to be not this value.
9
- */
10
- not?: T,
11
- /**
12
- * The property needs to be one of the values in the array.
13
- */
14
- oneOf?: T[],
15
- /**
16
- * The property needs to be NOT one of the values in the array.
17
- */
18
- notOneOf?: T[],
6
+ type NumberWhereFilterObject<T extends number | bigint> = BaseWhereFilterObject<T> & {
19
7
  /**
20
8
  * The property needs to be greater than the provided value.
21
9
  */
@@ -32,4 +20,9 @@ export type NumberWhereFilter<T extends number | bigint> = BaseWhereFilter<T> |
32
20
  * The property needs to be lesser than or equal to the provided value.
33
21
  */
34
22
  lesserThanEquals?: T
35
- };
23
+ };
24
+
25
+ /**
26
+ * A filter for a number where property.
27
+ */
28
+ export type NumberWhereFilter<T extends number | bigint> = BaseWhereFilter<T, NumberWhereFilterObject<T>>;
@@ -3,10 +3,69 @@ import { Where } from './where-filter.model';
3
3
  /**
4
4
  * A filter for a object where property.
5
5
  */
6
- export type ObjectWhereFilter<T extends Object> = null
7
- // eslint-disable-next-line jsdoc/require-jsdoc
8
- | { equals: T, where?: never, not?: never, oneOf?: never, notOneOf?: never }
9
- // eslint-disable-next-line jsdoc/require-jsdoc
10
- | { equals?: never, where: Where<T>, not?: never, oneOf?: never, notOneOf?: never }
11
- // eslint-disable-next-line jsdoc/require-jsdoc
12
- | { equals?: never, where?: never, not?: T, oneOf?: T[], notOneOf?: T[] };
6
+ export type ObjectWhereFilter<T extends Object> = {
7
+ /**
8
+ * The property needs to equal the value.
9
+ */
10
+ is: T | null,
11
+ /**
12
+ * A where condition that the property needs to match.
13
+ */
14
+ where?: never,
15
+ /**
16
+ * The property needs to be not this value.
17
+ */
18
+ not?: never,
19
+ /**
20
+ * The property should be one of the provided values.
21
+ */
22
+ oneOf?: never,
23
+ /**
24
+ * The property should NOT be one of the provided values.
25
+ */
26
+ notOneOf?: never
27
+ }
28
+ | {
29
+ /**
30
+ * The property needs to equal the value.
31
+ */
32
+ is?: never,
33
+ /**
34
+ * A where condition that the property needs to match.
35
+ */
36
+ where: Where<T>,
37
+ /**
38
+ * The property needs to be not this value.
39
+ */
40
+ not?: never,
41
+ /**
42
+ * The property should be one of the provided values.
43
+ */
44
+ oneOf?: never,
45
+ /**
46
+ * The property should NOT be one of the provided values.
47
+ */
48
+ notOneOf?: never
49
+ }
50
+ | {
51
+ /**
52
+ * The property needs to equal the value.
53
+ */
54
+ is?: never,
55
+ /**
56
+ * A where condition that the property needs to match.
57
+ */
58
+ where?: never,
59
+ /**
60
+ * The property needs to be not this value.
61
+ */
62
+ not?: T | null,
63
+ /**
64
+ * The property should be one of the provided values.
65
+ */
66
+ oneOf?: (T | null)[],
67
+ /**
68
+ * The property should NOT be one of the provided values.
69
+ */
70
+ notOneOf?: (T | null)[]
71
+ };
@@ -1,21 +1,11 @@
1
- import { BaseWhereFilter } from './base-where-filter.model';
1
+ import { BaseWhereFilter, BaseWhereFilterObject } from './base-where-filter.model';
2
+ import { ExcludeStrict } from '../../../types/exclude-strict.type';
3
+ import { Percentage } from '../../../types/percentage.type';
2
4
 
3
5
  /**
4
- * A filter for a string where property.
6
+ * The string where filter object.
5
7
  */
6
- export type StringWhereFilter = BaseWhereFilter<string> | {
7
- /**
8
- * The property needs to be not this value.
9
- */
10
- not?: string,
11
- /**
12
- * The property needs to be one of the values in the array.
13
- */
14
- oneOf?: string[],
15
- /**
16
- * The property needs to be NOT one of the values in the array.
17
- */
18
- notOneOf?: string[],
8
+ type StringWhereFilterObject = BaseWhereFilterObject<string> & {
19
9
  /**
20
10
  * The property needs to be like the provided string.
21
11
  * @example '%.com'
@@ -25,5 +15,25 @@ export type StringWhereFilter = BaseWhereFilter<string> | {
25
15
  * The property needs to be like the provided string, ignoring case.
26
16
  * @example '%.cOm'
27
17
  */
28
- iLike?: string
29
- };
18
+ iLike?: string,
19
+ /**
20
+ * The property needs to fuzzily be like the provided string so that eg. Typos don't matter.
21
+ */
22
+ fuzzyLike?: {
23
+ /**
24
+ * The search value.
25
+ */
26
+ value: string,
27
+ /**
28
+ * The minimum similarity that the search term must have as a percentage between 1 and 99.
29
+ *
30
+ * 1 matches almost everything while 99 is basically just a strict equal.
31
+ */
32
+ minSimilarity?: ExcludeStrict<Percentage, 0 | 100>
33
+ }
34
+ };
35
+
36
+ /**
37
+ * A filter for a string where property.
38
+ */
39
+ export type StringWhereFilter = BaseWhereFilter<string, StringWhereFilterObject>;
@@ -0,0 +1,91 @@
1
+
2
+ import { ArrayWhereFilter, ObjectArrayWhereFilter } from './array-where-filter.model';
3
+ import { BooleanWhereFilter } from './boolean-where-filter.model';
4
+ import { DateWhereFilter } from './date-where-filter.model';
5
+ import { NumberWhereFilter } from './number-where-filter.model';
6
+ import { ObjectWhereFilter } from './object-where-filter.model';
7
+ import { StringWhereFilter } from './string-where-filter.model';
8
+ import { ExcludeStrict } from '../../../types/exclude-strict.type';
9
+ import { ObjectUtilities } from '../../../utilities/object.utilities';
10
+
11
+ /**
12
+ * Where filter keys of object properties.
13
+ */
14
+ type ObjectWhereFilterKeys = keyof ObjectWhereFilter<object>;
15
+
16
+ /**
17
+ * Where filter keys of array properties.
18
+ */
19
+ type ArrayWhereFilterKeys = keyof ExcludeStrict<ArrayWhereFilter<object>, null | object[]>;
20
+
21
+ /**
22
+ * Where filter keys of object array properties.
23
+ */
24
+ type ObjectArrayWhereFilterKeys = keyof ExcludeStrict<ObjectArrayWhereFilter<object>, null | object[]>;
25
+
26
+ /**
27
+ * Where filter keys of boolean properties.
28
+ */
29
+ type BooleanWhereFilterKeys = keyof BooleanWhereFilter;
30
+
31
+ /**
32
+ * Where filter keys of date properties.
33
+ */
34
+ type DateWhereFilterKeys = keyof ExcludeStrict<DateWhereFilter, null | Date>;
35
+
36
+ /**
37
+ * Where filter keys of number properties.
38
+ */
39
+ type NumberWhereFilterKeys = keyof ExcludeStrict<NumberWhereFilter<number | bigint>, null | (number | bigint)>;
40
+
41
+ /**
42
+ * Where filter keys of string properties.
43
+ */
44
+ type StringWhereFilterKeys = keyof ExcludeStrict<StringWhereFilter, null | string>;
45
+
46
+ /**
47
+ * All where filter keys.
48
+ */
49
+ export type WhereFilterKeys = ArrayWhereFilterKeys
50
+ | ObjectArrayWhereFilterKeys
51
+ | BooleanWhereFilterKeys
52
+ | DateWhereFilterKeys
53
+ | NumberWhereFilterKeys
54
+ | ObjectWhereFilterKeys
55
+ | StringWhereFilterKeys;
56
+
57
+ const whereFilterKeysRecord: Record<WhereFilterKeys, WhereFilterKeys> = {
58
+ not: 'not',
59
+ like: 'like',
60
+ oneOf: 'oneOf',
61
+ notOneOf: 'notOneOf',
62
+ after: 'after',
63
+ afterOrOn: 'afterOrOn',
64
+ before: 'before',
65
+ beforeOrOn: 'beforeOrOn',
66
+ greaterThan: 'greaterThan',
67
+ greaterThanEquals: 'greaterThanEquals',
68
+ lesserThan: 'lesserThan',
69
+ lesserThanEquals: 'lesserThanEquals',
70
+ iLike: 'iLike',
71
+ fuzzyLike: 'fuzzyLike',
72
+ is: 'is',
73
+ where: 'where',
74
+ includes: 'includes',
75
+ isIncludedIn: 'isIncludedIn',
76
+ length: 'length',
77
+ lengthGreaterThan: 'lengthGreaterThan',
78
+ lengthLesserThanEquals: 'lengthLesserThanEquals',
79
+ lengthGreaterThanEquals: 'lengthGreaterThanEquals',
80
+ lengthLesserThan: 'lengthLesserThan'
81
+ };
82
+ const whereFilterKeySet: Set<WhereFilterKeys> = new Set<WhereFilterKeys>(ObjectUtilities.values(whereFilterKeysRecord));
83
+
84
+ // eslint-disable-next-line jsdoc/require-returns
85
+ /**
86
+ * Checks if the given key is a where filter key.
87
+ * @param key - The key to check.
88
+ */
89
+ export function isWhereFilterKey(key: unknown): key is WhereFilterKeys {
90
+ return whereFilterKeySet.has(key as WhereFilterKeys);
91
+ }