@venizia/ignis 0.0.10-4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (853) hide show
  1. package/README.md +4 -4
  2. package/dist/base/applications/abstract.d.ts +12 -5
  3. package/dist/base/applications/abstract.d.ts.map +1 -1
  4. package/dist/base/applications/abstract.js +83 -11
  5. package/dist/base/applications/abstract.js.map +1 -1
  6. package/dist/base/applications/base.d.ts +10 -10
  7. package/dist/base/applications/base.d.ts.map +1 -1
  8. package/dist/base/applications/base.js +0 -13
  9. package/dist/base/applications/base.js.map +1 -1
  10. package/dist/base/applications/types.d.ts +5 -5
  11. package/dist/base/applications/types.d.ts.map +1 -1
  12. package/dist/base/components/base.d.ts +5 -4
  13. package/dist/base/components/base.d.ts.map +1 -1
  14. package/dist/base/components/base.js.map +1 -1
  15. package/dist/base/controllers/common/constants.d.ts +2 -2
  16. package/dist/base/controllers/common/constants.d.ts.map +1 -1
  17. package/dist/base/controllers/common/constants.js.map +1 -1
  18. package/dist/base/controllers/common/types.d.ts +9 -9
  19. package/dist/base/controllers/common/types.d.ts.map +1 -1
  20. package/dist/base/controllers/common/types.js.map +1 -1
  21. package/dist/base/controllers/factory/controller.d.ts +63 -53
  22. package/dist/base/controllers/factory/controller.d.ts.map +1 -1
  23. package/dist/base/controllers/factory/controller.js +19 -269
  24. package/dist/base/controllers/factory/controller.js.map +1 -1
  25. package/dist/base/controllers/factory/crud/abstract.d.ts +48 -0
  26. package/dist/base/controllers/factory/crud/abstract.d.ts.map +1 -0
  27. package/dist/base/controllers/factory/crud/abstract.js +43 -0
  28. package/dist/base/controllers/factory/crud/abstract.js.map +1 -0
  29. package/dist/base/controllers/factory/crud/index.d.ts +4 -0
  30. package/dist/base/controllers/factory/crud/index.d.ts.map +1 -0
  31. package/dist/base/controllers/factory/crud/index.js +20 -0
  32. package/dist/base/controllers/factory/crud/index.js.map +1 -0
  33. package/dist/base/controllers/factory/crud/persistable.d.ts +29 -0
  34. package/dist/base/controllers/factory/crud/persistable.d.ts.map +1 -0
  35. package/dist/base/controllers/factory/crud/persistable.js +95 -0
  36. package/dist/base/controllers/factory/crud/persistable.js.map +1 -0
  37. package/dist/base/controllers/factory/crud/readable.d.ts +25 -0
  38. package/dist/base/controllers/factory/crud/readable.d.ts.map +1 -0
  39. package/dist/base/controllers/factory/crud/readable.js +81 -0
  40. package/dist/base/controllers/factory/crud/readable.js.map +1 -0
  41. package/dist/base/controllers/factory/definition.d.ts +13 -13
  42. package/dist/base/controllers/factory/definition.d.ts.map +1 -1
  43. package/dist/base/controllers/factory/definition.js +25 -3
  44. package/dist/base/controllers/factory/definition.js.map +1 -1
  45. package/dist/base/controllers/factory/index.d.ts +1 -0
  46. package/dist/base/controllers/factory/index.d.ts.map +1 -1
  47. package/dist/base/controllers/factory/index.js +1 -0
  48. package/dist/base/controllers/factory/index.js.map +1 -1
  49. package/dist/base/controllers/grpc/abstract.d.ts +6 -4
  50. package/dist/base/controllers/grpc/abstract.d.ts.map +1 -1
  51. package/dist/base/controllers/grpc/abstract.js +0 -2
  52. package/dist/base/controllers/grpc/abstract.js.map +1 -1
  53. package/dist/base/controllers/grpc/adapter.d.ts +1 -1
  54. package/dist/base/controllers/grpc/adapter.d.ts.map +1 -1
  55. package/dist/base/controllers/grpc/adapter.js +4 -3
  56. package/dist/base/controllers/grpc/adapter.js.map +1 -1
  57. package/dist/base/controllers/grpc/base.d.ts +3 -3
  58. package/dist/base/controllers/grpc/base.d.ts.map +1 -1
  59. package/dist/base/controllers/grpc/common/types.d.ts +3 -3
  60. package/dist/base/controllers/grpc/common/types.d.ts.map +1 -1
  61. package/dist/base/controllers/rest/abstract.d.ts +13 -6
  62. package/dist/base/controllers/rest/abstract.d.ts.map +1 -1
  63. package/dist/base/controllers/rest/abstract.js +23 -7
  64. package/dist/base/controllers/rest/abstract.js.map +1 -1
  65. package/dist/base/controllers/rest/base.d.ts +10 -4
  66. package/dist/base/controllers/rest/base.d.ts.map +1 -1
  67. package/dist/base/controllers/rest/base.js +12 -0
  68. package/dist/base/controllers/rest/base.js.map +1 -1
  69. package/dist/base/datasources/abstract.d.ts +3 -2
  70. package/dist/base/datasources/abstract.d.ts.map +1 -1
  71. package/dist/base/datasources/abstract.js.map +1 -1
  72. package/dist/base/datasources/common/types.d.ts +17 -2
  73. package/dist/base/datasources/common/types.d.ts.map +1 -1
  74. package/dist/base/datasources/common/types.js +14 -1
  75. package/dist/base/datasources/common/types.js.map +1 -1
  76. package/dist/base/metadata/injectors.d.ts +2 -2
  77. package/dist/base/metadata/injectors.d.ts.map +1 -1
  78. package/dist/base/metadata/injectors.js.map +1 -1
  79. package/dist/base/metadata/persistents.d.ts +3 -3
  80. package/dist/base/metadata/persistents.d.ts.map +1 -1
  81. package/dist/base/metadata/persistents.js +11 -4
  82. package/dist/base/metadata/persistents.js.map +1 -1
  83. package/dist/base/metadata/request-context.d.ts +1 -1
  84. package/dist/base/metadata/request-context.d.ts.map +1 -1
  85. package/dist/base/metadata/routes/common.d.ts +26 -0
  86. package/dist/base/metadata/routes/common.d.ts.map +1 -0
  87. package/dist/base/metadata/routes/common.js +40 -0
  88. package/dist/base/metadata/routes/common.js.map +1 -0
  89. package/dist/base/metadata/routes/controller.d.ts +1 -1
  90. package/dist/base/metadata/routes/controller.d.ts.map +1 -1
  91. package/dist/base/metadata/routes/controller.js.map +1 -1
  92. package/dist/base/metadata/routes/rest.d.ts +1 -1
  93. package/dist/base/metadata/routes/rest.d.ts.map +1 -1
  94. package/dist/base/metadata/routes/rest.js +4 -0
  95. package/dist/base/metadata/routes/rest.js.map +1 -1
  96. package/dist/base/metadata/routes/rpc.d.ts +1 -1
  97. package/dist/base/metadata/routes/rpc.d.ts.map +1 -1
  98. package/dist/base/metadata/routes/rpc.js +4 -0
  99. package/dist/base/metadata/routes/rpc.js.map +1 -1
  100. package/dist/base/middlewares/app-error/app-error.middleware.d.ts +2 -2
  101. package/dist/base/middlewares/app-error/app-error.middleware.d.ts.map +1 -1
  102. package/dist/base/middlewares/app-error/app-error.middleware.js +7 -4
  103. package/dist/base/middlewares/app-error/app-error.middleware.js.map +1 -1
  104. package/dist/base/middlewares/app-error/database.handler.js +2 -2
  105. package/dist/base/middlewares/app-error/database.handler.js.map +1 -1
  106. package/dist/base/middlewares/app-error/definition.d.ts +1 -1
  107. package/dist/base/middlewares/app-error/definition.d.ts.map +1 -1
  108. package/dist/base/middlewares/app-error/definition.js +2 -1
  109. package/dist/base/middlewares/app-error/definition.js.map +1 -1
  110. package/dist/base/middlewares/app-error/zod.handler.d.ts +2 -2
  111. package/dist/base/middlewares/app-error/zod.handler.d.ts.map +1 -1
  112. package/dist/base/middlewares/app-error/zod.handler.js +3 -1
  113. package/dist/base/middlewares/app-error/zod.handler.js.map +1 -1
  114. package/dist/base/middlewares/not-found/not-found.middleware.d.ts +2 -2
  115. package/dist/base/middlewares/not-found/not-found.middleware.d.ts.map +1 -1
  116. package/dist/base/middlewares/not-found/not-found.middleware.js.map +1 -1
  117. package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts +3 -3
  118. package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts.map +1 -1
  119. package/dist/base/middlewares/request-spy/request-spy.middleware.js +8 -8
  120. package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
  121. package/dist/base/mixins/index.d.ts +0 -3
  122. package/dist/base/mixins/index.d.ts.map +1 -1
  123. package/dist/base/mixins/index.js +0 -3
  124. package/dist/base/mixins/index.js.map +1 -1
  125. package/dist/base/mixins/types.d.ts +7 -7
  126. package/dist/base/mixins/types.d.ts.map +1 -1
  127. package/dist/base/models/base.d.ts +4 -4
  128. package/dist/base/models/base.d.ts.map +1 -1
  129. package/dist/base/models/base.js.map +1 -1
  130. package/dist/base/models/common/constants.d.ts +1 -1
  131. package/dist/base/models/common/constants.d.ts.map +1 -1
  132. package/dist/base/models/common/types.js +1 -1
  133. package/dist/base/providers/base.d.ts +2 -2
  134. package/dist/base/providers/base.d.ts.map +1 -1
  135. package/dist/base/repositories/common/constants.d.ts +11 -1
  136. package/dist/base/repositories/common/constants.d.ts.map +1 -1
  137. package/dist/base/repositories/common/constants.js +13 -1
  138. package/dist/base/repositories/common/constants.js.map +1 -1
  139. package/dist/base/repositories/common/operators.d.ts +1 -1
  140. package/dist/base/repositories/common/operators.d.ts.map +1 -1
  141. package/dist/base/repositories/common/operators.js.map +1 -1
  142. package/dist/base/repositories/common/types.d.ts +18 -10
  143. package/dist/base/repositories/common/types.d.ts.map +1 -1
  144. package/dist/base/repositories/common/types.js +10 -1
  145. package/dist/base/repositories/common/types.js.map +1 -1
  146. package/dist/base/repositories/core/abstract.d.ts +13 -14
  147. package/dist/base/repositories/core/abstract.d.ts.map +1 -1
  148. package/dist/base/repositories/core/abstract.js +8 -3
  149. package/dist/base/repositories/core/abstract.js.map +1 -1
  150. package/dist/base/repositories/query-schemas/filter.d.ts +2 -2
  151. package/dist/base/repositories/query-schemas/filter.d.ts.map +1 -1
  152. package/dist/base/repositories/query-schemas/filter.js +3 -3
  153. package/dist/base/repositories/query-schemas/filter.js.map +1 -1
  154. package/dist/base/repositories/query-schemas/where.js +5 -5
  155. package/dist/base/repositories/query-schemas/where.js.map +1 -1
  156. package/dist/base/services/base.d.ts +2 -5
  157. package/dist/base/services/base.d.ts.map +1 -1
  158. package/dist/base/services/base.js +1 -5
  159. package/dist/base/services/base.js.map +1 -1
  160. package/dist/common/bindings.d.ts +1 -1
  161. package/dist/common/bindings.d.ts.map +1 -1
  162. package/dist/common/error-codes.d.ts +21 -0
  163. package/dist/common/error-codes.d.ts.map +1 -0
  164. package/dist/common/error-codes.js +40 -0
  165. package/dist/common/error-codes.js.map +1 -0
  166. package/dist/common/index.d.ts +1 -0
  167. package/dist/common/index.d.ts.map +1 -1
  168. package/dist/common/index.js +1 -0
  169. package/dist/common/index.js.map +1 -1
  170. package/dist/components/api-reference/common/constants.d.ts.map +1 -0
  171. package/dist/components/api-reference/common/constants.js.map +1 -0
  172. package/dist/components/api-reference/common/index.d.ts.map +1 -0
  173. package/dist/components/api-reference/common/index.js.map +1 -0
  174. package/dist/components/api-reference/common/keys.d.ts +9 -0
  175. package/dist/components/api-reference/common/keys.d.ts.map +1 -0
  176. package/dist/components/api-reference/common/keys.js +14 -0
  177. package/dist/components/api-reference/common/keys.js.map +1 -0
  178. package/dist/components/{swagger → api-reference}/common/types.d.ts +16 -13
  179. package/dist/components/api-reference/common/types.d.ts.map +1 -0
  180. package/dist/components/api-reference/common/types.js.map +1 -0
  181. package/dist/components/api-reference/component.d.ts +12 -0
  182. package/dist/components/api-reference/component.d.ts.map +1 -0
  183. package/dist/components/{swagger → api-reference}/component.js +54 -38
  184. package/dist/components/api-reference/component.js.map +1 -0
  185. package/dist/components/api-reference/index.d.ts.map +1 -0
  186. package/dist/components/api-reference/index.js.map +1 -0
  187. package/dist/components/{swagger → api-reference}/ui-factory.d.ts +1 -1
  188. package/dist/components/api-reference/ui-factory.d.ts.map +1 -0
  189. package/dist/components/api-reference/ui-factory.js.map +1 -0
  190. package/dist/components/auth/authenticate/common/codecs.d.ts +1 -1
  191. package/dist/components/auth/authenticate/common/codecs.d.ts.map +1 -1
  192. package/dist/components/auth/authenticate/common/constants.d.ts +1 -1
  193. package/dist/components/auth/authenticate/common/constants.d.ts.map +1 -1
  194. package/dist/components/auth/authenticate/common/types.d.ts +10 -8
  195. package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
  196. package/dist/components/auth/authenticate/component.d.ts +1 -1
  197. package/dist/components/auth/authenticate/component.d.ts.map +1 -1
  198. package/dist/components/auth/authenticate/component.js +4 -12
  199. package/dist/components/auth/authenticate/component.js.map +1 -1
  200. package/dist/components/auth/authenticate/controllers/factory.d.ts +8 -1
  201. package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
  202. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts +2 -2
  203. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +1 -1
  204. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js +0 -1
  205. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js.map +1 -1
  206. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts +3 -3
  207. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -1
  208. package/dist/components/auth/authenticate/providers/authentication.provider.js +1 -7
  209. package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -1
  210. package/dist/components/auth/authenticate/services/basic/service.d.ts.map +1 -1
  211. package/dist/components/auth/authenticate/services/basic/service.js +21 -15
  212. package/dist/components/auth/authenticate/services/basic/service.js.map +1 -1
  213. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +6 -5
  214. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +1 -1
  215. package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -1
  216. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts +1 -1
  217. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts.map +1 -1
  218. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js +4 -6
  219. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js.map +1 -1
  220. package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts +3 -3
  221. package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts.map +1 -1
  222. package/dist/components/auth/authenticate/strategies/strategy-registry.js +0 -1
  223. package/dist/components/auth/authenticate/strategies/strategy-registry.js.map +1 -1
  224. package/dist/components/auth/authorize/adapters/base-filtered.d.ts +10 -1
  225. package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -1
  226. package/dist/components/auth/authorize/adapters/base-filtered.js +10 -0
  227. package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -1
  228. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts +2 -2
  229. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts.map +1 -1
  230. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js +35 -21
  231. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js.map +1 -1
  232. package/dist/components/auth/authorize/adapters/types.d.ts +10 -5
  233. package/dist/components/auth/authorize/adapters/types.d.ts.map +1 -1
  234. package/dist/components/auth/authorize/common/constants.d.ts +1 -1
  235. package/dist/components/auth/authorize/common/constants.d.ts.map +1 -1
  236. package/dist/components/auth/authorize/common/permission-builder.d.ts +3 -3
  237. package/dist/components/auth/authorize/common/permission-builder.d.ts.map +1 -1
  238. package/dist/components/auth/authorize/common/permission-builder.js.map +1 -1
  239. package/dist/components/auth/authorize/common/policy-builder.d.ts +3 -3
  240. package/dist/components/auth/authorize/common/policy-builder.d.ts.map +1 -1
  241. package/dist/components/auth/authorize/common/policy-builder.js.map +1 -1
  242. package/dist/components/auth/authorize/common/resolve-request-domain.d.ts +4 -4
  243. package/dist/components/auth/authorize/common/resolve-request-domain.d.ts.map +1 -1
  244. package/dist/components/auth/authorize/common/resolve-request-domain.js +0 -4
  245. package/dist/components/auth/authorize/common/resolve-request-domain.js.map +1 -1
  246. package/dist/components/auth/authorize/common/types.d.ts +6 -5
  247. package/dist/components/auth/authorize/common/types.d.ts.map +1 -1
  248. package/dist/components/auth/authorize/component.d.ts +1 -1
  249. package/dist/components/auth/authorize/component.d.ts.map +1 -1
  250. package/dist/components/auth/authorize/component.js +3 -4
  251. package/dist/components/auth/authorize/component.js.map +1 -1
  252. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +11 -18
  253. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -1
  254. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +18 -27
  255. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
  256. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts +4 -4
  257. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts.map +1 -1
  258. package/dist/components/auth/authorize/enforcers/enforcer-registry.js +0 -3
  259. package/dist/components/auth/authorize/enforcers/enforcer-registry.js.map +1 -1
  260. package/dist/components/auth/authorize/middlewares/authorize.middleware.d.ts +1 -1
  261. package/dist/components/auth/authorize/middlewares/authorize.middleware.d.ts.map +1 -1
  262. package/dist/components/auth/authorize/middlewares/authorize.middleware.js +0 -1
  263. package/dist/components/auth/authorize/middlewares/authorize.middleware.js.map +1 -1
  264. package/dist/components/auth/authorize/providers/authorization.provider.d.ts +2 -2
  265. package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
  266. package/dist/components/auth/authorize/providers/authorization.provider.js +8 -14
  267. package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -1
  268. package/dist/components/auth/base/abstract-auth-registry.d.ts +3 -2
  269. package/dist/components/auth/base/abstract-auth-registry.d.ts.map +1 -1
  270. package/dist/components/auth/base/abstract-auth-registry.js.map +1 -1
  271. package/dist/components/auth/context-variables.d.ts +3 -3
  272. package/dist/components/auth/context-variables.d.ts.map +1 -1
  273. package/dist/components/auth/models/entities/permission.model.d.ts +2 -2
  274. package/dist/components/auth/models/entities/permission.model.d.ts.map +1 -1
  275. package/dist/components/auth/models/entities/permission.model.js.map +1 -1
  276. package/dist/components/auth/models/entities/role.model.d.ts +1 -1
  277. package/dist/components/auth/models/entities/role.model.d.ts.map +1 -1
  278. package/dist/components/auth/models/entities/user.model.d.ts +1 -1
  279. package/dist/components/auth/models/entities/user.model.d.ts.map +1 -1
  280. package/dist/components/controller/grpc/grpc.component.d.ts +1 -1
  281. package/dist/components/controller/grpc/grpc.component.d.ts.map +1 -1
  282. package/dist/components/controller/grpc/grpc.component.js.map +1 -1
  283. package/dist/components/controller/rest/rest.component.d.ts +1 -1
  284. package/dist/components/controller/rest/rest.component.d.ts.map +1 -1
  285. package/dist/components/controller/rest/rest.component.js.map +1 -1
  286. package/dist/components/health-check/common/types.d.ts +3 -2
  287. package/dist/components/health-check/common/types.d.ts.map +1 -1
  288. package/dist/components/health-check/component.d.ts.map +1 -1
  289. package/dist/components/health-check/component.js +6 -3
  290. package/dist/components/health-check/component.js.map +1 -1
  291. package/dist/components/index.d.ts +1 -1
  292. package/dist/components/index.d.ts.map +1 -1
  293. package/dist/components/index.js +1 -1
  294. package/dist/components/index.js.map +1 -1
  295. package/dist/components/mail/common/constants.d.ts +15 -6
  296. package/dist/components/mail/common/constants.d.ts.map +1 -1
  297. package/dist/components/mail/common/constants.js +28 -7
  298. package/dist/components/mail/common/constants.js.map +1 -1
  299. package/dist/components/mail/common/types.d.ts +20 -5
  300. package/dist/components/mail/common/types.d.ts.map +1 -1
  301. package/dist/components/mail/common/types.js.map +1 -1
  302. package/dist/components/mail/component.d.ts.map +1 -1
  303. package/dist/components/mail/component.js +13 -5
  304. package/dist/components/mail/component.js.map +1 -1
  305. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts +15 -16
  306. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts.map +1 -1
  307. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js +83 -7
  308. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
  309. package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts +2 -7
  310. package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts.map +1 -1
  311. package/dist/components/mail/helpers/executors/direct-executor.helper.js +2 -1
  312. package/dist/components/mail/helpers/executors/direct-executor.helper.js.map +1 -1
  313. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts +7 -7
  314. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
  315. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +34 -6
  316. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
  317. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts +10 -1
  318. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +1 -1
  319. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js +28 -5
  320. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
  321. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts +4 -1
  322. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts.map +1 -1
  323. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js +5 -5
  324. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
  325. package/dist/components/mail/providers/mail-queue-executor.provider.d.ts +2 -2
  326. package/dist/components/mail/providers/mail-queue-executor.provider.d.ts.map +1 -1
  327. package/dist/components/mail/providers/mail-queue-executor.provider.js.map +1 -1
  328. package/dist/components/mail/providers/mail-transporter.provider.d.ts +2 -2
  329. package/dist/components/mail/providers/mail-transporter.provider.d.ts.map +1 -1
  330. package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
  331. package/dist/components/mail/services/generator.service.d.ts +1 -1
  332. package/dist/components/mail/services/generator.service.d.ts.map +1 -1
  333. package/dist/components/mail/services/generator.service.js.map +1 -1
  334. package/dist/components/mail/services/mail.service.d.ts +1 -1
  335. package/dist/components/mail/services/mail.service.d.ts.map +1 -1
  336. package/dist/components/mail/services/mail.service.js +13 -3
  337. package/dist/components/mail/services/mail.service.js.map +1 -1
  338. package/dist/components/mail/services/template.service.d.ts +2 -2
  339. package/dist/components/mail/services/template.service.d.ts.map +1 -1
  340. package/dist/components/mail/services/template.service.js.map +1 -1
  341. package/dist/components/mail/utilities/type.utility.d.ts +2 -2
  342. package/dist/components/mail/utilities/type.utility.d.ts.map +1 -1
  343. package/dist/components/socket-io/component.d.ts.map +1 -1
  344. package/dist/components/socket-io/component.js +0 -1
  345. package/dist/components/socket-io/component.js.map +1 -1
  346. package/dist/components/static-asset/common/constants.d.ts +1 -1
  347. package/dist/components/static-asset/common/constants.d.ts.map +1 -1
  348. package/dist/components/static-asset/common/constants.js.map +1 -1
  349. package/dist/components/static-asset/common/types.d.ts +8 -6
  350. package/dist/components/static-asset/common/types.d.ts.map +1 -1
  351. package/dist/components/static-asset/component.d.ts.map +1 -1
  352. package/dist/components/static-asset/component.js +6 -9
  353. package/dist/components/static-asset/component.js.map +1 -1
  354. package/dist/components/static-asset/controller/factory.d.ts +12 -1
  355. package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
  356. package/dist/components/static-asset/controller/factory.js +98 -61
  357. package/dist/components/static-asset/controller/factory.js.map +1 -1
  358. package/dist/components/static-asset/repositories/base.repository.d.ts +1 -1
  359. package/dist/components/static-asset/repositories/base.repository.d.ts.map +1 -1
  360. package/dist/components/websocket/component.d.ts.map +1 -1
  361. package/dist/components/websocket/component.js +0 -1
  362. package/dist/components/websocket/component.js.map +1 -1
  363. package/dist/components/websocket/handlers/bun.handler.d.ts.map +1 -1
  364. package/dist/components/websocket/handlers/bun.handler.js +0 -1
  365. package/dist/components/websocket/handlers/bun.handler.js.map +1 -1
  366. package/dist/connectors/index.d.ts +0 -1
  367. package/dist/connectors/index.d.ts.map +1 -1
  368. package/dist/connectors/index.js +0 -1
  369. package/dist/connectors/index.js.map +1 -1
  370. package/dist/connectors/meilisearch/compiler.d.ts +16 -0
  371. package/dist/connectors/meilisearch/compiler.d.ts.map +1 -0
  372. package/dist/connectors/meilisearch/compiler.js +130 -0
  373. package/dist/connectors/meilisearch/compiler.js.map +1 -0
  374. package/dist/connectors/meilisearch/connector.d.ts +225 -0
  375. package/dist/connectors/meilisearch/connector.d.ts.map +1 -0
  376. package/dist/connectors/meilisearch/connector.js +821 -0
  377. package/dist/connectors/meilisearch/connector.js.map +1 -0
  378. package/dist/connectors/meilisearch/datasources/datasource.d.ts +28 -0
  379. package/dist/connectors/meilisearch/datasources/datasource.d.ts.map +1 -0
  380. package/dist/connectors/meilisearch/datasources/datasource.js +48 -0
  381. package/dist/connectors/meilisearch/datasources/datasource.js.map +1 -0
  382. package/dist/connectors/meilisearch/datasources/index.d.ts.map +1 -0
  383. package/dist/connectors/meilisearch/datasources/index.js.map +1 -0
  384. package/dist/connectors/meilisearch/index.d.ts +6 -0
  385. package/dist/connectors/meilisearch/index.d.ts.map +1 -0
  386. package/dist/connectors/meilisearch/index.js +22 -0
  387. package/dist/connectors/meilisearch/index.js.map +1 -0
  388. package/dist/connectors/meilisearch/internal/connector-internal.d.ts +32 -0
  389. package/dist/connectors/meilisearch/internal/connector-internal.d.ts.map +1 -0
  390. package/dist/connectors/meilisearch/internal/connector-internal.js +60 -0
  391. package/dist/connectors/meilisearch/internal/connector-internal.js.map +1 -0
  392. package/dist/connectors/meilisearch/internal/index.d.ts +2 -0
  393. package/dist/connectors/meilisearch/internal/index.d.ts.map +1 -0
  394. package/dist/connectors/{memory → meilisearch/internal}/index.js +1 -2
  395. package/dist/connectors/meilisearch/internal/index.js.map +1 -0
  396. package/dist/connectors/meilisearch/repositories/common/index.d.ts +2 -0
  397. package/dist/connectors/meilisearch/repositories/common/index.d.ts.map +1 -0
  398. package/dist/connectors/{memory/repositories → meilisearch/repositories/common}/index.js +1 -1
  399. package/dist/connectors/meilisearch/repositories/common/index.js.map +1 -0
  400. package/dist/connectors/meilisearch/repositories/common/types.d.ts +12 -0
  401. package/dist/connectors/meilisearch/repositories/common/types.d.ts.map +1 -0
  402. package/dist/connectors/meilisearch/repositories/common/types.js +3 -0
  403. package/dist/connectors/meilisearch/repositories/common/types.js.map +1 -0
  404. package/dist/connectors/meilisearch/repositories/dialect/index.d.ts +2 -0
  405. package/dist/connectors/meilisearch/repositories/dialect/index.d.ts.map +1 -0
  406. package/dist/connectors/{memory/internal → meilisearch/repositories/dialect}/index.js +1 -1
  407. package/dist/connectors/meilisearch/repositories/dialect/index.js.map +1 -0
  408. package/dist/connectors/meilisearch/repositories/dialect/query-dialect.d.ts +45 -0
  409. package/dist/connectors/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -0
  410. package/dist/connectors/meilisearch/repositories/dialect/query-dialect.js +383 -0
  411. package/dist/connectors/meilisearch/repositories/dialect/query-dialect.js.map +1 -0
  412. package/dist/connectors/meilisearch/repositories/index.d.ts +3 -0
  413. package/dist/connectors/meilisearch/repositories/index.d.ts.map +1 -0
  414. package/dist/connectors/meilisearch/repositories/index.js +19 -0
  415. package/dist/connectors/meilisearch/repositories/index.js.map +1 -0
  416. package/dist/connectors/meilisearch/types.d.ts +45 -0
  417. package/dist/connectors/meilisearch/types.d.ts.map +1 -0
  418. package/dist/connectors/meilisearch/types.js +30 -0
  419. package/dist/connectors/meilisearch/types.js.map +1 -0
  420. package/dist/connectors/postgres/datasources/abstract.d.ts +43 -14
  421. package/dist/connectors/postgres/datasources/abstract.d.ts.map +1 -1
  422. package/dist/connectors/postgres/datasources/abstract.js +63 -8
  423. package/dist/connectors/postgres/datasources/abstract.js.map +1 -1
  424. package/dist/connectors/postgres/datasources/base.d.ts +4 -3
  425. package/dist/connectors/postgres/datasources/base.d.ts.map +1 -1
  426. package/dist/connectors/postgres/datasources/base.js +56 -38
  427. package/dist/connectors/postgres/datasources/base.js.map +1 -1
  428. package/dist/connectors/postgres/datasources/common/guards.d.ts +2 -2
  429. package/dist/connectors/postgres/datasources/common/guards.d.ts.map +1 -1
  430. package/dist/connectors/postgres/datasources/common/types.d.ts +33 -11
  431. package/dist/connectors/postgres/datasources/common/types.d.ts.map +1 -1
  432. package/dist/connectors/postgres/datasources/common/types.js +0 -1
  433. package/dist/connectors/postgres/datasources/common/types.js.map +1 -1
  434. package/dist/connectors/postgres/drivers/driver.d.ts +55 -0
  435. package/dist/connectors/postgres/drivers/driver.d.ts.map +1 -0
  436. package/dist/connectors/postgres/drivers/driver.js +3 -0
  437. package/dist/connectors/postgres/drivers/driver.js.map +1 -0
  438. package/dist/connectors/postgres/drivers/index.d.ts +3 -0
  439. package/dist/connectors/postgres/drivers/index.d.ts.map +1 -0
  440. package/dist/connectors/postgres/drivers/index.js +19 -0
  441. package/dist/connectors/postgres/drivers/index.js.map +1 -0
  442. package/dist/connectors/postgres/drivers/node-postgres.d.ts +24 -0
  443. package/dist/connectors/postgres/drivers/node-postgres.d.ts.map +1 -0
  444. package/dist/connectors/postgres/drivers/node-postgres.js +63 -0
  445. package/dist/connectors/postgres/drivers/node-postgres.js.map +1 -0
  446. package/dist/connectors/postgres/drivers/postgres-js.d.ts +25 -0
  447. package/dist/connectors/postgres/drivers/postgres-js.d.ts.map +1 -0
  448. package/dist/connectors/postgres/drivers/postgres-js.js +66 -0
  449. package/dist/connectors/postgres/drivers/postgres-js.js.map +1 -0
  450. package/dist/connectors/postgres/drivers/resolve.d.ts +15 -0
  451. package/dist/connectors/postgres/drivers/resolve.d.ts.map +1 -0
  452. package/dist/connectors/postgres/drivers/resolve.js +44 -0
  453. package/dist/connectors/postgres/drivers/resolve.js.map +1 -0
  454. package/dist/connectors/postgres/index.d.ts +1 -0
  455. package/dist/connectors/postgres/index.d.ts.map +1 -1
  456. package/dist/connectors/postgres/index.js +1 -0
  457. package/dist/connectors/postgres/index.js.map +1 -1
  458. package/dist/connectors/postgres/models/base.d.ts +7 -6
  459. package/dist/connectors/postgres/models/base.d.ts.map +1 -1
  460. package/dist/connectors/postgres/models/base.js +1 -1
  461. package/dist/connectors/postgres/models/base.js.map +1 -1
  462. package/dist/connectors/postgres/models/common/types.d.ts +7 -7
  463. package/dist/connectors/postgres/models/common/types.d.ts.map +1 -1
  464. package/dist/connectors/postgres/models/enrichers/data-type.enricher.d.ts +1 -1
  465. package/dist/connectors/postgres/models/enrichers/data-type.enricher.d.ts.map +1 -1
  466. package/dist/connectors/postgres/models/enrichers/id.enricher.d.ts +3 -3
  467. package/dist/connectors/postgres/models/enrichers/id.enricher.d.ts.map +1 -1
  468. package/dist/connectors/postgres/models/enrichers/id.enricher.js.map +1 -1
  469. package/dist/connectors/postgres/models/enrichers/principal.enricher.d.ts +3 -3
  470. package/dist/connectors/postgres/models/enrichers/principal.enricher.d.ts.map +1 -1
  471. package/dist/connectors/postgres/models/enrichers/principal.enricher.js +4 -1
  472. package/dist/connectors/postgres/models/enrichers/principal.enricher.js.map +1 -1
  473. package/dist/connectors/postgres/models/enrichers/tz.enricher.d.ts +2 -2
  474. package/dist/connectors/postgres/models/enrichers/tz.enricher.d.ts.map +1 -1
  475. package/dist/connectors/postgres/models/enrichers/tz.enricher.js.map +1 -1
  476. package/dist/connectors/postgres/models/enrichers/user-audit.enricher.d.ts +2 -2
  477. package/dist/connectors/postgres/models/enrichers/user-audit.enricher.d.ts.map +1 -1
  478. package/dist/connectors/postgres/models/enrichers/user-audit.enricher.js +0 -2
  479. package/dist/connectors/postgres/models/enrichers/user-audit.enricher.js.map +1 -1
  480. package/dist/connectors/postgres/repositories/common/shared.d.ts +2 -3
  481. package/dist/connectors/postgres/repositories/common/shared.d.ts.map +1 -1
  482. package/dist/connectors/postgres/repositories/common/shared.js +0 -2
  483. package/dist/connectors/postgres/repositories/common/shared.js.map +1 -1
  484. package/dist/connectors/postgres/repositories/common/types.d.ts +6 -10
  485. package/dist/connectors/postgres/repositories/common/types.d.ts.map +1 -1
  486. package/dist/connectors/postgres/repositories/core/base.d.ts +46 -13
  487. package/dist/connectors/postgres/repositories/core/base.d.ts.map +1 -1
  488. package/dist/connectors/postgres/repositories/core/base.js +15 -14
  489. package/dist/connectors/postgres/repositories/core/base.js.map +1 -1
  490. package/dist/connectors/postgres/repositories/core/default.d.ts +3 -3
  491. package/dist/connectors/postgres/repositories/core/default.d.ts.map +1 -1
  492. package/dist/connectors/postgres/repositories/core/index.js +1 -1
  493. package/dist/connectors/postgres/repositories/core/index.js.map +1 -1
  494. package/dist/connectors/postgres/repositories/core/persistable.d.ts +13 -8
  495. package/dist/connectors/postgres/repositories/core/persistable.d.ts.map +1 -1
  496. package/dist/connectors/postgres/repositories/core/persistable.js +11 -19
  497. package/dist/connectors/postgres/repositories/core/persistable.js.map +1 -1
  498. package/dist/connectors/postgres/repositories/core/readable.d.ts +6 -6
  499. package/dist/connectors/postgres/repositories/core/readable.d.ts.map +1 -1
  500. package/dist/connectors/postgres/repositories/core/readable.js +26 -33
  501. package/dist/connectors/postgres/repositories/core/readable.js.map +1 -1
  502. package/dist/connectors/postgres/repositories/core/soft-deletable.d.ts +6 -6
  503. package/dist/connectors/postgres/repositories/core/soft-deletable.d.ts.map +1 -1
  504. package/dist/connectors/postgres/repositories/core/soft-deletable.js +2 -8
  505. package/dist/connectors/postgres/repositories/core/soft-deletable.js.map +1 -1
  506. package/dist/connectors/postgres/repositories/dialect/filter.d.ts +43 -7
  507. package/dist/connectors/postgres/repositories/dialect/filter.d.ts.map +1 -1
  508. package/dist/connectors/postgres/repositories/dialect/filter.js +178 -13
  509. package/dist/connectors/postgres/repositories/dialect/filter.js.map +1 -1
  510. package/dist/connectors/postgres/repositories/dialect/index.d.ts +0 -1
  511. package/dist/connectors/postgres/repositories/dialect/index.d.ts.map +1 -1
  512. package/dist/connectors/postgres/repositories/dialect/index.js +0 -4
  513. package/dist/connectors/postgres/repositories/dialect/index.js.map +1 -1
  514. package/dist/connectors/postgres/repositories/dialect/internal/json-utils.d.ts +0 -2
  515. package/dist/connectors/postgres/repositories/dialect/internal/json-utils.d.ts.map +1 -1
  516. package/dist/connectors/postgres/repositories/dialect/internal/json-utils.js +0 -2
  517. package/dist/connectors/postgres/repositories/dialect/internal/json-utils.js.map +1 -1
  518. package/dist/connectors/postgres/repositories/dialect/query.d.ts +4 -1
  519. package/dist/connectors/postgres/repositories/dialect/query.d.ts.map +1 -1
  520. package/dist/connectors/postgres/repositories/dialect/query.js +28 -27
  521. package/dist/connectors/postgres/repositories/dialect/query.js.map +1 -1
  522. package/dist/connectors/postgres/repositories/dialect/relation.d.ts +2 -2
  523. package/dist/connectors/postgres/repositories/dialect/relation.d.ts.map +1 -1
  524. package/dist/connectors/postgres/repositories/dialect/relation.js +5 -2
  525. package/dist/connectors/postgres/repositories/dialect/relation.js.map +1 -1
  526. package/dist/connectors/postgres/repositories/dialect/update.d.ts +2 -3
  527. package/dist/connectors/postgres/repositories/dialect/update.d.ts.map +1 -1
  528. package/dist/connectors/postgres/repositories/dialect/update.js +0 -1
  529. package/dist/connectors/postgres/repositories/dialect/update.js.map +1 -1
  530. package/dist/connectors/postgres/supabase/index.d.ts +4 -0
  531. package/dist/connectors/postgres/supabase/index.d.ts.map +1 -0
  532. package/dist/connectors/postgres/supabase/index.js +33 -0
  533. package/dist/connectors/postgres/supabase/index.js.map +1 -0
  534. package/dist/connectors/postgres/supabase/pooler.d.ts +27 -0
  535. package/dist/connectors/postgres/supabase/pooler.d.ts.map +1 -0
  536. package/dist/connectors/postgres/supabase/pooler.js +38 -0
  537. package/dist/connectors/postgres/supabase/pooler.js.map +1 -0
  538. package/dist/connectors/postgres/supabase/rls.d.ts +17 -0
  539. package/dist/connectors/postgres/supabase/rls.d.ts.map +1 -0
  540. package/dist/connectors/postgres/supabase/rls.js +35 -0
  541. package/dist/connectors/postgres/supabase/rls.js.map +1 -0
  542. package/dist/connectors/search/connector.d.ts +252 -0
  543. package/dist/connectors/search/connector.d.ts.map +1 -0
  544. package/dist/connectors/search/connector.js +65 -0
  545. package/dist/connectors/search/connector.js.map +1 -0
  546. package/dist/connectors/search/controllers/abstract.d.ts +30 -0
  547. package/dist/connectors/search/controllers/abstract.d.ts.map +1 -0
  548. package/dist/connectors/search/controllers/abstract.js +45 -0
  549. package/dist/connectors/search/controllers/abstract.js.map +1 -0
  550. package/dist/connectors/search/controllers/definition.d.ts +251 -0
  551. package/dist/connectors/search/controllers/definition.d.ts.map +1 -0
  552. package/dist/connectors/search/controllers/definition.js +57 -0
  553. package/dist/connectors/search/controllers/definition.js.map +1 -0
  554. package/dist/connectors/search/controllers/factory.d.ts +117 -0
  555. package/dist/connectors/search/controllers/factory.d.ts.map +1 -0
  556. package/dist/connectors/search/controllers/factory.js +64 -0
  557. package/dist/connectors/search/controllers/factory.js.map +1 -0
  558. package/dist/connectors/search/controllers/index.d.ts +4 -0
  559. package/dist/connectors/search/controllers/index.d.ts.map +1 -0
  560. package/dist/connectors/search/controllers/index.js +20 -0
  561. package/dist/connectors/search/controllers/index.js.map +1 -0
  562. package/dist/connectors/search/datasources/abstract.d.ts +25 -0
  563. package/dist/connectors/search/datasources/abstract.d.ts.map +1 -0
  564. package/dist/connectors/{typesense → search}/datasources/abstract.js +1 -1
  565. package/dist/connectors/search/datasources/abstract.js.map +1 -0
  566. package/dist/connectors/search/datasources/base.d.ts +73 -0
  567. package/dist/connectors/search/datasources/base.d.ts.map +1 -0
  568. package/dist/connectors/search/datasources/base.js +195 -0
  569. package/dist/connectors/search/datasources/base.js.map +1 -0
  570. package/dist/connectors/search/datasources/common/index.d.ts +2 -0
  571. package/dist/connectors/search/datasources/common/index.d.ts.map +1 -0
  572. package/dist/connectors/search/datasources/common/index.js +18 -0
  573. package/dist/connectors/search/datasources/common/index.js.map +1 -0
  574. package/dist/connectors/search/datasources/common/types.d.ts +8 -0
  575. package/dist/connectors/search/datasources/common/types.d.ts.map +1 -0
  576. package/dist/connectors/search/datasources/common/types.js +3 -0
  577. package/dist/connectors/search/datasources/common/types.js.map +1 -0
  578. package/dist/connectors/search/datasources/index.d.ts +4 -0
  579. package/dist/connectors/search/datasources/index.d.ts.map +1 -0
  580. package/dist/connectors/search/datasources/index.js +20 -0
  581. package/dist/connectors/search/datasources/index.js.map +1 -0
  582. package/dist/connectors/search/index.d.ts +6 -0
  583. package/dist/connectors/search/index.d.ts.map +1 -0
  584. package/dist/connectors/search/index.js +22 -0
  585. package/dist/connectors/search/index.js.map +1 -0
  586. package/dist/connectors/search/internal/index.d.ts +2 -0
  587. package/dist/connectors/search/internal/index.d.ts.map +1 -0
  588. package/dist/connectors/search/internal/index.js +18 -0
  589. package/dist/connectors/search/internal/index.js.map +1 -0
  590. package/dist/connectors/{typesense/internal/search-driver-internal.d.ts → search/internal/search-connector-internal.d.ts} +4 -4
  591. package/dist/connectors/search/internal/search-connector-internal.d.ts.map +1 -0
  592. package/dist/connectors/search/internal/search-connector-internal.js +47 -0
  593. package/dist/connectors/search/internal/search-connector-internal.js.map +1 -0
  594. package/dist/connectors/{typesense → search}/models/base.d.ts +8 -8
  595. package/dist/connectors/search/models/base.d.ts.map +1 -0
  596. package/dist/connectors/{typesense → search}/models/base.js +2 -16
  597. package/dist/connectors/search/models/base.js.map +1 -0
  598. package/dist/connectors/search/models/define-search-collection.d.ts +64 -0
  599. package/dist/connectors/search/models/define-search-collection.d.ts.map +1 -0
  600. package/dist/connectors/{typesense → search}/models/define-search-collection.js +41 -25
  601. package/dist/connectors/search/models/define-search-collection.js.map +1 -0
  602. package/dist/connectors/search/models/index.d.ts.map +1 -0
  603. package/dist/connectors/search/models/index.js.map +1 -0
  604. package/dist/connectors/search/models/types.d.ts +117 -0
  605. package/dist/connectors/search/models/types.d.ts.map +1 -0
  606. package/dist/connectors/{typesense → search}/models/types.js +14 -1
  607. package/dist/connectors/search/models/types.js.map +1 -0
  608. package/dist/connectors/{typesense → search}/models/zod-derivation.d.ts +2 -2
  609. package/dist/connectors/search/models/zod-derivation.d.ts.map +1 -0
  610. package/dist/connectors/{typesense → search}/models/zod-derivation.js +17 -3
  611. package/dist/connectors/search/models/zod-derivation.js.map +1 -0
  612. package/dist/connectors/search/repositories/common/constants.d.ts +176 -0
  613. package/dist/connectors/search/repositories/common/constants.d.ts.map +1 -0
  614. package/dist/connectors/search/repositories/common/constants.js +176 -0
  615. package/dist/connectors/search/repositories/common/constants.js.map +1 -0
  616. package/dist/connectors/search/repositories/common/dialect-helpers.d.ts +19 -0
  617. package/dist/connectors/search/repositories/common/dialect-helpers.d.ts.map +1 -0
  618. package/dist/connectors/search/repositories/common/dialect-helpers.js +50 -0
  619. package/dist/connectors/search/repositories/common/dialect-helpers.js.map +1 -0
  620. package/dist/connectors/search/repositories/common/index.d.ts +3 -0
  621. package/dist/connectors/search/repositories/common/index.d.ts.map +1 -0
  622. package/dist/connectors/search/repositories/common/index.js +19 -0
  623. package/dist/connectors/search/repositories/common/index.js.map +1 -0
  624. package/dist/connectors/search/repositories/common/types.d.ts +60 -0
  625. package/dist/connectors/search/repositories/common/types.d.ts.map +1 -0
  626. package/dist/connectors/search/repositories/common/types.js +3 -0
  627. package/dist/connectors/search/repositories/common/types.js.map +1 -0
  628. package/dist/connectors/search/repositories/core/base.d.ts +56 -0
  629. package/dist/connectors/search/repositories/core/base.d.ts.map +1 -0
  630. package/dist/connectors/{typesense → search}/repositories/core/base.js +37 -4
  631. package/dist/connectors/search/repositories/core/base.js.map +1 -0
  632. package/dist/connectors/search/repositories/core/default.d.ts +6 -0
  633. package/dist/connectors/search/repositories/core/default.d.ts.map +1 -0
  634. package/dist/connectors/search/repositories/core/default.js.map +1 -0
  635. package/dist/connectors/search/repositories/core/index.d.ts.map +1 -0
  636. package/dist/connectors/search/repositories/core/index.js.map +1 -0
  637. package/dist/connectors/{typesense → search}/repositories/core/persistable.d.ts +32 -40
  638. package/dist/connectors/search/repositories/core/persistable.d.ts.map +1 -0
  639. package/dist/connectors/{typesense → search}/repositories/core/persistable.js +55 -56
  640. package/dist/connectors/search/repositories/core/persistable.js.map +1 -0
  641. package/dist/connectors/{typesense → search}/repositories/core/readable.d.ts +29 -44
  642. package/dist/connectors/search/repositories/core/readable.d.ts.map +1 -0
  643. package/dist/connectors/search/repositories/core/readable.js +130 -0
  644. package/dist/connectors/search/repositories/core/readable.js.map +1 -0
  645. package/dist/connectors/search/repositories/index.d.ts +3 -0
  646. package/dist/connectors/search/repositories/index.d.ts.map +1 -0
  647. package/dist/connectors/search/repositories/index.js +19 -0
  648. package/dist/connectors/search/repositories/index.js.map +1 -0
  649. package/dist/connectors/typesense/compiler.d.ts +1 -1
  650. package/dist/connectors/typesense/compiler.d.ts.map +1 -1
  651. package/dist/connectors/typesense/compiler.js +52 -6
  652. package/dist/connectors/typesense/compiler.js.map +1 -1
  653. package/dist/connectors/typesense/connector.d.ts +196 -0
  654. package/dist/connectors/typesense/connector.d.ts.map +1 -0
  655. package/dist/connectors/typesense/{driver.js → connector.js} +314 -180
  656. package/dist/connectors/typesense/connector.js.map +1 -0
  657. package/dist/connectors/typesense/controllers/index.d.ts +2 -0
  658. package/dist/connectors/typesense/controllers/index.d.ts.map +1 -0
  659. package/dist/connectors/typesense/controllers/index.js +18 -0
  660. package/dist/connectors/typesense/controllers/index.js.map +1 -0
  661. package/dist/connectors/typesense/datasources/datasource.d.ts +32 -16
  662. package/dist/connectors/typesense/datasources/datasource.d.ts.map +1 -1
  663. package/dist/connectors/typesense/datasources/datasource.js +25 -31
  664. package/dist/connectors/typesense/datasources/datasource.js.map +1 -1
  665. package/dist/connectors/typesense/datasources/index.d.ts +0 -2
  666. package/dist/connectors/typesense/datasources/index.d.ts.map +1 -1
  667. package/dist/connectors/typesense/datasources/index.js +0 -2
  668. package/dist/connectors/typesense/datasources/index.js.map +1 -1
  669. package/dist/connectors/typesense/index.d.ts +2 -3
  670. package/dist/connectors/typesense/index.d.ts.map +1 -1
  671. package/dist/connectors/typesense/index.js +4 -3
  672. package/dist/connectors/typesense/index.js.map +1 -1
  673. package/dist/connectors/typesense/internal/{driver-internal.d.ts → connector-internal.d.ts} +2 -1
  674. package/dist/connectors/typesense/internal/connector-internal.d.ts.map +1 -0
  675. package/dist/connectors/typesense/internal/{driver-internal.js → connector-internal.js} +16 -12
  676. package/dist/connectors/typesense/internal/connector-internal.js.map +1 -0
  677. package/dist/connectors/typesense/internal/index.d.ts +1 -2
  678. package/dist/connectors/typesense/internal/index.d.ts.map +1 -1
  679. package/dist/connectors/typesense/internal/index.js +1 -2
  680. package/dist/connectors/typesense/internal/index.js.map +1 -1
  681. package/dist/connectors/typesense/repositories/common/types.d.ts +12 -22
  682. package/dist/connectors/typesense/repositories/common/types.d.ts.map +1 -1
  683. package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts +31 -9
  684. package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
  685. package/dist/connectors/typesense/repositories/dialect/query-dialect.js +228 -67
  686. package/dist/connectors/typesense/repositories/dialect/query-dialect.js.map +1 -1
  687. package/dist/connectors/typesense/repositories/index.d.ts +1 -1
  688. package/dist/connectors/typesense/repositories/index.d.ts.map +1 -1
  689. package/dist/connectors/typesense/repositories/index.js +2 -1
  690. package/dist/connectors/typesense/repositories/index.js.map +1 -1
  691. package/dist/connectors/typesense/types.d.ts +5 -11
  692. package/dist/connectors/typesense/types.d.ts.map +1 -1
  693. package/dist/connectors/typesense/types.js.map +1 -1
  694. package/dist/helpers/inversion/common/types.d.ts +7 -8
  695. package/dist/helpers/inversion/common/types.d.ts.map +1 -1
  696. package/dist/helpers/inversion/container.d.ts +3 -2
  697. package/dist/helpers/inversion/container.d.ts.map +1 -1
  698. package/dist/helpers/inversion/container.js.map +1 -1
  699. package/dist/helpers/inversion/index.d.ts +1 -1
  700. package/dist/helpers/inversion/index.d.ts.map +1 -1
  701. package/dist/helpers/inversion/index.js +1 -2
  702. package/dist/helpers/inversion/index.js.map +1 -1
  703. package/dist/helpers/inversion/mixins/controllers/controller.d.ts +8 -8
  704. package/dist/helpers/inversion/mixins/controllers/controller.d.ts.map +1 -1
  705. package/dist/helpers/inversion/mixins/controllers/controller.js +1 -1
  706. package/dist/helpers/inversion/mixins/controllers/grpc.d.ts +8 -12
  707. package/dist/helpers/inversion/mixins/controllers/grpc.d.ts.map +1 -1
  708. package/dist/helpers/inversion/mixins/controllers/grpc.js +5 -5
  709. package/dist/helpers/inversion/mixins/controllers/grpc.js.map +1 -1
  710. package/dist/helpers/inversion/mixins/controllers/rest.d.ts +8 -12
  711. package/dist/helpers/inversion/mixins/controllers/rest.d.ts.map +1 -1
  712. package/dist/helpers/inversion/mixins/controllers/rest.js +6 -5
  713. package/dist/helpers/inversion/mixins/controllers/rest.js.map +1 -1
  714. package/dist/helpers/inversion/mixins/datasource.mixin.d.ts +8 -8
  715. package/dist/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
  716. package/dist/helpers/inversion/mixins/datasource.mixin.js +1 -2
  717. package/dist/helpers/inversion/mixins/datasource.mixin.js.map +1 -1
  718. package/dist/helpers/inversion/mixins/model.mixin.d.ts +10 -10
  719. package/dist/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
  720. package/dist/helpers/inversion/mixins/model.mixin.js +2 -2
  721. package/dist/helpers/inversion/mixins/model.mixin.js.map +1 -1
  722. package/dist/helpers/inversion/mixins/repository.mixin.d.ts +23 -13
  723. package/dist/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  724. package/dist/helpers/inversion/mixins/repository.mixin.js +35 -30
  725. package/dist/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  726. package/dist/helpers/inversion/registry.d.ts +47 -44
  727. package/dist/helpers/inversion/registry.d.ts.map +1 -1
  728. package/dist/helpers/inversion/registry.js +2 -3
  729. package/dist/helpers/inversion/registry.js.map +1 -1
  730. package/dist/utilities/drizzle-result.utility.d.ts +9 -0
  731. package/dist/utilities/drizzle-result.utility.d.ts.map +1 -0
  732. package/dist/utilities/drizzle-result.utility.js +59 -0
  733. package/dist/utilities/drizzle-result.utility.js.map +1 -0
  734. package/dist/utilities/error.utility.d.ts +1 -1
  735. package/dist/utilities/error.utility.d.ts.map +1 -1
  736. package/dist/utilities/error.utility.js +2 -1
  737. package/dist/utilities/error.utility.js.map +1 -1
  738. package/dist/utilities/index.d.ts +3 -2
  739. package/dist/utilities/index.d.ts.map +1 -1
  740. package/dist/utilities/index.js +3 -2
  741. package/dist/utilities/index.js.map +1 -1
  742. package/dist/utilities/network.utility.d.ts +1 -1
  743. package/dist/utilities/network.utility.d.ts.map +1 -1
  744. package/dist/utilities/network.utility.js +3 -6
  745. package/dist/utilities/network.utility.js.map +1 -1
  746. package/package.json +53 -19
  747. package/dist/base/mixins/component.mixin.d.ts +0 -88
  748. package/dist/base/mixins/component.mixin.d.ts.map +0 -1
  749. package/dist/base/mixins/component.mixin.js +0 -40
  750. package/dist/base/mixins/component.mixin.js.map +0 -1
  751. package/dist/base/mixins/repository.mixin.d.ts +0 -92
  752. package/dist/base/mixins/repository.mixin.d.ts.map +0 -1
  753. package/dist/base/mixins/repository.mixin.js +0 -51
  754. package/dist/base/mixins/repository.mixin.js.map +0 -1
  755. package/dist/base/mixins/service.mixin.d.ts +0 -89
  756. package/dist/base/mixins/service.mixin.d.ts.map +0 -1
  757. package/dist/base/mixins/service.mixin.js +0 -19
  758. package/dist/base/mixins/service.mixin.js.map +0 -1
  759. package/dist/components/swagger/common/constants.d.ts.map +0 -1
  760. package/dist/components/swagger/common/constants.js.map +0 -1
  761. package/dist/components/swagger/common/index.d.ts.map +0 -1
  762. package/dist/components/swagger/common/index.js.map +0 -1
  763. package/dist/components/swagger/common/keys.d.ts +0 -4
  764. package/dist/components/swagger/common/keys.d.ts.map +0 -1
  765. package/dist/components/swagger/common/keys.js +0 -8
  766. package/dist/components/swagger/common/keys.js.map +0 -1
  767. package/dist/components/swagger/common/types.d.ts.map +0 -1
  768. package/dist/components/swagger/common/types.js.map +0 -1
  769. package/dist/components/swagger/component.d.ts +0 -8
  770. package/dist/components/swagger/component.d.ts.map +0 -1
  771. package/dist/components/swagger/component.js.map +0 -1
  772. package/dist/components/swagger/index.d.ts.map +0 -1
  773. package/dist/components/swagger/index.js.map +0 -1
  774. package/dist/components/swagger/ui-factory.d.ts.map +0 -1
  775. package/dist/components/swagger/ui-factory.js.map +0 -1
  776. package/dist/connectors/memory/datasources/datasource.d.ts +0 -35
  777. package/dist/connectors/memory/datasources/datasource.d.ts.map +0 -1
  778. package/dist/connectors/memory/datasources/datasource.js +0 -51
  779. package/dist/connectors/memory/datasources/datasource.js.map +0 -1
  780. package/dist/connectors/memory/datasources/index.d.ts.map +0 -1
  781. package/dist/connectors/memory/datasources/index.js.map +0 -1
  782. package/dist/connectors/memory/index.d.ts +0 -3
  783. package/dist/connectors/memory/index.d.ts.map +0 -1
  784. package/dist/connectors/memory/index.js.map +0 -1
  785. package/dist/connectors/memory/internal/index.d.ts +0 -2
  786. package/dist/connectors/memory/internal/index.d.ts.map +0 -1
  787. package/dist/connectors/memory/internal/index.js.map +0 -1
  788. package/dist/connectors/memory/internal/where-matcher.d.ts +0 -13
  789. package/dist/connectors/memory/internal/where-matcher.d.ts.map +0 -1
  790. package/dist/connectors/memory/internal/where-matcher.js +0 -326
  791. package/dist/connectors/memory/internal/where-matcher.js.map +0 -1
  792. package/dist/connectors/memory/repositories/index.d.ts +0 -2
  793. package/dist/connectors/memory/repositories/index.d.ts.map +0 -1
  794. package/dist/connectors/memory/repositories/index.js.map +0 -1
  795. package/dist/connectors/memory/repositories/repository.d.ts +0 -175
  796. package/dist/connectors/memory/repositories/repository.d.ts.map +0 -1
  797. package/dist/connectors/memory/repositories/repository.js +0 -345
  798. package/dist/connectors/memory/repositories/repository.js.map +0 -1
  799. package/dist/connectors/typesense/datasources/abstract.d.ts +0 -16
  800. package/dist/connectors/typesense/datasources/abstract.d.ts.map +0 -1
  801. package/dist/connectors/typesense/datasources/abstract.js.map +0 -1
  802. package/dist/connectors/typesense/datasources/base.d.ts +0 -21
  803. package/dist/connectors/typesense/datasources/base.d.ts.map +0 -1
  804. package/dist/connectors/typesense/datasources/base.js +0 -66
  805. package/dist/connectors/typesense/datasources/base.js.map +0 -1
  806. package/dist/connectors/typesense/driver.d.ts +0 -364
  807. package/dist/connectors/typesense/driver.d.ts.map +0 -1
  808. package/dist/connectors/typesense/driver.js.map +0 -1
  809. package/dist/connectors/typesense/internal/driver-internal.d.ts.map +0 -1
  810. package/dist/connectors/typesense/internal/driver-internal.js.map +0 -1
  811. package/dist/connectors/typesense/internal/search-driver-internal.d.ts.map +0 -1
  812. package/dist/connectors/typesense/internal/search-driver-internal.js +0 -37
  813. package/dist/connectors/typesense/internal/search-driver-internal.js.map +0 -1
  814. package/dist/connectors/typesense/models/base.d.ts.map +0 -1
  815. package/dist/connectors/typesense/models/base.js.map +0 -1
  816. package/dist/connectors/typesense/models/define-search-collection.d.ts +0 -41
  817. package/dist/connectors/typesense/models/define-search-collection.d.ts.map +0 -1
  818. package/dist/connectors/typesense/models/define-search-collection.js.map +0 -1
  819. package/dist/connectors/typesense/models/index.d.ts.map +0 -1
  820. package/dist/connectors/typesense/models/index.js.map +0 -1
  821. package/dist/connectors/typesense/models/types.d.ts +0 -57
  822. package/dist/connectors/typesense/models/types.d.ts.map +0 -1
  823. package/dist/connectors/typesense/models/types.js.map +0 -1
  824. package/dist/connectors/typesense/models/zod-derivation.d.ts.map +0 -1
  825. package/dist/connectors/typesense/models/zod-derivation.js.map +0 -1
  826. package/dist/connectors/typesense/repositories/core/base.d.ts +0 -44
  827. package/dist/connectors/typesense/repositories/core/base.d.ts.map +0 -1
  828. package/dist/connectors/typesense/repositories/core/base.js.map +0 -1
  829. package/dist/connectors/typesense/repositories/core/default.d.ts +0 -5
  830. package/dist/connectors/typesense/repositories/core/default.d.ts.map +0 -1
  831. package/dist/connectors/typesense/repositories/core/default.js.map +0 -1
  832. package/dist/connectors/typesense/repositories/core/index.d.ts.map +0 -1
  833. package/dist/connectors/typesense/repositories/core/index.js.map +0 -1
  834. package/dist/connectors/typesense/repositories/core/persistable.d.ts.map +0 -1
  835. package/dist/connectors/typesense/repositories/core/persistable.js.map +0 -1
  836. package/dist/connectors/typesense/repositories/core/readable.d.ts.map +0 -1
  837. package/dist/connectors/typesense/repositories/core/readable.js +0 -114
  838. package/dist/connectors/typesense/repositories/core/readable.js.map +0 -1
  839. /package/dist/components/{swagger → api-reference}/common/constants.d.ts +0 -0
  840. /package/dist/components/{swagger → api-reference}/common/constants.js +0 -0
  841. /package/dist/components/{swagger → api-reference}/common/index.d.ts +0 -0
  842. /package/dist/components/{swagger → api-reference}/common/index.js +0 -0
  843. /package/dist/components/{swagger → api-reference}/common/types.js +0 -0
  844. /package/dist/components/{swagger → api-reference}/index.d.ts +0 -0
  845. /package/dist/components/{swagger → api-reference}/index.js +0 -0
  846. /package/dist/components/{swagger → api-reference}/ui-factory.js +0 -0
  847. /package/dist/connectors/{memory → meilisearch}/datasources/index.d.ts +0 -0
  848. /package/dist/connectors/{memory → meilisearch}/datasources/index.js +0 -0
  849. /package/dist/connectors/{typesense → search}/models/index.d.ts +0 -0
  850. /package/dist/connectors/{typesense → search}/models/index.js +0 -0
  851. /package/dist/connectors/{typesense → search}/repositories/core/default.js +0 -0
  852. /package/dist/connectors/{typesense → search}/repositories/core/index.d.ts +0 -0
  853. /package/dist/connectors/{typesense → search}/repositories/core/index.js +0 -0
