zibri 2.4.0 → 2.4.1

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 (517) hide show
  1. package/dist/cjs/application.d.ts.map +1 -1
  2. package/dist/cjs/application.js +8 -2
  3. package/dist/cjs/application.js.map +1 -1
  4. package/dist/cjs/auth/encryption/encryption-key.model.d.ts +5 -1
  5. package/dist/cjs/auth/encryption/encryption-key.model.d.ts.map +1 -1
  6. package/dist/cjs/auth/encryption/encryption-key.model.js +9 -1
  7. package/dist/cjs/auth/encryption/encryption-key.model.js.map +1 -1
  8. package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.d.ts.map +1 -1
  9. package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.js.map +1 -1
  10. package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.d.ts +5 -1
  11. package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.d.ts.map +1 -1
  12. package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.js +9 -1
  13. package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.js.map +1 -1
  14. package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.d.ts.map +1 -1
  15. package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js +2 -1
  16. package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
  17. package/dist/cjs/backup/backup-resource-entity.model.d.ts +5 -1
  18. package/dist/cjs/backup/backup-resource-entity.model.d.ts.map +1 -1
  19. package/dist/cjs/backup/backup-resource-entity.model.js +9 -1
  20. package/dist/cjs/backup/backup-resource-entity.model.js.map +1 -1
  21. package/dist/cjs/backup/backup.service.js +2 -2
  22. package/dist/cjs/backup/backup.service.js.map +1 -1
  23. package/dist/cjs/caching/cache/base-cache.model.js.map +1 -1
  24. package/dist/cjs/caching/cache/multi-tier.cache.js.map +1 -1
  25. package/dist/cjs/caching/cache/read-aside/read-aside.cache.js.map +1 -1
  26. package/dist/cjs/caching/cache/read-aside/write-around-read-aside.cache.js.map +1 -1
  27. package/dist/cjs/caching/cache/read-aside/write-behind-read-aside.cache.js.map +1 -1
  28. package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js.map +1 -1
  29. package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js.map +1 -1
  30. package/dist/cjs/caching/cache/read-aside/write-through-read-aside.cache.js.map +1 -1
  31. package/dist/cjs/caching/cache/read-through/read-through.cache.js.map +1 -1
  32. package/dist/cjs/caching/cache/read-through/write-around-read-through.cache.js.map +1 -1
  33. package/dist/cjs/caching/cache/read-through/write-behind-read-through.cache.js.map +1 -1
  34. package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js.map +1 -1
  35. package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js.map +1 -1
  36. package/dist/cjs/caching/cache/read-through/write-through-read-through.cache.js.map +1 -1
  37. package/dist/cjs/change-sets/change-set-repository.d.ts +5 -3
  38. package/dist/cjs/change-sets/change-set-repository.d.ts.map +1 -1
  39. package/dist/cjs/change-sets/change-set-repository.js +16 -16
  40. package/dist/cjs/change-sets/change-set-repository.js.map +1 -1
  41. package/dist/cjs/change-sets/models/change-set-entity.model.d.ts +2 -2
  42. package/dist/cjs/change-sets/models/change-set-entity.model.d.ts.map +1 -1
  43. package/dist/cjs/change-sets/models/change-set-entity.model.js +29 -1
  44. package/dist/cjs/change-sets/models/change-set-entity.model.js.map +1 -1
  45. package/dist/cjs/change-sets/models/change-set.model.js +1 -1
  46. package/dist/cjs/change-sets/models/change-set.model.js.map +1 -1
  47. package/dist/cjs/change-sets/models/change.model.d.ts +5 -1
  48. package/dist/cjs/change-sets/models/change.model.d.ts.map +1 -1
  49. package/dist/cjs/change-sets/models/change.model.js +9 -1
  50. package/dist/cjs/change-sets/models/change.model.js.map +1 -1
  51. package/dist/cjs/change-sets/models/soft-delete-entity.model.d.ts +2 -2
  52. package/dist/cjs/change-sets/models/soft-delete-entity.model.d.ts.map +1 -1
  53. package/dist/cjs/change-sets/models/soft-delete-entity.model.js +26 -0
  54. package/dist/cjs/change-sets/models/soft-delete-entity.model.js.map +1 -1
  55. package/dist/cjs/change-sets/soft-delete-repository.d.ts +6 -5
  56. package/dist/cjs/change-sets/soft-delete-repository.d.ts.map +1 -1
  57. package/dist/cjs/change-sets/soft-delete-repository.js +22 -6
  58. package/dist/cjs/change-sets/soft-delete-repository.js.map +1 -1
  59. package/dist/cjs/context/als.utilities.d.ts +3 -3
  60. package/dist/cjs/context/als.utilities.d.ts.map +1 -1
  61. package/dist/cjs/context/als.utilities.js.map +1 -1
  62. package/dist/cjs/context/cache/cache.context.d.ts +27 -0
  63. package/dist/cjs/context/cache/cache.context.d.ts.map +1 -0
  64. package/dist/cjs/context/cache/cache.context.js +61 -0
  65. package/dist/cjs/context/cache/cache.context.js.map +1 -0
  66. package/dist/cjs/data-source/data-sources/data-source-initialization.error.d.ts +7 -0
  67. package/dist/cjs/data-source/data-sources/data-source-initialization.error.d.ts.map +1 -0
  68. package/dist/cjs/data-source/data-sources/data-source-initialization.error.js +14 -0
  69. package/dist/cjs/data-source/data-sources/data-source-initialization.error.js.map +1 -0
  70. package/dist/cjs/data-source/data-sources/data-source.interface.d.ts +9 -1
  71. package/dist/cjs/data-source/data-sources/data-source.interface.d.ts.map +1 -1
  72. package/dist/cjs/data-source/data-sources/data-source.interface.js.map +1 -1
  73. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts +44 -0
  74. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts.map +1 -0
  75. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js +289 -0
  76. package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -0
  77. package/dist/cjs/data-source/data-sources/sql-data-source.interface.d.ts +32 -0
  78. package/dist/cjs/data-source/data-sources/sql-data-source.interface.d.ts.map +1 -0
  79. package/dist/cjs/{entity/models/one-to-one-property-metadata.model.js → data-source/data-sources/sql-data-source.interface.js} +1 -1
  80. package/dist/cjs/data-source/data-sources/sql-data-source.interface.js.map +1 -0
  81. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.d.ts +156 -0
  82. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.d.ts.map +1 -0
  83. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js +378 -0
  84. package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -0
  85. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts +25 -0
  86. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts.map +1 -0
  87. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +353 -0
  88. package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -0
  89. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts +70 -0
  90. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts.map +1 -0
  91. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +248 -0
  92. package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -0
  93. package/dist/cjs/data-source/models/options/count-options.model.d.ts +2 -7
  94. package/dist/cjs/data-source/models/options/count-options.model.d.ts.map +1 -1
  95. package/dist/cjs/data-source/models/options/delete-all-options.model.d.ts +2 -4
  96. package/dist/cjs/data-source/models/options/delete-all-options.model.d.ts.map +1 -1
  97. package/dist/cjs/data-source/models/options/find-all-options.model.d.ts +2 -2
  98. package/dist/cjs/data-source/models/options/find-all-options.model.d.ts.map +1 -1
  99. package/dist/cjs/data-source/models/options/find-by-id-options.model.d.ts +1 -6
  100. package/dist/cjs/data-source/models/options/find-by-id-options.model.d.ts.map +1 -1
  101. package/dist/cjs/data-source/models/options/find-one-options.model.d.ts +2 -11
  102. package/dist/cjs/data-source/models/options/find-one-options.model.d.ts.map +1 -1
  103. package/dist/cjs/data-source/models/options/update-all-options.model.d.ts +1 -7
  104. package/dist/cjs/data-source/models/options/update-all-options.model.d.ts.map +1 -1
  105. package/dist/cjs/data-source/models/options/update-by-id-options.model.d.ts +1 -7
  106. package/dist/cjs/data-source/models/options/update-by-id-options.model.d.ts.map +1 -1
  107. package/dist/cjs/data-source/models/where/array-where-filter.model.d.ts +142 -3
  108. package/dist/cjs/data-source/models/where/array-where-filter.model.d.ts.map +1 -1
  109. package/dist/cjs/data-source/models/where/base-where-filter.model.d.ts +18 -1
  110. package/dist/cjs/data-source/models/where/base-where-filter.model.d.ts.map +1 -1
  111. package/dist/cjs/data-source/models/where/boolean-where-filter.model.d.ts +4 -2
  112. package/dist/cjs/data-source/models/where/boolean-where-filter.model.d.ts.map +1 -1
  113. package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts +8 -15
  114. package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts.map +1 -1
  115. package/dist/cjs/data-source/models/where/number-where-filter.model.d.ts +8 -15
  116. package/dist/cjs/data-source/models/where/number-where-filter.model.d.ts.map +1 -1
  117. package/dist/cjs/data-source/models/where/object-where-filter.model.d.ts +52 -7
  118. package/dist/cjs/data-source/models/where/object-where-filter.model.d.ts.map +1 -1
  119. package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts +8 -15
  120. package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts.map +1 -1
  121. package/dist/cjs/data-source/models/where/where-filter-keys.model.d.ts +46 -0
  122. package/dist/cjs/data-source/models/where/where-filter-keys.model.d.ts.map +1 -0
  123. package/dist/cjs/data-source/models/where/where-filter-keys.model.js +36 -0
  124. package/dist/cjs/data-source/models/where/where-filter-keys.model.js.map +1 -0
  125. package/dist/cjs/data-source/models/where/where-filter.model.d.ts +2 -2
  126. package/dist/cjs/data-source/models/where/where-filter.model.d.ts.map +1 -1
  127. package/dist/cjs/data-source/query-failed.error.js +27 -1
  128. package/dist/cjs/data-source/query-failed.error.js.map +1 -1
  129. package/dist/cjs/data-source/repository.d.ts +8 -3
  130. package/dist/cjs/data-source/repository.d.ts.map +1 -1
  131. package/dist/cjs/data-source/repository.js +42 -16
  132. package/dist/cjs/data-source/repository.js.map +1 -1
  133. package/dist/cjs/di/decorators/inject-repository.decorator.d.ts +2 -2
  134. package/dist/cjs/di/decorators/inject-repository.decorator.d.ts.map +1 -1
  135. package/dist/cjs/di/decorators/inject-repository.decorator.js.map +1 -1
  136. package/dist/cjs/di/default/zibri-di-tokens.default.d.ts +2 -2
  137. package/dist/cjs/di/default/zibri-di-tokens.default.d.ts.map +1 -1
  138. package/dist/cjs/di/default/zibri-di-tokens.default.js.map +1 -1
  139. package/dist/cjs/email/email.service.d.ts +2 -2
  140. package/dist/cjs/email/email.service.d.ts.map +1 -1
  141. package/dist/cjs/email/email.service.js +4 -6
  142. package/dist/cjs/email/email.service.js.map +1 -1
  143. package/dist/cjs/email/models/email.model.js +1 -1
  144. package/dist/cjs/email/models/email.model.js.map +1 -1
  145. package/dist/cjs/entity/decorators/entity.decorator.d.ts +28 -1
  146. package/dist/cjs/entity/decorators/entity.decorator.d.ts.map +1 -1
  147. package/dist/cjs/entity/decorators/entity.decorator.js +6 -3
  148. package/dist/cjs/entity/decorators/entity.decorator.js.map +1 -1
  149. package/dist/cjs/entity/decorators/property.decorator.d.ts +5 -8
  150. package/dist/cjs/entity/decorators/property.decorator.d.ts.map +1 -1
  151. package/dist/cjs/entity/decorators/property.decorator.js +34 -20
  152. package/dist/cjs/entity/decorators/property.decorator.js.map +1 -1
  153. package/dist/cjs/entity/entity-metadata-missing.error.d.ts +9 -0
  154. package/dist/cjs/entity/entity-metadata-missing.error.d.ts.map +1 -0
  155. package/dist/cjs/entity/entity-metadata-missing.error.js +17 -0
  156. package/dist/cjs/entity/entity-metadata-missing.error.js.map +1 -0
  157. package/dist/cjs/entity/models/base-relation-metadata.model.d.ts +1 -1
  158. package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.d.ts +28 -0
  159. package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.d.ts.map +1 -0
  160. package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.js +3 -0
  161. package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.js.map +1 -0
  162. package/dist/cjs/entity/models/has-one-property-metadata.model.d.ts +18 -0
  163. package/dist/cjs/entity/models/has-one-property-metadata.model.d.ts.map +1 -0
  164. package/dist/{esm/entity/models/one-to-one-property-metadata.model.js → cjs/entity/models/has-one-property-metadata.model.js} +1 -1
  165. package/dist/cjs/entity/models/has-one-property-metadata.model.js.map +1 -0
  166. package/dist/cjs/entity/models/many-to-many-property-metadata.model.d.ts +3 -3
  167. package/dist/cjs/entity/models/many-to-many-property-metadata.model.d.ts.map +1 -1
  168. package/dist/cjs/entity/models/many-to-one-property-metadata.model.d.ts +11 -1
  169. package/dist/cjs/entity/models/many-to-one-property-metadata.model.d.ts.map +1 -1
  170. package/dist/cjs/entity/models/relation.enum.d.ts +2 -1
  171. package/dist/cjs/entity/models/relation.enum.d.ts.map +1 -1
  172. package/dist/cjs/entity/models/relation.enum.js +2 -1
  173. package/dist/cjs/entity/models/relation.enum.js.map +1 -1
  174. package/dist/cjs/entity/partial-class.model.js +1 -1
  175. package/dist/cjs/entity/partial-class.model.js.map +1 -1
  176. package/dist/cjs/event/event-cleanup.cron-job.d.ts.map +1 -1
  177. package/dist/cjs/event/event-cleanup.cron-job.js +4 -6
  178. package/dist/cjs/event/event-cleanup.cron-job.js.map +1 -1
  179. package/dist/cjs/event/event-subscriber-run.model.d.ts +6 -8
  180. package/dist/cjs/event/event-subscriber-run.model.d.ts.map +1 -1
  181. package/dist/cjs/event/event-subscriber-run.model.js +10 -17
  182. package/dist/cjs/event/event-subscriber-run.model.js.map +1 -1
  183. package/dist/cjs/event/event.model.js +1 -1
  184. package/dist/cjs/event/event.model.js.map +1 -1
  185. package/dist/cjs/event/event.service.d.ts.map +1 -1
  186. package/dist/cjs/event/event.service.js +6 -3
  187. package/dist/cjs/event/event.service.js.map +1 -1
  188. package/dist/cjs/global/model-registry/default-descriptor.d.ts.map +1 -1
  189. package/dist/cjs/global/model-registry/default-descriptor.js +2 -1
  190. package/dist/cjs/global/model-registry/default-descriptor.js.map +1 -1
  191. package/dist/cjs/global/model-registry/encryption-descriptor.d.ts.map +1 -1
  192. package/dist/cjs/global/model-registry/encryption-descriptor.js +2 -1
  193. package/dist/cjs/global/model-registry/encryption-descriptor.js.map +1 -1
  194. package/dist/cjs/global/model-registry/exclude-descriptor.d.ts.map +1 -1
  195. package/dist/cjs/global/model-registry/exclude-descriptor.js +2 -1
  196. package/dist/cjs/global/model-registry/exclude-descriptor.js.map +1 -1
  197. package/dist/cjs/global/model-registry/hash-descriptor.d.ts.map +1 -1
  198. package/dist/cjs/global/model-registry/hash-descriptor.js +2 -1
  199. package/dist/cjs/global/model-registry/hash-descriptor.js.map +1 -1
  200. package/dist/cjs/index.d.ts +12 -3
  201. package/dist/cjs/index.d.ts.map +1 -1
  202. package/dist/cjs/index.js +12 -3
  203. package/dist/cjs/index.js.map +1 -1
  204. package/dist/cjs/logging/log-context.model.d.ts +2 -27
  205. package/dist/cjs/logging/log-context.model.d.ts.map +1 -1
  206. package/dist/cjs/logging/log-context.model.js +3 -49
  207. package/dist/cjs/logging/log-context.model.js.map +1 -1
  208. package/dist/cjs/open-api/open-api.service.d.ts.map +1 -1
  209. package/dist/cjs/open-api/open-api.service.js +20 -11
  210. package/dist/cjs/open-api/open-api.service.js.map +1 -1
  211. package/dist/cjs/parsing/form-data/form-data.body-parser.d.ts.map +1 -1
  212. package/dist/cjs/parsing/form-data/form-data.body-parser.js +2 -1
  213. package/dist/cjs/parsing/form-data/form-data.body-parser.js.map +1 -1
  214. package/dist/cjs/parsing/functions/parse-boolean.function.d.ts.map +1 -1
  215. package/dist/cjs/parsing/functions/parse-boolean.function.js.map +1 -1
  216. package/dist/cjs/parsing/functions/parse-object.function.d.ts.map +1 -1
  217. package/dist/cjs/parsing/functions/parse-object.function.js +2 -1
  218. package/dist/cjs/parsing/functions/parse-object.function.js.map +1 -1
  219. package/dist/cjs/parsing/parser.d.ts.map +1 -1
  220. package/dist/cjs/parsing/parser.js +2 -1
  221. package/dist/cjs/parsing/parser.js.map +1 -1
  222. package/dist/cjs/routing/decorators/body.decorator.js +2 -1
  223. package/dist/cjs/routing/decorators/body.decorator.js.map +1 -1
  224. package/dist/cjs/routing/resolve-route-params.function.js +1 -1
  225. package/dist/cjs/routing/resolve-route-params.function.js.map +1 -1
  226. package/dist/cjs/routing/router.d.ts.map +1 -1
  227. package/dist/cjs/routing/router.js +38 -2
  228. package/dist/cjs/routing/router.js.map +1 -1
  229. package/dist/cjs/utilities/metadata-injection-keys.enum.d.ts +1 -0
  230. package/dist/cjs/utilities/metadata-injection-keys.enum.d.ts.map +1 -1
  231. package/dist/cjs/utilities/metadata-injection-keys.enum.js +1 -0
  232. package/dist/cjs/utilities/metadata-injection-keys.enum.js.map +1 -1
  233. package/dist/cjs/utilities/typeorm.utilities.d.ts +39 -0
  234. package/dist/cjs/utilities/typeorm.utilities.d.ts.map +1 -0
  235. package/dist/cjs/utilities/typeorm.utilities.js +47 -0
  236. package/dist/cjs/utilities/typeorm.utilities.js.map +1 -0
  237. package/dist/cjs/validation/validation-problem.model.d.ts.map +1 -1
  238. package/dist/cjs/validation/validation-problem.model.js +4 -7
  239. package/dist/cjs/validation/validation-problem.model.js.map +1 -1
  240. package/dist/cjs/validation/validation.service.d.ts.map +1 -1
  241. package/dist/cjs/validation/validation.service.js +6 -4
  242. package/dist/cjs/validation/validation.service.js.map +1 -1
  243. package/dist/cjs/websocket/models/websocket-message.model.js +1 -1
  244. package/dist/cjs/websocket/models/websocket-message.model.js.map +1 -1
  245. package/dist/cjs/websocket/models/websocket-request.model.d.ts +5 -11
  246. package/dist/cjs/websocket/models/websocket-request.model.d.ts.map +1 -1
  247. package/dist/cjs/websocket/models/websocket-request.model.js.map +1 -1
  248. package/dist/cjs/websocket/services/websocket.service.d.ts.map +1 -1
  249. package/dist/cjs/websocket/services/websocket.service.js +1 -2
  250. package/dist/cjs/websocket/services/websocket.service.js.map +1 -1
  251. package/dist/esm/application.js +8 -2
  252. package/dist/esm/application.js.map +1 -1
  253. package/dist/esm/auth/encryption/encryption-key.model.js +9 -1
  254. package/dist/esm/auth/encryption/encryption-key.model.js.map +1 -1
  255. package/dist/esm/auth/strategies/cookie/cookie-auth.auth-strategy.js.map +1 -1
  256. package/dist/esm/auth/strategies/jwt/jwt-credentials.model.js +9 -1
  257. package/dist/esm/auth/strategies/jwt/jwt-credentials.model.js.map +1 -1
  258. package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js +2 -1
  259. package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
  260. package/dist/esm/backup/backup-resource-entity.model.js +9 -1
  261. package/dist/esm/backup/backup-resource-entity.model.js.map +1 -1
  262. package/dist/esm/backup/backup.service.js +2 -2
  263. package/dist/esm/backup/backup.service.js.map +1 -1
  264. package/dist/esm/caching/cache/base-cache.model.js.map +1 -1
  265. package/dist/esm/caching/cache/multi-tier.cache.js.map +1 -1
  266. package/dist/esm/caching/cache/read-aside/read-aside.cache.js.map +1 -1
  267. package/dist/esm/caching/cache/read-aside/write-around-read-aside.cache.js.map +1 -1
  268. package/dist/esm/caching/cache/read-aside/write-behind-read-aside.cache.js.map +1 -1
  269. package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js.map +1 -1
  270. package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js.map +1 -1
  271. package/dist/esm/caching/cache/read-aside/write-through-read-aside.cache.js.map +1 -1
  272. package/dist/esm/caching/cache/read-through/read-through.cache.js.map +1 -1
  273. package/dist/esm/caching/cache/read-through/write-around-read-through.cache.js.map +1 -1
  274. package/dist/esm/caching/cache/read-through/write-behind-read-through.cache.js.map +1 -1
  275. package/dist/esm/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js.map +1 -1
  276. package/dist/esm/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js.map +1 -1
  277. package/dist/esm/caching/cache/read-through/write-through-read-through.cache.js.map +1 -1
  278. package/dist/esm/change-sets/change-set-repository.js +16 -16
  279. package/dist/esm/change-sets/change-set-repository.js.map +1 -1
  280. package/dist/esm/change-sets/models/change-set-entity.model.js +29 -1
  281. package/dist/esm/change-sets/models/change-set-entity.model.js.map +1 -1
  282. package/dist/esm/change-sets/models/change-set.model.js +1 -1
  283. package/dist/esm/change-sets/models/change-set.model.js.map +1 -1
  284. package/dist/esm/change-sets/models/change.model.js +9 -1
  285. package/dist/esm/change-sets/models/change.model.js.map +1 -1
  286. package/dist/esm/change-sets/models/soft-delete-entity.model.js +26 -0
  287. package/dist/esm/change-sets/models/soft-delete-entity.model.js.map +1 -1
  288. package/dist/esm/change-sets/soft-delete-repository.js +22 -6
  289. package/dist/esm/change-sets/soft-delete-repository.js.map +1 -1
  290. package/dist/esm/context/als.utilities.js.map +1 -1
  291. package/dist/esm/context/cache/cache.context.js +61 -0
  292. package/dist/esm/context/cache/cache.context.js.map +1 -0
  293. package/dist/esm/data-source/data-sources/data-source-initialization.error.js +14 -0
  294. package/dist/esm/data-source/data-sources/data-source-initialization.error.js.map +1 -0
  295. package/dist/esm/data-source/data-sources/data-source.interface.js.map +1 -1
  296. package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js +289 -0
  297. package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -0
  298. package/dist/esm/data-source/data-sources/sql-data-source.interface.js +3 -0
  299. package/dist/esm/data-source/data-sources/sql-data-source.interface.js.map +1 -0
  300. package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js +378 -0
  301. package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -0
  302. package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +353 -0
  303. package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -0
  304. package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +248 -0
  305. package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -0
  306. package/dist/esm/data-source/models/where/where-filter-keys.model.js +36 -0
  307. package/dist/esm/data-source/models/where/where-filter-keys.model.js.map +1 -0
  308. package/dist/esm/data-source/query-failed.error.js +27 -1
  309. package/dist/esm/data-source/query-failed.error.js.map +1 -1
  310. package/dist/esm/data-source/repository.js +42 -16
  311. package/dist/esm/data-source/repository.js.map +1 -1
  312. package/dist/esm/di/decorators/inject-repository.decorator.js.map +1 -1
  313. package/dist/esm/di/default/zibri-di-tokens.default.js.map +1 -1
  314. package/dist/esm/email/email.service.js +4 -6
  315. package/dist/esm/email/email.service.js.map +1 -1
  316. package/dist/esm/email/models/email.model.js +1 -1
  317. package/dist/esm/email/models/email.model.js.map +1 -1
  318. package/dist/esm/entity/decorators/entity.decorator.js +6 -3
  319. package/dist/esm/entity/decorators/entity.decorator.js.map +1 -1
  320. package/dist/esm/entity/decorators/property.decorator.js +34 -20
  321. package/dist/esm/entity/decorators/property.decorator.js.map +1 -1
  322. package/dist/esm/entity/entity-metadata-missing.error.js +17 -0
  323. package/dist/esm/entity/entity-metadata-missing.error.js.map +1 -0
  324. package/dist/esm/entity/models/belongs-to-one-property-metadata.model.js +3 -0
  325. package/dist/esm/entity/models/belongs-to-one-property-metadata.model.js.map +1 -0
  326. package/dist/esm/entity/models/has-one-property-metadata.model.js +3 -0
  327. package/dist/esm/entity/models/has-one-property-metadata.model.js.map +1 -0
  328. package/dist/esm/entity/models/relation.enum.js +2 -1
  329. package/dist/esm/entity/models/relation.enum.js.map +1 -1
  330. package/dist/esm/entity/partial-class.model.js +1 -1
  331. package/dist/esm/entity/partial-class.model.js.map +1 -1
  332. package/dist/esm/event/event-cleanup.cron-job.js +4 -6
  333. package/dist/esm/event/event-cleanup.cron-job.js.map +1 -1
  334. package/dist/esm/event/event-subscriber-run.model.js +10 -17
  335. package/dist/esm/event/event-subscriber-run.model.js.map +1 -1
  336. package/dist/esm/event/event.model.js +1 -1
  337. package/dist/esm/event/event.model.js.map +1 -1
  338. package/dist/esm/event/event.service.js +6 -3
  339. package/dist/esm/event/event.service.js.map +1 -1
  340. package/dist/esm/global/model-registry/default-descriptor.js +2 -1
  341. package/dist/esm/global/model-registry/default-descriptor.js.map +1 -1
  342. package/dist/esm/global/model-registry/encryption-descriptor.js +2 -1
  343. package/dist/esm/global/model-registry/encryption-descriptor.js.map +1 -1
  344. package/dist/esm/global/model-registry/exclude-descriptor.js +2 -1
  345. package/dist/esm/global/model-registry/exclude-descriptor.js.map +1 -1
  346. package/dist/esm/global/model-registry/hash-descriptor.js +2 -1
  347. package/dist/esm/global/model-registry/hash-descriptor.js.map +1 -1
  348. package/dist/esm/index.js +12 -3
  349. package/dist/esm/index.js.map +1 -1
  350. package/dist/esm/logging/log-context.model.js +3 -49
  351. package/dist/esm/logging/log-context.model.js.map +1 -1
  352. package/dist/esm/open-api/open-api.service.js +20 -11
  353. package/dist/esm/open-api/open-api.service.js.map +1 -1
  354. package/dist/esm/parsing/form-data/form-data.body-parser.js +2 -1
  355. package/dist/esm/parsing/form-data/form-data.body-parser.js.map +1 -1
  356. package/dist/esm/parsing/functions/parse-boolean.function.js.map +1 -1
  357. package/dist/esm/parsing/functions/parse-object.function.js +2 -1
  358. package/dist/esm/parsing/functions/parse-object.function.js.map +1 -1
  359. package/dist/esm/parsing/parser.js +2 -1
  360. package/dist/esm/parsing/parser.js.map +1 -1
  361. package/dist/esm/routing/decorators/body.decorator.js +2 -1
  362. package/dist/esm/routing/decorators/body.decorator.js.map +1 -1
  363. package/dist/esm/routing/resolve-route-params.function.js +1 -1
  364. package/dist/esm/routing/resolve-route-params.function.js.map +1 -1
  365. package/dist/esm/routing/router.js +38 -2
  366. package/dist/esm/routing/router.js.map +1 -1
  367. package/dist/esm/utilities/metadata-injection-keys.enum.js +1 -0
  368. package/dist/esm/utilities/metadata-injection-keys.enum.js.map +1 -1
  369. package/dist/esm/utilities/typeorm.utilities.js +47 -0
  370. package/dist/esm/utilities/typeorm.utilities.js.map +1 -0
  371. package/dist/esm/validation/validation-problem.model.js +4 -7
  372. package/dist/esm/validation/validation-problem.model.js.map +1 -1
  373. package/dist/esm/validation/validation.service.js +6 -4
  374. package/dist/esm/validation/validation.service.js.map +1 -1
  375. package/dist/esm/websocket/models/websocket-message.model.js +1 -1
  376. package/dist/esm/websocket/models/websocket-message.model.js.map +1 -1
  377. package/dist/esm/websocket/models/websocket-request.model.js.map +1 -1
  378. package/dist/esm/websocket/services/websocket.service.js +1 -2
  379. package/dist/esm/websocket/services/websocket.service.js.map +1 -1
  380. package/package.json +9 -9
  381. package/src/__testing__/mocks/entities/child.entity.ts +4 -1
  382. package/src/__testing__/mocks/entities/company.entity.ts +5 -2
  383. package/src/__testing__/mocks/entities/profile.entity.ts +5 -2
  384. package/src/__testing__/mocks/entities/role.entity.ts +1 -1
  385. package/src/__testing__/mocks/entities/user.entity.ts +1 -1
  386. package/src/__testing__/test-server/create-test-data-source.function.ts +5 -5
  387. package/src/__testing__/test-server/start-test-server.function.ts +8 -6
  388. package/src/__testing__/test-server/user-repository.ts +4 -3
  389. package/src/application.ts +8 -2
  390. package/src/auth/2fa/two-factor.service.test.ts +151 -0
  391. package/src/auth/auth.service.test.ts +381 -0
  392. package/src/auth/encryption/encryption-key.model.ts +7 -2
  393. package/src/auth/strategies/cookie/cookie-auth.auth-strategy.ts +3 -2
  394. package/src/auth/strategies/jwt/jwt-credentials.model.ts +7 -1
  395. package/src/auth/strategies/jwt/jwt.auth-strategy.ts +5 -3
  396. package/src/backup/backup-resource-entity.model.ts +7 -2
  397. package/src/backup/backup-service.test.ts +1 -1
  398. package/src/backup/backup.service.ts +1 -1
  399. package/src/caching/cache/base-cache.model.ts +3 -3
  400. package/src/caching/cache/multi-tier.cache.ts +3 -3
  401. package/src/caching/cache/read-aside/read-aside.cache.ts +2 -2
  402. package/src/caching/cache/read-aside/write-around-read-aside.cache.ts +2 -2
  403. package/src/caching/cache/read-aside/write-behind-read-aside.cache.ts +2 -2
  404. package/src/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.ts +2 -2
  405. package/src/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.ts +2 -2
  406. package/src/caching/cache/read-aside/write-through-read-aside.cache.ts +2 -2
  407. package/src/caching/cache/read-through/read-through.cache.ts +2 -2
  408. package/src/caching/cache/read-through/write-around-read-through.cache.ts +2 -2
  409. package/src/caching/cache/read-through/write-behind-read-through.cache.ts +2 -2
  410. package/src/caching/cache/read-through/write-invalidate-read-through-args-only.cache.ts +2 -2
  411. package/src/caching/cache/read-through/write-invalidate-read-through-with-result.cache.ts +2 -2
  412. package/src/caching/cache/read-through/write-through-read-through.cache.ts +2 -2
  413. package/src/change-sets/change-set-repository.test.ts +317 -0
  414. package/src/change-sets/change-set-repository.ts +17 -17
  415. package/src/change-sets/models/change-set-entity.model.ts +6 -4
  416. package/src/change-sets/models/change-set.model.ts +1 -1
  417. package/src/change-sets/models/change.model.ts +7 -2
  418. package/src/change-sets/models/soft-delete-entity.model.ts +5 -3
  419. package/src/change-sets/soft-delete-repository.test.ts +326 -0
  420. package/src/change-sets/soft-delete-repository.ts +29 -10
  421. package/src/context/als.utilities.ts +5 -5
  422. package/src/context/cache/cache.context.ts +33 -0
  423. package/src/cron/cron.test.ts +421 -0
  424. package/src/data-source/array-where-filter.test.ts +332 -0
  425. package/src/data-source/data-sources/data-source-initialization.error.ts +9 -0
  426. package/src/data-source/data-sources/data-source.interface.ts +14 -1
  427. package/src/data-source/data-sources/postgres-typeorm-data-source.model.ts +330 -0
  428. package/src/data-source/data-sources/sql-data-source.interface.ts +35 -0
  429. package/src/data-source/data-sources/typeorm-base-data-source.model.ts +544 -0
  430. package/src/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.ts +451 -0
  431. package/src/data-source/data-sources/where-converter/typeorm-where-filter.converter.ts +376 -0
  432. package/src/data-source/exclude-property.test.ts +4 -1
  433. package/src/data-source/hooks/hooks.test.ts +268 -0
  434. package/src/data-source/migration/migration.test.ts +4 -3
  435. package/src/data-source/models/options/count-options.model.ts +2 -7
  436. package/src/data-source/models/options/delete-all-options.model.ts +2 -4
  437. package/src/data-source/models/options/find-all-options.model.ts +2 -2
  438. package/src/data-source/models/options/find-by-id-options.model.ts +1 -6
  439. package/src/data-source/models/options/find-one-options.model.ts +2 -11
  440. package/src/data-source/models/options/update-all-options.model.ts +2 -5
  441. package/src/data-source/models/options/update-by-id-options.model.ts +2 -5
  442. package/src/data-source/models/where/array-where-filter.model.ts +147 -5
  443. package/src/data-source/models/where/base-where-filter.model.ts +19 -1
  444. package/src/data-source/models/where/boolean-where-filter.model.ts +7 -2
  445. package/src/data-source/models/where/date-where-filter.model.ts +9 -16
  446. package/src/data-source/models/where/number-where-filter.model.ts +9 -16
  447. package/src/data-source/models/where/object-where-filter.model.ts +66 -7
  448. package/src/data-source/models/where/string-where-filter.model.ts +9 -16
  449. package/src/data-source/models/where/where-filter-keys.model.ts +88 -0
  450. package/src/data-source/models/where/where-filter-to-find-options-where-function.test.ts +35 -13
  451. package/src/data-source/models/where/where-filter.model.ts +7 -4
  452. package/src/data-source/nested-where-filter.test.ts +344 -0
  453. package/src/data-source/query-failed.error.ts +38 -1
  454. package/src/data-source/repository-relation-pitfalls.test.ts +232 -0
  455. package/src/data-source/repository.test.ts +274 -37
  456. package/src/data-source/repository.ts +50 -16
  457. package/src/data-source/transaction/transaction.test.ts +1 -1
  458. package/src/data-source/where-filter.test.ts +479 -0
  459. package/src/di/decorators/inject-repository.decorator.ts +3 -2
  460. package/src/di/default/zibri-di-tokens.default.ts +2 -2
  461. package/src/email/email.service.test.ts +382 -0
  462. package/src/email/email.service.ts +4 -5
  463. package/src/email/models/email.model.ts +1 -1
  464. package/src/entity/decorators/entity.decorator.ts +44 -5
  465. package/src/entity/decorators/property.decorator.ts +54 -36
  466. package/src/entity/entity-metadata-missing.error.ts +15 -0
  467. package/src/entity/models/base-relation-metadata.model.ts +1 -1
  468. package/src/entity/models/belongs-to-one-property-metadata.model.ts +34 -0
  469. package/src/entity/models/has-one-property-metadata.model.ts +20 -0
  470. package/src/entity/models/many-to-many-property-metadata.model.ts +3 -3
  471. package/src/entity/models/many-to-one-property-metadata.model.ts +17 -3
  472. package/src/entity/models/relation.enum.ts +2 -1
  473. package/src/entity/partial-class.model.ts +1 -1
  474. package/src/event/event-cleanup.cron-job.ts +4 -6
  475. package/src/event/event-subscriber-run.model.ts +8 -9
  476. package/src/event/event.model.ts +1 -1
  477. package/src/event/event.service.ts +6 -3
  478. package/src/global/model-registry/default-descriptor.ts +2 -1
  479. package/src/global/model-registry/encryption-descriptor.ts +2 -1
  480. package/src/global/model-registry/exclude-descriptor.ts +2 -1
  481. package/src/global/model-registry/hash-descriptor.ts +2 -1
  482. package/src/index.ts +15 -3
  483. package/src/logging/log-context.model.ts +3 -34
  484. package/src/open-api/open-api.service.ts +32 -13
  485. package/src/parsing/form-data/form-data.body-parser.ts +2 -1
  486. package/src/parsing/functions/parse-boolean.function.ts +0 -1
  487. package/src/parsing/functions/parse-object.function.ts +2 -1
  488. package/src/parsing/parser.ts +2 -1
  489. package/src/routing/decorators/body.decorator.ts +2 -1
  490. package/src/routing/resolve-route-params.function.ts +1 -1
  491. package/src/routing/router.ts +41 -7
  492. package/src/utilities/metadata-injection-keys.enum.ts +1 -0
  493. package/src/utilities/typeorm.utilities.ts +75 -0
  494. package/src/validation/validation-problem.model.ts +7 -9
  495. package/src/validation/validation.service.ts +6 -4
  496. package/src/websocket/models/websocket-message.model.ts +1 -1
  497. package/src/websocket/models/websocket-request.model.ts +17 -9
  498. package/src/websocket/services/websocket.service.ts +1 -2
  499. package/dist/cjs/data-source/data-sources/postgres-data-source.model.d.ts +0 -129
  500. package/dist/cjs/data-source/data-sources/postgres-data-source.model.d.ts.map +0 -1
  501. package/dist/cjs/data-source/data-sources/postgres-data-source.model.js +0 -534
  502. package/dist/cjs/data-source/data-sources/postgres-data-source.model.js.map +0 -1
  503. package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.d.ts +0 -11
  504. package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.d.ts.map +0 -1
  505. package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.js +0 -229
  506. package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.js.map +0 -1
  507. package/dist/cjs/entity/models/one-to-one-property-metadata.model.d.ts +0 -30
  508. package/dist/cjs/entity/models/one-to-one-property-metadata.model.d.ts.map +0 -1
  509. package/dist/cjs/entity/models/one-to-one-property-metadata.model.js.map +0 -1
  510. package/dist/esm/data-source/data-sources/postgres-data-source.model.js +0 -534
  511. package/dist/esm/data-source/data-sources/postgres-data-source.model.js.map +0 -1
  512. package/dist/esm/data-source/models/where/where-filter-to-find-options-where.function.js +0 -229
  513. package/dist/esm/data-source/models/where/where-filter-to-find-options-where.function.js.map +0 -1
  514. package/dist/esm/entity/models/one-to-one-property-metadata.model.js.map +0 -1
  515. package/src/data-source/data-sources/postgres-data-source.model.ts +0 -675
  516. package/src/data-source/models/where/where-filter-to-find-options-where.function.ts +0 -307
  517. package/src/entity/models/one-to-one-property-metadata.model.ts +0 -35
