@venizia/ignis 0.0.7-9 → 0.0.7

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 (446) hide show
  1. package/README.md +74 -50
  2. package/dist/base/applications/abstract.d.ts.map +1 -1
  3. package/dist/base/applications/abstract.js +0 -8
  4. package/dist/base/applications/abstract.js.map +1 -1
  5. package/dist/base/applications/base.d.ts.map +1 -1
  6. package/dist/base/applications/base.js +0 -17
  7. package/dist/base/applications/base.js.map +1 -1
  8. package/dist/base/applications/types.d.ts.map +1 -1
  9. package/dist/base/applications/types.js.map +1 -1
  10. package/dist/base/components/base.d.ts.map +1 -1
  11. package/dist/base/components/base.js +0 -2
  12. package/dist/base/components/base.js.map +1 -1
  13. package/dist/base/controllers/abstract.d.ts +10 -124
  14. package/dist/base/controllers/abstract.d.ts.map +1 -1
  15. package/dist/base/controllers/abstract.js +6 -82
  16. package/dist/base/controllers/abstract.js.map +1 -1
  17. package/dist/base/controllers/base.d.ts +5 -113
  18. package/dist/base/controllers/base.d.ts.map +1 -1
  19. package/dist/base/controllers/base.js +5 -113
  20. package/dist/base/controllers/base.js.map +1 -1
  21. package/dist/base/controllers/common/constants.d.ts +1 -16
  22. package/dist/base/controllers/common/constants.d.ts.map +1 -1
  23. package/dist/base/controllers/common/constants.js +1 -20
  24. package/dist/base/controllers/common/constants.js.map +1 -1
  25. package/dist/base/controllers/common/types.d.ts +16 -167
  26. package/dist/base/controllers/common/types.d.ts.map +1 -1
  27. package/dist/base/controllers/common/types.js +1 -4
  28. package/dist/base/controllers/common/types.js.map +1 -1
  29. package/dist/base/controllers/factory/controller.d.ts +17 -198
  30. package/dist/base/controllers/factory/controller.d.ts.map +1 -1
  31. package/dist/base/controllers/factory/controller.js +13 -140
  32. package/dist/base/controllers/factory/controller.js.map +1 -1
  33. package/dist/base/controllers/factory/definition.d.ts +2 -7
  34. package/dist/base/controllers/factory/definition.d.ts.map +1 -1
  35. package/dist/base/controllers/factory/definition.js +4 -30
  36. package/dist/base/controllers/factory/definition.js.map +1 -1
  37. package/dist/base/datasources/base.d.ts +2 -31
  38. package/dist/base/datasources/base.d.ts.map +1 -1
  39. package/dist/base/datasources/base.js +2 -39
  40. package/dist/base/datasources/base.js.map +1 -1
  41. package/dist/base/datasources/common/types.d.ts +2 -4
  42. package/dist/base/datasources/common/types.d.ts.map +1 -1
  43. package/dist/base/datasources/common/types.js +1 -8
  44. package/dist/base/datasources/common/types.js.map +1 -1
  45. package/dist/base/metadata/injectors.d.ts +1 -30
  46. package/dist/base/metadata/injectors.d.ts.map +1 -1
  47. package/dist/base/metadata/injectors.js +1 -30
  48. package/dist/base/metadata/injectors.js.map +1 -1
  49. package/dist/base/metadata/persistents.d.ts +3 -63
  50. package/dist/base/metadata/persistents.d.ts.map +1 -1
  51. package/dist/base/metadata/persistents.js +11 -88
  52. package/dist/base/metadata/persistents.js.map +1 -1
  53. package/dist/base/metadata/routes.d.ts +1 -24
  54. package/dist/base/metadata/routes.d.ts.map +1 -1
  55. package/dist/base/metadata/routes.js +1 -27
  56. package/dist/base/metadata/routes.js.map +1 -1
  57. package/dist/base/middlewares/app-error.middleware.d.ts +1 -10
  58. package/dist/base/middlewares/app-error.middleware.d.ts.map +1 -1
  59. package/dist/base/middlewares/app-error.middleware.js +2 -14
  60. package/dist/base/middlewares/app-error.middleware.js.map +1 -1
  61. package/dist/base/middlewares/emoji-favicon.middleware.d.ts +1 -7
  62. package/dist/base/middlewares/emoji-favicon.middleware.d.ts.map +1 -1
  63. package/dist/base/middlewares/emoji-favicon.middleware.js +1 -7
  64. package/dist/base/middlewares/emoji-favicon.middleware.js.map +1 -1
  65. package/dist/base/middlewares/not-found.middleware.d.ts +1 -8
  66. package/dist/base/middlewares/not-found.middleware.d.ts.map +1 -1
  67. package/dist/base/middlewares/not-found.middleware.js +1 -8
  68. package/dist/base/middlewares/not-found.middleware.js.map +1 -1
  69. package/dist/base/middlewares/request-spy.middleware.d.ts +3 -19
  70. package/dist/base/middlewares/request-spy.middleware.d.ts.map +1 -1
  71. package/dist/base/middlewares/request-spy.middleware.js +3 -23
  72. package/dist/base/middlewares/request-spy.middleware.js.map +1 -1
  73. package/dist/base/mixins/component.mixin.d.ts.map +1 -1
  74. package/dist/base/mixins/controller.mixin.d.ts.map +1 -1
  75. package/dist/base/mixins/repository.mixin.d.ts.map +1 -1
  76. package/dist/base/mixins/service.mixin.d.ts.map +1 -1
  77. package/dist/base/models/base.d.ts +4 -21
  78. package/dist/base/models/base.d.ts.map +1 -1
  79. package/dist/base/models/base.js +1 -11
  80. package/dist/base/models/base.js.map +1 -1
  81. package/dist/base/models/common/types.d.ts.map +1 -1
  82. package/dist/base/models/common/types.js +0 -2
  83. package/dist/base/models/common/types.js.map +1 -1
  84. package/dist/base/models/enrichers/id.enricher.d.ts.map +1 -1
  85. package/dist/base/models/enrichers/id.enricher.js.map +1 -1
  86. package/dist/base/models/enrichers/user-audit.enricher.d.ts.map +1 -1
  87. package/dist/base/models/enrichers/user-audit.enricher.js +1 -6
  88. package/dist/base/models/enrichers/user-audit.enricher.js.map +1 -1
  89. package/dist/base/repositories/common/constants.d.ts +5 -59
  90. package/dist/base/repositories/common/constants.d.ts.map +1 -1
  91. package/dist/base/repositories/common/constants.js +3 -51
  92. package/dist/base/repositories/common/constants.js.map +1 -1
  93. package/dist/base/repositories/common/shared.d.ts +1 -13
  94. package/dist/base/repositories/common/shared.d.ts.map +1 -1
  95. package/dist/base/repositories/common/shared.js +2 -19
  96. package/dist/base/repositories/common/shared.js.map +1 -1
  97. package/dist/base/repositories/common/types.d.ts +32 -461
  98. package/dist/base/repositories/common/types.d.ts.map +1 -1
  99. package/dist/base/repositories/common/types.js +13 -159
  100. package/dist/base/repositories/common/types.js.map +1 -1
  101. package/dist/base/repositories/core/abstract.d.ts +10 -204
  102. package/dist/base/repositories/core/abstract.d.ts.map +1 -1
  103. package/dist/base/repositories/core/abstract.js +6 -126
  104. package/dist/base/repositories/core/abstract.js.map +1 -1
  105. package/dist/base/repositories/core/default-crud.d.ts +1 -36
  106. package/dist/base/repositories/core/default-crud.d.ts.map +1 -1
  107. package/dist/base/repositories/core/default-crud.js +1 -36
  108. package/dist/base/repositories/core/default-crud.js.map +1 -1
  109. package/dist/base/repositories/core/index.d.ts +1 -0
  110. package/dist/base/repositories/core/index.d.ts.map +1 -1
  111. package/dist/base/repositories/core/index.js +1 -0
  112. package/dist/base/repositories/core/index.js.map +1 -1
  113. package/dist/base/repositories/core/persistable.d.ts +2 -71
  114. package/dist/base/repositories/core/persistable.d.ts.map +1 -1
  115. package/dist/base/repositories/core/persistable.js +2 -100
  116. package/dist/base/repositories/core/persistable.js.map +1 -1
  117. package/dist/base/repositories/core/readable.d.ts +12 -127
  118. package/dist/base/repositories/core/readable.d.ts.map +1 -1
  119. package/dist/base/repositories/core/readable.js +8 -124
  120. package/dist/base/repositories/core/readable.js.map +1 -1
  121. package/dist/base/repositories/core/soft-deletable.d.ts +140 -0
  122. package/dist/base/repositories/core/soft-deletable.d.ts.map +1 -0
  123. package/dist/base/repositories/core/soft-deletable.js +99 -0
  124. package/dist/base/repositories/core/soft-deletable.js.map +1 -0
  125. package/dist/base/repositories/mixins/default-filter.d.ts +3 -49
  126. package/dist/base/repositories/mixins/default-filter.d.ts.map +1 -1
  127. package/dist/base/repositories/mixins/default-filter.js +3 -57
  128. package/dist/base/repositories/mixins/default-filter.js.map +1 -1
  129. package/dist/base/repositories/mixins/fields-visibility.d.ts +3 -59
  130. package/dist/base/repositories/mixins/fields-visibility.d.ts.map +1 -1
  131. package/dist/base/repositories/mixins/fields-visibility.js +3 -67
  132. package/dist/base/repositories/mixins/fields-visibility.js.map +1 -1
  133. package/dist/base/repositories/operators/filter.d.ts +10 -115
  134. package/dist/base/repositories/operators/filter.d.ts.map +1 -1
  135. package/dist/base/repositories/operators/filter.js +13 -154
  136. package/dist/base/repositories/operators/filter.js.map +1 -1
  137. package/dist/base/repositories/operators/json-utils.d.ts +5 -38
  138. package/dist/base/repositories/operators/json-utils.d.ts.map +1 -1
  139. package/dist/base/repositories/operators/json-utils.js +5 -47
  140. package/dist/base/repositories/operators/json-utils.js.map +1 -1
  141. package/dist/base/repositories/operators/query.d.ts +3 -56
  142. package/dist/base/repositories/operators/query.d.ts.map +1 -1
  143. package/dist/base/repositories/operators/query.js +11 -106
  144. package/dist/base/repositories/operators/query.js.map +1 -1
  145. package/dist/base/repositories/operators/relation.d.ts +1 -33
  146. package/dist/base/repositories/operators/relation.d.ts.map +1 -1
  147. package/dist/base/repositories/operators/relation.js +1 -36
  148. package/dist/base/repositories/operators/relation.js.map +1 -1
  149. package/dist/base/repositories/operators/update.d.ts +7 -72
  150. package/dist/base/repositories/operators/update.d.ts.map +1 -1
  151. package/dist/base/repositories/operators/update.js +6 -91
  152. package/dist/base/repositories/operators/update.js.map +1 -1
  153. package/dist/base/services/types.d.ts.map +1 -1
  154. package/dist/common/bindings.d.ts +2 -17
  155. package/dist/common/bindings.d.ts.map +1 -1
  156. package/dist/common/bindings.js +2 -14
  157. package/dist/common/bindings.js.map +1 -1
  158. package/dist/common/constants.d.ts +1 -3
  159. package/dist/common/constants.d.ts.map +1 -1
  160. package/dist/common/constants.js +1 -4
  161. package/dist/common/constants.js.map +1 -1
  162. package/dist/common/environments.d.ts +1 -4
  163. package/dist/common/environments.d.ts.map +1 -1
  164. package/dist/common/environments.js +1 -4
  165. package/dist/common/environments.js.map +1 -1
  166. package/dist/common/statuses.d.ts +6 -19
  167. package/dist/common/statuses.d.ts.map +1 -1
  168. package/dist/common/statuses.js +6 -27
  169. package/dist/common/statuses.js.map +1 -1
  170. package/dist/components/auth/authenticate/common/codecs.d.ts +11 -0
  171. package/dist/components/auth/authenticate/common/codecs.d.ts.map +1 -0
  172. package/dist/components/auth/authenticate/common/codecs.js +28 -0
  173. package/dist/components/auth/authenticate/common/codecs.js.map +1 -0
  174. package/dist/components/auth/authenticate/common/constants.d.ts +28 -4
  175. package/dist/components/auth/authenticate/common/constants.d.ts.map +1 -1
  176. package/dist/components/auth/authenticate/common/constants.js +37 -9
  177. package/dist/components/auth/authenticate/common/constants.js.map +1 -1
  178. package/dist/components/auth/authenticate/common/index.d.ts +1 -0
  179. package/dist/components/auth/authenticate/common/index.d.ts.map +1 -1
  180. package/dist/components/auth/authenticate/common/index.js +1 -0
  181. package/dist/components/auth/authenticate/common/index.js.map +1 -1
  182. package/dist/components/auth/authenticate/common/keys.d.ts +1 -0
  183. package/dist/components/auth/authenticate/common/keys.d.ts.map +1 -1
  184. package/dist/components/auth/authenticate/common/keys.js +1 -0
  185. package/dist/components/auth/authenticate/common/keys.js.map +1 -1
  186. package/dist/components/auth/authenticate/common/types.d.ts +55 -27
  187. package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
  188. package/dist/components/auth/authenticate/component.d.ts +2 -1
  189. package/dist/components/auth/authenticate/component.d.ts.map +1 -1
  190. package/dist/components/auth/authenticate/component.js +101 -45
  191. package/dist/components/auth/authenticate/component.js.map +1 -1
  192. package/dist/components/auth/authenticate/controllers/index.d.ts +1 -0
  193. package/dist/components/auth/authenticate/controllers/index.d.ts.map +1 -1
  194. package/dist/components/auth/authenticate/controllers/index.js +1 -0
  195. package/dist/components/auth/authenticate/controllers/index.js.map +1 -1
  196. package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts +9 -0
  197. package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts.map +1 -0
  198. package/dist/components/auth/authenticate/controllers/jwks/controller.js +54 -0
  199. package/dist/components/auth/authenticate/controllers/jwks/controller.js.map +1 -0
  200. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts +66 -0
  201. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts.map +1 -0
  202. package/dist/components/auth/authenticate/controllers/jwks/definitions.js +32 -0
  203. package/dist/components/auth/authenticate/controllers/jwks/definitions.js.map +1 -0
  204. package/dist/components/auth/authenticate/controllers/jwks/index.d.ts +2 -0
  205. package/dist/components/auth/authenticate/controllers/jwks/index.d.ts.map +1 -0
  206. package/dist/components/auth/authenticate/controllers/jwks/index.js +18 -0
  207. package/dist/components/auth/authenticate/controllers/jwks/index.js.map +1 -0
  208. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +1 -1
  209. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js +0 -2
  210. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js.map +1 -1
  211. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -1
  212. package/dist/components/auth/authenticate/providers/authentication.provider.js +0 -7
  213. package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -1
  214. package/dist/components/auth/authenticate/services/basic/index.d.ts +2 -0
  215. package/dist/components/auth/authenticate/services/basic/index.d.ts.map +1 -0
  216. package/dist/components/auth/authenticate/services/basic/index.js +18 -0
  217. package/dist/components/auth/authenticate/services/basic/index.js.map +1 -0
  218. package/dist/components/auth/authenticate/services/basic/service.d.ts +24 -0
  219. package/dist/components/auth/authenticate/services/basic/service.d.ts.map +1 -0
  220. package/dist/components/auth/authenticate/services/{basic-token.service.js → basic/service.js} +7 -45
  221. package/dist/components/auth/authenticate/services/basic/service.js.map +1 -0
  222. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +52 -0
  223. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +1 -0
  224. package/dist/components/auth/authenticate/services/bearer/abstract.service.js +177 -0
  225. package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -0
  226. package/dist/components/auth/authenticate/services/bearer/index.d.ts +4 -0
  227. package/dist/components/auth/authenticate/services/bearer/index.d.ts.map +1 -0
  228. package/dist/components/auth/authenticate/services/bearer/index.js +20 -0
  229. package/dist/components/auth/authenticate/services/bearer/index.js.map +1 -0
  230. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts +16 -0
  231. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts.map +1 -0
  232. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js +32 -0
  233. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js.map +1 -0
  234. package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts +4 -0
  235. package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts.map +1 -0
  236. package/dist/components/auth/authenticate/services/bearer/jwks/index.js +20 -0
  237. package/dist/components/auth/authenticate/services/bearer/jwks/index.js.map +1 -0
  238. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts +46 -0
  239. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -0
  240. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +168 -0
  241. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -0
  242. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts +18 -0
  243. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +1 -0
  244. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js +73 -0
  245. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -0
  246. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts +19 -0
  247. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +1 -0
  248. package/dist/components/auth/authenticate/services/bearer/jws.service.js +76 -0
  249. package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -0
  250. package/dist/components/auth/authenticate/services/index.d.ts +2 -2
  251. package/dist/components/auth/authenticate/services/index.d.ts.map +1 -1
  252. package/dist/components/auth/authenticate/services/index.js +2 -2
  253. package/dist/components/auth/authenticate/services/index.js.map +1 -1
  254. package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts +1 -22
  255. package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts.map +1 -1
  256. package/dist/components/auth/authenticate/strategies/basic.strategy.js +1 -22
  257. package/dist/components/auth/authenticate/strategies/basic.strategy.js.map +1 -1
  258. package/dist/components/auth/authenticate/strategies/index.d.ts +2 -1
  259. package/dist/components/auth/authenticate/strategies/index.d.ts.map +1 -1
  260. package/dist/components/auth/authenticate/strategies/index.js +2 -1
  261. package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
  262. package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts +21 -0
  263. package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts.map +1 -0
  264. package/dist/components/auth/authenticate/strategies/jwks.strategy.js +68 -0
  265. package/dist/components/auth/authenticate/strategies/jwks.strategy.js.map +1 -0
  266. package/dist/components/auth/authenticate/strategies/{jwt.strategy.d.ts → jws.strategy.d.ts} +5 -4
  267. package/dist/components/auth/authenticate/strategies/jws.strategy.d.ts.map +1 -0
  268. package/dist/components/auth/authenticate/strategies/{jwt.strategy.js → jws.strategy.js} +11 -10
  269. package/dist/components/auth/authenticate/strategies/jws.strategy.js.map +1 -0
  270. package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts.map +1 -1
  271. package/dist/components/auth/authenticate/strategies/strategy-registry.js +0 -5
  272. package/dist/components/auth/authenticate/strategies/strategy-registry.js.map +1 -1
  273. package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -1
  274. package/dist/components/auth/authorize/adapters/base-filtered.js +0 -8
  275. package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -1
  276. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts +2 -1
  277. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts.map +1 -1
  278. package/dist/components/auth/authorize/adapters/drizzle-casbin.js +4 -5
  279. package/dist/components/auth/authorize/adapters/drizzle-casbin.js.map +1 -1
  280. package/dist/components/auth/authorize/common/constants.d.ts.map +1 -1
  281. package/dist/components/auth/authorize/common/constants.js +0 -8
  282. package/dist/components/auth/authorize/common/constants.js.map +1 -1
  283. package/dist/components/auth/authorize/common/types.d.ts +2 -32
  284. package/dist/components/auth/authorize/common/types.d.ts.map +1 -1
  285. package/dist/components/auth/authorize/component.d.ts.map +1 -1
  286. package/dist/components/auth/authorize/component.js +0 -2
  287. package/dist/components/auth/authorize/component.js.map +1 -1
  288. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -1
  289. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +0 -10
  290. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
  291. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts +1 -0
  292. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts.map +1 -1
  293. package/dist/components/auth/authorize/enforcers/enforcer-registry.js +3 -7
  294. package/dist/components/auth/authorize/enforcers/enforcer-registry.js.map +1 -1
  295. package/dist/components/auth/authorize/middlewares/authorize.middleware.d.ts.map +1 -1
  296. package/dist/components/auth/authorize/middlewares/authorize.middleware.js +0 -2
  297. package/dist/components/auth/authorize/middlewares/authorize.middleware.js.map +1 -1
  298. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts.map +1 -1
  299. package/dist/components/auth/authorize/models/abilities/string-action.model.js +0 -1
  300. package/dist/components/auth/authorize/models/abilities/string-action.model.js.map +1 -1
  301. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts.map +1 -1
  302. package/dist/components/auth/authorize/models/abilities/string-resource.model.js +0 -1
  303. package/dist/components/auth/authorize/models/abilities/string-resource.model.js.map +1 -1
  304. package/dist/components/auth/authorize/models/authorization-role.model.d.ts.map +1 -1
  305. package/dist/components/auth/authorize/models/authorization-role.model.js +0 -1
  306. package/dist/components/auth/authorize/models/authorization-role.model.js.map +1 -1
  307. package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
  308. package/dist/components/auth/authorize/providers/authorization.provider.js +5 -6
  309. package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -1
  310. package/dist/components/auth/base/abstract-auth-registry.d.ts.map +1 -1
  311. package/dist/components/auth/base/abstract-auth-registry.js +0 -3
  312. package/dist/components/auth/base/abstract-auth-registry.js.map +1 -1
  313. package/dist/components/auth/context-variables.d.ts.map +1 -1
  314. package/dist/components/auth/models/entities/permission.model.d.ts.map +1 -1
  315. package/dist/components/auth/models/entities/permission.model.js.map +1 -1
  316. package/dist/components/auth/models/entities/policy-definition.model.d.ts.map +1 -1
  317. package/dist/components/auth/models/entities/policy-definition.model.js.map +1 -1
  318. package/dist/components/auth/models/entities/role.model.d.ts.map +1 -1
  319. package/dist/components/auth/models/entities/role.model.js +0 -1
  320. package/dist/components/auth/models/entities/role.model.js.map +1 -1
  321. package/dist/components/auth/models/entities/user.model.d.ts.map +1 -1
  322. package/dist/components/auth/models/entities/user.model.js +0 -1
  323. package/dist/components/auth/models/entities/user.model.js.map +1 -1
  324. package/dist/components/health-check/controller.d.ts.map +1 -1
  325. package/dist/components/health-check/controller.js +0 -1
  326. package/dist/components/health-check/controller.js.map +1 -1
  327. package/dist/components/mail/common/types.d.ts +1 -1
  328. package/dist/components/mail/common/types.d.ts.map +1 -1
  329. package/dist/components/mail/component.d.ts.map +1 -1
  330. package/dist/components/mail/component.js +2 -7
  331. package/dist/components/mail/component.js.map +1 -1
  332. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts +2 -1
  333. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts.map +1 -1
  334. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js +7 -7
  335. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
  336. package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts +1 -1
  337. package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts.map +1 -1
  338. package/dist/components/mail/helpers/executors/direct-executor.helper.js +3 -3
  339. package/dist/components/mail/helpers/executors/direct-executor.helper.js.map +1 -1
  340. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts +1 -1
  341. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
  342. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +4 -4
  343. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
  344. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts +1 -1
  345. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +1 -1
  346. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js +3 -3
  347. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
  348. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts +1 -1
  349. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts.map +1 -1
  350. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js +3 -3
  351. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
  352. package/dist/components/mail/providers/mail-queue-executor.provider.d.ts.map +1 -1
  353. package/dist/components/mail/providers/mail-queue-executor.provider.js +8 -8
  354. package/dist/components/mail/providers/mail-queue-executor.provider.js.map +1 -1
  355. package/dist/components/mail/providers/mail-transporter.provider.d.ts.map +1 -1
  356. package/dist/components/mail/providers/mail-transporter.provider.js +6 -6
  357. package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
  358. package/dist/components/mail/services/mail.service.d.ts +1 -1
  359. package/dist/components/mail/services/mail.service.d.ts.map +1 -1
  360. package/dist/components/mail/services/mail.service.js +9 -9
  361. package/dist/components/mail/services/mail.service.js.map +1 -1
  362. package/dist/components/mail/services/template.service.d.ts +1 -1
  363. package/dist/components/mail/services/template.service.d.ts.map +1 -1
  364. package/dist/components/mail/services/template.service.js +4 -4
  365. package/dist/components/mail/services/template.service.js.map +1 -1
  366. package/dist/components/mail/utilities/type.utility.d.ts +1 -1
  367. package/dist/components/mail/utilities/type.utility.d.ts.map +1 -1
  368. package/dist/components/socket-io/component.d.ts.map +1 -1
  369. package/dist/components/socket-io/component.js +0 -4
  370. package/dist/components/socket-io/component.js.map +1 -1
  371. package/dist/components/static-asset/common/constants.d.ts +1 -0
  372. package/dist/components/static-asset/common/constants.d.ts.map +1 -1
  373. package/dist/components/static-asset/common/constants.js +2 -1
  374. package/dist/components/static-asset/common/constants.js.map +1 -1
  375. package/dist/components/static-asset/common/types.d.ts +43 -1
  376. package/dist/components/static-asset/common/types.d.ts.map +1 -1
  377. package/dist/components/static-asset/controller/base.definition.d.ts +81 -80
  378. package/dist/components/static-asset/controller/base.definition.d.ts.map +1 -1
  379. package/dist/components/static-asset/controller/base.definition.js +1 -2
  380. package/dist/components/static-asset/controller/base.definition.js.map +1 -1
  381. package/dist/components/static-asset/controller/factory.d.ts +2 -6
  382. package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
  383. package/dist/components/static-asset/controller/factory.js +41 -42
  384. package/dist/components/static-asset/controller/factory.js.map +1 -1
  385. package/dist/components/static-asset/models/base.model.d.ts +49 -19
  386. package/dist/components/static-asset/models/base.model.d.ts.map +1 -1
  387. package/dist/components/static-asset/models/base.model.js +3 -7
  388. package/dist/components/static-asset/models/base.model.js.map +1 -1
  389. package/dist/components/swagger/ui-factory.d.ts.map +1 -1
  390. package/dist/components/swagger/ui-factory.js +0 -2
  391. package/dist/components/swagger/ui-factory.js.map +1 -1
  392. package/dist/components/websocket/component.d.ts.map +1 -1
  393. package/dist/components/websocket/component.js +0 -3
  394. package/dist/components/websocket/component.js.map +1 -1
  395. package/dist/helpers/base-helper.d.ts +2 -0
  396. package/dist/helpers/base-helper.d.ts.map +1 -0
  397. package/dist/helpers/base-helper.js +6 -0
  398. package/dist/helpers/base-helper.js.map +1 -0
  399. package/dist/helpers/index.d.ts +2 -1
  400. package/dist/helpers/index.d.ts.map +1 -1
  401. package/dist/helpers/index.js +1 -1
  402. package/dist/helpers/index.js.map +1 -1
  403. package/dist/helpers/inversion/common/keys.d.ts.map +1 -1
  404. package/dist/helpers/inversion/common/keys.js +0 -2
  405. package/dist/helpers/inversion/common/keys.js.map +1 -1
  406. package/dist/helpers/inversion/common/types.d.ts +18 -56
  407. package/dist/helpers/inversion/common/types.d.ts.map +1 -1
  408. package/dist/helpers/inversion/container.d.ts.map +1 -1
  409. package/dist/helpers/inversion/container.js +0 -1
  410. package/dist/helpers/inversion/container.js.map +1 -1
  411. package/dist/helpers/inversion/index.d.ts +1 -1
  412. package/dist/helpers/inversion/index.d.ts.map +1 -1
  413. package/dist/helpers/inversion/index.js +5 -1
  414. package/dist/helpers/inversion/index.js.map +1 -1
  415. package/dist/helpers/inversion/mixins/controller.mixin.d.ts.map +1 -1
  416. package/dist/helpers/inversion/mixins/controller.mixin.js +0 -3
  417. package/dist/helpers/inversion/mixins/controller.mixin.js.map +1 -1
  418. package/dist/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
  419. package/dist/helpers/inversion/mixins/datasource.mixin.js +0 -3
  420. package/dist/helpers/inversion/mixins/datasource.mixin.js.map +1 -1
  421. package/dist/helpers/inversion/mixins/model.mixin.d.ts +29 -1
  422. package/dist/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
  423. package/dist/helpers/inversion/mixins/model.mixin.js +66 -2
  424. package/dist/helpers/inversion/mixins/model.mixin.js.map +1 -1
  425. package/dist/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  426. package/dist/helpers/inversion/mixins/repository.mixin.js +0 -2
  427. package/dist/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  428. package/dist/helpers/inversion/registry.d.ts +22 -0
  429. package/dist/helpers/inversion/registry.d.ts.map +1 -1
  430. package/dist/utilities/jsx.utility.d.ts +2 -16
  431. package/dist/utilities/jsx.utility.d.ts.map +1 -1
  432. package/dist/utilities/jsx.utility.js +2 -16
  433. package/dist/utilities/jsx.utility.js.map +1 -1
  434. package/dist/utilities/schema.utility.d.ts.map +1 -1
  435. package/dist/utilities/schema.utility.js +0 -2
  436. package/dist/utilities/schema.utility.js.map +1 -1
  437. package/package.json +3 -3
  438. package/dist/components/auth/authenticate/services/basic-token.service.d.ts +0 -60
  439. package/dist/components/auth/authenticate/services/basic-token.service.d.ts.map +0 -1
  440. package/dist/components/auth/authenticate/services/basic-token.service.js.map +0 -1
  441. package/dist/components/auth/authenticate/services/jwt-token.service.d.ts +0 -34
  442. package/dist/components/auth/authenticate/services/jwt-token.service.d.ts.map +0 -1
  443. package/dist/components/auth/authenticate/services/jwt-token.service.js +0 -218
  444. package/dist/components/auth/authenticate/services/jwt-token.service.js.map +0 -1
  445. package/dist/components/auth/authenticate/strategies/jwt.strategy.d.ts.map +0 -1
  446. package/dist/components/auth/authenticate/strategies/jwt.strategy.js.map +0 -1
