@venizia/ignis 0.0.7-8 → 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 (509) hide show
  1. package/README.md +2757 -28
  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 +26 -207
  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 +11 -16
  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 +56 -34
  187. package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
  188. package/dist/components/auth/authenticate/component.d.ts +3 -16
  189. package/dist/components/auth/authenticate/component.d.ts.map +1 -1
  190. package/dist/components/auth/authenticate/component.js +105 -73
  191. package/dist/components/auth/authenticate/component.js.map +1 -1
  192. package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
  193. package/dist/components/auth/authenticate/controllers/factory.js +2 -2
  194. package/dist/components/auth/authenticate/controllers/factory.js.map +1 -1
  195. package/dist/components/auth/authenticate/controllers/index.d.ts +1 -0
  196. package/dist/components/auth/authenticate/controllers/index.d.ts.map +1 -1
  197. package/dist/components/auth/authenticate/controllers/index.js +1 -0
  198. package/dist/components/auth/authenticate/controllers/index.js.map +1 -1
  199. package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts +9 -0
  200. package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts.map +1 -0
  201. package/dist/components/auth/authenticate/controllers/jwks/controller.js +54 -0
  202. package/dist/components/auth/authenticate/controllers/jwks/controller.js.map +1 -0
  203. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts +66 -0
  204. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts.map +1 -0
  205. package/dist/components/auth/authenticate/controllers/jwks/definitions.js +32 -0
  206. package/dist/components/auth/authenticate/controllers/jwks/definitions.js.map +1 -0
  207. package/dist/components/auth/authenticate/controllers/jwks/index.d.ts +2 -0
  208. package/dist/components/auth/authenticate/controllers/jwks/index.d.ts.map +1 -0
  209. package/dist/components/auth/authenticate/controllers/jwks/index.js +18 -0
  210. package/dist/components/auth/authenticate/controllers/jwks/index.js.map +1 -0
  211. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +1 -1
  212. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js +0 -2
  213. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js.map +1 -1
  214. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -1
  215. package/dist/components/auth/authenticate/providers/authentication.provider.js +0 -7
  216. package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -1
  217. package/dist/components/auth/authenticate/services/basic/index.d.ts +2 -0
  218. package/dist/components/auth/authenticate/services/basic/index.d.ts.map +1 -0
  219. package/dist/components/auth/authenticate/services/basic/index.js +18 -0
  220. package/dist/components/auth/authenticate/services/basic/index.js.map +1 -0
  221. package/dist/components/auth/authenticate/services/basic/service.d.ts +24 -0
  222. package/dist/components/auth/authenticate/services/basic/service.d.ts.map +1 -0
  223. package/dist/components/auth/authenticate/services/{basic-token.service.js → basic/service.js} +7 -45
  224. package/dist/components/auth/authenticate/services/basic/service.js.map +1 -0
  225. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +52 -0
  226. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +1 -0
  227. package/dist/components/auth/authenticate/services/bearer/abstract.service.js +177 -0
  228. package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -0
  229. package/dist/components/auth/authenticate/services/bearer/index.d.ts +4 -0
  230. package/dist/components/auth/authenticate/services/bearer/index.d.ts.map +1 -0
  231. package/dist/components/auth/authenticate/services/bearer/index.js +20 -0
  232. package/dist/components/auth/authenticate/services/bearer/index.js.map +1 -0
  233. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts +16 -0
  234. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts.map +1 -0
  235. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js +32 -0
  236. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js.map +1 -0
  237. package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts +4 -0
  238. package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts.map +1 -0
  239. package/dist/components/auth/authenticate/services/bearer/jwks/index.js +20 -0
  240. package/dist/components/auth/authenticate/services/bearer/jwks/index.js.map +1 -0
  241. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts +46 -0
  242. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -0
  243. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +168 -0
  244. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -0
  245. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts +18 -0
  246. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +1 -0
  247. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js +73 -0
  248. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -0
  249. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts +19 -0
  250. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +1 -0
  251. package/dist/components/auth/authenticate/services/bearer/jws.service.js +76 -0
  252. package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -0
  253. package/dist/components/auth/authenticate/services/index.d.ts +2 -2
  254. package/dist/components/auth/authenticate/services/index.d.ts.map +1 -1
  255. package/dist/components/auth/authenticate/services/index.js +2 -2
  256. package/dist/components/auth/authenticate/services/index.js.map +1 -1
  257. package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts +1 -22
  258. package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts.map +1 -1
  259. package/dist/components/auth/authenticate/strategies/basic.strategy.js +9 -23
  260. package/dist/components/auth/authenticate/strategies/basic.strategy.js.map +1 -1
  261. package/dist/components/auth/authenticate/strategies/index.d.ts +2 -1
  262. package/dist/components/auth/authenticate/strategies/index.d.ts.map +1 -1
  263. package/dist/components/auth/authenticate/strategies/index.js +2 -1
  264. package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
  265. package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts +21 -0
  266. package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts.map +1 -0
  267. package/dist/components/auth/authenticate/strategies/jwks.strategy.js +68 -0
  268. package/dist/components/auth/authenticate/strategies/jwks.strategy.js.map +1 -0
  269. package/dist/components/auth/authenticate/strategies/{jwt.strategy.d.ts → jws.strategy.d.ts} +5 -4
  270. package/dist/components/auth/authenticate/strategies/jws.strategy.d.ts.map +1 -0
  271. package/dist/components/auth/authenticate/strategies/{jwt.strategy.js → jws.strategy.js} +18 -10
  272. package/dist/components/auth/authenticate/strategies/jws.strategy.js.map +1 -0
  273. package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts.map +1 -1
  274. package/dist/components/auth/authenticate/strategies/strategy-registry.js +0 -5
  275. package/dist/components/auth/authenticate/strategies/strategy-registry.js.map +1 -1
  276. package/dist/components/auth/authorize/adapters/base-filtered.d.ts +73 -0
  277. package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -0
  278. package/dist/components/auth/authorize/adapters/base-filtered.js +90 -0
  279. package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -0
  280. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts +40 -0
  281. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts.map +1 -0
  282. package/dist/components/auth/authorize/adapters/drizzle-casbin.js +99 -0
  283. package/dist/components/auth/authorize/adapters/drizzle-casbin.js.map +1 -0
  284. package/dist/components/auth/authorize/adapters/index.d.ts +3 -0
  285. package/dist/components/auth/authorize/adapters/index.d.ts.map +1 -0
  286. package/dist/components/auth/authorize/adapters/index.js +19 -0
  287. package/dist/components/auth/authorize/adapters/index.js.map +1 -0
  288. package/dist/components/auth/authorize/common/constants.d.ts +37 -4
  289. package/dist/components/auth/authorize/common/constants.d.ts.map +1 -1
  290. package/dist/components/auth/authorize/common/constants.js +61 -9
  291. package/dist/components/auth/authorize/common/constants.js.map +1 -1
  292. package/dist/components/auth/authorize/common/keys.d.ts +1 -2
  293. package/dist/components/auth/authorize/common/keys.d.ts.map +1 -1
  294. package/dist/components/auth/authorize/common/keys.js +3 -2
  295. package/dist/components/auth/authorize/common/keys.js.map +1 -1
  296. package/dist/components/auth/authorize/common/types.d.ts +78 -98
  297. package/dist/components/auth/authorize/common/types.d.ts.map +1 -1
  298. package/dist/components/auth/authorize/component.d.ts +1 -0
  299. package/dist/components/auth/authorize/component.d.ts.map +1 -1
  300. package/dist/components/auth/authorize/component.js +12 -34
  301. package/dist/components/auth/authorize/component.js.map +1 -1
  302. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +45 -11
  303. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -1
  304. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +198 -39
  305. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
  306. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts +12 -6
  307. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts.map +1 -1
  308. package/dist/components/auth/authorize/enforcers/enforcer-registry.js +30 -14
  309. package/dist/components/auth/authorize/enforcers/enforcer-registry.js.map +1 -1
  310. package/dist/components/auth/authorize/enforcers/index.d.ts +0 -1
  311. package/dist/components/auth/authorize/enforcers/index.d.ts.map +1 -1
  312. package/dist/components/auth/authorize/enforcers/index.js +0 -1
  313. package/dist/components/auth/authorize/enforcers/index.js.map +1 -1
  314. package/dist/components/auth/authorize/index.d.ts +1 -0
  315. package/dist/components/auth/authorize/index.d.ts.map +1 -1
  316. package/dist/components/auth/authorize/index.js +1 -0
  317. package/dist/components/auth/authorize/index.js.map +1 -1
  318. package/dist/components/auth/authorize/middlewares/authorize.middleware.d.ts.map +1 -1
  319. package/dist/components/auth/authorize/middlewares/authorize.middleware.js +0 -2
  320. package/dist/components/auth/authorize/middlewares/authorize.middleware.js.map +1 -1
  321. package/dist/components/auth/authorize/models/abilities/index.d.ts +3 -0
  322. package/dist/components/auth/authorize/models/abilities/index.d.ts.map +1 -0
  323. package/dist/components/auth/authorize/models/abilities/index.js +19 -0
  324. package/dist/components/auth/authorize/models/abilities/index.js.map +1 -0
  325. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts +14 -0
  326. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts.map +1 -0
  327. package/dist/components/auth/authorize/models/abilities/string-action.model.js +23 -0
  328. package/dist/components/auth/authorize/models/abilities/string-action.model.js.map +1 -0
  329. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts +13 -0
  330. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts.map +1 -0
  331. package/dist/components/auth/authorize/models/abilities/string-resource.model.js +19 -0
  332. package/dist/components/auth/authorize/models/abilities/string-resource.model.js.map +1 -0
  333. package/dist/components/auth/authorize/models/authorization-role.model.d.ts.map +1 -1
  334. package/dist/components/auth/authorize/models/authorization-role.model.js +0 -1
  335. package/dist/components/auth/authorize/models/authorization-role.model.js.map +1 -1
  336. package/dist/components/auth/authorize/models/index.d.ts +1 -0
  337. package/dist/components/auth/authorize/models/index.d.ts.map +1 -1
  338. package/dist/components/auth/authorize/models/index.js +1 -0
  339. package/dist/components/auth/authorize/models/index.js.map +1 -1
  340. package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
  341. package/dist/components/auth/authorize/providers/authorization.provider.js +48 -43
  342. package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -1
  343. package/dist/components/auth/base/abstract-auth-registry.d.ts +1 -0
  344. package/dist/components/auth/base/abstract-auth-registry.d.ts.map +1 -1
  345. package/dist/components/auth/base/abstract-auth-registry.js +3 -3
  346. package/dist/components/auth/base/abstract-auth-registry.js.map +1 -1
  347. package/dist/components/auth/context-variables.d.ts +14 -0
  348. package/dist/components/auth/context-variables.d.ts.map +1 -0
  349. package/dist/components/auth/context-variables.js +3 -0
  350. package/dist/components/auth/context-variables.js.map +1 -0
  351. package/dist/components/auth/index.d.ts +1 -0
  352. package/dist/components/auth/index.d.ts.map +1 -1
  353. package/dist/components/auth/index.js +1 -0
  354. package/dist/components/auth/index.js.map +1 -1
  355. package/dist/components/auth/models/entities/index.d.ts +1 -2
  356. package/dist/components/auth/models/entities/index.d.ts.map +1 -1
  357. package/dist/components/auth/models/entities/index.js +1 -2
  358. package/dist/components/auth/models/entities/index.js.map +1 -1
  359. package/dist/components/auth/models/entities/permission.model.d.ts +0 -1
  360. package/dist/components/auth/models/entities/permission.model.d.ts.map +1 -1
  361. package/dist/components/auth/models/entities/permission.model.js +0 -2
  362. package/dist/components/auth/models/entities/permission.model.js.map +1 -1
  363. package/dist/components/auth/models/entities/policy-definition.model.d.ts +24 -0
  364. package/dist/components/auth/models/entities/policy-definition.model.d.ts.map +1 -0
  365. package/dist/components/auth/models/entities/policy-definition.model.js +39 -0
  366. package/dist/components/auth/models/entities/policy-definition.model.js.map +1 -0
  367. package/dist/components/auth/models/entities/role.model.d.ts +3 -1
  368. package/dist/components/auth/models/entities/role.model.d.ts.map +1 -1
  369. package/dist/components/auth/models/entities/role.model.js +4 -2
  370. package/dist/components/auth/models/entities/role.model.js.map +1 -1
  371. package/dist/components/auth/models/entities/user.model.d.ts +4 -2
  372. package/dist/components/auth/models/entities/user.model.d.ts.map +1 -1
  373. package/dist/components/auth/models/entities/user.model.js +5 -4
  374. package/dist/components/auth/models/entities/user.model.js.map +1 -1
  375. package/dist/components/health-check/controller.d.ts.map +1 -1
  376. package/dist/components/health-check/controller.js +0 -1
  377. package/dist/components/health-check/controller.js.map +1 -1
  378. package/dist/components/mail/common/types.d.ts +1 -1
  379. package/dist/components/mail/common/types.d.ts.map +1 -1
  380. package/dist/components/mail/component.d.ts.map +1 -1
  381. package/dist/components/mail/component.js +2 -7
  382. package/dist/components/mail/component.js.map +1 -1
  383. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts +2 -1
  384. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts.map +1 -1
  385. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js +7 -7
  386. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
  387. package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts +1 -1
  388. package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts.map +1 -1
  389. package/dist/components/mail/helpers/executors/direct-executor.helper.js +3 -3
  390. package/dist/components/mail/helpers/executors/direct-executor.helper.js.map +1 -1
  391. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts +1 -1
  392. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
  393. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +4 -4
  394. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
  395. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts +1 -1
  396. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +1 -1
  397. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js +3 -3
  398. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
  399. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts +1 -1
  400. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts.map +1 -1
  401. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js +3 -3
  402. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
  403. package/dist/components/mail/providers/mail-queue-executor.provider.d.ts.map +1 -1
  404. package/dist/components/mail/providers/mail-queue-executor.provider.js +8 -8
  405. package/dist/components/mail/providers/mail-queue-executor.provider.js.map +1 -1
  406. package/dist/components/mail/providers/mail-transporter.provider.d.ts.map +1 -1
  407. package/dist/components/mail/providers/mail-transporter.provider.js +6 -6
  408. package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
  409. package/dist/components/mail/services/mail.service.d.ts +1 -1
  410. package/dist/components/mail/services/mail.service.d.ts.map +1 -1
  411. package/dist/components/mail/services/mail.service.js +9 -9
  412. package/dist/components/mail/services/mail.service.js.map +1 -1
  413. package/dist/components/mail/services/template.service.d.ts +1 -1
  414. package/dist/components/mail/services/template.service.d.ts.map +1 -1
  415. package/dist/components/mail/services/template.service.js +4 -4
  416. package/dist/components/mail/services/template.service.js.map +1 -1
  417. package/dist/components/mail/utilities/type.utility.d.ts +1 -1
  418. package/dist/components/mail/utilities/type.utility.d.ts.map +1 -1
  419. package/dist/components/socket-io/component.d.ts.map +1 -1
  420. package/dist/components/socket-io/component.js +0 -4
  421. package/dist/components/socket-io/component.js.map +1 -1
  422. package/dist/components/static-asset/common/constants.d.ts +1 -0
  423. package/dist/components/static-asset/common/constants.d.ts.map +1 -1
  424. package/dist/components/static-asset/common/constants.js +2 -1
  425. package/dist/components/static-asset/common/constants.js.map +1 -1
  426. package/dist/components/static-asset/common/types.d.ts +43 -1
  427. package/dist/components/static-asset/common/types.d.ts.map +1 -1
  428. package/dist/components/static-asset/controller/base.definition.d.ts +81 -80
  429. package/dist/components/static-asset/controller/base.definition.d.ts.map +1 -1
  430. package/dist/components/static-asset/controller/base.definition.js +1 -2
  431. package/dist/components/static-asset/controller/base.definition.js.map +1 -1
  432. package/dist/components/static-asset/controller/factory.d.ts +2 -6
  433. package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
  434. package/dist/components/static-asset/controller/factory.js +41 -42
  435. package/dist/components/static-asset/controller/factory.js.map +1 -1
  436. package/dist/components/static-asset/models/base.model.d.ts +49 -19
  437. package/dist/components/static-asset/models/base.model.d.ts.map +1 -1
  438. package/dist/components/static-asset/models/base.model.js +3 -7
  439. package/dist/components/static-asset/models/base.model.js.map +1 -1
  440. package/dist/components/swagger/ui-factory.d.ts.map +1 -1
  441. package/dist/components/swagger/ui-factory.js +0 -2
  442. package/dist/components/swagger/ui-factory.js.map +1 -1
  443. package/dist/components/websocket/component.d.ts.map +1 -1
  444. package/dist/components/websocket/component.js +0 -3
  445. package/dist/components/websocket/component.js.map +1 -1
  446. package/dist/helpers/base-helper.d.ts +2 -0
  447. package/dist/helpers/base-helper.d.ts.map +1 -0
  448. package/dist/helpers/base-helper.js +6 -0
  449. package/dist/helpers/base-helper.js.map +1 -0
  450. package/dist/helpers/index.d.ts +2 -1
  451. package/dist/helpers/index.d.ts.map +1 -1
  452. package/dist/helpers/index.js +1 -1
  453. package/dist/helpers/index.js.map +1 -1
  454. package/dist/helpers/inversion/common/keys.d.ts.map +1 -1
  455. package/dist/helpers/inversion/common/keys.js +0 -2
  456. package/dist/helpers/inversion/common/keys.js.map +1 -1
  457. package/dist/helpers/inversion/common/types.d.ts +18 -56
  458. package/dist/helpers/inversion/common/types.d.ts.map +1 -1
  459. package/dist/helpers/inversion/container.d.ts.map +1 -1
  460. package/dist/helpers/inversion/container.js +0 -1
  461. package/dist/helpers/inversion/container.js.map +1 -1
  462. package/dist/helpers/inversion/index.d.ts +1 -1
  463. package/dist/helpers/inversion/index.d.ts.map +1 -1
  464. package/dist/helpers/inversion/index.js +5 -1
  465. package/dist/helpers/inversion/index.js.map +1 -1
  466. package/dist/helpers/inversion/mixins/controller.mixin.d.ts.map +1 -1
  467. package/dist/helpers/inversion/mixins/controller.mixin.js +0 -3
  468. package/dist/helpers/inversion/mixins/controller.mixin.js.map +1 -1
  469. package/dist/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
  470. package/dist/helpers/inversion/mixins/datasource.mixin.js +0 -3
  471. package/dist/helpers/inversion/mixins/datasource.mixin.js.map +1 -1
  472. package/dist/helpers/inversion/mixins/model.mixin.d.ts +29 -1
  473. package/dist/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
  474. package/dist/helpers/inversion/mixins/model.mixin.js +66 -2
  475. package/dist/helpers/inversion/mixins/model.mixin.js.map +1 -1
  476. package/dist/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  477. package/dist/helpers/inversion/mixins/repository.mixin.js +0 -2
  478. package/dist/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  479. package/dist/helpers/inversion/registry.d.ts +22 -0
  480. package/dist/helpers/inversion/registry.d.ts.map +1 -1
  481. package/dist/utilities/jsx.utility.d.ts +2 -16
  482. package/dist/utilities/jsx.utility.d.ts.map +1 -1
  483. package/dist/utilities/jsx.utility.js +2 -16
  484. package/dist/utilities/jsx.utility.js.map +1 -1
  485. package/dist/utilities/schema.utility.d.ts.map +1 -1
  486. package/dist/utilities/schema.utility.js +0 -2
  487. package/dist/utilities/schema.utility.js.map +1 -1
  488. package/package.json +97 -71
  489. package/dist/components/auth/authenticate/services/basic-token.service.d.ts +0 -60
  490. package/dist/components/auth/authenticate/services/basic-token.service.d.ts.map +0 -1
  491. package/dist/components/auth/authenticate/services/basic-token.service.js.map +0 -1
  492. package/dist/components/auth/authenticate/services/jwt-token.service.d.ts +0 -34
  493. package/dist/components/auth/authenticate/services/jwt-token.service.d.ts.map +0 -1
  494. package/dist/components/auth/authenticate/services/jwt-token.service.js +0 -218
  495. package/dist/components/auth/authenticate/services/jwt-token.service.js.map +0 -1
  496. package/dist/components/auth/authenticate/strategies/jwt.strategy.d.ts.map +0 -1
  497. package/dist/components/auth/authenticate/strategies/jwt.strategy.js.map +0 -1
  498. package/dist/components/auth/authorize/enforcers/default.enforcer.d.ts +0 -37
  499. package/dist/components/auth/authorize/enforcers/default.enforcer.d.ts.map +0 -1
  500. package/dist/components/auth/authorize/enforcers/default.enforcer.js +0 -125
  501. package/dist/components/auth/authorize/enforcers/default.enforcer.js.map +0 -1
  502. package/dist/components/auth/models/entities/permission-mapping.model.d.ts +0 -26
  503. package/dist/components/auth/models/entities/permission-mapping.model.d.ts.map +0 -1
  504. package/dist/components/auth/models/entities/permission-mapping.model.js +0 -33
  505. package/dist/components/auth/models/entities/permission-mapping.model.js.map +0 -1
  506. package/dist/components/auth/models/entities/user-role.model.d.ts +0 -17
  507. package/dist/components/auth/models/entities/user-role.model.d.ts.map +0 -1
  508. package/dist/components/auth/models/entities/user-role.model.js +0 -34
  509. package/dist/components/auth/models/entities/user-role.model.js.map +0 -1
