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
@@ -5,16 +5,16 @@ import { MetadataUtilities } from '../../utilities/metadata.utilities';
5
5
  import { AnyObject } from '../any-object.model';
6
6
  import type { BaseEntity } from '../base-entity.model';
7
7
  import { ArrayPropertyMetadata, ArrayPropertyMetadataInput, ArrayPropertyItemMetadataInput, ArrayPropertyItemMetadata } from '../models/array-property-metadata.model';
8
- import type { WithDefaultMetadata } from '../models/base-property-metadata.model';
8
+ import { BelongsToOnePropertyMetadata, BelongsToOnePropertyMetadataInput } from '../models/belongs-to-one-property-metadata.model';
9
9
  import { BooleanPropertyMetadata, BooleanPropertyMetadataInput } from '../models/boolean-property-metadata.model';
10
10
  import { DatePropertyMetadata, DatePropertyMetadataInput } from '../models/date-property-metadata.model';
11
11
  import type { FilePropertyMetadata, FilePropertyMetadataInput } from '../models/file-property-metadata.model';
12
+ import { HasOnePropertyMetadata, HasOnePropertyMetadataInput } from '../models/has-one-property-metadata.model';
12
13
  import { ManyToManyPropertyMetadata, ManyToManyPropertyMetadataInput } from '../models/many-to-many-property-metadata.model';
13
14
  import { ManyToOnePropertyMetadata, ManyToOnePropertyMetadataInput } from '../models/many-to-one-property-metadata.model';
14
15
  import { NumberPropertyMetadata, NumberPropertyMetadataInput } from '../models/number-property-metadata.model';
15
16
  import { ObjectPropertyMetadata, ObjectPropertyMetadataInput } from '../models/object-property-metadata.model';
16
17
  import { OneToManyPropertyMetadata, OneToManyPropertyMetadataInput } from '../models/one-to-many-property-metadata.model';
17
- import { OneToOnePropertyMetadata, OneToOnePropertyMetadataInput, HasOnePropertyMetadataInput, BelongsToOnePropertyMetadataInput } from '../models/one-to-one-property-metadata.model';
18
18
  import { Relation } from '../models/relation.enum';
19
19
  import { StringPropertyMetadata, StringPropertyMetadataInput } from '../models/string-property-metadata.model';
20
20
  import { UnknownPropertyMetadata, UnknownPropertyMetadataInput } from '../models/unknown-property-metadata.model';
@@ -38,7 +38,8 @@ export type PropertyMetadata = StringPropertyMetadata<any, any, any, any, any>
38
38
  */
39
39
  export type RelationMetadata<T extends BaseEntity> = ManyToOnePropertyMetadata<T>
40
40
  | OneToManyPropertyMetadata<T>
41
- | OneToOnePropertyMetadata<T>
41
+ | HasOnePropertyMetadata<T>
42
+ | BelongsToOnePropertyMetadata<T>
42
43
  | ManyToManyPropertyMetadata<T>;
43
44
 
44
45
  /**
@@ -54,15 +55,14 @@ export type PropertyMetadataInput = StringPropertyMetadataInput<any, any, any, a
54
55
  | BooleanPropertyMetadataInput
55
56
  | UnknownPropertyMetadataInput;
56
57
 
57
- /**
58
- * The metadata input to define a relation property.
59
- */
60
- export type RelationMetadataInput<T extends BaseEntity> = ManyToOnePropertyMetadataInput<T>
61
- | OneToManyPropertyMetadataInput<T>
62
- | OneToOnePropertyMetadataInput<T>
63
- | HasOnePropertyMetadataInput<T>
64
- | BelongsToOnePropertyMetadataInput<T>
65
- | ManyToManyPropertyMetadataInput<T>;
58
+ // /**
59
+ // * The metadata input to define a relation property.
60
+ // */
61
+ // export type RelationMetadataInput<T extends BaseEntity> = ManyToOnePropertyMetadataInput<T>
62
+ // | OneToManyPropertyMetadataInput<T>
63
+ // | HasOnePropertyMetadataInput<T>
64
+ // | BelongsToOnePropertyMetadataInput<T>
65
+ // | ManyToManyPropertyMetadataInput<T>;
66
66
 