@@ -3,88 +3,24 @@ import { BaseEntity, IdType, TTableInsert, TTableObject, TTableSchemaWithId } fr
3
3
  import { TClass, TNullable } from '@venizia/ignis-helpers';
4
4
  import { IExtraOptions, TCount, TDataRange, TFilter, TWhere } from '../common';
5
5
  import { AbstractRepository } from './abstract';
6
- /**
7
- * Read-only repository implementation.
8
- *
9
- * Provides read operations (find, findOne, findById, count, existsWith) while
10
- * blocking write operations (create, update, delete) with an error.
11
- *
12
- * Use this class when you need a repository that should only read data,
13
- * such as for reporting or analytics views.
14
- *
15
- * @template EntitySchema - The Drizzle table schema type with an 'id' column
16
- * @template DataObject - The type of objects returned from queries
17
- * @template PersistObject - The type for insert/update operations
18
- * @template ExtraOptions - Additional options type extending IExtraOptions
19
- *
20
- * @example
21
- * ```typescript
22
- * @repository({ model: Report, dataSource: PostgresDataSource })
23
- * export class ReportRepository extends ReadableRepository<typeof Report.schema> {
24
- * async getMonthlyStats() {
25
- * return this.find({ filter: { where: { type: 'monthly' } } });
26
- * }
27
- * }
28
- * ```
29
- */
6
+ /** Read-only repository. Write operations throw errors. */
30
7
  export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId = TTableSchemaWithId, DataObject extends TTableObject<EntitySchema> = TTableObject<EntitySchema>, PersistObject extends TTableInsert<EntitySchema> = TTableInsert<EntitySchema>, ExtraOptions extends IExtraOptions = IExtraOptions> extends AbstractRepository<EntitySchema, DataObject, PersistObject, ExtraOptions> {
31
- /**
32
- * Creates a new read-only repository instance.
33
- *
34
- * @param ds - Optional data source (auto-injected from @repository decorator)
35
- * @param opts - Optional configuration
36
- * @param opts.entityClass - Entity class if not using @repository decorator
37
- */
38
8
  constructor(ds?: IDataSource, opts?: {
39
9
  entityClass?: TClass<BaseEntity<EntitySchema>>;
40
10
  });
41
- /**
42
- * Determines if a query can use the Drizzle Core API for better performance.
43
- *
44
- * Core API is ~15-20% faster but has limitations:
45
- * - No relation inclusion support
46
- * - Different field selection syntax
47
- *
48
- * @param filter - The filter to evaluate
49
- * @returns True if Core API can be used, false if Query API is needed
50
- */
11
+ /** Core API is ~15-20% faster but doesn't support relations or field selection. */
51
12
  protected canUseCoreAPI(filter: TFilter<DataObject>): boolean;
52
- /**
53
- * Executes a query using the Drizzle Core API (faster for flat queries).
54
- *
55
- * Performance: ~15-20% faster than Query API for simple queries without relations.
56
- *
57
- * @template R - Return type (defaults to DataObject)
58
- * @param opts - Query options
59
- * @param opts.filter - Filter configuration
60
- * @param opts.isFindOne - If true, limits to 1 result
61
- * @param opts.options - Extra options (transaction, logging)
62
- * @returns Promise resolving to array of results
63
- */
13
+ /** Executes a query using Drizzle Core API (~15-20% faster for flat queries). */
64
14
  protected findWithCoreAPI<R = DataObject>(opts: {
65
15
  filter: TFilter<DataObject>;
66
16
  isFindOne?: boolean;
67
17
  options?: ExtraOptions;
68
18
  }): Promise<Array<R>>;
69
- /**
70
- * Executes a query using the Drizzle Query API (supports relations and field selection).
71
- *
72
- * @template R - Return type (defaults to DataObject)
73
- * @param opts - Query options
74
- * @param opts.filter - Filter configuration (should already have default filter applied)
75
- * @param opts.options - Extra options (transaction, logging)
76
- * @returns Promise resolving to array of results
77
- */
19
+ /** Executes a query using Drizzle Query API (supports relations and field selection). */
78
20
  protected findWithQueryAPI<R = DataObject>(opts: {
79
21
  filter: TFilter<DataObject>;
80
22
  options?: ExtraOptions;
81
23
  }): Promise<Array<R>>;
82
- /**
83
- * Finds all records matching the filter with range information.
84
- * @template R - Return type (defaults to DataObject)
85
- * @param opts - Options containing filter and extra options with shouldQueryRange: true
86
- * @returns Promise resolving to object with data array and range information
87
- */
88
24
  find<R = DataObject>(opts: {
89
25
  filter: TFilter<DataObject>;
90
26
  options: ExtraOptions & {
@@ -94,68 +30,32 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
94
30
  data: Array<R>;
95
31
  range: TDataRange;
96
32
  }>;
97
- /**
98
- * Finds all records matching the filter.
99
- * @template R - Return type (defaults to DataObject)
100
- * @param opts - Options containing filter and extra options
101
- * @returns Promise resolving to array of matching records
102
- */
103
33
  find<R = DataObject>(opts: {
104
34
  filter: TFilter<DataObject>;
105
35
  options?: ExtraOptions & {
106
36
  shouldQueryRange?: false;
107
37
  };
108
38
  }): Promise<Array<R>>;
109
- /**
110
- * Finds the first record matching the filter.
111
- * Automatically selects Core API or Query API based on filter complexity.
112
- *
113
- * @template R - Return type (defaults to DataObject)
114
- * @param opts - Options containing filter and extra options
115
- * @returns Promise resolving to the found record or null
116
- */
39
+ /** Auto-selects Core API or Query API based on filter complexity. */
117
40
  findOne<R = DataObject>(opts: {
118
41
  filter: TFilter<DataObject>;
119
42
  options?: ExtraOptions;
120
43
  }): Promise<TNullable<R>>;
121
- /**
122
- * Finds a record by its ID.
123
- * Delegates to findOne with id in the where clause.
124
- *
125
- * @template R - Return type (defaults to DataObject)
126
- * @param opts - Options containing id and optional filter (without where)
127
- * @returns Promise resolving to the found record or null
128
- */
44
+ /** Delegates to findOne with id in the where clause. */
129
45
  findById<R = DataObject>(opts: {
130
46
  id: IdType;
131
47
  filter?: Omit<TFilter<DataObject>, 'where'>;
132
48
  options?: ExtraOptions;
133
49
  }): Promise<TNullable<R>>;
134
- /**
135
- * Counts records matching the where condition.
136
- * Applies default filter if configured.
137
- *
138
- * @param opts - Options containing where condition
139
- * @returns Promise resolving to count result
140
- */
141
50
  count(opts: {
142
51
  where: TWhere<DataObject>;
143
52
  options?: ExtraOptions;
144
53
  }): Promise<TCount>;
145
- /**
146
- * Checks if any records exist matching the where condition.
147
- *
148
- * @param opts - Options containing where condition
149
- * @returns Promise resolving to true if records exist, false otherwise
150
- */
151
54
  existsWith(opts: {
152
55
  where: TWhere<DataObject>;
153
56
  options?: ExtraOptions;
154
57
  }): Promise<boolean>;
155
- /**
156
- * Create is disabled in read-only repository.
157
- * @throws Error indicating operation is not allowed
158
- */
58
+ /** @throws Error - disabled in read-only repository. */
159
59
  create(opts: {
160
60
  data: PersistObject;
161
61
  options: ExtraOptions & {
@@ -172,10 +72,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
172
72
  }): Promise<TCount & {
173
73
  data: DataObject;
174
74
  }>;
175
- /**
176
- * CreateAll is disabled in read-only repository.
177
- * @throws Error indicating operation is not allowed
178
- */
75
+ /** @throws Error - disabled in read-only repository. */
179
76
  createAll(opts: {
180
77
  data: Array<PersistObject>;
181
78
  options: ExtraOptions & {
@@ -192,10 +89,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
192
89
  }): Promise<TCount & {
193
90
  data: Array<DataObject>;
194
91
  }>;
195
- /**
196
- * UpdateById is disabled in read-only repository.
197
- * @throws Error indicating operation is not allowed
198
- */
92
+ /** @throws Error - disabled in read-only repository. */
199
93
  updateById(opts: {
200
94
  id: IdType;
201
95
  data: Partial<PersistObject>;
@@ -214,10 +108,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
214
108
  }): Promise<TCount & {
215
109
  data: DataObject;
216
110
  }>;
217
- /**
218
- * UpdateAll is disabled in read-only repository.
219
- * @throws Error indicating operation is not allowed
220
- */
111
+ /** @throws Error - disabled in read-only repository. */
221
112
  updateAll(opts: {
222
113
  data: Partial<PersistObject>;
223
114
  where: TWhere<DataObject>;
@@ -238,10 +129,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
238
129
  }): Promise<TCount & {
239
130
  data: Array<R>;
240
131
  }>;
241
- /**
242
- * DeleteById is disabled in read-only repository.
243
- * @throws Error indicating operation is not allowed
244
- */
132
+ /** @throws Error - disabled in read-only repository. */
245
133
  deleteById(opts: {
246
134
  id: IdType;
247
135
  options: ExtraOptions & {
@@ -258,10 +146,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
258
146
  }): Promise<TCount & {
259
147
  data: R;
260
148
  }>;
261
- /**
262
- * DeleteAll is disabled in read-only repository.
263
- * @throws Error indicating operation is not allowed
264
- */
149
+ /** @throws Error - disabled in read-only repository. */
265
150
  deleteAll(opts: {
266
151
  where?: TWhere<DataObject>;
267
152
  options: ExtraOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAY,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EACL,aAAa,EAEb,MAAM,EACN,UAAU,EACV,OAAO,EACP,MAAM,EACP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMhD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,kBAAkB,CAC7B,YAAY,SAAS,kBAAkB,GAAG,kBAAkB,EAC5D,UAAU,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC1E,aAAa,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC7E,YAAY,SAAS,aAAa,GAAG,aAAa,CAClD,SAAQ,kBAAkB,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;IAKjF;;;;;;OAMG;gBACS,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;KAAE;IAWvF;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO;IAU7D;;;;;;;;;;;OAWG;cACa,eAAe,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACpD,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IA8DrB;;;;;;;;OAQG;cACa,gBAAgB,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACrD,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAUrB;;;;;OAKG;IACM,IAAI,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,EAAE,YAAY,GAAG;YAAE,gBAAgB,EAAE,IAAI,CAAA;SAAE,CAAC;KACpD,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAElD;;;;;OAKG;IACM,IAAI,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,gBAAgB,CAAC,EAAE,KAAK,CAAA;SAAE,CAAC;KACvD,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAqDrB;;;;;;;OAOG;IACY,OAAO,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAwBzB;;;;;;;OAOG;IACM,QAAQ,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACtC,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAczB;;;;;;OAMG;IACY,KAAK,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBnB;;;;;OAKG;IACY,UAAU,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IASpB;;;OAGG;IACM,MAAM,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAU1C;;;OAGG;IACM,SAAS,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;KAAE,CAAC;IAUjD;;;OAGG;IACM,UAAU,CAAC,IAAI,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,UAAU,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACxC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAW1C;;;OAGG;IACM,SAAS,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAClE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAWxC;;;OAGG;IACM,UAAU,CAAC,IAAI,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,UAAU,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACxC,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAUjC;;;OAGG;IACM,SAAS,CAAC,IAAI,EAAE;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAClE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;CASzC"}
1
+ {"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
@@ -4,63 +4,15 @@ exports.ReadableRepository = void 0;
4
4
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
5
5
  const common_1 = require("../common");
6
6
  const abstract_1 = require("./abstract");
7
- // -----------------------------------------------------------------------------
8
- // Readable Repository
9
- // -----------------------------------------------------------------------------
10
- /**
11
- * Read-only repository implementation.
12
- *
13
- * Provides read operations (find, findOne, findById, count, existsWith) while
14
- * blocking write operations (create, update, delete) with an error.
15
- *
16
- * Use this class when you need a repository that should only read data,
17
- * such as for reporting or analytics views.
18
- *
19
- * @template EntitySchema - The Drizzle table schema type with an 'id' column
20
- * @template DataObject - The type of objects returned from queries
21
- * @template PersistObject - The type for insert/update operations
22
- * @template ExtraOptions - Additional options type extending IExtraOptions
23
- *
24
- * @example
25
- * ```typescript
26
- * @repository({ model: Report, dataSource: PostgresDataSource })
27
- * export class ReportRepository extends ReadableRepository<typeof Report.schema> {
28
- * async getMonthlyStats() {
29
- * return this.find({ filter: { where: { type: 'monthly' } } });
30
- * }
31
- * }
32
- * ```
33
- */
7
+ /** Read-only repository. Write operations throw errors. */
34
8
  class ReadableRepository extends abstract_1.AbstractRepository {
35
- // ---------------------------------------------------------------------------
36
- // Constructor
37
- // ---------------------------------------------------------------------------
38
- /**
39
- * Creates a new read-only repository instance.
40
- *
41
- * @param ds - Optional data source (auto-injected from @repository decorator)
42
- * @param opts - Optional configuration
43
- * @param opts.entityClass - Entity class if not using @repository decorator
44
- */
45
9
  constructor(ds, opts) {
46
10
  super(ds, {
47
11
  entityClass: opts?.entityClass,
48
12
  operationScope: common_1.RepositoryOperationScopes.READ_ONLY,
49
13
  });
50
14
  }
51
- // ---------------------------------------------------------------------------
52
- // Protected Query Helpers
53
- // ---------------------------------------------------------------------------
54
- /**
55
- * Determines if a query can use the Drizzle Core API for better performance.
56
- *
57
- * Core API is ~15-20% faster but has limitations:
58
- * - No relation inclusion support
59
- * - Different field selection syntax
60
- *
61
- * @param filter - The filter to evaluate
62
- * @returns True if Core API can be used, false if Query API is needed
63
- */
15
+ /** Core API is ~15-20% faster but doesn't support relations or field selection. */
64
16
  canUseCoreAPI(filter) {
65
17
  const hasInclude = filter.include && filter.include.length > 0;
66
18
  const hasFields = filter.fields &&
@@ -69,27 +21,14 @@ class ReadableRepository extends abstract_1.AbstractRepository {
69
21
  : Object.keys(filter.fields).length > 0);
70
22
  return !hasInclude && !hasFields;
71
23
  }
72
- /**
73
- * Executes a query using the Drizzle Core API (faster for flat queries).
74
- *
75
- * Performance: ~15-20% faster than Query API for simple queries without relations.
76
- *
77
- * @template R - Return type (defaults to DataObject)
78
- * @param opts - Query options
79
- * @param opts.filter - Filter configuration
80
- * @param opts.isFindOne - If true, limits to 1 result
81
- * @param opts.options - Extra options (transaction, logging)
82
- * @returns Promise resolving to array of results
83
- */
24
+ /** Executes a query using Drizzle Core API (~15-20% faster for flat queries). */
84
25
  async findWithCoreAPI(opts) {
85
26
  const { filter, isFindOne = false, options } = opts;
86
27
  const schema = this.entity.schema;
87
- // Apply default filter
88
28
  const mergedFilter = this.applyDefaultFilter({
89
29
  userFilter: filter,
90
30
  shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
91
31
  });
92
- // Build where clause
93
32
  const where = mergedFilter.where
94
33
  ? this.filterBuilder.toWhere({
95
34
  tableName: this.entity.name,
@@ -97,7 +36,6 @@ class ReadableRepository extends abstract_1.AbstractRepository {
97
36
  where: mergedFilter.where,
98
37
  })
99
38
  : undefined;
100
- // Build order by clause
101
39
  const orderBy = mergedFilter.order
102
40
  ? this.filterBuilder.toOrderBy({
103
41
  tableName: this.entity.name,
@@ -105,14 +43,11 @@ class ReadableRepository extends abstract_1.AbstractRepository {
105
43
  order: mergedFilter.order,
106
44
  })
107
45
  : undefined;
108
- // Calculate limit and offset
109
46
  const limit = isFindOne ? 1 : mergedFilter.limit;
110
47
  const offset = mergedFilter.skip ?? mergedFilter.offset;
111
- // Build query using Core API
112
- // Type assertion to PgTable is safe: EntitySchema extends TTableSchemaWithId which extends PgTable
48
+ // Safe cast: EntitySchema extends TTableSchemaWithId which extends PgTable
113
49
  const table = schema;
114
50
  const connector = this.resolveConnector({ transaction: options?.transaction });
115
- // Select only visible properties (excludes hidden properties at SQL level)
116
51
  const visibleProps = this.getVisibleProperties();
117
52
  let query = visibleProps
118
53
  ? connector.select(visibleProps).from(table).$dynamic()
@@ -131,48 +66,27 @@ class ReadableRepository extends abstract_1.AbstractRepository {
131
66
  }
132
67
  return query;
133
68
  }
134
- /**
135
- * Executes a query using the Drizzle Query API (supports relations and field selection).
136
- *
137
- * @template R - Return type (defaults to DataObject)
138
- * @param opts - Query options
139
- * @param opts.filter - Filter configuration (should already have default filter applied)
140
- * @param opts.options - Extra options (transaction, logging)
141
- * @returns Promise resolving to array of results
142
- */
69
+ /** Executes a query using Drizzle Query API (supports relations and field selection). */
143
70
  async findWithQueryAPI(opts) {
144
71
  const queryOptions = this.buildQuery({ filter: opts.filter });
145
72
  const queryInterface = this.getQueryInterface({ options: opts.options });
146
73
  return queryInterface.findMany(queryOptions);
147
74
  }
148
- /**
149
- * Finds all records matching the filter.
150
- * Automatically selects Core API or Query API based on filter complexity.
151
- * When shouldQueryRange is true, also returns range information (from, to, total).
152
- *
153
- * @template R - Return type (defaults to DataObject)
154
- * @param opts - Options containing filter and extra options
155
- * @returns Promise resolving to array of matching records or object with data and range
156
- */
75
+ /** Auto-selects Core API or Query API based on filter complexity. */
157
76
  async find(opts) {
158
77
  const { filter, options } = opts;
159
78
  const shouldQueryRange = options?.shouldQueryRange === true;
160
- // Apply default filter once for all operations
161
79
  const mergedFilter = this.applyDefaultFilter({
162
80
  userFilter: filter,
163
81
  shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
164
82
  });
165
- // Prevent double-application in delegated methods
166
83
  const effectiveOptions = { ...options, shouldSkipDefaultFilter: true };
167
- // Prepare data fetch based on filter complexity
168
84
  const dataPromise = this.canUseCoreAPI(mergedFilter)
169
85
  ? this.findWithCoreAPI({ filter: mergedFilter, options: effectiveOptions })
170
86
  : this.findWithQueryAPI({ filter: mergedFilter, options: effectiveOptions });
171
- // Return data directly if range not requested
172
87
  if (!shouldQueryRange) {
173
88
  return dataPromise;
174
89
  }
175
- // Run data fetch and count in parallel for better performance
176
90
  const [data, { count: total }] = await Promise.all([
177
91
  dataPromise,
178
92
  this.count({ where: mergedFilter.where ?? {}, options: effectiveOptions }),
@@ -185,14 +99,7 @@ class ReadableRepository extends abstract_1.AbstractRepository {
185
99
  range: { start, end, total },
186
100
  };
187
101
  }
188
- /**
189
- * Finds the first record matching the filter.
190
- * Automatically selects Core API or Query API based on filter complexity.
191
- *
192
- * @template R - Return type (defaults to DataObject)
193
- * @param opts - Options containing filter and extra options
194
- * @returns Promise resolving to the found record or null
195
- */
102
+ /** Auto-selects Core API or Query API based on filter complexity. */
196
103
  async findOne(opts) {
197
104
  // Use Core API for flat queries (no relations, no field selection)
198
105
  if (this.canUseCoreAPI(opts.filter)) {
@@ -214,14 +121,7 @@ class ReadableRepository extends abstract_1.AbstractRepository {
214
121
  const result = await queryInterface.findFirst(queryOptions);
215
122
  return (result ?? null);
216
123
  }
217
- /**
218
- * Finds a record by its ID.
219
- * Delegates to findOne with id in the where clause.
220
- *
221
- * @template R - Return type (defaults to DataObject)
222
- * @param opts - Options containing id and optional filter (without where)
223
- * @returns Promise resolving to the found record or null
224
- */
124
+ /** Delegates to findOne with id in the where clause. */
225
125
  findById(opts) {
226
126
  return this.findOne({
227
127
  filter: {
@@ -231,16 +131,6 @@ class ReadableRepository extends abstract_1.AbstractRepository {
231
131
  options: opts.options,
232
132
  });
233
133
  }
234
- // ---------------------------------------------------------------------------
235
- // Public Read Operations - Aggregate
236
- // ---------------------------------------------------------------------------
237
- /**
238
- * Counts records matching the where condition.
239
- * Applies default filter if configured.
240
- *
241
- * @param opts - Options containing where condition
242
- * @returns Promise resolving to count result
243
- */
244
134
  async count(opts) {
245
135
  // Apply default filter's where condition
246
136
  const mergedFilter = this.applyDefaultFilter({
@@ -256,12 +146,6 @@ class ReadableRepository extends abstract_1.AbstractRepository {
256
146
  const count = await connector.$count(this.entity.schema, where);
257
147
  return { count };
258
148
  }
259
- /**
260
- * Checks if any records exist matching the where condition.
261
- *
262
- * @param opts - Options containing where condition
263
- * @returns Promise resolving to true if records exist, false otherwise
264
- */
265
149
  async existsWith(opts) {
266
150
  const rs = await this.count(opts);
267
151
  return rs.count > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ import { IdType, TTableInsert, TTableObject, TTableSchemaWithId } from '../../../base/models';
2
+ import { TNullable } from '@venizia/ignis-helpers';
3
+ import { AnyPgColumn } from 'drizzle-orm/pg-core';
4
+ import { IExtraOptions, TCount, TFilter, TWhere } from '../common';
5
+ import { DefaultCRUDRepository } from './default-crud';
6
+ export type TDeletedAtColumn = AnyPgColumn<{
7
+ data: Date | null;
8
+ }>;
9
+ export type TSoftDeletableTableSchema = TTableSchemaWithId & {
10
+ deletedAt: TDeletedAtColumn;
11
+ };
12
+ /**
13
+ * Soft-deletable repository that overrides delete operations to set deletedAt timestamp
14
+ * instead of physically removing records from the database.
15
+ *
16
+ * Models using this repository should:
17
+ * - Have a `deletedAt` column (Date | null)
18
+ * - Set `defaultFilter: { where: { deletedAt: null } }` in @model settings
19
+ * - Include `deletedAt` in `hiddenProperties` if you don't want to expose it
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * @model({
24
+ * settings: {
25
+ * hiddenProperties: ['deletedAt'],
26
+ * defaultFilter: { where: { deletedAt: null } },
27
+ * },
28
+ * })
29
+ * export class Category extends BaseEntity<typeof Category.schema> {
30
+ * static schema = pgTable('Category', {
31
+ * ...withTimestamps(),
32
+ * ...withSoftDelete(),
33
+ * });
34
+ * }
35
+ *
36
+ * @repository({ dataSource: PostgresDataSource, model: Category })
37
+ * export class CategoryRepository extends SoftDeletableRepository<typeof Category.schema> {}
38
+ * ```
39
+ */
40
+ export declare class SoftDeletableRepository<EntitySchema extends TSoftDeletableTableSchema = TSoftDeletableTableSchema, DataObject extends TTableObject<EntitySchema> = TTableObject<EntitySchema>, PersistObject extends TTableInsert<EntitySchema> = TTableInsert<EntitySchema>, ExtraOptions extends IExtraOptions = IExtraOptions> extends DefaultCRUDRepository<EntitySchema, DataObject, PersistObject, ExtraOptions> {
41
+ findById<R = DataObject>(opts: {
42
+ id: IdType;
43
+ filter?: Omit<TFilter<DataObject>, 'where'>;
44
+ options?: ExtraOptions & {
45
+ isStrict?: false;
46
+ };
47
+ }): Promise<TNullable<R>>;
48
+ findById<R = DataObject>(opts: {
49
+ id: IdType;
50
+ filter?: Omit<TFilter<DataObject>, 'where'>;
51
+ options?: ExtraOptions & {
52
+ isStrict?: true;
53
+ };
54
+ }): Promise<R>;
55
+ deleteById(opts: {
56
+ id: IdType;
57
+ options: ExtraOptions & {
58
+ shouldReturn: false;
59
+ shouldHardDelete?: boolean;
60
+ };
61
+ }): Promise<TCount & {
62
+ data: undefined | null;
63
+ }>;
64
+ deleteById<R = DataObject>(opts: {
65
+ id: IdType;
66
+ options?: ExtraOptions & {
67
+ shouldReturn?: true;
68
+ shouldHardDelete?: boolean;
69
+ };
70
+ }): Promise<TCount & {
71
+ data: R;
72
+ }>;
73
+ deleteAll(opts: {
74
+ where?: TWhere<DataObject>;
75
+ options: ExtraOptions & {
76
+ shouldReturn: false;
77
+ force?: boolean;
78
+ shouldHardDelete?: boolean;
79
+ };
80
+ }): Promise<TCount & {
81
+ data: undefined | null;
82
+ }>;
83
+ deleteAll<R = DataObject>(opts: {
84
+ where?: TWhere<DataObject>;
85
+ options?: ExtraOptions & {
86
+ shouldReturn?: true;
87
+ force?: boolean;
88
+ shouldHardDelete?: boolean;
89
+ };
90
+ }): Promise<TCount & {
91
+ data: Array<R>;
92
+ }>;
93
+ deleteBy(opts: {
94
+ where: TWhere<DataObject>;
95
+ options: ExtraOptions & {
96
+ shouldReturn: false;
97
+ force?: boolean;
98
+ shouldHardDelete?: boolean;
99
+ };
100
+ }): Promise<TCount & {
101
+ data: undefined | null;
102
+ }>;
103
+ deleteBy<R = DataObject>(opts: {
104
+ where: TWhere<DataObject>;
105
+ options?: ExtraOptions & {
106
+ shouldReturn?: true;
107
+ force?: boolean;
108
+ shouldHardDelete?: boolean;
109
+ };
110
+ }): Promise<TCount & {
111
+ data: Array<R>;
112
+ }>;
113
+ restoreById<R = DataObject>(opts: {
114
+ id: IdType;
115
+ options?: ExtraOptions & {
116
+ shouldReturn?: boolean;
117
+ };
118
+ }): Promise<TCount & {
119
+ data: TNullable<R>;
120
+ }>;
121
+ restoreAll<R = DataObject>(opts: {
122
+ where?: TWhere<DataObject>;
123
+ options?: ExtraOptions & {
124
+ shouldReturn?: boolean;
125
+ force?: boolean;
126
+ };
127
+ }): Promise<TCount & {
128
+ data: TNullable<Array<R>>;
129
+ }>;
130
+ restoreBy<R = DataObject>(opts: {
131
+ where: TWhere<DataObject>;
132
+ options?: ExtraOptions & {
133
+ shouldReturn?: boolean;
134
+ force?: boolean;
135
+ };
136
+ }): Promise<TCount & {
137
+ data: TNullable<Array<R>>;
138
+ }>;
139
+ }
140
+ //# sourceMappingURL=soft-deletable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soft-deletable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/soft-deletable.ts"],"names":[],"mappings":"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"}