@@ -1,42 +1,7 @@
1
1
  import { TTableInsert, TTableObject, TTableSchemaWithId } from '../../../base/models';
2
2
  import { IExtraOptions } from '../common';
3
3
  import { PersistableRepository } from './persistable';
4
- /**
5
- * Default CRUD repository with dependency injection support.
6
- *
7
- * This is the recommended base class for most repositories.
8
- *
9
- * IMPORTANT: Both `model` AND `dataSource` are required in @repository for schema auto-discovery.
10
- * Without both, the model won't be registered and relational queries will fail.
11
- *
12
- * Supports these injection patterns:
13
- *
14
- * 1. Zero boilerplate (recommended):
15
- * ```typescript
16
- * @repository({ model: User, dataSource: PostgresDataSource })
17
- * export class UserRepository extends DefaultCRUDRepository<typeof User.schema> {
18
- * // No constructor needed - datasource auto-injected at param index 0
19
- *
20
- * async findByEmail(email: string) {
21
- * return this.findOne({ filter: { where: { email } } });
22
- * }
23
- * }
24
- * ```
25
- *
26
- * 2. Explicit @inject with @repository - when you need constructor control:
27
- * ```typescript
28
- * @repository({ model: User, dataSource: PostgresDataSource })
29
- * export class UserRepository extends DefaultCRUDRepository<typeof User.schema> {
30
- * constructor(
31
- * @inject({ key: 'datasources.PostgresDataSource' })
32
- * ds: PostgresDataSource,
33
- * ) {
34
- * super(ds, { entityClass: User });
35
- * }
36
- * }
37
- * ```
38
- * Note: When @inject is at param index 0, auto-injection is skipped (your @inject takes precedence).
39
- */
4
+ /** Recommended base class for most repositories. Extends PersistableRepository with full CRUD. */
40
5
  export declare class DefaultCRUDRepository<EntitySchema extends TTableSchemaWithId = TTableSchemaWithId, DataObject extends TTableObject<EntitySchema> = TTableObject<EntitySchema>, PersistObject extends TTableInsert<EntitySchema> = TTableInsert<EntitySchema>, ExtraOptions extends IExtraOptions = IExtraOptions> extends PersistableRepository<EntitySchema, DataObject, PersistObject, ExtraOptions> {
41
6
  }