@@ -2,21 +2,76 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbstractRelationalDataSource = void 0;
4
4
  const datasources_1 = require("../../../base/datasources");
5
- // Deep import (not the repositories barrel): FilterBuilder -> repositories/common -> datasources
6
- // barrel closes a module cycle. Instantiated lazily below, never in a static initializer, so the
7
- // class body references no half-initialized binding at load time.
5
+ const drivers_1 = require("../../../connectors/postgres/drivers");
8
6
  const filter_1 = require("../../../connectors/postgres/repositories/dialect/filter");
7
+ const ignis_helpers_1 = require("@venizia/ignis-helpers");
9
8
  /** SQL branch root: connector, pool, transactions. */
10
9
  class AbstractRelationalDataSource extends datasources_1.AbstractDataSource {
10
+ /**
11
+ * Adopts a pool-only datasource (no `this.driver` set) into whichever driver matches its client,
12
+ * once. No warning is logged: the adoption is exact, and a boot-time warning on every legacy
13
+ * datasource would be noise, not information.
14
+ *
15
+ * Async because the concrete driver is imported on demand - see `resolveDatabaseDriver`. The
16
+ * in-flight promise is cached, not just its result, so concurrent `beginTransaction()` calls
17
+ * share one driver over one pool instead of each constructing their own.
18
+ */
19
+ async resolveDriver() {
20
+ if (this.driver) {
21
+ return this.driver;
22
+ }
23
+ if (!this.client) {
24
+ throw (0, ignis_helpers_1.getError)({
25
+ message: `[${this.constructor.name}][resolveDriver] No driver and no client | Assign this.driver in configure()`,
26
+ });
27
+ }
28
+ this.driverResolution ??= (0, drivers_1.resolveDatabaseDriver)({ client: this.client });
29
+ try {
30
+ this.driver = await this.driverResolution;
31
+ }
32
+ catch (error) {
33
+ // A rejected resolution must not stay cached: the failure can be transient (module load,
34
+ // classification against a not-yet-ready client), and a poisoned cache would fail every
35
+ // later transaction with this stale error forever.
36
+ this.driverResolution = undefined;
37
+ this.logger
38
+ .for(this.resolveDriver.name)
39
+ .error('Driver resolution failed - will retry on the next call | Error: %s', error);
40
+ throw error;
41
+ }
42
+ return this.driver;
43
+ }
44
+ /**
45
+ * Wires a driver in one step: assigns `this.driver` AND builds `this.connector` from it. The
46
+ * two-step form (driver set, connector forgotten) yields a datasource whose pooled queries
47
+ * silently bypass the driver - this helper makes that state unrepresentable. `schema` defaults to
48
+ * `getSchema()`; pass it explicitly when configure() computes the schema locally.
49
+ */
50
+ useDriver(opts) {
51
+ this.driver = opts.driver;
52
+ this.connector = opts.driver.createConnector({ schema: opts.schema ?? this.getSchema() });
53
+ }
11
54
  getConnector() {
12
55
  return this.connector;
13
56
  }
14
- /** The relational query dialect (FilterBuilder), obtained by repositories via the datasource -
15
- * mirrors the search branch's `getQueryDialect()`. Returns the shared singleton. */
16
- getQueryDialect() {
17
- if (!AbstractRelationalDataSource.queryDialect) {
18
- AbstractRelationalDataSource.queryDialect = new filter_1.FilterBuilder();
57
+ /**
58
+ * The raw driver client: `pg.Pool` for node-postgres, `Sql` for postgres-js. Stays synchronous by
59
+ * reading the configured client directly when no driver has been resolved yet - for a bare client
60
+ * there is nothing to await. Throws rather than handing back an `undefined` typed as `Client`.
61
+ */
62
+ getClient() {
63
+ if (this.driver) {
64
+ return this.driver.getClient();
65
+ }
66
+ if (!this.client) {
67
+ throw (0, ignis_helpers_1.getError)({
68
+ message: `[${this.constructor.name}][getClient] No driver and no client | Assign this.driver in configure()`,
69
+ });
19
70
  }
71
+ return this.client;
72
+ }
73
+ getQueryDialect() {
74
+ AbstractRelationalDataSource.queryDialect ??= new filter_1.FilterBuilder();
20
75
  return AbstractRelationalDataSource.queryDialect;
21
76
  }
22
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/abstract.ts"],"names":[],"mappings":";;;AAEA,oDAA8E;AAC9E,iGAAiG;AACjG,iGAAiG;AACjG,kEAAkE;AAClE,8EAAkF;AASlF,sDAAsD;AACtD,MAAsB,4BAKpB,SAAQ,gCAAyD;IAkBjE,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;wFACoF;IACpF,eAAe;QACb,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,CAAC;YAC/C,4BAA4B,CAAC,YAAY,GAAG,IAAI,sBAAa,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,4BAA4B,CAAC,YAAY,CAAC;IACnD,CAAC;CACF;AApCD,oEAoCC"}
1
+ {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/abstract.ts"],"names":[],"mappings":";;;AACA,oDAAwD;AAExD,2DAAsE;AAEtE,8EAAkF;AAElF,0DAAkD;AASlD,sDAAsD;AACtD,MAAsB,4BAMpB,SAAQ,gCAAyD;IAkBjE;;;;;;;;OAQG;IACO,KAAK,CAAC,aAAa;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,8EAA8E;aACjH,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,KAAK,IAAA,+BAAqB,EAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,wFAAwF;YACxF,mDAAmD;YACnD,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;iBAC5B,KAAK,CAAC,oEAAoE,EAAE,KAAK,CAAC,CAAC;YACtF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACO,SAAS,CAAC,IAA4D;QAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAOD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAY,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0EAA0E;aAC7G,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,eAAe;QACb,4BAA4B,CAAC,YAAY,KAAK,IAAI,sBAAa,EAAE,CAAC;QAElE,OAAO,4BAA4B,CAAC,YAAY,CAAC;IACnD,CAAC;CACF;AA1GD,oEA0GC"}
@@ -1,8 +1,9 @@
1
- import { TAnyDataSourceSchema } from '../../../base/datasources';
1
+ import type { TAnyDataSourceSchema } from '../../../base/datasources';
2
+ import type { Pool } from 'pg';
2
3
  import { AbstractRelationalDataSource } from './abstract';
3
- import { IDatabaseTransaction, IDatabaseTransactionOptions } from './common';
4
+ import type { IDatabaseTransaction, IDatabaseTransactionOptions } from './common';
4
5
  /** Base DataSource with schema auto-discovery from registered repositories. */
5
- export declare abstract class BaseRelationalDataSource<Settings extends object = {}, Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, ConfigurableOptions extends object = {}> extends AbstractRelationalDataSource<Settings, Schema, ConfigurableOptions> {
6
+ export declare abstract class BaseRelationalDataSource<Settings extends object = {}, Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, ConfigurableOptions extends object = {}, Client = Pool> extends AbstractRelationalDataSource<Settings, Schema, ConfigurableOptions, Client> {
6
7
  constructor(opts: {
7
8
  name: string;
8
9
  config: Settings;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/base.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAG5B,MAAM,UAAU,CAAC;AAElB,+EAA+E;AAC/E,8BAAsB,wBAAwB,CAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,CACvC,SAAQ,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC;gBAC/D,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAWrE,wEAAwE;IAC/D,SAAS,IAAI,MAAM;IAO5B,SAAS,CAAC,cAAc,IAAI,MAAM;IA4BlC,qBAAqB,IAAI,OAAO;IAKvB,eAAe;;;IAIT,gBAAgB,CAC7B,IAAI,CAAC,EAAE,2BAA2B,GACjC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;CAoDzC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/base.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,2BAA2B,EAAmB,MAAM,UAAU,CAAC;AAGnG,+EAA+E;AAC/E,8BAAsB,wBAAwB,CAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,MAAM,GAAG,IAAI,CACb,SAAQ,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC;gBACvE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAWrE,wEAAwE;IAC/D,SAAS,IAAI,MAAM;IAO5B,SAAS,CAAC,cAAc,IAAI,MAAM;IA4BlC,qBAAqB,IAAI,OAAO;IAKvB,eAAe;;;IAIT,gBAAgB,CAC7B,IAAI,CAAC,EAAE,2BAA2B,GACjC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;CA6EzC"}
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseRelationalDataSource = void 0;
4
4
  const inversion_1 = require("../../../helpers/inversion");
5
5
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
6
- const node_postgres_1 = require("drizzle-orm/node-postgres");
7
6
  const abstract_1 = require("./abstract");
8
7
  const common_1 = require("./common");
9
8
  /** Base DataSource with schema auto-discovery from registered repositories. */
@@ -49,51 +48,70 @@ class BaseRelationalDataSource extends abstract_1.AbstractRelationalDataSource {
49
48
  return { transactions: true };
50
49
  }
51
50
  async beginTransaction(opts) {
52
- if (!this.pool) {
53
- throw (0, ignis_helpers_1.getError)({
54
- message: `[${this.constructor.name}][beginTransaction] Pool not initialized. Set this.pool in configure().`,
51
+ const driver = await this.resolveDriver();
52
+ const connection = await driver.acquire({ schema: this.getSchema() });
53
+ const isolationLevel = opts?.isolationLevel ?? common_1.IsolationLevels.READ_COMMITTED;
54
+ // `isolationLevel` comes from the IsolationLevels const-class, never from user input. It must be
55
+ // interpolated: `BEGIN TRANSACTION ISOLATION LEVEL $1` is not valid SQL, and postgres-js tagged
56
+ // templates would bind it as a query parameter.
57
+ try {
58
+ await connection.execute({
59
+ statement: `BEGIN TRANSACTION ISOLATION LEVEL ${isolationLevel}`,
55
60
  });
56
61
  }
57
- const client = await this.pool.connect();
58
- const isolationLevel = opts?.isolationLevel ?? common_1.IsolationLevels.READ_COMMITTED;
59
- await client.query(`BEGIN TRANSACTION ISOLATION LEVEL ${isolationLevel}`);
62
+ catch (error) {
63
+ this.logger.for('beginTransaction').error('Failed to BEGIN transaction | Error: %s', error);
64
+ // The connection was checked out but no caller ever receives a handle to release it - leaking
65
+ // here exhausts the pool under repeated BEGIN failures. Destroyed rather than pooled: the
66
+ // session state after a failed BEGIN is unknown.
67
+ connection.release({ destroy: true });
68
+ throw error;
69
+ }
60
70
  let isActive = true;
71
+ let isEndedByFailure = false;
72
+ /**
73
+ * Ends the transaction with `statement`. On failure the connection is discarded rather than
74
+ * pooled - the session may still hold an open transaction that the next borrower would inherit
75
+ * - and the error is rethrown, because a caller must never believe a failed COMMIT succeeded.
76
+ */
77
+ const finish = async (finishOpts) => {
78
+ const { statement, verb } = finishOpts;
79
+ if (!isActive) {
80
+ // The canonical caller pattern is `catch { await tx.rollback(); throw error; }`. After a
81
+ // FAILED commit/rollback the transaction is already torn down - nothing committed, the
82
+ // connection destroyed - so a rollback request is satisfied by construction. Throwing
83
+ // 'already ended' here would replace the caller's original error in every such catch block.
84
+ if (isEndedByFailure && verb === 'rollback') {
85
+ this.logger
86
+ .for(verb)
87
+ .debug('Rollback after a failure-ended transaction - no-op, already torn down');
88
+ return;
89
+ }
90
+ throw (0, ignis_helpers_1.getError)({ message: `[Transaction][${verb}] Transaction already ended` });
91
+ }
92
+ // Flipped BEFORE the await, not after: two concurrent finish() calls (commit racing rollback)
93
+ // would otherwise both pass the guard, issue two control statements, and double-release the
94
+ // same physical connection.
95
+ isActive = false;
96
+ try {
97
+ await connection.execute({ statement });
98
+ }
99
+ catch (error) {
100
+ this.logger.for(verb).error('Failed to %s transaction | Error: %s', statement, error);
101
+ isEndedByFailure = true;
102
+ connection.release({ destroy: true });
103
+ throw error;
104
+ }
105
+ connection.release();
106
+ };
61
107
  return {
62
108
  isolationLevel,
63
- connector: (0, node_postgres_1.drizzle)({ client, schema: this.schema }),
109
+ connector: connection.connector,
64
110
  get isActive() {
65
111
  return isActive;
66
112
  },
67
- commit: async () => {
68
- if (!isActive) {
69
- throw (0, ignis_helpers_1.getError)({ message: '[Transaction][commit] Transaction already ended' });
70
- }
71
- try {
72
- await client.query('COMMIT');
73
- }
74
- catch (error) {
75
- this.logger.for('commit').error('Failed to COMMIT transaction | Error: %s', error);
76
- }
77
- finally {
78
- isActive = false;
79
- client.release();
80
- }
81
- },
82
- rollback: async () => {
83
- if (!isActive) {
84
- throw (0, ignis_helpers_1.getError)({ message: '[Transaction][rollback] Transaction already ended' });
85
- }
86
- try {
87
- await client.query('ROLLBACK');
88
- }
89
- catch (error) {
90
- this.logger.for('rollback').error('Failed to ROLLBACK transaction | Error: %s', error);
91
- }
92
- finally {
93
- isActive = false;
94
- client.release();
95
- }
96
- },
113
+ commit: () => finish({ statement: 'COMMIT', verb: 'commit' }),
114
+ rollback: () => finish({ statement: 'ROLLBACK', verb: 'rollback' }),
97
115
  };
98
116
  }
99
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/base.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ITransaction } from '../../../../base/datasources';
2
- import { IDatabaseTransaction } from './types';
1
+ import type { ITransaction } from '../../../../base/datasources';
2
+ import type { IDatabaseTransaction } from './types';
3
3
  /** Narrows the neutral `ITransaction` to the postgres-flavored `IDatabaseTransaction` handle before accessing `.connector`. */
4
4
  export declare const isDatabaseTransaction: (transaction: ITransaction | undefined) => transaction is IDatabaseTransaction;
5
5
  //# sourceMappingURL=guards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/postgres/datasources/common/guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,+HAA+H;AAC/H,eAAO,MAAM,qBAAqB,GAChC,aAAa,YAAY,GAAG,SAAS,KACpC,WAAW,IAAI,oBAEjB,CAAC"}
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/postgres/datasources/common/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,+HAA+H;AAC/H,eAAO,MAAM,qBAAqB,GAChC,aAAa,YAAY,GAAG,SAAS,KACpC,WAAW,IAAI,oBAEjB,CAAC"}
@@ -1,13 +1,21 @@
1
- import { AbstractDataSource, ITransaction, ITransactionOptions, TAnyDataSourceSchema } from '../../../../base/datasources';
2
- import { TConstValue, ValueOrPromise } from '@venizia/ignis-helpers';
3
- import { NodePgClient, type drizzle as nodePostgresConnector } from 'drizzle-orm/node-postgres';
4
- import type { PoolClient } from 'pg';
1
+ import type { AbstractDataSource, ITransaction, ITransactionOptions, TAnyDataSourceSchema } from '../../../../base/datasources';
5
2
  import type { IRelationalQueryDialect } from '../../../../connectors/postgres/repositories/common';
3
+ import type { TConstValue, ValueOrPromise } from '@venizia/ignis-helpers';
4
+ import type { NodePgClient } from 'drizzle-orm/node-postgres';
5
+ import { type drizzle as nodePostgresConnector } from 'drizzle-orm/node-postgres';
6
+ import type { PgDatabase, PgQueryResultHKT } from 'drizzle-orm/pg-core';
7
+ import type { Pool, PoolClient } from 'pg';
8
+ /**
9
+ * Drizzle connector for ANY Postgres driver. `NodePgDatabase` and `PostgresJsDatabase` both extend
10
+ * `PgDatabase<TQueryResult, TFullSchema>`, differing only in the query-result HKT, so this is the
11
+ * real shared base - not a cast. It is what lets `beginTransaction()` hold no driver-specific code.
12
+ */
13
+ export type TRelationalConnector<DataSourceSchema extends TAnyDataSourceSchema = TAnyDataSourceSchema> = PgDatabase<PgQueryResultHKT, DataSourceSchema>;
14
+ /** @deprecated Compat alias. Prefer `TRelationalConnector`, which every Drizzle pg driver satisfies. */
6
15
  export type TNodePostgresConnector<DataSourceSchema extends TAnyDataSourceSchema = TAnyDataSourceSchema, Client extends NodePgClient = NodePgClient> = ReturnType<typeof nodePostgresConnector<DataSourceSchema, Client>>;
7
- /** Uses PoolClient specifically for transaction isolation. */
16
+ /** @deprecated Compat alias. Uses PoolClient specifically for transaction isolation. */
8
17
  export type TNodePostgresTransactionConnector<DataSourceSchema extends TAnyDataSourceSchema = TAnyDataSourceSchema> = ReturnType<typeof nodePostgresConnector<DataSourceSchema, PoolClient>>;
9
- export type TAnyConnector<DataSourceSchema extends TAnyDataSourceSchema = TAnyDataSourceSchema> = TNodePostgresConnector<DataSourceSchema> | TNodePostgresTransactionConnector<DataSourceSchema>;
10
- /** PostgreSQL transaction isolation levels. */
18
+ export type TAnyConnector<DataSourceSchema extends TAnyDataSourceSchema = TAnyDataSourceSchema> = TRelationalConnector<DataSourceSchema>;
11
19
  export declare class IsolationLevels {
12
20
  static readonly READ_COMMITTED = "READ COMMITTED";
13
21
  static readonly REPEATABLE_READ = "REPEATABLE READ";
@@ -22,17 +30,31 @@ export interface IDatabaseTransactionOptions extends ITransactionOptions {
22
30
  isolationLevel?: TIsolationLevel;
23
31
  }
24
32
  export interface IDatabaseTransaction<Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema> extends ITransaction {
25
- connector: TNodePostgresTransactionConnector<Schema>;
33
+ /** Bound to the transaction's own connection, whichever driver acquired it. */
34
+ connector: TRelationalConnector<Schema>;
26
35
  isolationLevel: TIsolationLevel;
36
+ /**
37
+ * Throws if COMMIT fails, per {@link ITransaction.commit}. On failure the connection is discarded
38
+ * rather than pooled, where the driver supports it: node-postgres destroys it via
39
+ * `release(error)`; postgres-js has no destroy semantics, so a poisoned connection returns to its
40
+ * pool.
41
+ */
27
42
  commit(): Promise<void>;
43
+ /**
44
+ * Throws if ROLLBACK fails, with the same connection-discard caveat as {@link commit} - but is a
45
+ * silent no-op after the transaction already ended BY FAILURE, per {@link ITransaction.rollback}.
46
+ * That keeps `catch (error) { await transaction.rollback(); throw error; }` safe.
47
+ */
28
48
  rollback(): Promise<void>;
29
49
  }
30
50
  /** SQL-branch contract: connection string, Drizzle connector, transactions. Extends
31
51
  * `AbstractDataSource` itself (not just `IDataSource`) so repositories can narrow safely. */
32
- export interface IPostgresDataSource<Settings extends object = {}, Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, ConfigurableOptions extends object = {}> extends AbstractDataSource<Settings, Schema, ConfigurableOptions> {
33
- connector: TNodePostgresConnector<Schema>;
52
+ export interface IPostgresDataSource<Settings extends object = {}, Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, ConfigurableOptions extends object = {}, Client = Pool> extends AbstractDataSource<Settings, Schema, ConfigurableOptions> {
53
+ connector: TRelationalConnector<Schema>;
34
54
  getConnectionString(): ValueOrPromise<string>;
35
- getConnector(): TNodePostgresConnector<Schema>;
55
+ getConnector(): TRelationalConnector<Schema>;
56
+ /** Raw driver client escape: `pg.Pool` today, postgres-js `Sql` once a driver supplies it. */
57
+ getClient(): Client;
36
58
  getQueryDialect(): IRelationalQueryDialect;
37
59
  beginTransaction(opts?: IDatabaseTransactionOptions): Promise<IDatabaseTransaction<Schema>>;
38
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/postgres/datasources/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEzF,MAAM,MAAM,sBAAsB,CAChC,gBAAgB,SAAS,oBAAoB,GAAG,oBAAoB,EACpE,MAAM,SAAS,YAAY,GAAG,YAAY,IACxC,UAAU,CAAC,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvE,8DAA8D;AAC9D,MAAM,MAAM,iCAAiC,CAC3C,gBAAgB,SAAS,oBAAoB,GAAG,oBAAoB,IAClE,UAAU,CAAC,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,aAAa,CAAC,gBAAgB,SAAS,oBAAoB,GAAG,oBAAoB,IAC1F,sBAAsB,CAAC,gBAAgB,CAAC,GACxC,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;AAExD,+CAA+C;AAC/C,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,cAAc,oBAAoB;IAClD,MAAM,CAAC,QAAQ,CAAC,eAAe,qBAAqB;IACpD,MAAM,CAAC,QAAQ,CAAC,YAAY,kBAAkB;IAE9C,MAAM,CAAC,QAAQ,CAAC,UAAU,cAIvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE;wCACwC;AACxC,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,cAAc,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB,CACnC,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,CAC1D,SAAQ,YAAY;IACpB,SAAS,EAAE,iCAAiC,CAAC,MAAM,CAAC,CAAC;IACrD,cAAc,EAAE,eAAe,CAAC;IAEhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;6FAC6F;AAC7F,MAAM,WAAW,mBAAmB,CAClC,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,CACvC,SAAQ,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC;IACjE,SAAS,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE1C,mBAAmB,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,YAAY,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,eAAe,IAAI,uBAAuB,CAAC;IAC3C,gBAAgB,CAAC,IAAI,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;CAC7F"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/postgres/datasources/common/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsolationLevels = void 0;
4
- /** PostgreSQL transaction isolation levels. */
5
4
  class IsolationLevels {
6
5
  static { this.READ_COMMITTED = 'READ COMMITTED'; }
7
6
  static { this.REPEATABLE_READ = 'REPEATABLE READ'; }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/connectors/postgres/datasources/common/types.ts"],"names":[],"mappings":";;;AAyBA,+CAA+C;AAC/C,MAAa,eAAe;aACV,mBAAc,GAAG,gBAAgB,CAAC;aAClC,oBAAe,GAAG,iBAAiB,CAAC;aACpC,iBAAY,GAAG,cAAc,CAAC;aAE9B,eAAU,GAAG,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,cAAc;QACnB,IAAI,CAAC,eAAe;QACpB,IAAI,CAAC,YAAY;KAClB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAbH,0CAcC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/connectors/postgres/datasources/common/types.ts"],"names":[],"mappings":";;;AAoCA,MAAa,eAAe;aACV,mBAAc,GAAG,gBAAgB,CAAC;aAClC,oBAAe,GAAG,iBAAiB,CAAC;aACpC,iBAAY,GAAG,cAAc,CAAC;aAE9B,eAAU,GAAG,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,cAAc;QACnB,IAAI,CAAC,eAAe;QACpB,IAAI,CAAC,YAAY;KAClB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAbH,0CAcC"}
@@ -0,0 +1,55 @@
1
+ import type { TAnyDataSourceSchema } from '../../../base/datasources';
2
+ import type { TRelationalConnector } from '../../../connectors/postgres/datasources/common';
3
+ /**
4
+ * The neutral result of a raw statement. The drivers disagree on their native shape (pg returns
5
+ * `{ rows, rowCount }`; postgres-js returns an array carrying `count`), so each driver maps its own
6
+ * shape to this one at the boundary - the one place that knows it statically. Callers never see a
7
+ * driver-specific result and never sniff shapes at runtime.
8
+ */
9
+ export interface IStatementResult {
10
+ /**
11
+ * Rows affected by the statement - the same `count` the repository verbs return. `0` for control
12
+ * statements (BEGIN / COMMIT / SET LOCAL).
13
+ */
14
+ count: number;
15
+ }
16
+ /** One dedicated physical connection, held for the lifetime of a single explicit transaction. */
17
+ export interface IRelationalConnection<Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema> {
18
+ /** Drizzle bound to THIS connection, not to the pool. */
19
+ connector: TRelationalConnector<Schema>;
20
+ /**
21
+ * Runs a control statement verbatim: BEGIN / COMMIT / ROLLBACK / SET LOCAL. The statement is built
22
+ * by the caller and never parameterized - `BEGIN TRANSACTION ISOLATION LEVEL $1` is not valid SQL.
23
+ * Use `connector` for anything that returns rows.
24
+ */
25
+ execute(opts: {
26
+ statement: string;
27
+ }): Promise<IStatementResult>;
28
+ /**
29
+ * Returns the connection. `destroy` discards it instead of pooling it - required after a failed
30
+ * COMMIT or ROLLBACK, when the session may still hold an open transaction that the next borrower
31
+ * would inherit. A driver that cannot destroy must say so in its own docs rather than pretend.
32
+ */
33
+ release(opts?: {
34
+ destroy?: boolean;
35
+ }): void;
36
+ }
37
+ /**
38
+ * Owns connection acquisition and the raw control statements - the only two places `connectors/
39
+ * postgres/` was hard-wired to `pg`. `configure()` stays app-written: connection config varies per
40
+ * deployment, and the framework never builds the driver for you.
41
+ */
42
+ export interface IRelationalDriver<Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, Client = unknown> {
43
+ /** Pooled connector - what `configure()` assigns to `this.connector`. */
44
+ createConnector(opts: {
45
+ schema: Schema;
46
+ }): TRelationalConnector<Schema>;
47
+ /** Checks out a dedicated connection for an explicit transaction. */
48
+ acquire(opts: {
49
+ schema: Schema;
50
+ }): Promise<IRelationalConnection<Schema>>;
51
+ /** Raw client escape: `pg.Pool` for node-postgres, `Sql` for postgres-js. */
52
+ getClient(): Client;
53
+ end(): Promise<void>;
54
+ }
55
+ //# sourceMappingURL=driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAErF;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iGAAiG;AACjG,MAAM,WAAW,qBAAqB,CAAC,MAAM,SAAS,oBAAoB,GAAG,oBAAoB;IAC/F,yDAAyD;IACzD,SAAS,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAExC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhE;;;;OAIG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAChC,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,MAAM,GAAG,OAAO;IAEhB,yEAAyE;IACzE,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAExE,qEAAqE;IACrE,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1E,6EAA6E;IAC7E,SAAS,IAAI,MAAM,CAAC;IAEpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/driver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './driver';
2
+ export * from './resolve';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./driver"), exports);
18
+ __exportStar(require("./resolve"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B"}
@@ -0,0 +1,24 @@
1
+ import type { TAnyDataSourceSchema } from '../../../base/datasources';
2
+ import type { TRelationalConnector } from '../../../connectors/postgres/datasources/common';
3
+ import type { Pool } from 'pg';
4
+ import type { IRelationalConnection, IRelationalDriver } from './driver';
5
+ /**
6
+ * `pool` is supplied by the app's `configure()`, because Postgres connection config (credentials,
7
+ * SSL, secrets manager, env) varies per deployment.
8
+ */
9
+ export declare class NodePostgresDriver<Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema> implements IRelationalDriver<Schema, Pool> {
10
+ private readonly pool;
11
+ constructor(opts: {
12
+ pool: Pool;
13
+ });
14
+ createConnector(opts: {
15
+ schema: Schema;
16
+ }): TRelationalConnector<Schema>;
17
+ /** A dedicated `PoolClient`, so BEGIN and COMMIT land on the same backend. */
18
+ acquire(opts: {
19
+ schema: Schema;
20
+ }): Promise<IRelationalConnection<Schema>>;
21
+ getClient(): Pool;
22
+ end(): Promise<void>;
23
+ }
24
+ //# sourceMappingURL=node-postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-postgres.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/node-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEzE;;;GAGG;AACH,qBAAa,kBAAkB,CAC7B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,CAC1D,YAAW,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;gBAEhB,IAAI,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE;IAIhC,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAIvE,8EAA8E;IACxE,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IA2C/E,SAAS,IAAI,IAAI;IAIjB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrB"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodePostgresDriver = void 0;
4
+ const ignis_helpers_1 = require("@venizia/ignis-helpers");
5
+ const node_postgres_1 = require("drizzle-orm/node-postgres");
6
+ /**
7
+ * `pool` is supplied by the app's `configure()`, because Postgres connection config (credentials,
8
+ * SSL, secrets manager, env) varies per deployment.
9
+ */
10
+ class NodePostgresDriver {
11
+ constructor(opts) {
12
+ this.pool = opts.pool;
13
+ }
14
+ createConnector(opts) {
15
+ return (0, node_postgres_1.drizzle)({ client: this.pool, schema: opts.schema });
16
+ }
17
+ /** A dedicated `PoolClient`, so BEGIN and COMMIT land on the same backend. */
18
+ async acquire(opts) {
19
+ const client = await this.pool.connect();
20
+ // A bare `pg.Client` also has `connect()`, but it resolves to nothing - it IS the connection,
21
+ // not a pool. Named here, at the misconfiguration, instead of as a null-deref inside drizzle.
22
+ if (!client) {
23
+ throw (0, ignis_helpers_1.getError)({
24
+ message: '[NodePostgresDriver][acquire] pool.connect() returned no client | A pg Pool is required - a bare pg.Client is not a pool',
25
+ });
26
+ }
27
+ // The connection is already checked OUT of the pool. Anything that throws between here and the
28
+ // caller's `release()` - a malformed discovered schema, a drizzle mismatch - would strand it,
29
+ // and every later beginTransaction() would strand another until the pool is exhausted.
30
+ let connector;
31
+ try {
32
+ connector = (0, node_postgres_1.drizzle)({ client, schema: opts.schema });
33
+ }
34
+ catch (error) {
35
+ client.release();
36
+ throw error;
37
+ }
38
+ return {
39
+ connector,
40
+ // pg's native shape is `{ rows, rowCount }`; `rowCount` is null for statements that affect no
41
+ // rows by definition (e.g. DDL). Mapped to the neutral result HERE, where the shape is known
42
+ // statically - callers never see a pg type.
43
+ execute: async (executeOpts) => {
44
+ const result = await client.query(executeOpts.statement);
45
+ return { count: result.rowCount ?? 0 };
46
+ },
47
+ // pg destroys the connection when `release()` receives a truthy argument, rather than handing
48
+ // it back to the pool. That is what a failed COMMIT or ROLLBACK needs: the session may still
49
+ // hold an open transaction, and the next borrower would inherit it.
50
+ release: (releaseOpts) => {
51
+ client.release(releaseOpts?.destroy === true);
52
+ },
53
+ };
54
+ }
55
+ getClient() {
56
+ return this.pool;
57
+ }
58
+ end() {
59
+ return this.pool.end();
60
+ }
61
+ }
62
+ exports.NodePostgresDriver = NodePostgresDriver;
63
+ //# sourceMappingURL=node-postgres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-postgres.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/node-postgres.ts"],"names":[],"mappings":";;;AAEA,0DAAkD;AAClD,6DAAoD;AAIpD;;;GAGG;AACH,MAAa,kBAAkB;IAK7B,YAAY,IAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,IAAwB;QACtC,OAAO,IAAA,uBAAO,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAiC,CAAC;IAC7F,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,OAAO,CAAC,IAAwB;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAEzC,8FAA8F;QAC9F,8FAA8F;QAC9F,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EACL,0HAA0H;aAC7H,CAAC,CAAC;QACL,CAAC;QAED,+FAA+F;QAC/F,8FAA8F;QAC9F,uFAAuF;QACvF,IAAI,SAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,SAAS,GAAG,IAAA,uBAAO,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAiC,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO;YACL,SAAS;YAET,8FAA8F;YAC9F,6FAA6F;YAC7F,4CAA4C;YAC5C,OAAO,EAAE,KAAK,EAAE,WAAkC,EAAE,EAAE;gBACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACzD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YACzC,CAAC;YAED,8FAA8F;YAC9F,6FAA6F;YAC7F,oEAAoE;YACpE,OAAO,EAAE,CAAC,WAAmC,EAAE,EAAE;gBAC/C,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;YAChD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;CACF;AAhED,gDAgEC"}
@@ -0,0 +1,25 @@
1
+ import type { TAnyDataSourceSchema } from '../../../base/datasources';
2
+ import type { TRelationalConnector } from '../../../connectors/postgres/datasources/common';
3
+ import type { Sql } from 'postgres';
4
+ import type { IRelationalConnection, IRelationalDriver } from './driver';
5
+ /**
6
+ * The postgres-js driver. `client` is supplied by the app's `configure()`, exactly as `pool` is for
7
+ * node-postgres. Requires `postgres >= 3.4.0`: that is the release that added `sql.reserve()`, and
8
+ * without a reserved connection a transaction's BEGIN and COMMIT could land on different backends.
9
+ */
10
+ export declare class PostgresJsDriver<Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema> implements IRelationalDriver<Schema, Sql> {
11
+ private readonly client;
12
+ constructor(opts: {
13
+ client: Sql;
14
+ });
15
+ createConnector(opts: {
16
+ schema: Schema;
17
+ }): TRelationalConnector<Schema>;
18
+ /** A dedicated `ReservedSql`, so BEGIN and COMMIT land on the same backend. */
19
+ acquire(opts: {
20
+ schema: Schema;
21
+ }): Promise<IRelationalConnection<Schema>>;
22
+ getClient(): Sql;
23
+ end(): Promise<void>;
24
+ }
25
+ //# sourceMappingURL=postgres-js.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-js.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEzE;;;;GAIG;AACH,qBAAa,gBAAgB,CAC3B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,CAC1D,YAAW,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAM;gBAEjB,IAAI,EAAE;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE;IAIjC,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAIvE,+EAA+E;IACzE,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IA6C/E,SAAS,IAAI,GAAG;IAIhB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrB"}