@@ -14,10 +14,11 @@ import { ZIBRI_DI_TOKENS } from '../di/default/zibri-di-tokens.default';
14
14
  import { inject } from '../di/inject.function';
15
15
  import { BaseEntity } from '../entity/base-entity.model';
16
16
  import { PropertyMetadata } from '../entity/decorators/property.decorator';
17
+ import { BelongsToOnePropertyMetadata } from '../entity/models/belongs-to-one-property-metadata.model';
18
+ import { HasOnePropertyMetadata } from '../entity/models/has-one-property-metadata.model';
17
19
  import { ManyToManyPropertyMetadata } from '../entity/models/many-to-many-property-metadata.model';
18
20
  import { ManyToOnePropertyMetadata } from '../entity/models/many-to-one-property-metadata.model';
19
21
  import { OneToManyPropertyMetadata } from '../entity/models/one-to-many-property-metadata.model';
20
- import { OneToOnePropertyMetadata } from '../entity/models/one-to-one-property-metadata.model';
21
22
  import { Relation } from '../entity/models/relation.enum';
22
23
  import { OmitClass } from '../entity/omit-class.model';
23
24
  import { GlobalRegistry } from '../global/global-registry';
@@ -449,7 +450,7 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
449
450
  return undefined;
450
451
  }