42
7
  //# sourceMappingURL=default-crud.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-crud.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/default-crud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,qBAAqB,CAChC,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,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;CAAG"}
1
+ {"version":3,"file":"default-crud.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/default-crud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,kGAAkG;AAClG,qBAAa,qBAAqB,CAChC,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,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;CAAG"}
@@ -2,42 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultCRUDRepository = void 0;
4
4
  const persistable_1 = require("./persistable");
5
- /**
6
- * Default CRUD repository with dependency injection support.
7
- *
8
- * This is the recommended base class for most repositories.
9
- *
10
- * IMPORTANT: Both `model` AND `dataSource` are required in @repository for schema auto-discovery.
11
- * Without both, the model won't be registered and relational queries will fail.
12
- *
13
- * Supports these injection patterns:
14
- *
15
- * 1. Zero boilerplate (recommended):
16
- * ```typescript
17
- * @repository({ model: User, dataSource: PostgresDataSource })
18
- * export class UserRepository extends DefaultCRUDRepository<typeof User.schema> {
19
- * // No constructor needed - datasource auto-injected at param index 0
20
- *
21
- * async findByEmail(email: string) {
22
- * return this.findOne({ filter: { where: { email } } });
23
- * }
24
- * }
25
- * ```
26
- *
27
- * 2. Explicit @inject with @repository - when you need constructor control:
28
- * ```typescript
29
- * @repository({ model: User, dataSource: PostgresDataSource })
30
- * export class UserRepository extends DefaultCRUDRepository<typeof User.schema> {
31
- * constructor(
32
- * @inject({ key: 'datasources.PostgresDataSource' })
33
- * ds: PostgresDataSource,
34
- * ) {
35
- * super(ds, { entityClass: User });
36
- * }
37
- * }
38
- * ```
39
- * Note: When @inject is at param index 0, auto-injection is skipped (your @inject takes precedence).
40
- */
5
+ /** Recommended base class for most repositories. Extends PersistableRepository with full CRUD. */
41
6
  class DefaultCRUDRepository extends persistable_1.PersistableRepository {
42
7
  }