67
67
  /**
68
68
  * Bundles decorators for properties.
@@ -99,7 +99,7 @@ export namespace Property {
99
99
  hash: false,
100
100
  ...data
101
101
  };
102
- return applyData(fullMetadata, data);
102
+ return applyData(fullMetadata);
103
103
  }
104
104
 
105
105
  /**
@@ -122,7 +122,7 @@ export namespace Property {
122
122
  format: undefined,
123
123
  ...data
124
124
  };
125
- return applyData(fullMetadata, data);
125
+ return applyData(fullMetadata);
126
126
  }
127
127
 
128
128
  /**
@@ -139,7 +139,7 @@ export namespace Property {
139
139
  exclude: false,
140
140
  ...data
141
141
  };
142
- return applyData(fullMetadata, data);
142
+ return applyData(fullMetadata);
143
143
  }
144
144
 
145
145
  /**
@@ -158,7 +158,7 @@ export namespace Property {
158
158
  excludeFromChangeSets: typeof data?.exclude === 'boolean' ? data.exclude : false,
159
159
  ...data
160
160
  };
161
- return applyData(fullMetadata, data);
161
+ return applyData(fullMetadata);
162
162
  }
163
163
 
164
164
  /**
@@ -175,7 +175,7 @@ export namespace Property {
175
175
  allowAdditionalProperties: false,
176
176
  ...data
177
177
  };
178
- return applyData(fullMetadata, data);
178
+ return applyData(fullMetadata);
179
179
  }
180
180
 
181
181
  /**
@@ -249,24 +249,35 @@ export namespace Property {
249
249
  excludeFromChangeSets: typeof data?.exclude === 'boolean' ? data.exclude : false,
250
250
  ...data
251
251
  };
252
- return applyData(fullMetadata, data);
252
+ return applyData(fullMetadata);
253
253
  }
254
254
 
255
+ // eslint-disable-next-line jsdoc/require-returns
255
256
  /**
256
257
  * Defines a many to one property.
257
258
  * @param metadata - Additional data to specify the property.
258
259
  */