451
452
  const propMeta: Record<string, PropertyMetadata> = MetadataUtilities.getModelProperties(response.cls);
452
- const schema: OpenApiSchemaObject = this.buildOpenApiSchemaForProperties(propMeta, response.cls, 'response');
453
+ const schema: OpenApiSchemaObject = this.buildOpenApiSchemaForProperties(propMeta, response.cls, 'response', new Set());
453
454
 
454
455
  if (response.isArray === true) {
455
456
  return { [MimeType.JSON]: { schema: { type: 'array', items: schema } } };
@@ -491,7 +492,7 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
491
492
  continue;
492
493
  }
493
494
  const propMeta: Record<string, PropertyMetadata> = MetadataUtilities.getModelProperties(response.cls);
494
- const schema: OpenApiSchemaObject = this.buildOpenApiSchemaForProperties(propMeta, response.cls, 'response');
495
+ const schema: OpenApiSchemaObject = this.buildOpenApiSchemaForProperties(propMeta, response.cls, 'response', new Set());
495
496
  if (response.isArray === true) {
496
497
  schemas.push({ type: 'array', items: schema });
497
498
  continue;
@@ -544,7 +545,7 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
544
545
  return undefined;
545
546
  }
546
547
  const propMeta: Record<string, PropertyMetadata> = MetadataUtilities.getModelProperties(metadata.modelClass);