43
8
  exports.DefaultCRUDRepository = DefaultCRUDRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"default-crud.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/default-crud.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAa,qBAKX,SAAQ,mCAA4E;CAAG;AALzF,sDAKyF"}
1
+ {"version":3,"file":"default-crud.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/default-crud.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAEtD,kGAAkG;AAClG,MAAa,qBAKX,SAAQ,mCAA4E;CAAG;AALzF,sDAKyF"}
@@ -2,4 +2,5 @@ export * from './abstract';
2
2
  export * from './default-crud';
3
3
  export * from './persistable';
4
4
  export * from './readable';
5
+ export * from './soft-deletable';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -18,4 +18,5 @@ __exportStar(require("./abstract"), exports);
18
18
  __exportStar(require("./default-crud"), exports);
19
19
  __exportStar(require("./persistable"), exports);
20
20
  __exportStar(require("./readable"), exports);
21
+ __exportStar(require("./soft-deletable"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,iDAA+B;AAC/B,gDAA8B;AAC9B,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,iDAA+B;AAC/B,gDAA8B;AAC9B,6CAA2B;AAC3B,mDAAiC"}
@@ -4,69 +4,19 @@ import { TClass, TNullable } from '@venizia/ignis-helpers';
4
4
  import { IExtraOptions, TCount, TRepositoryLogOptions, TWhere } from '../common';
5
5
  import { UpdateBuilder } from '../operators/update';
6
6
  import { ReadableRepository } from './readable';
7
- /**
8
- * Full CRUD repository implementation.
9
- *
10
- * Extends {@link ReadableRepository} with create, update, and delete operations.
11
- * This class provides the complete set of database operations for entities.
12
- *
13
- * @template EntitySchema - The Drizzle table schema type with an 'id' column
14
- * @template DataObject - The type of objects returned from queries
15
- * @template PersistObject - The type for insert/update operations
16
- * @template ExtraOptions - Additional options type extending IExtraOptions
17
- *
18
- * @example
19
- * ```typescript
20
- * @repository({ model: User, dataSource: PostgresDataSource })
21
- * export class UserRepository extends PersistableRepository<typeof User.schema> {
22
- * async createWithDefaults(email: string) {
23
- * return this.create({
24
- * data: { email, role: 'user', isActive: true }
25
- * });
26
- * }
27
- * }
28
- * ```
29
- */
7
+ /** Full CRUD repository extending ReadableRepository with create, update, and delete. */
30
8
  export declare class PersistableRepository<EntitySchema extends TTableSchemaWithId = TTableSchemaWithId, DataObject extends TTableObject<EntitySchema> = TTableObject<EntitySchema>, PersistObject extends TTableInsert<EntitySchema> = TTableInsert<EntitySchema>, ExtraOptions extends IExtraOptions = IExtraOptions> extends ReadableRepository<EntitySchema, DataObject, PersistObject, ExtraOptions> {
31
- /** Builder for transforming update data with JSON path support. */
32
9
  protected _updateBuilder: UpdateBuilder;
33
- /**
34
- * Creates a new persistable (read-write) repository instance.
35
- *
36
- * @param ds - Optional data source (auto-injected from @repository decorator)
37
- * @param opts - Optional configuration
38
- * @param opts.entityClass - Entity class if not using @repository decorator
39
- */
40
10
  constructor(ds?: IDataSource, opts?: {
41
11
  entityClass?: TClass<BaseEntity<EntitySchema>>;
42
12
  });
43
- /** Returns the update builder instance. */
44
13
  get updateBuilder(): UpdateBuilder;
45
- /**
46
- * Validates where condition for bulk operations (update/delete).
47
- * Prevents accidental mass updates/deletes by requiring explicit force flag.
48
- *
49
- * @param opts - Validation options
50
- * @param opts.where - The where condition to validate
51
- * @param opts.force - If true, allows empty where condition
52
- * @param opts.operationName - Operation name for error message
53
- * @returns True if where is empty (used for logging warnings)
54
- * @throws Error if where is empty and force is not true
55
- */
14
+ /** Prevents accidental mass updates/deletes by requiring explicit force flag for empty where. */
56
15
  protected validateWhereCondition(opts: {
57
16
  where: TWhere<DataObject>;
58
17
  force?: boolean;
59
18
  operationName: string;
60
19
  }): boolean;
61
- /**
62
- * Internal create implementation for single or bulk inserts.
63
- *
64
- * @template R - Return type (defaults to DataObject)
65
- * @param opts - Create options
66
- * @param opts.data - Array of records to insert
67
- * @param opts.options - Extra options (transaction, logging, shouldReturn)
68
- * @returns Promise with count and optionally the created records
69
- */
70
20
  protected _create<R = DataObject>(opts: {
71
21
  data: Array<PersistObject>;
72
22
  options: ExtraOptions & {
@@ -108,16 +58,6 @@ export declare class PersistableRepository<EntitySchema extends TTableSchemaWith
108
58
  }): Promise<TCount & {
109
59
  data: Array<R>;
110
60
  }>;
111
- /**
112
- * Internal update implementation for single or bulk updates.
113
- *
114
- * @template R - Return type (defaults to DataObject)
115
- * @param opts - Update options
116
- * @param opts.data - Partial data to update
117
- * @param opts.where - Where condition for selecting records to update
118
- * @param opts.options - Extra options (transaction, logging, shouldReturn, force)
119
- * @returns Promise with count and optionally the updated records
120
- */
121
61
  protected _update<R = DataObject>(opts: {
122
62
  data: Partial<PersistObject>;
123
63
  where: TWhere<DataObject>;
@@ -166,15 +106,6 @@ export declare class PersistableRepository<EntitySchema extends TTableSchemaWith
166
106
  }): Promise<TCount & {
167
107
  data: Array<R>;
168
108
  }>;
169
- /**
170
- * Internal delete implementation for single or bulk deletes.
171
- *
172
- * @template R - Return type (defaults to DataObject)
173
- * @param opts - Delete options
174
- * @param opts.where - Where condition for selecting records to delete
175
- * @param opts.options - Extra options (transaction, logging, shouldReturn, force)
176
- * @returns Promise with count and optionally the deleted records
177
- */
178
109
  protected _delete<R = DataObject>(opts: {
179
110
  where: TWhere<DataObject>;
180
111
  options?: ExtraOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
@@ -9,69 +9,17 @@ const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
9
9
  const common_1 = require("../common");
10
10
  const update_1 = require("../operators/update");
11
11
  const readable_1 = require("./readable");
12
- // -----------------------------------------------------------------------------
13
- // Persistable Repository
14
- // -----------------------------------------------------------------------------
15
- /**
16
- * Full CRUD repository implementation.
17
- *
18
- * Extends {@link ReadableRepository} with create, update, and delete operations.
19
- * This class provides the complete set of database operations for entities.
20
- *
21
- * @template EntitySchema - The Drizzle table schema type with an 'id' column
22
- * @template DataObject - The type of objects returned from queries
23
- * @template PersistObject - The type for insert/update operations
24
- * @template ExtraOptions - Additional options type extending IExtraOptions
25
- *
26
- * @example
27
- * ```typescript
28
- * @repository({ model: User, dataSource: PostgresDataSource })
29
- * export class UserRepository extends PersistableRepository<typeof User.schema> {
30
- * async createWithDefaults(email: string) {
31
- * return this.create({
32
- * data: { email, role: 'user', isActive: true }
33
- * });
34
- * }
35
- * }
36
- * ```
37
- */
12
+ /** Full CRUD repository extending ReadableRepository with create, update, and delete. */
38
13
  class PersistableRepository extends readable_1.ReadableRepository {
39
- // ---------------------------------------------------------------------------
40
- // Constructor
41
- // ---------------------------------------------------------------------------
42
- /**
43
- * Creates a new persistable (read-write) repository instance.
44
- *
45
- * @param ds - Optional data source (auto-injected from @repository decorator)
46
- * @param opts - Optional configuration
47
- * @param opts.entityClass - Entity class if not using @repository decorator
48
- */
49
14
  constructor(ds, opts) {
50
15
  super(ds, { entityClass: opts?.entityClass });
51
16
  this._operationScope = common_1.RepositoryOperationScopes.READ_WRITE;
52
17
  this._updateBuilder = new update_1.UpdateBuilder();
53
18
  }
54
- // ---------------------------------------------------------------------------
55
- // Accessors
56
- // ---------------------------------------------------------------------------
57
- /** Returns the update builder instance. */
58
19
  get updateBuilder() {
59
20
  return this._updateBuilder;
60
21
  }
61
- // ---------------------------------------------------------------------------
62
- // Protected Helpers
63
- // ---------------------------------------------------------------------------
64
- /**
65
- * Validates where condition for bulk operations (update/delete).
66
- * Prevents accidental mass updates/deletes by requiring explicit force flag.
67
- *
68
- * @param opts - Validation options
69
- * @param opts.where - The where condition to validate
70
- * @param opts.force - If true, allows empty where condition
71
- * @param opts.operationName - Operation name for error message
72
- * @returns True if where is empty (used for logging warnings)
73
- * @throws Error if where is empty and force is not true
74
- */
22
+ /** Prevents accidental mass updates/deletes by requiring explicit force flag for empty where. */
75
23
  validateWhereCondition(opts) {
76
24
  const isEmptyWhere = !opts.where || (0, isEmpty_1.default)(opts.where);
77
25
  if (!opts.force && isEmptyWhere) {
@@ -81,18 +29,6 @@ class PersistableRepository extends readable_1.ReadableRepository {
81
29
  }
82
30
  return isEmptyWhere;
83
31
  }
84
- // ---------------------------------------------------------------------------
85
- // Create Operations
86
- // ---------------------------------------------------------------------------
87
- /**
88
- * Internal create implementation for single or bulk inserts.
89
- *
90
- * @template R - Return type (defaults to DataObject)
91
- * @param opts - Create options
92
- * @param opts.data - Array of records to insert
93
- * @param opts.options - Extra options (transaction, logging, shouldReturn)
94
- * @returns Promise with count and optionally the created records
95
- */
96
32
  async _create(opts) {
97
33
  const { shouldReturn = true, log, transaction } = opts.options ?? {};
98
34
  if (log?.use) {
@@ -107,7 +43,6 @@ class PersistableRepository extends readable_1.ReadableRepository {
107
43
  .debug('INSERT result | shouldReturn: %s | rs: %j', shouldReturn, rs);
108
44
  return { count: rs.rowCount ?? 0, data: null };
109
45
  }
110
- // Return only visible properties (excludes hidden properties at SQL level)
111
46
  const visibleProps = this.getVisibleProperties();
112
47
  const rs = visibleProps ? await query.returning(visibleProps) : await query.returning();
113
48
  this.logger.for('_create').debug('INSERT result | shouldReturn: %s | rs: %j', shouldReturn, rs);
@@ -122,31 +57,16 @@ class PersistableRepository extends readable_1.ReadableRepository {
122
57
  const options = { shouldReturn: true, ...opts.options };
123
58
  return this._create({ data: opts.data, options });
124
59
  }
125
- // ---------------------------------------------------------------------------
126
- // Update Operations
127
- // ---------------------------------------------------------------------------
128
- /**
129
- * Internal update implementation for single or bulk updates.
130
- *
131
- * @template R - Return type (defaults to DataObject)
132
- * @param opts - Update options
133
- * @param opts.data - Partial data to update
134
- * @param opts.where - Where condition for selecting records to update
135
- * @param opts.options - Extra options (transaction, logging, shouldReturn, force)
136
- * @returns Promise with count and optionally the updated records
137
- */
138
60
  async _update(opts) {
139
61
  const { shouldReturn = true, force = false, log, transaction, shouldSkipDefaultFilter, } = opts?.options ?? {};
140
62
  if (log?.use) {
141
63
  this.logger.for('_update').log(log.level ?? 'info', 'Executing with opts: %j', opts);
142
64
  }
143
- // Apply default filter's where condition
144
65
  const mergedFilter = this.applyDefaultFilter({
145
66
  userFilter: { where: opts.where },
146
67
  shouldSkipDefaultFilter,
147
68
  });
148
69
  const mergedWhere = mergedFilter.where ?? opts.where;
149
- // Validate where condition (throws if empty without force)
150
70
  const isEmptyWhere = this.validateWhereCondition({
151
71
  where: mergedWhere,
152
72
  force,
@@ -162,7 +82,6 @@ class PersistableRepository extends readable_1.ReadableRepository {
162
82
  .for('_update')
163
83
  .warn('Entity: %s | Performing update with empty condition | data: %j', this.entity.name, opts.data);
164
84
  }
165
- // Transform data to handle JSON path updates (e.g., 'metadata.settings.theme': 'dark')
166
85
  const transformed = this._updateBuilder.transform({
167
86
  tableName: this.entity.name,
168
87
  schema: this.entity.schema,
@@ -178,7 +97,6 @@ class PersistableRepository extends readable_1.ReadableRepository {
178
97
  .debug('UPDATE result | shouldReturn: %s | rs: %j', shouldReturn, rs);
179
98
  return { count: rs?.rowCount ?? 0, data: null };
180
99
  }
181
- // Return only visible properties (excludes hidden properties at SQL level)
182
100
  const visibleProps = this.getVisibleProperties();
183
101
  const rs = visibleProps
184
102
  ? (await query.returning(visibleProps))
@@ -197,30 +115,16 @@ class PersistableRepository extends readable_1.ReadableRepository {
197
115
  updateAll(opts) {
198
116
  return this._update(opts);
199
117
  }
200
- // ---------------------------------------------------------------------------
201
- // Delete Operations
202
- // ---------------------------------------------------------------------------
203
- /**
204
- * Internal delete implementation for single or bulk deletes.
205
- *
206
- * @template R - Return type (defaults to DataObject)
207
- * @param opts - Delete options
208
- * @param opts.where - Where condition for selecting records to delete
209
- * @param opts.options - Extra options (transaction, logging, shouldReturn, force)
210
- * @returns Promise with count and optionally the deleted records
211
- */
212
118
  async _delete(opts) {
213
119
  const { shouldReturn = true, force = false, log, transaction, shouldSkipDefaultFilter, } = opts?.options ?? {};
214
120
  if (log?.use) {
215
121
  this.logger.for('_delete').log(log.level ?? 'info', 'Executing with opts: %j', opts);
216
122
  }
217
- // Apply default filter's where condition
218
123
  const mergedFilter = this.applyDefaultFilter({
219
124
  userFilter: { where: opts.where },
220
125
  shouldSkipDefaultFilter,
221
126
  });
222
127
  const mergedWhere = mergedFilter.where ?? opts.where;
223
- // Validate where condition (throws if empty without force)
224
128
  const isEmptyWhere = this.validateWhereCondition({
225
129
  where: mergedWhere,
226
130
  force,
@@ -245,7 +149,6 @@ class PersistableRepository extends readable_1.ReadableRepository {
245
149
  .debug('DELETE result | shouldReturn: %s | rs: %j', shouldReturn, rs);
246
150
  return { count: rs?.rowCount ?? 0, data: null };
247
151
  }
248
- // Return only visible properties (excludes hidden properties at SQL level)
249
152
  const visibleProps = this.getVisibleProperties();
250
153
  const rs = visibleProps ? await query.returning(visibleProps) : await query.returning();
251
154
  this.logger.for('_delete').debug('DELETE result | shouldReturn: %s | rs: %j', shouldReturn, rs);
@@ -259,7 +162,6 @@ class PersistableRepository extends readable_1.ReadableRepository {
259
162
  return { count: rs.count, data: rs.data?.[0] ?? null };
260
163
  }
261
164
  deleteAll(opts) {
262
- // Provide default empty where object if undefined
263
165
  return this._delete({ where: opts.where ?? {}, options: opts.options });
264
166
  }
265
167
  deleteBy(opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/persistable.ts"],"names":[],"mappings":"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"}