259
- export function manyToOne<T extends BaseEntity>(metadata: ManyToOnePropertyMetadataInput<T>): PropertyDecorator {
260
+ export function manyToOne<T extends BaseEntity, TJoinKey extends string>(
261
+ metadata: ManyToOnePropertyMetadataInput<T, TJoinKey>
262
+ ) {
260
263
  const fullMetadata: ManyToOnePropertyMetadata<T> = {
261
264
  required: true,
262
265
  type: Relation.MANY_TO_ONE,
263
266
  cascade: [],
264
267
  description: undefined,
268
+ joinColumn: undefined,
265
269
  exclude: false,
266
270
  excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
267
271
  ...metadata
268
272
  };
269
- return applyData(fullMetadata as PropertyMetadata, metadata);
273
+
274
+ // eslint-disable-next-line typescript/no-explicit-any
275
+ return <TCurrentEntity extends Partial<Record<TJoinKey, any>>>(
276
+ target: TCurrentEntity,
277
+ propertyKey: string | symbol
278
+ ): void => {
279
+ applyData(fullMetadata as PropertyMetadata)(target, propertyKey);
280
+ };
270
281
  }
271
282
 
272
283
  /**
@@ -283,7 +294,7 @@ export namespace Property {
283
294
  excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
284
295
  ...metadata
285
296
  };
286
- return applyData(fullMetadata as PropertyMetadata, metadata);
297
+ return applyData(fullMetadata as PropertyMetadata);
287
298
  }
288
299
 
289
300
  /**
@@ -291,35 +302,44 @@ export namespace Property {
291
302
  * @param metadata - Additional data to specify the property.
292
303
  */
293
304
  export function hasOne<T extends BaseEntity>(metadata: HasOnePropertyMetadataInput<T>): PropertyDecorator {
294
- const fullMetadata: OneToOnePropertyMetadata<T> = {
305
+ const fullMetadata: HasOnePropertyMetadata<T> = {
295
306
  required: true,
296
- type: Relation.ONE_TO_ONE,
307
+ type: Relation.HAS_ONE,
297
308
  cascade: ['remove', 'insert', 'update'],
298
- joinColumn: false,
299
309
  description: undefined,
300
310
  exclude: false,
301
311
  excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
302
312
  ...metadata
303
313
  };
304
- return applyData(fullMetadata as PropertyMetadata, metadata);
314
+ return applyData(fullMetadata as PropertyMetadata);
305
315
  }
306
316
 
317
+ // eslint-disable-next-line jsdoc/require-returns
307
318
  /**
308
319
  * Defines a belongs to one property.
309
320
  * @param metadata - Additional data to specify the property.
310
321
  */
311
- export function belongsToOne<T extends BaseEntity>(metadata: BelongsToOnePropertyMetadataInput<T>): PropertyDecorator {
312
- const fullMetadata: OneToOnePropertyMetadata<T> = {
322
+ export function belongsToOne<T extends BaseEntity, TJoinKey extends string>(
323
+ metadata: BelongsToOnePropertyMetadataInput<T, TJoinKey>
324
+ ) {
325
+ const fullMetadata: BelongsToOnePropertyMetadata<T> = {
313
326
  required: true,
314
- type: Relation.ONE_TO_ONE,
327
+ type: Relation.BELONGS_TO_ONE,
315
328
  cascade: [],
316
- joinColumn: true,
329
+ joinColumn: undefined,
317
330
  description: undefined,
318
331
  exclude: false,
319
332
  excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
320
333
  ...metadata
321
334
  };
322
- return applyData(fullMetadata as PropertyMetadata, metadata);
335
+
336
+ // eslint-disable-next-line typescript/no-explicit-any
337
+ return <TCurrentEntity extends Partial<Record<TJoinKey, any>>>(
338
+ target: TCurrentEntity,
339
+ propertyKey: string | symbol
340
+ ): void => {
341
+ applyData(fullMetadata as PropertyMetadata)(target, propertyKey);
342
+ };
323
343
  }
324
344
 
325
345
  /**
@@ -330,23 +350,21 @@ export namespace Property {
330
350
  const fullMetadata: ManyToManyPropertyMetadata<T> = {
331
351
  required: true,
332
352
  type: Relation.MANY_TO_MANY,
333
- cascade: [],
353
+ cascade: metadata.joinTable === true ? ['remove'] : [],
334
354
  description: undefined,
355
+ joinTable: undefined,
335
356
  persistence: true,
336
357
  exclude: false,
337
358
  excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
338
359
  ...metadata
339
360
  };
340
- return applyData(fullMetadata as PropertyMetadata, metadata);
361
+ return applyData(fullMetadata as PropertyMetadata);
341
362
  }
342
363
  }
343
364
 
344
365
  // eslint-disable-next-line jsdoc/require-jsdoc
345
- function applyData(data: PropertyMetadata, inputData: PropertyMetadataInput | undefined): PropertyDecorator {
366
+ function applyData(data: PropertyMetadata): PropertyDecorator {
346
367
  return (target, key) => {
347
- if (inputData?.required != undefined && (inputData as WithDefaultMetadata<string>).default != undefined) {
348
- warn(`${target.constructor.name}.${key.toString()}: setting "required" won't have any effect, because "default" is also set.`);
349
- }
350
368
  if ('primary' in data && data.primary && data.exclude !== false) {
351
369
  throw new Error(`${target.constructor.name}.${key.toString()}: Cannot mark a primary key with "exclude."`);
352
370
  }
@@ -0,0 +1,15 @@
1
+ import { BaseEntity } from './base-entity.model';
2
+ import { Newable } from '../types/newable.type';
3
+
4
+ /**
5
+ * An error that gets thrown when entity metadata that is required is missing.
6
+ */
7
+ export class EntityMetadataMissingError extends Error {
8
+ constructor(entity: Newable<BaseEntity>, usage: string = '') {
9
+ super([
10
+ `Could not find entity metadata for ${entity.name} ${usage}`,
11
+ 'Did you forget to decorate it with @Entity?'
12
+ ].join('\n'));
13
+ this.name = 'EntityMetadataMissingError';
14
+ }
15
+ }
@@ -16,7 +16,7 @@ export type BaseRelationMetadata<T extends BaseEntity> = BasePropertyMetadata
16
16
  target: () => Newable<T>,
17
17
  /**
18
18
  * The name of the inverse property on the target,
19
- * e.g. 'user' if Posts has `@ManyToOne(() => User, 'post')`.
19
+ * e.g. 'user' if Posts has `@Property.manyToOne(() => User, 'post')`.
20
20
  */
21
21
  inverseSide: keyof T
22
22
  };
@@ -0,0 +1,34 @@
1
+ import { OmitStrict } from '../../types/omit-strict.type';
2
+ import { BaseEntity } from '../base-entity.model';
3
+ import { BaseRelationMetadata } from './base-relation-metadata.model';
4
+ import { Relation } from './relation.enum';
5
+
6
+ /**
7
+ * Metadata for belongs to one properties.
8
+ */
9
+ export type BelongsToOnePropertyMetadata<T extends BaseEntity> = BaseRelationMetadata<T> & {
10
+ /**
11
+ * The type of the property.
12
+ */
13
+ type: Relation.BELONGS_TO_ONE,
14
+ /**
15
+ * The column on the current entity that holds the foreign key.
16
+ */
17
+ joinColumn: string | undefined
18
+ };
19
+
20
+ /**
21
+ * Input Metadata for belongs to one properties.
22
+ */
23
+ export type BelongsToOnePropertyMetadataInput<
24
+ T extends BaseEntity,
25
+ TJoinKey extends string
26
+ > = Partial<OmitStrict<BelongsToOnePropertyMetadata<T>, 'type'>>
27
+ & Pick<BelongsToOnePropertyMetadata<T>, 'target' | 'inverseSide'>
28
+ & {
29
+ /**
30
+ * The column on the current entity that holds the foreign key.
31
+ * Must be an existing key on the decorated class.
32
+ */
33
+ joinColumn?: TJoinKey
34
+ };
@@ -0,0 +1,20 @@
1
+ import { OmitStrict } from '../../types/omit-strict.type';
2
+ import { BaseEntity } from '../base-entity.model';
3
+ import { BaseRelationMetadata } from './base-relation-metadata.model';
4
+ import { Relation } from './relation.enum';
5
+
6
+ /**
7
+ * Metadata for has one properties.
8
+ */
9
+ export type HasOnePropertyMetadata<T extends BaseEntity> = BaseRelationMetadata<T> & {
10
+ /**
11
+ * The type of the property.
12
+ */
13
+ type: Relation.HAS_ONE
14
+ };
15
+
16
+ /**
17
+ * Input Metadata for has one properties.
18
+ */
19
+ export type HasOnePropertyMetadataInput<T extends BaseEntity> = Partial<OmitStrict<HasOnePropertyMetadata<T>, 'type'>>
20
+ & Pick<HasOnePropertyMetadata<T>, 'target' | 'inverseSide'>;
@@ -14,14 +14,14 @@ export type ManyToManyPropertyMetadata<T extends BaseEntity> = BaseRelationMetad
14
14
  /**
15
15
  * Whether or not this entity should own the join table.
16
16
  */
17
- joinTable: boolean,
17
+ joinTable: boolean | undefined,
18
18
  /**
19
19
  * Indicates if persistence is enabled for the relation.
20
20
  * By default its enabled, but if you want to avoid any changes
21
21
  * in the relation to be reflected in the data source you can disable it.
22
22
  * If its disabled you can only change a relation from inverse side
23
23
  * of a relation or using relation query builder functionality.
24
- * This is useful for performance optimization since its disabling avoid
24
+ * This is useful for performance optimization since its disabling avoids
25
25
  * multiple extra queries during entity save.
26
26
  */
27
27
  persistence: boolean
@@ -31,4 +31,4 @@ export type ManyToManyPropertyMetadata<T extends BaseEntity> = BaseRelationMetad
31
31
  * Input Metadata for many to many properties.
32
32
  */
33
33
  export type ManyToManyPropertyMetadataInput<T extends BaseEntity> = Partial<OmitStrict<ManyToManyPropertyMetadata<T>, 'type'>>
34
- & Pick<ManyToManyPropertyMetadata<T>, 'target' | 'joinTable' | 'inverseSide'>;
34
+ & Pick<ManyToManyPropertyMetadata<T>, 'target' | 'inverseSide'>;
@@ -10,11 +10,25 @@ export type ManyToOnePropertyMetadata<T extends BaseEntity> = BaseRelationMetada
10
10
  /**
11
11
  * The type of the property.
12
12
  */
13
- type: Relation.MANY_TO_ONE
13
+ type: Relation.MANY_TO_ONE,
14
+ /**
15
+ * The column on the current entity that holds the foreign key.
16
+ */
17
+ joinColumn: string | undefined
14
18
  };
15
19
 
16
20
  /**
17
21
  * Input Metadata for many to one properties.
18
22
  */
19
- export type ManyToOnePropertyMetadataInput<T extends BaseEntity> = Partial<OmitStrict<ManyToOnePropertyMetadata<T>, 'type'>>
20
- & Pick<ManyToOnePropertyMetadata<T>, 'target' | 'inverseSide'>;
23
+ export type ManyToOnePropertyMetadataInput<
24
+ T extends BaseEntity,
25
+ TJoinKey extends string
26
+ > = Partial<OmitStrict<ManyToOnePropertyMetadata<T>, 'type' | 'joinColumn'>>
27
+ & Pick<ManyToOnePropertyMetadata<T>, 'target' | 'inverseSide'>
28
+ & {
29
+ /**
30
+ * The column on the current entity that holds the foreign key.
31
+ * Must be an existing key on the decorated class.
32
+ */
33
+ joinColumn?: TJoinKey
34
+ };
@@ -2,7 +2,8 @@
2
2
  * All possible relations.
3
3
  */
4
4
  export enum Relation {
5
- ONE_TO_ONE = 'one-to-one',
5
+ HAS_ONE = 'has-one',
6
+ BELONGS_TO_ONE = 'belongs-to-one',
6
7
  ONE_TO_MANY = 'one-to-many',
7
8
  MANY_TO_ONE = 'many-to-one',
8
9
  MANY_TO_MANY = 'many-to-many'
@@ -17,7 +17,7 @@ export function PartialClass<T>(
17
17
  const original: Record<string, PropertyMetadata> = MetadataUtilities.getModelProperties(Base);
18
18
  const partialMeta: Record<string, PropertyMetadata> = {};
19
19
  for (const [prop, meta] of ObjectUtilities.entries(original)) {
20
- partialMeta[prop] = 'required' in meta ? { ...meta, required: false } : meta;
20
+ partialMeta[prop] = { ...meta, required: false };
21
21
  }
22
22
  MetadataUtilities.setModelProperties(PartialClass, partialMeta);
23
23
 
@@ -28,12 +28,10 @@ export class EventCleanupCronJob extends CronJob {
28
28
  await this.logger.info('cleans up past events');
29
29
 
30
30
  try {
31
- // const yesterday: Date = new Date(Date.now() - Ms.DAY);
32
- const events: Event<unknown>[] = (await this.repository.findAll({
33
- where: { status: EventStatus.FINISHED },
34
- relations: ['eventSubscriberRuns']
35
- })).filter(e => Date.now() > new Date(e.cleanupAt).getTime());
36
- const res: Event<unknown>[] = await this.repository.deleteAll({ id: { oneOf: events.map(e => e.id) } });
31
+ const res: Event<unknown>[] = await this.repository.deleteAll({
32
+ status: EventStatus.FINISHED,
33
+ cleanupAt: { before: new Date() }
34
+ });
37
35
  await this.logger.info(`removed ${res.length} events`);
38
36
  }
39
37
  catch {
@@ -2,7 +2,7 @@ import { Event } from './event.model';
2
2
  import { BaseEntity } from '../entity/base-entity.model';
3
3
  import { Entity } from '../entity/decorators/entity.decorator';
4
4
  import { Property } from '../entity/decorators/property.decorator';
5
- import { OmitClass } from '../entity/omit-class.model';
5
+ import { OmitStrict } from '../types/omit-strict.type';
6
6
 
7
7
  /**
8
8
  * Data of a event subscriber run.
@@ -17,8 +17,13 @@ export class EventSubscriberRun<T> extends BaseEntity {
17
17
  /**
18
18
  * The event that triggered this run.
19
19
  */
20
- @Property.manyToOne({ target: () => Event, inverseSide: 'eventSubscriberRuns' })
20
+ @Property.manyToOne({ target: () => Event, joinColumn: 'eventId', inverseSide: 'eventSubscriberRuns' })
21
21
  event!: Event<T>;
22
+ /**
23
+ * The id of the event that this run belongs to.
24
+ */
25
+ @Property.string({ format: 'uuid' })
26
+ eventId!: string;
22
27
  /**
23
28
  * The id of the subscriber.
24
29
  */
@@ -34,10 +39,4 @@ export class EventSubscriberRun<T> extends BaseEntity {
34
39
  /**
35
40
  * The data needed to create a new event subscriber run.
36
41
  */
37
- export class EventSubscriberRunCreateData<T> extends OmitClass(EventSubscriberRun<unknown>, ['id', 'event', 'createdAt']) {
38
- /**
39
- * The event that triggered this run.
40
- */
41
- @Property.manyToOne({ target: () => Event, inverseSide: 'eventSubscriberRuns' })
42
- event!: Event<T>;
43
- }
42
+ export type EventSubscriberRunCreateData<T> = OmitStrict<EventSubscriberRun<T>, 'id' | 'eventId' | 'createdAt'>;
@@ -15,7 +15,7 @@ export enum EventStatus {
15
15
  /**
16
16
  * Definition for an event.
17
17
  */
18
- @Entity({ allowOrphan: true })
18
+ @Entity({ allowOrphan: true, defaultOrder: { createdAt: 'ASC' } })
19
19
  export class Event<T> extends BaseEntity {
20
20
  /**
21
21
  * The timestamp at which the event has been created.
@@ -78,8 +78,7 @@ implements EventServiceInterface<TEvents>, OnAppInit, OnAppStart, AfterAppShutdo
78
78
  async onAppStart(): Promise<void> {
79
79
  const events: Event<TEvents[keyof TEvents]>[] = await this.eventRepository.findAll({
80
80
  where: { status: { not: EventStatus.FINISHED } },
81
- relations: ['eventSubscriberRuns'],
82
- order: { createdAt: 'ASC' }
81
+ relations: ['eventSubscriberRuns']
83
82
  });
84
83
 
85
84
  for (const event of events) {
@@ -222,7 +221,11 @@ implements EventServiceInterface<TEvents>, OnAppInit, OnAppStart, AfterAppShutdo
222
221
  await this.logger.error(new EventProcessingError(event, options.subscriberId, error));
223
222
  }
224
223
 
225
- await this.eventSubscriberRunRepository.create({ event, subscriberId: options.subscriberId, error });
224
+ await this.eventSubscriberRunRepository.create({
225
+ event,
226
+ subscriberId: options.subscriberId,
227
+ error
228
+ });
226
229
  if (await this.eventHasUnfinishedSubscriptions(event)) {
227
230
  return;
228
231
  }
@@ -42,7 +42,8 @@ export class DefaultDescriptor {
42
42
  case Relation.MANY_TO_MANY:
43
43
  case Relation.ONE_TO_MANY:
44
44
  case Relation.MANY_TO_ONE:
45
- case Relation.ONE_TO_ONE: {
45
+ case Relation.HAS_ONE:
46
+ case Relation.BELONGS_TO_ONE: {
46
47
  const nested: DefaultDescriptor = ModelRegistry.get(metadata.target()).defaultDescriptor;
47
48
  if (nested.hasAnything()) {
48
49
  this.nestedKeys.set(key, nested);
@@ -40,7 +40,8 @@ export class EncryptionDescriptor<T> {
40
40
 
41
41
  switch (metadata.type) {
42
42
  case Relation.MANY_TO_ONE:
43
- case Relation.ONE_TO_ONE:
43
+ case Relation.HAS_ONE:
44
+ case Relation.BELONGS_TO_ONE:
44
45
  case Relation.MANY_TO_MANY:
45
46
  case Relation.ONE_TO_MANY: {
46
47
  const nested: EncryptionDescriptor<unknown> = ModelRegistry.get(metadata.target()).encryptionDescriptor;
@@ -38,7 +38,8 @@ export class ExcludeDescriptor<T> {
38
38
 
39
39
  switch (metadata.type) {
40
40
  case Relation.MANY_TO_ONE:
41
- case Relation.ONE_TO_ONE:
41
+ case Relation.HAS_ONE:
42
+ case Relation.BELONGS_TO_ONE:
42
43
  case Relation.MANY_TO_MANY:
43
44
  case Relation.ONE_TO_MANY: {
44
45
  const nested: ExcludeDescriptor<unknown> = ModelRegistry.get(metadata.target()).excludeDescriptor;
@@ -40,7 +40,8 @@ export class HashDescriptor<T> {
40
40
 
41
41
  switch (metadata.type) {
42
42
  case Relation.MANY_TO_ONE:
43
- case Relation.ONE_TO_ONE:
43
+ case Relation.HAS_ONE:
44
+ case Relation.BELONGS_TO_ONE:
44
45
  case Relation.MANY_TO_MANY:
45
46
  case Relation.ONE_TO_MANY: {
46
47
  const nested: HashDescriptor<unknown> = ModelRegistry.get(metadata.target()).hashDescriptor;
package/src/index.ts CHANGED
@@ -134,10 +134,13 @@ export * from './routing/models/crud-controller.model';
134
134
  // context
135
135
  export * from './context/als.utilities';
136
136
  export * from './context/base-context';
137
+
137
138
  export * from './context/request/http-request.context';
138
139
  export * from './context/request/websocket-request.context';
139
140
  export * from './context/request/request-context-token.model';
140
141
 
142
+ export * from './context/cache/cache.context';
143
+
141
144
  // error handling
142
145
  export * from './error-handling/error-handler';
143
146
  export * from './error-handling/error-handler.model';
@@ -201,6 +204,7 @@ export * from './entity/partial-class.model';
201
204
  export * from './entity/pick-class.model';
202
205
  export * from './entity/any-object.model';
203
206
  export * from './entity/base-entity.model';
207
+ export * from './entity/entity-metadata-missing.error';
204
208
 
205
209
  export * from './entity/decorators/entity.decorator';
206
210
  export * from './entity/decorators/property.decorator';
@@ -213,7 +217,8 @@ export * from './entity/models/date-property-metadata.model';
213
217
  export * from './entity/models/boolean-property-metadata.model';
214
218
  export * from './entity/models/many-to-one-property-metadata.model';
215
219
  export * from './entity/models/one-to-many-property-metadata.model';
216
- export * from './entity/models/one-to-one-property-metadata.model';
220
+ export * from './entity/models/belongs-to-one-property-metadata.model';
221
+ export * from './entity/models/has-one-property-metadata.model';
217
222
  export * from './entity/models/many-to-many-property-metadata.model';
218
223
  export * from './entity/models/relation.enum';
219
224
  export * from './entity/models/unknown-property-metadata.model';
@@ -264,7 +269,13 @@ export * from './data-source/query-failed.error';
264
269
  export * from './data-source/decorators/data-source.decorator';
265
270
 
266
271
  export * from './data-source/data-sources/data-source.interface';
267
- export * from './data-source/data-sources/postgres-data-source.model';
272
+ export * from './data-source/data-sources/postgres-typeorm-data-source.model';
273
+ export * from './data-source/data-sources/typeorm-base-data-source.model';
274
+ export * from './data-source/data-sources/data-source-initialization.error';
275
+ export * from './data-source/data-sources/sql-data-source.interface';
276
+
277
+ export * from './data-source/data-sources/where-converter/typeorm-where-filter.converter';
278
+ export * from './data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter';
268
279
 
269
280
  export * from './data-source/transaction/transaction.model';
270
281
 
@@ -284,13 +295,14 @@ export * from './data-source/models/options/update-all-options.model';
284
295
  export * from './data-source/models/options/update-by-id-options.model';
285
296
  export * from './data-source/models/options/count-options.model';
286
297
 
287
- export * from './data-source/models/where/where-filter.model';
288
298
  export * from './data-source/models/where/array-where-filter.model';
289
299
  export * from './data-source/models/where/boolean-where-filter.model';
290
300
  export * from './data-source/models/where/date-where-filter.model';
291
301
  export * from './data-source/models/where/number-where-filter.model';
292
302
  export * from './data-source/models/where/object-where-filter.model';
293
303
  export * from './data-source/models/where/string-where-filter.model';
304
+ export * from './data-source/models/where/where-filter-keys.model';
305
+ export * from './data-source/models/where/where-filter.model';
294
306
 
295
307
  export * from './data-source/migration/migration.model';
296
308
  export * from './data-source/migration/migration-entity.model';
@@ -1,5 +1,5 @@
1
1
  import { LoggedError } from './logged-error.model';
2
- import { CacheOperation } from '../caching/cache/cache-operation.enum';
2
+ import { CacheContext } from '../context/cache/cache.context';
3
3
  import { Property } from '../entity/decorators/property.decorator';
4
4
  import { HttpMethod } from '../http/http-method.enum';
5
5
  import { HttpStatus } from '../http/http-status.enum';
@@ -48,37 +48,6 @@ export class LogRequestContext {
48
48
  durationInMs?: number;
49
49
  }
50
50
 
51
- /**
52
- * Context information about a cache that triggered a log.
53
- */
54
- export class LogCacheContext {
55
- /**
56
- * The name of the cache.
57
- */
58
- @Property.string()
59
- cache!: string;
60
- /**
61
- * The cache operation currently running.
62
- */
63
- @Property.string({ enum: CacheOperation })
64
- operation!: CacheOperation;
65
- /**
66
- * The key of the value in the cache.
67
- */
68
- @Property.unknown({ required: false })
69
- key?: unknown;
70
- /**
71
- * Whether or not the cache has been hit.
72
- */
73
- @Property.boolean({ required: false })
74
- hit?: boolean;
75
- /**
76
- * The duration that the original function took.
77
- */
78
- @Property.number({ required: false })
79
- durationInMs?: number;
80
- }
81
-
82
51
  /**
83
52
  * Context for the log, like the request, the id of the user if applicable and the stack trace.
84
53
  */
@@ -101,8 +70,8 @@ export class LogContext {
101
70
  /**
102
71
  * Context information about the cache that triggered the log.
103
72
  */
104
- @Property.array({ items: { type: 'object', cls: () => LogCacheContext }, required: false })
105
- cache?: LogCacheContext[];
73
+ @Property.array({ items: { type: 'object', cls: () => CacheContext }, required: false })
74
+ cache?: CacheContext[];
106
75
  /**
107
76
  * An error associated to this log.
108
77
  */