547
- const schema: OpenApiSchemaObject = this.buildOpenApiSchemaForProperties(propMeta, metadata.modelClass, 'request');
548
+ const schema: OpenApiSchemaObject = this.buildOpenApiSchemaForProperties(propMeta, metadata.modelClass, 'request', new Set());
548
549
  return {
549
550
  required: typeof metadata.required === 'boolean' ? metadata.required : undefined,
550
551
  description: metadata.description,
@@ -556,8 +557,17 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
556
557
  private buildOpenApiSchemaForProperties(
557
558
  propMeta: Record<string, PropertyMetadata>,
558
559
  entity: Newable<unknown>,
559
- context: 'request' | 'response'
560
+ context: 'request' | 'response',
561
+ visited: Set<Newable<unknown>>
560
562
  ): OpenApiSchemaObject {
563
+ // ---- cycle guard ----
564
+ if (visited.has(entity)) {
565
+ // Return a stub schema (or a ref if you later extract components).
566
+ // Returning an empty object is safe, but a description helps debugging.
567
+ return { type: 'object', description: 'Circular reference omitted' };
568
+ }
569
+ visited.add(entity);
570
+
561
571
  const properties: Record<string, OpenApiSchemaObject> = {};
562
572
  const required: string[] = [];
563
573
 
@@ -613,17 +623,18 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
613
623
  case 'object': {
614
624
  const objectPropMeta: Record<string, PropertyMetadata> = MetadataUtilities.getModelProperties(meta.cls());
615
625
  properties[key] = {
616
- ...this.buildOpenApiSchemaForProperties(objectPropMeta, entity, context),
626
+ ...this.buildOpenApiSchemaForProperties(objectPropMeta, entity, context, visited),
617
627
  description: meta.description
618
628
  };
619
629
  continue;
620
630
  }
621
- case Relation.ONE_TO_ONE:
631
+ case Relation.HAS_ONE:
632
+ case Relation.BELONGS_TO_ONE:
622
633
  case Relation.MANY_TO_ONE: {
623
634
  const targetClass: Newable<BaseEntity> = this.getTargetClassForRelation(meta, entity);
624
635
  const objectPropMeta: Record<string, PropertyMetadata> = MetadataUtilities.getModelProperties(targetClass);
625
636
  properties[key] = {
626
- ...this.buildOpenApiSchemaForProperties(objectPropMeta, entity, context),
637
+ ...this.buildOpenApiSchemaForProperties(objectPropMeta, entity, context, visited),
627
638
  description: meta.description
628
639
  };
629
640
  continue;
@@ -645,7 +656,8 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
645
656
  }
646
657
  },
647
658
  entity,
648
- context
659
+ context,
660
+ visited
649
661
  );
650
662
  properties[key] = {
651
663
  type: 'array',
@@ -658,7 +670,12 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
658
670
  if (meta.items.type === 'object') {
659
671
  entity = meta.items.cls();
660
672
  }
661
- const items: OpenApiSchemaObject = this.buildOpenApiSchemaForProperties({ items: meta.items }, entity, context);
673
+ const items: OpenApiSchemaObject = this.buildOpenApiSchemaForProperties(
674
+ { items: meta.items },
675
+ entity,
676
+ context,
677
+ visited
678
+ );
662
679
  properties[key] = {
663
680
  type: 'array',
664
681
  description: meta.description,
@@ -692,7 +709,8 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
692
709
  meta: OneToManyPropertyMetadata<BaseEntity>
693
710
  | ManyToManyPropertyMetadata<BaseEntity>
694
711
  | ManyToOnePropertyMetadata<BaseEntity>
695
- | OneToOnePropertyMetadata<BaseEntity>,
712
+ | BelongsToOnePropertyMetadata<BaseEntity>
713
+ | HasOnePropertyMetadata<BaseEntity>,
696
714
  entity: Newable<unknown>
697
715
  ): Newable<BaseEntity> {
698
716
  const fullTargetClass: Newable<BaseEntity> = meta.target();
@@ -702,7 +720,8 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
702
720
  for (const key in properties) {
703
721
  const property: PropertyMetadata = properties[key];
704
722
  if (
705
- property.type !== Relation.ONE_TO_ONE
723
+ property.type !== Relation.BELONGS_TO_ONE
724
+ && property.type !== Relation.HAS_ONE
706
725
  && property.type !== Relation.ONE_TO_MANY
707
726
  && property.type !== Relation.MANY_TO_ONE
708
727
  && property.type !== Relation.MANY_TO_MANY
@@ -771,7 +790,7 @@ export class OpenApiService implements OpenApiServiceInterface, OnAppInit {
771
790
  const propMeta: Record<string, PropertyMetadata> = MetadataUtilities.getModelProperties(meta.cls());
772
791
  return {
773
792
  description: meta.description,
774
- ...this.buildOpenApiSchemaForProperties(propMeta, meta.cls(), 'request')
793
+ ...this.buildOpenApiSchemaForProperties(propMeta, meta.cls(), 'request', new Set())
775
794
  };
776
795
  }
777
796
  case 'array': {
@@ -172,7 +172,8 @@ export class FormDataBodyParser implements BodyParserInterface, OnAppInit {
172
172
  res[key] = parseDate(value);
173
173
  break;
174
174
  }
175
- case Relation.ONE_TO_ONE:
175
+ case Relation.HAS_ONE:
176
+ case Relation.BELONGS_TO_ONE:
176
177
  case Relation.ONE_TO_MANY:
177
178
  case Relation.MANY_TO_ONE:
178
179
  case Relation.MANY_TO_MANY:
@@ -1,4 +1,3 @@
1
-
2
1
  // eslint-disable-next-line jsdoc/require-jsdoc
3
2
  export function parseBoolean(rawValue: unknown): unknown {
4
3
  if (typeof rawValue === 'boolean') {
@@ -62,7 +62,8 @@ export function parseObject(
62
62
  res[propertyKey] = parseArray(res[propertyKey], m);
63
63
  break;
64
64
  }
65
- case Relation.ONE_TO_ONE:
65
+ case Relation.HAS_ONE:
66
+ case Relation.BELONGS_TO_ONE:
66
67
  case Relation.ONE_TO_MANY:
67
68
  case Relation.MANY_TO_ONE:
68
69
  case Relation.MANY_TO_MANY:
@@ -100,7 +100,8 @@ export class Parser implements ParserInterface, OnAppInit {
100
100
  // eslint-disable-next-line jsdoc/require-jsdoc
101
101
  parseQueryParam(req: HttpRequest | WebsocketRequest, metadata: QueryParamMetadata): unknown {
102
102
  const rawValue: string | undefined = req.query?.[metadata.name];
103
- return this.queryParamParseFunctions[metadata.type](rawValue, metadata);
103
+ const res: unknown = this.queryParamParseFunctions[metadata.type](rawValue, metadata);
104
+ return res;
104
105
  }
105
106
 
106
107
  // eslint-disable-next-line jsdoc/require-jsdoc
@@ -135,7 +135,8 @@ function resolveMaxSize(bytes: BigNumber, properties: Record<string, PropertyMet
135
135
  bytes = bytes.plus(resolveMaxSize(bytes, objectProperties));
136
136
  break;
137
137
  }
138
- case Relation.ONE_TO_ONE:
138
+ case Relation.HAS_ONE:
139
+ case Relation.BELONGS_TO_ONE:
139
140
  case Relation.ONE_TO_MANY:
140
141
  case Relation.MANY_TO_ONE:
141
142
  case Relation.MANY_TO_MANY:
@@ -88,7 +88,7 @@ async function parseRouteParams(
88
88
  for (const [indexStr, metadata] of ObjectUtilities.entries(headerParams)) {
89
89
  const idx: number = Number(indexStr);
90
90
  context.request.headers[metadata.name as KnownHeader] = parser.parseHeaderParam(context.request, metadata) as string | undefined;
91
- params[idx] = parser.parseHeaderParam(context.request, metadata);
91
+ params[idx] = context.request.headers[metadata.name as KnownHeader];
92
92
  }
93
93
  resolvedParamCount += ObjectUtilities.keys(headerParams).length;
94
94
 
@@ -228,11 +228,26 @@ export class Router implements RouterInterface, OnAppInit, OnAppStart {
228
228
  QueryMetaObject extends Record<string, QueryParamMetadata>,
229
229
  HeaderMetaObject extends Record<string, HeaderParamMetadata>
230
230
  >(route: RouteConfiguration<BodyMetaObject, PathMetaObject, QueryMetaObject, HeaderMetaObject>): RequestHandler {
231
- const handler: RequestHandler = (async (
232
- request: HttpRequest,
233
- res: HttpResponse,
234
- next: NextFunction
235
- ) => {
231
+ const handler: RequestHandler = (async (request: HttpRequest, res, next) => {
232
+ Object.defineProperty(request, 'params', {
233
+ value: { ...request.params },
234
+ writable: true,
235
+ configurable: true,
236
+ enumerable: true
237
+ });
238
+ Object.defineProperty(request, 'query', {
239
+ value: { ...request.query },
240
+ writable: true,
241
+ configurable: true,
242
+ enumerable: true
243
+ });
244
+ Object.defineProperty(request, 'headers', {
245
+ value: { ...request.headers },
246
+ writable: true,
247
+ configurable: true,
248
+ enumerable: true
249
+ });
250
+
236
251
  const context: HttpRequestContext = new HttpRequestContext(request, res, undefined, undefined);
237
252
  await AlsUtilities.runWithHttpRequestContext(context, async () => {
238
253
  try {
@@ -289,9 +304,28 @@ export class Router implements RouterInterface, OnAppInit, OnAppStart {
289
304
  if (!responses.length) {
290
305
  await this.logger.warn(`No responses defined on route ${controllerClass.name}.${route.controllerMethod}`);
291
306
  }
292
- const handler: RequestHandler = (async (req: HttpRequest, res: HttpResponse, next: NextFunction) => {
307
+ const handler: RequestHandler = (async (request: HttpRequest, res, next) => {
308
+ Object.defineProperty(request, 'params', {
309
+ value: { ...request.params },
310
+ writable: true,
311
+ configurable: true,
312
+ enumerable: true
313
+ });
314
+ Object.defineProperty(request, 'query', {
315
+ value: { ...request.query },
316
+ writable: true,
317
+ configurable: true,
318
+ enumerable: true
319
+ });
320
+ Object.defineProperty(request, 'headers', {
321
+ value: { ...request.headers },
322
+ writable: true,
323
+ configurable: true,
324
+ enumerable: true
325
+ });
326
+
293
327
  const context: HttpRequestContext = new HttpRequestContext(
294
- req,
328
+ request,
295
329
  res,
296
330
  controllerClass,
297
331
  route.controllerMethod
@@ -5,6 +5,7 @@ export enum MetadataInjectionKeys {
5
5
  FILE_LOCATION = 'file:location',
6
6
  // eslint-disable-next-line cspell/spellchecker
7
7
  PARAM_TYPES = 'design:paramtypes',
8
+ TYPE = 'design:type',
8
9
  DI_TOKEN = 'di:token',
9
10
  DI_INJECT_PARAM_TOKENS = 'di:inject_param_tokens',
10
11
  DI_INJECT_PARAM_OPTIONS = 'di:inject_param_options',
@@ -0,0 +1,75 @@
1
+ import { DataSource, EntityTarget, EntityMetadata as TOEntityMetadata } from 'typeorm';
2
+ import { ColumnMetadata } from 'typeorm/metadata/ColumnMetadata.js';
3
+
4
+ import { ColumnType } from '../data-source/models/column-type.model';
5
+ import { Transaction } from '../data-source/transaction/transaction.model';
6
+ import { BaseEntity } from '../entity/base-entity.model';
7
+
8
+ /**
9
+ * Utilities for dealing with typeorm.
10
+ */
11
+ export abstract class TypeOrmUtilities {
12
+ /**
13
+ * Gets the metadata for a typeorm column.
14
+ * @param target - The entity.
15
+ * @param propertyName - The name of the property to get the column metadata for.
16
+ * @param transaction - The transaction to use to get the column metadata.
17
+ * @returns The typeorm column metadata.
18
+ * @throws When the provided propertyName could not be found as a column.
19
+ */
20
+ static getColumnMetadata<T extends BaseEntity>(
21
+ target: EntityTarget<T>,
22
+ propertyName: keyof T | string & {},
23
+ transaction: Transaction
24
+ ): ColumnMetadata {
25
+ const metadata: TOEntityMetadata = this.getEntityMetadata(target, transaction);
26
+ const column: ColumnMetadata | undefined = metadata.columns.find(
27
+ (col) => col.propertyName === propertyName
28
+ );
29
+
30
+ if (!column) {
31
+ throw new Error(
32
+ `Column ${propertyName.toString()} not found in model`
33
+ );
34
+ }
35
+
36
+ return column;
37
+ }
38
+
39
+ /**
40
+ * Gets the typeorm metadata for a given entity.
41
+ * @param target - The target entity.
42
+ * @param transaction - The transaction to run this command with.
43
+ * @returns The typeorm metadata.
44
+ */
45
+ static getEntityMetadata<T extends BaseEntity>(target: EntityTarget<T>, transaction: Transaction): TOEntityMetadata {
46
+ return transaction.queryRunner.connection.getMetadata(target);
47
+ }
48
+
49
+ // eslint-disable-next-line jsdoc/require-param
50
+ /**
51
+ * Normalizes the type of the given column using the provided dataSource.
52
+ * @returns The normalized column type as a string.
53
+ * @throws When no dataSource has been provided.
54
+ */
55
+ static normalizeColumnType(
56
+ dataSource: DataSource | undefined,
57
+ column: {
58
+ // eslint-disable-next-line jsdoc/require-jsdoc
59
+ type?: ColumnType | string & {},
60
+ // eslint-disable-next-line jsdoc/require-jsdoc
61
+ length?: number | string,
62
+ // eslint-disable-next-line jsdoc/require-jsdoc
63
+ precision?: number | null,
64
+ // eslint-disable-next-line jsdoc/require-jsdoc
65
+ scale?: number,
66
+ // eslint-disable-next-line jsdoc/require-jsdoc
67
+ isArray?: boolean
68
+ }
69
+ ): string {
70
+ if (!dataSource) {
71
+ throw new Error('The data source needs to be initialized before it can be used.');
72
+ }
73
+ return dataSource.driver.normalizeType(column);
74
+ }
75
+ }
@@ -1,10 +1,11 @@
1
1
  import { BaseEntity } from '../entity/base-entity.model';
2
2
  import { RelationMetadata } from '../entity/decorators/property.decorator';
3
+ import { BelongsToOnePropertyMetadata } from '../entity/models/belongs-to-one-property-metadata.model';
3
4
  import { FileSize } from '../entity/models/file-property-metadata.model';
5
+ import { HasOnePropertyMetadata } from '../entity/models/has-one-property-metadata.model';
4
6
  import { ManyToManyPropertyMetadata } from '../entity/models/many-to-many-property-metadata.model';
5
7
  import { ManyToOnePropertyMetadata } from '../entity/models/many-to-one-property-metadata.model';
6
8
  import { OneToManyPropertyMetadata } from '../entity/models/one-to-many-property-metadata.model';
7
- import { OneToOnePropertyMetadata } from '../entity/models/one-to-one-property-metadata.model';
8
9
  import { Relation } from '../entity/models/relation.enum';
9
10
  import { MimeType } from '../http/mime-type.enum';
10
11
 
@@ -82,15 +83,12 @@ export class RelationsNotAllowedValidationProblem implements ValidationProblem {
82
83
 
83
84
  private getExample(metadata: RelationMetadata<BaseEntity>, relationKey: string): string {
84
85
  switch (metadata.type) {
85
- case Relation.MANY_TO_ONE: {
86
- return this.getObjectExample(metadata, relationKey);
87
- }
88
- case Relation.ONE_TO_MANY: {
89
- return this.getArrayExample(metadata, relationKey);
90
- }
91
- case Relation.ONE_TO_ONE: {
86
+ case Relation.MANY_TO_ONE:
87
+ case Relation.HAS_ONE:
88
+ case Relation.BELONGS_TO_ONE: {
92
89
  return this.getObjectExample(metadata, relationKey);
93
90
  }
91
+ case Relation.ONE_TO_MANY:
94
92
  case Relation.MANY_TO_MANY: {
95
93
  return this.getArrayExample(metadata, relationKey);
96
94
  }
@@ -110,7 +108,7 @@ export class RelationsNotAllowedValidationProblem implements ValidationProblem {
110
108
  }
111
109
 
112
110
  private getObjectExample(
113
- metadata: OneToOnePropertyMetadata<BaseEntity> | ManyToOnePropertyMetadata<BaseEntity>,
111
+ metadata: BelongsToOnePropertyMetadata<BaseEntity> | HasOnePropertyMetadata<BaseEntity> | ManyToOnePropertyMetadata<BaseEntity>,
114
112
  relationKey: string
115
113
  ): string {
116
114
  return [
@@ -10,6 +10,7 @@ import { Injectable } from '../di/decorators/injectable.decorator';
10
10
  import { ZIBRI_DI_TOKENS } from '../di/default/zibri-di-tokens.default';
11
11
  import { inject } from '../di/inject.function';
12
12
  import { PropertyMetadata, Property, RelationMetadata } from '../entity/decorators/property.decorator';
13
+ import { Relation } from '../entity/models/relation.enum';
13
14
  import { ValidationError } from '../error-handling/errors/validation.error';
14
15
  import { MimeType } from '../http/mime-type.enum';
15
16
  import { FormData } from '../parsing/form-data/form-data.model';
@@ -224,10 +225,11 @@ export class ValidationService implements ValidationServiceInterface {
224
225
  const fullKey: string = parentKey ? `${parentKey}.${key}` : key;
225
226
 
226
227
  if (
227
- metadata.type === 'many-to-one'
228
- || metadata.type === 'one-to-many'
229
- || metadata.type === 'one-to-one'
230
- || metadata.type === 'many-to-many'
228
+ metadata.type === Relation.MANY_TO_ONE
229
+ || metadata.type === Relation.ONE_TO_MANY
230
+ || metadata.type === Relation.HAS_ONE
231
+ || metadata.type === Relation.BELONGS_TO_ONE
232
+ || metadata.type === Relation.MANY_TO_MANY
231
233
  ) {
232
234
  return [new RelationsNotAllowedValidationProblem(fullKey, metadata, key)];
233
235
  }
@@ -21,7 +21,7 @@ export enum WebsocketRecipientType {
21
21
  /**
22
22
  * Definition of a message sent via websocket connection.
23
23
  */
24
- @Entity()
24
+ @Entity({ defaultOrder: { seq: 'ASC' } })
25
25
  export class WebsocketMessage extends BaseEntity {
26
26
  /**
27
27
  * The date at which the message was created.
@@ -4,37 +4,45 @@ import { HttpRequest } from '../../http/http-request.model';
4
4
  import { KnownHeader } from '../../http/known-header.enum';
5
5
 
6
6
  // eslint-disable-next-line jsdoc/require-jsdoc
7
- class QueryObject implements Record<string, string | undefined> {
8
- [key: string]: string | undefined
7
+ class QueryObject implements Record<string, unknown> {
8
+ [key: string]: unknown
9
9
  }
10
10
 
11
11
  // eslint-disable-next-line jsdoc/require-jsdoc
12
12
  class ParamsObject extends QueryObject {}
13
13
 
14
14
  // eslint-disable-next-line jsdoc/require-jsdoc
15
- class HeadersObject implements Partial<Record<KnownHeader, string | undefined>> {
16
- [key: string]: string | undefined
15
+ class HeadersObject implements Partial<Record<KnownHeader, unknown>> {
16
+ [key: string]: unknown
17
17
  }
18
18
 
19
19
  /**
20
20
  * A websocket request sent from a client.
21
21
  */
22
- export class WebsocketRequest implements Partial<Pick<HttpRequest, 'headers' | 'body' | 'query' | 'params'>> {
22
+ export class WebsocketRequest<
23
+ T = unknown,
24
+ PathParamsObject extends Record<string, unknown> = Record<string, string | undefined>,
25
+ QueryParamsObject extends Record<string, unknown> = Record<string, string | undefined>,
26
+ HeaderParamsObject extends Record<string, unknown> = Partial<Record<KnownHeader, string | undefined>>
27
+ > implements Partial<Pick<
28
+ HttpRequest<T, PathParamsObject, QueryParamsObject, HeaderParamsObject>,
29
+ 'headers' | 'body' | 'query' | 'params'>
30
+ > {
23
31
  // eslint-disable-next-line jsdoc/require-jsdoc
24
32
  @Property.object({ cls: () => QueryObject, required: false, allowAdditionalProperties: true })
25
- query: QueryObject | undefined;
33
+ query: QueryParamsObject | undefined;
26
34
 
27
35
  // eslint-disable-next-line jsdoc/require-jsdoc
28
36
  @Property.object({ cls: () => HeadersObject, allowAdditionalProperties: true })
29
- headers!: Partial<Record<KnownHeader, string | undefined>>;
37
+ headers!: HeaderParamsObject;
30
38
 
31
39
  // eslint-disable-next-line jsdoc/require-jsdoc
32
40
  @Property.object({ cls: () => ParamsObject, required: false, allowAdditionalProperties: true })
33
- params: ParamsObject | undefined;
41
+ params: PathParamsObject | undefined;
34
42
 
35
43
  // eslint-disable-next-line jsdoc/require-jsdoc
36
44
  @Property.unknown({ required: false })
37
- body: unknown | undefined;
45
+ body: T | undefined;
38
46
  }
39
47
 
40
48
  /**
@@ -256,8 +256,7 @@ export class WebsocketService implements WebsocketServiceInterface<SocketIOWebso
256
256
  }
257
257
 
258
258
  const messages: WebsocketMessage[] = await this.messageRepository.findAll({
259
- where: whereFilters,
260
- order: { seq: 'ASC' }
259
+ where: whereFilters
261
260
  });
262
261
 
263
262
  for (const m of messages) {
@@ -1,129 +0,0 @@
1
- import { Readable } from 'node:stream';
2
- import { DataSource as TODataSource, EntityMetadata as TOEntityMetadata, EntitySchema, EntitySchemaColumnOptions, QueryRunner, EntitySchemaRelationOptions, TableColumnOptions, EntityTarget } from 'typeorm';
3
- import { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions.js';
4
- import { ColumnMetadata } from 'typeorm/metadata/ColumnMetadata.js';
5
- import { DataSourceInterface, IsolationLevel } from './data-source.interface';
6
- import { BaseEntity } from '../../entity/base-entity.model';
7
- import { PropertyMetadata, PropertyMetadataInput, RelationMetadata } from '../../entity/decorators/property.decorator';
8
- import { FilePropertyMetadata } from '../../entity/models/file-property-metadata.model';
9
- import { type LoggerInterface } from '../../logging/logger.interface';
10
- import { ExcludeStrict } from '../../types/exclude-strict.type';
11
- import { Newable } from '../../types/newable.type';
12
- import { OmitStrict } from '../../types/omit-strict.type';
13
- import { Migration } from '../migration/migration.model';
14
- import { ColumnType } from '../models/column-type.model';
15
- import { Repository } from '../repository';
16
- import { Transaction } from '../transaction/transaction.model';
17
- type ToColumnMappableTypes = ExcludeStrict<PropertyMetadata, RelationMetadata<BaseEntity>>['type'];
18
- /**
19
- * Postgres-specific connection options.
20
- */
21
- export type PostgresOptions = OmitStrict<PostgresConnectionOptions, 'entities' | 'type'>;
22
- /**
23
- * A base postgres data source definition.
24
- */
25
- export declare abstract class PostgresDataSource implements DataSourceInterface {
26
- private readonly logger;
27
- /**
28
- * Mapping from a Zibri property type to a typeorm column type.
29
- */
30
- protected readonly columnTypeMappingOverride: Partial<Record<ToColumnMappableTypes, ColumnType>>;
31
- private get columnTypeMapping();
32
- abstract readonly options: PostgresOptions;
33
- abstract readonly entities: Newable<BaseEntity>[];
34
- /**
35
- * The optional root password.
36
- */
37
- readonly rootPw: string | undefined;
38
- /**
39
- * The optional root username.
40
- */
41
- readonly rootUsername: string | undefined;
42
- readonly migrations: Newable<Migration>[];
43
- /**
44
- * The internal typeorm data source.
45
- */
46
- protected ds?: TODataSource;
47
- constructor(logger: LoggerInterface);
48
- createBackupData(): Readable;
49
- restoreBackup(backupData: Readable): Promise<void>;
50
- init(): Promise<void>;
51
- shutDown(): Promise<void>;
52
- /**
53
- * Gets entity schemas for the entities of this data source.
54
- * @returns Typeorm entity schemas.
55
- */
56
- protected getEntitySchemas(): EntitySchema[];
57
- /**
58
- * Creates a typeorm entity schema for a single entity.
59
- * @param cls - The entity class to create the schema for.
60
- * @returns A typeorm entity schema.
61
- * @throws When the provided entity was configured incorrectly.
62
- */
63
- protected createSchemaForEntity(cls: Newable<BaseEntity>): EntitySchema;
64
- /**
65
- * Transforms the given relation metadata to typeorm relation options.
66
- * @param metadata - The relation metadata to transform.
67
- * @returns Typeorm relation options.
68
- */
69
- protected propertyToRelationOptions<T extends BaseEntity>(metadata: RelationMetadata<T>): EntitySchemaRelationOptions;
70
- private hasCascadeFlag;
71
- /**
72
- * Transforms the given property metadata to typeorm column options.
73
- * @param metadata - The property metadata to transform.
74
- * @returns Typeorm column options.
75
- * @throws When the metadata is incorrect.
76
- */
77
- protected propertyToColumnOptions(metadata: ExcludeStrict<PropertyMetadata, RelationMetadata<BaseEntity>>): EntitySchemaColumnOptions;
78
- getRepository<T extends BaseEntity>(cls: Newable<T>): Repository<T>;
79
- startTransaction(isolationLevel?: IsolationLevel): Promise<Transaction>;
80
- /**
81
- * Creates a query runner.
82
- * @returns A query runner.
83
- * @throws When the data source has not been initialized yet.
84
- */
85
- createQueryRunner(): QueryRunner;
86
- runMigrations(): Promise<void>;
87
- addPropertyToEntity<T extends BaseEntity>(entity: Newable<T>, key: keyof T, transaction: Transaction): Promise<void>;
88
- changePropertyOfEntity<T extends BaseEntity>(entity: Newable<T>, oldColumn: keyof T | string & {}, newColumn: PropertyMetadataInput & {
89
- /**
90
- * The name of the new column.
91
- */
92
- name?: keyof T;
93
- /**
94
- * The type of the new column.
95
- */
96
- type: ExcludeStrict<PropertyMetadata, RelationMetadata<BaseEntity> | FilePropertyMetadata>['type'];
97
- }, transaction: Transaction): Promise<void>;
98
- /**
99
- * Gets the typeorm metadata for a given entity.
100
- * @param target - The target entity.
101
- * @param transaction - The transaction to run this command with.
102
- * @returns The typeorm metadata.
103
- */
104
- protected getEntityMetadata<T extends BaseEntity>(target: EntityTarget<T>, transaction: Transaction): TOEntityMetadata;
105
- /**
106
- * Gets the metadata for a typeorm column.
107
- * @param target - The entity.
108
- * @param propertyName - The name of the property to get the column metadata for.
109
- * @param transaction - The transaction to use to get the column metadata.
110
- * @returns The typeorm column metadata.
111
- * @throws When the provided propertyName could not be found as a column.
112
- */
113
- protected getColumnMetadata<T extends BaseEntity>(target: EntityTarget<T>, propertyName: keyof T | string & {}, transaction: Transaction): ColumnMetadata;
114
- /**
115
- * Creates a table for migrations if it does not exist already.
116
- */
117
- protected createMigrationTableIfNotExists(): Promise<void>;
118
- /**
119
- * Transforms the property on the given entity class to typeorm column options.
120
- * @param entity - The entity class which property should be transformed.
121
- * @param property - The key of the actual property that should be transformed.
122
- * @returns Typeorm column options.
123
- * @throws When no data source has been provided or no column metadata could be found.
124
- */
125
- protected propertyToTableColumnOptions<T extends BaseEntity>(entity: Newable<T>, property: keyof T): TableColumnOptions;
126
- private normalizeColumnType;
127
- }
128
- export {};
129
- //# sourceMappingURL=postgres-data-source.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgres-data-source.model.d.ts","sourceRoot":"","sources":["../../../../src/data-source/data-sources/postgres-data-source.model.ts"],"names":[],"mappings":"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"}