@axinom/mosaic-db-common 0.57.0 → 0.58.0-rc.3

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 (393) hide show
  1. package/README.md +9 -3
  2. package/dist/cjs/auth/authentication-subject.d.ts.map +1 -0
  3. package/dist/cjs/auth/authentication-subject.js.map +1 -0
  4. package/dist/{auth → cjs/auth}/helpers.d.ts +2 -2
  5. package/dist/cjs/auth/helpers.d.ts.map +1 -0
  6. package/dist/cjs/auth/helpers.js +58 -0
  7. package/dist/cjs/auth/helpers.js.map +1 -0
  8. package/dist/cjs/auth/index.d.ts +3 -0
  9. package/dist/cjs/auth/index.d.ts.map +1 -0
  10. package/dist/{auth → cjs/auth}/index.js +2 -2
  11. package/dist/cjs/auth/index.js.map +1 -0
  12. package/dist/{cli → cjs/cli}/commands/generate-define-func-migration.d.ts +1 -1
  13. package/dist/cjs/cli/commands/generate-define-func-migration.d.ts.map +1 -0
  14. package/dist/{cli → cjs/cli}/commands/generate-define-func-migration.js +6 -5
  15. package/dist/cjs/cli/commands/generate-define-func-migration.js.map +1 -0
  16. package/dist/{cli → cjs/cli}/commands/generate-vscode-sql-snippets.d.ts +1 -1
  17. package/dist/cjs/cli/commands/generate-vscode-sql-snippets.d.ts.map +1 -0
  18. package/dist/{cli → cjs/cli}/commands/generate-vscode-sql-snippets.js +35 -71
  19. package/dist/cjs/cli/commands/generate-vscode-sql-snippets.js.map +1 -0
  20. package/dist/cjs/cli/commands/index.d.ts +3 -0
  21. package/dist/cjs/cli/commands/index.d.ts.map +1 -0
  22. package/dist/{cli → cjs/cli}/commands/index.js +2 -2
  23. package/dist/cjs/cli/commands/index.js.map +1 -0
  24. package/dist/cjs/cli/commands/utils.d.ts.map +1 -0
  25. package/dist/cjs/cli/commands/utils.js.map +1 -0
  26. package/dist/{cli → cjs/cli}/index.d.ts +1 -1
  27. package/dist/cjs/cli/index.d.ts.map +1 -0
  28. package/dist/{cli → cjs/cli}/index.js +3 -3
  29. package/dist/cjs/cli/index.js.map +1 -0
  30. package/dist/cjs/common/find-up.d.ts +2 -0
  31. package/dist/cjs/common/find-up.d.ts.map +1 -0
  32. package/dist/cjs/common/find-up.js +18 -0
  33. package/dist/cjs/common/find-up.js.map +1 -0
  34. package/dist/cjs/common/index.d.ts +2 -0
  35. package/dist/cjs/common/index.d.ts.map +1 -0
  36. package/dist/{common → cjs/common}/index.js +1 -1
  37. package/dist/cjs/common/index.js.map +1 -0
  38. package/dist/cjs/common/package-root.d.ts +2 -0
  39. package/dist/cjs/common/package-root.d.ts.map +1 -0
  40. package/dist/cjs/common/package-root.js +46 -0
  41. package/dist/cjs/common/package-root.js.map +1 -0
  42. package/dist/{common → cjs/common}/types.d.ts +1 -1
  43. package/dist/cjs/common/types.d.ts.map +1 -0
  44. package/dist/{common → cjs/common}/types.js.map +1 -1
  45. package/dist/cjs/constants/index.d.ts +2 -0
  46. package/dist/cjs/constants/index.d.ts.map +1 -0
  47. package/dist/cjs/constants/index.js +18 -0
  48. package/dist/cjs/constants/index.js.map +1 -0
  49. package/dist/cjs/constants/pg-auth-settings-keys.d.ts.map +1 -0
  50. package/dist/cjs/constants/pg-auth-settings-keys.js.map +1 -0
  51. package/dist/cjs/index.d.ts +11 -0
  52. package/dist/cjs/index.d.ts.map +1 -0
  53. package/dist/cjs/index.js +27 -0
  54. package/dist/cjs/index.js.map +1 -0
  55. package/dist/cjs/messaging/index.d.ts +2 -0
  56. package/dist/cjs/messaging/index.d.ts.map +1 -0
  57. package/dist/{messaging → cjs/messaging}/index.js +1 -1
  58. package/dist/cjs/messaging/index.js.map +1 -0
  59. package/dist/{messaging → cjs/messaging}/messaging-counter.d.ts +1 -1
  60. package/dist/cjs/messaging/messaging-counter.d.ts.map +1 -0
  61. package/dist/cjs/messaging/messaging-counter.js.map +1 -0
  62. package/dist/cjs/middleware/index.d.ts +2 -0
  63. package/dist/cjs/middleware/index.d.ts.map +1 -0
  64. package/dist/{constants → cjs/middleware}/index.js +1 -1
  65. package/dist/cjs/middleware/index.js.map +1 -0
  66. package/dist/{middleware → cjs/middleware}/pg-pool.middleware.d.ts +3 -3
  67. package/dist/cjs/middleware/pg-pool.middleware.d.ts.map +1 -0
  68. package/dist/{middleware → cjs/middleware}/pg-pool.middleware.js +13 -3
  69. package/dist/cjs/middleware/pg-pool.middleware.js.map +1 -0
  70. package/dist/{migrations → cjs/migrations}/compare-migration-hashes-helpers.d.ts +2 -2
  71. package/dist/cjs/migrations/compare-migration-hashes-helpers.d.ts.map +1 -0
  72. package/dist/cjs/migrations/compare-migration-hashes-helpers.js +149 -0
  73. package/dist/cjs/migrations/compare-migration-hashes-helpers.js.map +1 -0
  74. package/dist/{migrations → cjs/migrations}/compare-migration-hashes.d.ts +2 -2
  75. package/dist/cjs/migrations/compare-migration-hashes.d.ts.map +1 -0
  76. package/dist/{migrations → cjs/migrations}/compare-migration-hashes.js +4 -4
  77. package/dist/cjs/migrations/compare-migration-hashes.js.map +1 -0
  78. package/dist/{migrations → cjs/migrations}/create-migrations-logger.d.ts +1 -1
  79. package/dist/cjs/migrations/create-migrations-logger.d.ts.map +1 -0
  80. package/dist/{migrations → cjs/migrations}/create-migrations-logger.js +8 -5
  81. package/dist/cjs/migrations/create-migrations-logger.js.map +1 -0
  82. package/dist/cjs/migrations/index.d.ts +5 -0
  83. package/dist/cjs/migrations/index.d.ts.map +1 -0
  84. package/dist/cjs/migrations/index.js +21 -0
  85. package/dist/cjs/migrations/index.js.map +1 -0
  86. package/dist/cjs/migrations/types.d.ts.map +1 -0
  87. package/dist/cjs/migrations/types.js.map +1 -0
  88. package/dist/cjs/migrations/utils.d.ts +70 -0
  89. package/dist/cjs/migrations/utils.d.ts.map +1 -0
  90. package/dist/cjs/migrations/utils.js +121 -0
  91. package/dist/cjs/migrations/utils.js.map +1 -0
  92. package/dist/cjs/monitoring/index.d.ts +2 -0
  93. package/dist/cjs/monitoring/index.d.ts.map +1 -0
  94. package/dist/{middleware → cjs/monitoring}/index.js +1 -1
  95. package/dist/cjs/monitoring/index.js.map +1 -0
  96. package/dist/{monitoring → cjs/monitoring}/postgres-metrics.d.ts +3 -3
  97. package/dist/cjs/monitoring/postgres-metrics.d.ts.map +1 -0
  98. package/dist/cjs/monitoring/postgres-metrics.js.map +1 -0
  99. package/dist/cjs/package.json +1 -0
  100. package/dist/{replication → cjs/replication}/create-logical-replication-service.d.ts +2 -2
  101. package/dist/cjs/replication/create-logical-replication-service.d.ts.map +1 -0
  102. package/dist/{replication → cjs/replication}/create-logical-replication-service.js +6 -4
  103. package/dist/cjs/replication/create-logical-replication-service.js.map +1 -0
  104. package/dist/{replication → cjs/replication}/ensure-replication-slot-and-publication-exist.d.ts +3 -3
  105. package/dist/cjs/replication/ensure-replication-slot-and-publication-exist.d.ts.map +1 -0
  106. package/dist/{replication → cjs/replication}/ensure-replication-slot-and-publication-exist.js +2 -2
  107. package/dist/cjs/replication/ensure-replication-slot-and-publication-exist.js.map +1 -0
  108. package/dist/cjs/replication/index.d.ts +3 -0
  109. package/dist/cjs/replication/index.d.ts.map +1 -0
  110. package/dist/{replication → cjs/replication}/index.js +2 -2
  111. package/dist/cjs/replication/index.js.map +1 -0
  112. package/dist/cjs/zapatos/index.d.ts +4 -0
  113. package/dist/cjs/zapatos/index.d.ts.map +1 -0
  114. package/dist/cjs/zapatos/index.js +20 -0
  115. package/dist/cjs/zapatos/index.js.map +1 -0
  116. package/dist/{zapatos → cjs/zapatos}/transaction-with-context.d.ts +2 -2
  117. package/dist/cjs/zapatos/transaction-with-context.d.ts.map +1 -0
  118. package/dist/cjs/zapatos/transaction-with-context.js.map +1 -0
  119. package/dist/cjs/zapatos/transform-custom-type.d.ts.map +1 -0
  120. package/dist/cjs/zapatos/transform-custom-type.js.map +1 -0
  121. package/dist/{zapatos → cjs/zapatos}/update-helpers.d.ts +1 -1
  122. package/dist/cjs/zapatos/update-helpers.d.ts.map +1 -0
  123. package/dist/cjs/zapatos/update-helpers.js.map +1 -0
  124. package/dist/esm/auth/authentication-subject.d.ts +44 -0
  125. package/dist/esm/auth/authentication-subject.d.ts.map +1 -0
  126. package/dist/esm/auth/authentication-subject.js +3 -0
  127. package/dist/esm/auth/authentication-subject.js.map +1 -0
  128. package/dist/esm/auth/helpers.d.ts +44 -0
  129. package/dist/esm/auth/helpers.d.ts.map +1 -0
  130. package/dist/esm/auth/helpers.js +53 -0
  131. package/dist/esm/auth/helpers.js.map +1 -0
  132. package/dist/esm/auth/index.d.ts +3 -0
  133. package/dist/esm/auth/index.d.ts.map +1 -0
  134. package/dist/esm/auth/index.js +3 -0
  135. package/dist/esm/auth/index.js.map +1 -0
  136. package/dist/esm/cli/commands/generate-define-func-migration.d.ts +14 -0
  137. package/dist/esm/cli/commands/generate-define-func-migration.d.ts.map +1 -0
  138. package/dist/esm/cli/commands/generate-define-func-migration.js +70 -0
  139. package/dist/esm/cli/commands/generate-define-func-migration.js.map +1 -0
  140. package/dist/esm/cli/commands/generate-vscode-sql-snippets.d.ts +14 -0
  141. package/dist/esm/cli/commands/generate-vscode-sql-snippets.d.ts.map +1 -0
  142. package/dist/esm/cli/commands/generate-vscode-sql-snippets.js +176 -0
  143. package/dist/esm/cli/commands/generate-vscode-sql-snippets.js.map +1 -0
  144. package/dist/esm/cli/commands/index.d.ts +3 -0
  145. package/dist/esm/cli/commands/index.d.ts.map +1 -0
  146. package/dist/esm/cli/commands/index.js +3 -0
  147. package/dist/esm/cli/commands/index.js.map +1 -0
  148. package/dist/esm/cli/commands/utils.d.ts +13 -0
  149. package/dist/esm/cli/commands/utils.d.ts.map +1 -0
  150. package/dist/esm/cli/commands/utils.js +20 -0
  151. package/dist/esm/cli/commands/utils.js.map +1 -0
  152. package/dist/esm/cli/index.d.ts +3 -0
  153. package/dist/esm/cli/index.d.ts.map +1 -0
  154. package/dist/esm/cli/index.js +7 -0
  155. package/dist/esm/cli/index.js.map +1 -0
  156. package/dist/esm/common/find-up.d.ts +2 -0
  157. package/dist/esm/common/find-up.d.ts.map +1 -0
  158. package/dist/esm/common/find-up.js +14 -0
  159. package/dist/esm/common/find-up.js.map +1 -0
  160. package/dist/esm/common/index.d.ts +2 -0
  161. package/dist/esm/common/index.d.ts.map +1 -0
  162. package/dist/esm/common/index.js +2 -0
  163. package/dist/esm/common/index.js.map +1 -0
  164. package/dist/esm/common/package-root.d.ts +2 -0
  165. package/dist/esm/common/package-root.d.ts.map +1 -0
  166. package/dist/esm/common/package-root.js +42 -0
  167. package/dist/esm/common/package-root.js.map +1 -0
  168. package/dist/esm/common/types.d.ts +52 -0
  169. package/dist/esm/common/types.d.ts.map +1 -0
  170. package/dist/esm/common/types.js +2 -0
  171. package/dist/{migrations → esm/common}/types.js.map +1 -1
  172. package/dist/esm/constants/index.d.ts +2 -0
  173. package/dist/esm/constants/index.d.ts.map +1 -0
  174. package/dist/esm/constants/index.js +2 -0
  175. package/dist/esm/constants/index.js.map +1 -0
  176. package/dist/esm/constants/pg-auth-settings-keys.d.ts +32 -0
  177. package/dist/esm/constants/pg-auth-settings-keys.d.ts.map +1 -0
  178. package/dist/esm/constants/pg-auth-settings-keys.js +32 -0
  179. package/dist/esm/constants/pg-auth-settings-keys.js.map +1 -0
  180. package/dist/esm/index.d.ts +11 -0
  181. package/dist/esm/index.d.ts.map +1 -0
  182. package/dist/esm/index.js +11 -0
  183. package/dist/esm/index.js.map +1 -0
  184. package/dist/esm/messaging/index.d.ts +2 -0
  185. package/dist/esm/messaging/index.d.ts.map +1 -0
  186. package/dist/esm/messaging/index.js +2 -0
  187. package/dist/esm/messaging/index.js.map +1 -0
  188. package/dist/esm/messaging/messaging-counter.d.ts +91 -0
  189. package/dist/esm/messaging/messaging-counter.d.ts.map +1 -0
  190. package/dist/esm/messaging/messaging-counter.js +129 -0
  191. package/dist/esm/messaging/messaging-counter.js.map +1 -0
  192. package/dist/esm/middleware/index.d.ts +2 -0
  193. package/dist/esm/middleware/index.d.ts.map +1 -0
  194. package/dist/esm/middleware/index.js +2 -0
  195. package/dist/esm/middleware/index.js.map +1 -0
  196. package/dist/esm/middleware/pg-pool.middleware.d.ts +99 -0
  197. package/dist/esm/middleware/pg-pool.middleware.d.ts.map +1 -0
  198. package/dist/esm/middleware/pg-pool.middleware.js +152 -0
  199. package/dist/esm/middleware/pg-pool.middleware.js.map +1 -0
  200. package/dist/esm/migrations/compare-migration-hashes-helpers.d.ts +14 -0
  201. package/dist/esm/migrations/compare-migration-hashes-helpers.d.ts.map +1 -0
  202. package/dist/{migrations → esm/migrations}/compare-migration-hashes-helpers.js +15 -18
  203. package/dist/esm/migrations/compare-migration-hashes-helpers.js.map +1 -0
  204. package/dist/esm/migrations/compare-migration-hashes.d.ts +17 -0
  205. package/dist/esm/migrations/compare-migration-hashes.d.ts.map +1 -0
  206. package/dist/esm/migrations/compare-migration-hashes.js +52 -0
  207. package/dist/esm/migrations/compare-migration-hashes.js.map +1 -0
  208. package/dist/esm/migrations/create-migrations-logger.d.ts +4 -0
  209. package/dist/esm/migrations/create-migrations-logger.d.ts.map +1 -0
  210. package/dist/esm/migrations/create-migrations-logger.js +35 -0
  211. package/dist/esm/migrations/create-migrations-logger.js.map +1 -0
  212. package/dist/esm/migrations/index.d.ts +5 -0
  213. package/dist/esm/migrations/index.d.ts.map +1 -0
  214. package/dist/esm/migrations/index.js +5 -0
  215. package/dist/esm/migrations/index.js.map +1 -0
  216. package/dist/esm/migrations/types.d.ts +17 -0
  217. package/dist/esm/migrations/types.d.ts.map +1 -0
  218. package/dist/esm/migrations/types.js +2 -0
  219. package/dist/esm/migrations/types.js.map +1 -0
  220. package/dist/esm/migrations/utils.d.ts +70 -0
  221. package/dist/esm/migrations/utils.d.ts.map +1 -0
  222. package/dist/esm/migrations/utils.js +113 -0
  223. package/dist/esm/migrations/utils.js.map +1 -0
  224. package/dist/esm/monitoring/index.d.ts +2 -0
  225. package/dist/esm/monitoring/index.d.ts.map +1 -0
  226. package/dist/esm/monitoring/index.js +2 -0
  227. package/dist/esm/monitoring/index.js.map +1 -0
  228. package/dist/esm/monitoring/postgres-metrics.d.ts +15 -0
  229. package/dist/esm/monitoring/postgres-metrics.d.ts.map +1 -0
  230. package/dist/esm/monitoring/postgres-metrics.js +39 -0
  231. package/dist/esm/monitoring/postgres-metrics.js.map +1 -0
  232. package/dist/esm/package.json +1 -0
  233. package/dist/esm/replication/create-logical-replication-service.d.ts +79 -0
  234. package/dist/esm/replication/create-logical-replication-service.d.ts.map +1 -0
  235. package/dist/esm/replication/create-logical-replication-service.js +145 -0
  236. package/dist/esm/replication/create-logical-replication-service.js.map +1 -0
  237. package/dist/esm/replication/ensure-replication-slot-and-publication-exist.d.ts +64 -0
  238. package/dist/esm/replication/ensure-replication-slot-and-publication-exist.d.ts.map +1 -0
  239. package/dist/esm/replication/ensure-replication-slot-and-publication-exist.js +50 -0
  240. package/dist/esm/replication/ensure-replication-slot-and-publication-exist.js.map +1 -0
  241. package/dist/esm/replication/index.d.ts +3 -0
  242. package/dist/esm/replication/index.d.ts.map +1 -0
  243. package/dist/esm/replication/index.js +3 -0
  244. package/dist/esm/replication/index.js.map +1 -0
  245. package/dist/esm/zapatos/index.d.ts +4 -0
  246. package/dist/esm/zapatos/index.d.ts.map +1 -0
  247. package/dist/esm/zapatos/index.js +4 -0
  248. package/dist/esm/zapatos/index.js.map +1 -0
  249. package/dist/esm/zapatos/transaction-with-context.d.ts +22 -0
  250. package/dist/esm/zapatos/transaction-with-context.d.ts.map +1 -0
  251. package/dist/esm/zapatos/transaction-with-context.js +36 -0
  252. package/dist/esm/zapatos/transaction-with-context.js.map +1 -0
  253. package/dist/esm/zapatos/transform-custom-type.d.ts +5 -0
  254. package/dist/esm/zapatos/transform-custom-type.d.ts.map +1 -0
  255. package/dist/esm/zapatos/transform-custom-type.js +8 -0
  256. package/dist/esm/zapatos/transform-custom-type.js.map +1 -0
  257. package/dist/esm/zapatos/update-helpers.d.ts +36 -0
  258. package/dist/esm/zapatos/update-helpers.d.ts.map +1 -0
  259. package/dist/esm/zapatos/update-helpers.js +39 -0
  260. package/dist/esm/zapatos/update-helpers.js.map +1 -0
  261. package/package.json +29 -9
  262. package/src/auth/helpers.spec.ts +3 -3
  263. package/src/auth/helpers.ts +4 -4
  264. package/src/auth/index.ts +2 -2
  265. package/src/cli/commands/commands.spec.ts +93 -0
  266. package/src/cli/commands/generate-define-func-migration.ts +9 -4
  267. package/src/cli/commands/generate-vscode-sql-snippets.ts +19 -21
  268. package/src/cli/commands/index.ts +2 -2
  269. package/src/cli/index.ts +2 -2
  270. package/src/common/find-up.ts +20 -0
  271. package/src/common/index.ts +1 -1
  272. package/src/common/package-root.ts +68 -0
  273. package/src/common/types.ts +1 -1
  274. package/src/constants/index.ts +1 -1
  275. package/src/index.ts +10 -10
  276. package/src/messaging/index.ts +1 -1
  277. package/src/messaging/messaging-counter.ts +8 -2
  278. package/src/middleware/index.ts +1 -1
  279. package/src/middleware/pg-pool.middleware.ts +10 -4
  280. package/src/migrations/compare-migration-hashes-helpers.ts +11 -3
  281. package/src/migrations/compare-migration-hashes.spec.ts +12 -3
  282. package/src/migrations/compare-migration-hashes.ts +6 -3
  283. package/src/migrations/create-migrations-logger.ts +10 -10
  284. package/src/migrations/index.ts +4 -4
  285. package/src/migrations/utils.spec.ts +31 -0
  286. package/src/migrations/utils.ts +91 -44
  287. package/src/monitoring/index.ts +1 -1
  288. package/src/monitoring/postgres-metrics.ts +3 -3
  289. package/src/replication/create-logical-replication-service.spec.ts +3 -3
  290. package/src/replication/create-logical-replication-service.ts +3 -3
  291. package/src/replication/ensure-replication-slot-and-publication-exist.spec.ts +3 -3
  292. package/src/replication/ensure-replication-slot-and-publication-exist.ts +4 -4
  293. package/src/replication/index.ts +2 -2
  294. package/src/zapatos/index.ts +3 -3
  295. package/src/zapatos/transaction-with-context.ts +4 -4
  296. package/src/zapatos/transform-custom-type.spec.ts +1 -1
  297. package/src/zapatos/update-helpers.spec.ts +1 -1
  298. package/src/zapatos/update-helpers.ts +1 -1
  299. package/dist/auth/authentication-subject.d.ts.map +0 -1
  300. package/dist/auth/authentication-subject.js.map +0 -1
  301. package/dist/auth/helpers.d.ts.map +0 -1
  302. package/dist/auth/helpers.js +0 -47
  303. package/dist/auth/helpers.js.map +0 -1
  304. package/dist/auth/index.d.ts +0 -3
  305. package/dist/auth/index.d.ts.map +0 -1
  306. package/dist/auth/index.js.map +0 -1
  307. package/dist/cli/commands/generate-define-func-migration.d.ts.map +0 -1
  308. package/dist/cli/commands/generate-define-func-migration.js.map +0 -1
  309. package/dist/cli/commands/generate-vscode-sql-snippets.d.ts.map +0 -1
  310. package/dist/cli/commands/generate-vscode-sql-snippets.js.map +0 -1
  311. package/dist/cli/commands/index.d.ts +0 -3
  312. package/dist/cli/commands/index.d.ts.map +0 -1
  313. package/dist/cli/commands/index.js.map +0 -1
  314. package/dist/cli/commands/utils.d.ts.map +0 -1
  315. package/dist/cli/commands/utils.js.map +0 -1
  316. package/dist/cli/index.d.ts.map +0 -1
  317. package/dist/cli/index.js.map +0 -1
  318. package/dist/common/index.d.ts +0 -2
  319. package/dist/common/index.d.ts.map +0 -1
  320. package/dist/common/index.js.map +0 -1
  321. package/dist/common/types.d.ts.map +0 -1
  322. package/dist/constants/index.d.ts +0 -2
  323. package/dist/constants/index.d.ts.map +0 -1
  324. package/dist/constants/index.js.map +0 -1
  325. package/dist/constants/pg-auth-settings-keys.d.ts.map +0 -1
  326. package/dist/constants/pg-auth-settings-keys.js.map +0 -1
  327. package/dist/index.d.ts +0 -11
  328. package/dist/index.d.ts.map +0 -1
  329. package/dist/index.js +0 -27
  330. package/dist/index.js.map +0 -1
  331. package/dist/messaging/index.d.ts +0 -2
  332. package/dist/messaging/index.d.ts.map +0 -1
  333. package/dist/messaging/index.js.map +0 -1
  334. package/dist/messaging/messaging-counter.d.ts.map +0 -1
  335. package/dist/messaging/messaging-counter.js.map +0 -1
  336. package/dist/middleware/index.d.ts +0 -2
  337. package/dist/middleware/index.d.ts.map +0 -1
  338. package/dist/middleware/index.js.map +0 -1
  339. package/dist/middleware/pg-pool.middleware.d.ts.map +0 -1
  340. package/dist/middleware/pg-pool.middleware.js.map +0 -1
  341. package/dist/migrations/compare-migration-hashes-helpers.d.ts.map +0 -1
  342. package/dist/migrations/compare-migration-hashes-helpers.js.map +0 -1
  343. package/dist/migrations/compare-migration-hashes.d.ts.map +0 -1
  344. package/dist/migrations/compare-migration-hashes.js.map +0 -1
  345. package/dist/migrations/create-migrations-logger.d.ts.map +0 -1
  346. package/dist/migrations/create-migrations-logger.js.map +0 -1
  347. package/dist/migrations/index.d.ts +0 -5
  348. package/dist/migrations/index.d.ts.map +0 -1
  349. package/dist/migrations/index.js +0 -21
  350. package/dist/migrations/index.js.map +0 -1
  351. package/dist/migrations/types.d.ts.map +0 -1
  352. package/dist/migrations/utils.d.ts +0 -38
  353. package/dist/migrations/utils.d.ts.map +0 -1
  354. package/dist/migrations/utils.js +0 -111
  355. package/dist/migrations/utils.js.map +0 -1
  356. package/dist/monitoring/index.d.ts +0 -2
  357. package/dist/monitoring/index.d.ts.map +0 -1
  358. package/dist/monitoring/index.js +0 -18
  359. package/dist/monitoring/index.js.map +0 -1
  360. package/dist/monitoring/postgres-metrics.d.ts.map +0 -1
  361. package/dist/monitoring/postgres-metrics.js.map +0 -1
  362. package/dist/replication/create-logical-replication-service.d.ts.map +0 -1
  363. package/dist/replication/create-logical-replication-service.js.map +0 -1
  364. package/dist/replication/ensure-replication-slot-and-publication-exist.d.ts.map +0 -1
  365. package/dist/replication/ensure-replication-slot-and-publication-exist.js.map +0 -1
  366. package/dist/replication/index.d.ts +0 -3
  367. package/dist/replication/index.d.ts.map +0 -1
  368. package/dist/replication/index.js.map +0 -1
  369. package/dist/zapatos/index.d.ts +0 -4
  370. package/dist/zapatos/index.d.ts.map +0 -1
  371. package/dist/zapatos/index.js +0 -20
  372. package/dist/zapatos/index.js.map +0 -1
  373. package/dist/zapatos/transaction-with-context.d.ts.map +0 -1
  374. package/dist/zapatos/transaction-with-context.js.map +0 -1
  375. package/dist/zapatos/transform-custom-type.d.ts.map +0 -1
  376. package/dist/zapatos/transform-custom-type.js.map +0 -1
  377. package/dist/zapatos/update-helpers.d.ts.map +0 -1
  378. package/dist/zapatos/update-helpers.js.map +0 -1
  379. /package/dist/{auth → cjs/auth}/authentication-subject.d.ts +0 -0
  380. /package/dist/{auth → cjs/auth}/authentication-subject.js +0 -0
  381. /package/dist/{cli → cjs/cli}/commands/utils.d.ts +0 -0
  382. /package/dist/{cli → cjs/cli}/commands/utils.js +0 -0
  383. /package/dist/{common → cjs/common}/types.js +0 -0
  384. /package/dist/{constants → cjs/constants}/pg-auth-settings-keys.d.ts +0 -0
  385. /package/dist/{constants → cjs/constants}/pg-auth-settings-keys.js +0 -0
  386. /package/dist/{messaging → cjs/messaging}/messaging-counter.js +0 -0
  387. /package/dist/{migrations → cjs/migrations}/types.d.ts +0 -0
  388. /package/dist/{migrations → cjs/migrations}/types.js +0 -0
  389. /package/dist/{monitoring → cjs/monitoring}/postgres-metrics.js +0 -0
  390. /package/dist/{zapatos → cjs/zapatos}/transaction-with-context.js +0 -0
  391. /package/dist/{zapatos → cjs/zapatos}/transform-custom-type.d.ts +0 -0
  392. /package/dist/{zapatos → cjs/zapatos}/transform-custom-type.js +0 -0
  393. /package/dist/{zapatos → cjs/zapatos}/update-helpers.js +0 -0
@@ -0,0 +1,70 @@
1
+ /* eslint-disable no-console */
2
+ import { existsSync, promises as fsp } from 'fs';
3
+ import { join } from 'path';
4
+ import { getDbCommonPackageRoot } from '../../common/package-root.js';
5
+ import { getTimestamp, green, red } from './utils.js';
6
+ const ensureEmptyCurrentSql = async (currentMigrationFolderPath) => {
7
+ const dirPath = join(process.cwd(), currentMigrationFolderPath);
8
+ const filePath = join(dirPath, 'current.sql');
9
+ if (existsSync(filePath)) {
10
+ const currentSql = await fsp.readFile(filePath, 'utf8');
11
+ const currentSqlWithoutComments = currentSql.replace(/(--.*)|(((\/\*)+?[\w\W]+?(\*\/)+))/gm, '');
12
+ const nonEmptyCurrentSqlLines = currentSqlWithoutComments.match(/^[^\S\r\n]*\S.*$/gm);
13
+ if (nonEmptyCurrentSqlLines !== null &&
14
+ nonEmptyCurrentSqlLines.length > 0) {
15
+ console.error(getTimestamp(), red('Please ensure that your current.sql file is empty/only contains comments.'));
16
+ process.exit(-1);
17
+ }
18
+ }
19
+ else if (!existsSync(dirPath)) {
20
+ // File itself is created after contents are generated
21
+ await fsp.mkdir(dirPath, { recursive: true });
22
+ }
23
+ return filePath;
24
+ };
25
+ const generateContent = async (includeMultitenancyFunctions) => {
26
+ const defineFunctionsPath = join(getDbCommonPackageRoot(), 'migrations', 'define');
27
+ const defineFunctions = await fsp.readFile(join(defineFunctionsPath, 'define-functions.sql'));
28
+ let result = `--! Message: upgrade SQL define functions\n\n${defineFunctions}`;
29
+ if (includeMultitenancyFunctions) {
30
+ const multitenancyDefineFunctions = await fsp.readFile(join(defineFunctionsPath, 'define-multitenancy-functions.sql'));
31
+ result = `${result}\n${multitenancyDefineFunctions}`;
32
+ }
33
+ return result;
34
+ };
35
+ /**
36
+ * Reads the latest contents of the SQL functions to easily define tables,
37
+ * indexes, etc... We check that migration file is empty/only contains SQL
38
+ * comments before updating it. If it did not exist - will create it.
39
+ */
40
+ const generate = async ({ includeMultitenancyFunctions, currentMigrationFolderPath, // migrations
41
+ }) => {
42
+ console.log(getTimestamp(), green('Starting define functions update migration generation!'));
43
+ const absolutePath = await ensureEmptyCurrentSql(currentMigrationFolderPath);
44
+ const migrationContent = await generateContent(includeMultitenancyFunctions);
45
+ await fsp.writeFile(absolutePath, migrationContent);
46
+ console.log(getTimestamp(), green(`Migration file ${currentMigrationFolderPath} updated!`));
47
+ };
48
+ /**
49
+ * Yargs command module definition for `generate-define-func-migration` CLI script.
50
+ */
51
+ export const generateDefineFuncMigration = {
52
+ command: 'generate-define-func-migration',
53
+ describe: 'Updates a current.sql migrations file with latest ax_define helper function definitions.',
54
+ builder: (yargs) => yargs
55
+ .option('includeMultitenancyFunctions', {
56
+ alias: 'm',
57
+ describe: 'If set to true, would also include multitenancy define functions.',
58
+ default: false,
59
+ boolean: true,
60
+ hidden: true,
61
+ })
62
+ .option('currentMigrationFolderPath', {
63
+ alias: 'p',
64
+ default: 'migrations',
65
+ describe: 'Relative path from working directory to a folder containing current.sql file, which will be updated with latest ax_define function definitions.',
66
+ string: true,
67
+ }),
68
+ handler: generate,
69
+ };
70
+ //# sourceMappingURL=generate-define-func-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-define-func-migration.js","sourceRoot":"","sources":["../../../../src/cli/commands/generate-define-func-migration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { CommandModule } from 'yargs';
2
+ /**
3
+ * CLI command options object.
4
+ */
5
+ interface GenerateSnippetsOptions {
6
+ includeMultitenancySnippets: boolean;
7
+ snippetsFileNameWithoutExtension: string;
8
+ }
9
+ /**
10
+ * Yargs command module definition for `generate-vscode-sql-snippets` CLI script.
11
+ */
12
+ export declare const generateVscodeSqlSnippets: CommandModule<unknown, GenerateSnippetsOptions>;
13
+ export {};
14
+ //# sourceMappingURL=generate-vscode-sql-snippets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-vscode-sql-snippets.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/generate-vscode-sql-snippets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C;;GAEG;AACH,UAAU,uBAAuB;IAC/B,2BAA2B,EAAE,OAAO,CAAC;IACrC,gCAAgC,EAAE,MAAM,CAAC;CAC1C;AAuMD;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,aAAa,CACnD,OAAO,EACP,uBAAuB,CAuBxB,CAAC"}
@@ -0,0 +1,176 @@
1
+ /* eslint-disable no-console */
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
3
+ import { join } from 'path';
4
+ import readdir from 'readdirp';
5
+ import { findClosestAncestorPath } from '../../common/find-up.js';
6
+ import { getDbCommonPackageRoot } from '../../common/package-root.js';
7
+ import { getTimestamp, green, red } from './utils.js';
8
+ /**
9
+ * Attempts to find a path to the `.vscode` folder.
10
+ * It will look for either `.vscode` folder or `yarn.lock` file in current
11
+ * folder, then in folder one hierarchy level up, traversing directories towards
12
+ * root.
13
+ * Returns an absolute path to .vscode folder or throws an error.
14
+ */
15
+ const findDotVscodePath = () => {
16
+ const monorepoRoot = findClosestAncestorPath(process.cwd(), (candidatePath) => existsSync(join(candidatePath, '.vscode')) ||
17
+ existsSync(join(candidatePath, 'yarn.lock')));
18
+ if (monorepoRoot === undefined) {
19
+ throw Error('Unable to determine the ".vscode" folder path. Please create a .vscode folder in the root of your repository and try again.');
20
+ }
21
+ return join(monorepoRoot, '.vscode');
22
+ };
23
+ /**
24
+ * Writes generated snippets object to .vscode folder. Creates a folder if it does not exist.
25
+ * Returns a success message.
26
+ */
27
+ const writeSourceFile = (snippetsFileName, contents) => {
28
+ const outDir = findDotVscodePath();
29
+ if (!existsSync(outDir)) {
30
+ mkdirSync(outDir, { recursive: true });
31
+ }
32
+ const filePath = join(outDir, `${snippetsFileName}.code-snippets`);
33
+ writeFileSync(filePath, JSON.stringify(contents, null, 2), 'utf-8');
34
+ return `Success! Snippets file path: ${filePath}`;
35
+ };
36
+ /**
37
+ * Counter for potential unnamed snippets to generate temporary unique names.
38
+ */
39
+ let unparsedSnippetIndex = 1;
40
+ /**
41
+ * Extracts snippet name and prefix from a line that defines a function.
42
+ * In case it's impossible to extract - placeholder values are used and logged (which is expected to be fixed).
43
+ * @example `CREATE OR REPLACE FUNCTION ax_utils.raise_error(` -> `{"prefix": "ax-raise-error", "snippetName": "Raise Error (Ax Utils)"}
44
+ */
45
+ const parseFunctionName = (line, snippetJson) => {
46
+ const match = new RegExp(/CREATE OR REPLACE FUNCTION (.*)\(/i).exec(line)?.[1];
47
+ let prefix = `unnamed-snippet-${unparsedSnippetIndex}`;
48
+ let snippetName = `Unnamed Snippet ${unparsedSnippetIndex}`;
49
+ if (!match) {
50
+ console.log(red(`Unable to parse the name for the following snippet. Naming the snippet ${prefix} instead.`));
51
+ console.log(snippetJson);
52
+ unparsedSnippetIndex++;
53
+ }
54
+ else {
55
+ prefix = match;
56
+ const [schemaName, functionName] = match.split('.');
57
+ const format = (text) => text
58
+ .replace(/_/g, ' ')
59
+ .replace(/(^\w{1})|(\s+\w{1})/g, (letter) => letter.toUpperCase());
60
+ snippetName = `${format(functionName)} (${format(schemaName)})`;
61
+ prefix = `ax-${functionName.replace(/_/g, '-')}`;
62
+ }
63
+ return { prefix, snippetName };
64
+ };
65
+ /**
66
+ * Reads a file to memory as an array, where each element is a new line.
67
+ * Goes through the array and generates sql snippet objects based on file contents.
68
+ * Depends on comment conventions to work properly.
69
+ */
70
+ const populateSnippets = async (filePath, snippetsObject) => {
71
+ const contents = readFileSync(filePath, 'utf-8').split('\n').filter(Boolean);
72
+ const startTag = '/*-snippet';
73
+ const endTag = 'snippet-*/';
74
+ const funcLine = 'create or replace function';
75
+ let readingSnippet = false;
76
+ let snippetStringContents = '';
77
+ let snippetJson = undefined;
78
+ for (const line of contents) {
79
+ if (line.startsWith(startTag)) {
80
+ readingSnippet = true;
81
+ continue;
82
+ }
83
+ if (line.startsWith(endTag)) {
84
+ snippetJson = JSON.parse(snippetStringContents);
85
+ snippetStringContents = '';
86
+ readingSnippet = false;
87
+ continue;
88
+ }
89
+ if (snippetJson && line.toLowerCase().startsWith(funcLine)) {
90
+ const { prefix, snippetName } = parseFunctionName(line, snippetJson);
91
+ snippetJson = Object.assign({ prefix }, snippetJson); // Adds a property to the first position
92
+ snippetJson['scope'] = 'sql';
93
+ snippetsObject[snippetName] = snippetJson;
94
+ snippetJson = undefined;
95
+ continue;
96
+ }
97
+ if (readingSnippet) {
98
+ snippetStringContents += line;
99
+ }
100
+ }
101
+ return snippetsObject;
102
+ };
103
+ /**
104
+ * Reads all `.sql` files in `migrations` folder (and sub-folders), extracts snippet json objects from them, and returns a combined object with all snippets.
105
+ */
106
+ const getParsedSnippets = async (dirPath, includeMultitenancySnippets) => {
107
+ const parsedSnippets = {};
108
+ for await (const { fullPath, path } of readdir(dirPath, {
109
+ fileFilter: (entry) => entry.basename.endsWith('.sql'),
110
+ })) {
111
+ if (!includeMultitenancySnippets && path.includes('multitenancy')) {
112
+ continue;
113
+ }
114
+ console.log(getTimestamp(), `Parsing ${path}`);
115
+ await populateSnippets(fullPath, parsedSnippets);
116
+ }
117
+ return parsedSnippets;
118
+ };
119
+ /**
120
+ * Reads all `.code-snippets` files in `migrations` folder (and sub-folders) and returns a combined object with all snippets.
121
+ * These files contain custom snippets that are not tied to any one utils or define sql function.
122
+ */
123
+ const getCustomSnippets = async (dirPath, includeMultitenancySnippets) => {
124
+ let customSnippets = {};
125
+ for await (const { fullPath, path } of readdir(dirPath, {
126
+ fileFilter: (entry) => entry.basename.endsWith('.code-snippets'),
127
+ })) {
128
+ if (!includeMultitenancySnippets && path.includes('multitenancy')) {
129
+ continue;
130
+ }
131
+ console.log(getTimestamp(), `Reading ${path}`);
132
+ const fileContents = JSON.parse(readFileSync(fullPath, 'utf-8'));
133
+ customSnippets = { ...customSnippets, ...fileContents };
134
+ }
135
+ return customSnippets;
136
+ };
137
+ /**
138
+ * Iterates over all .sql files inside of the `migrations` folder.
139
+ * Parses each file based on comments and function definition conventions.
140
+ * Reads all .code-snippets files inside of the `migrations` folder and adds these snippets to parsed snippets.
141
+ * Generates or updates a VScode snippets file.
142
+ */
143
+ const generate = async ({ includeMultitenancySnippets, snippetsFileNameWithoutExtension, }) => {
144
+ console.log(getTimestamp(), green(`Starting snippets generation!`));
145
+ const dirPath = join(getDbCommonPackageRoot(), 'migrations');
146
+ const parsedSnippets = await getParsedSnippets(dirPath, includeMultitenancySnippets);
147
+ const customSnippets = await getCustomSnippets(dirPath, includeMultitenancySnippets);
148
+ const writeResult = writeSourceFile(snippetsFileNameWithoutExtension, {
149
+ ...parsedSnippets,
150
+ ...customSnippets,
151
+ });
152
+ console.log(getTimestamp(), green(writeResult));
153
+ };
154
+ /**
155
+ * Yargs command module definition for `generate-vscode-sql-snippets` CLI script.
156
+ */
157
+ export const generateVscodeSqlSnippets = {
158
+ command: 'generate-vscode-sql-snippets',
159
+ describe: 'Creates or updates a mosaic sql snippets file, providing an easier way to generate database migrations.',
160
+ builder: (yargs) => yargs
161
+ .option('includeMultitenancySnippets', {
162
+ alias: 'm',
163
+ describe: 'If set to true, would also include snippets for multitenancy define functions.',
164
+ default: false,
165
+ boolean: true,
166
+ hidden: true,
167
+ })
168
+ .option('snippetsFileNameWithoutExtension', {
169
+ alias: 'f',
170
+ describe: 'Overrides default snippets file name with a custom value. Extension `code-snippets` will be attached to this value.',
171
+ default: 'mosaic-sql-migrations',
172
+ string: true,
173
+ }),
174
+ handler: generate,
175
+ };
176
+ //# sourceMappingURL=generate-vscode-sql-snippets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-vscode-sql-snippets.js","sourceRoot":"","sources":["../../../../src/cli/commands/generate-vscode-sql-snippets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './generate-define-func-migration.js';
2
+ export * from './generate-vscode-sql-snippets.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './generate-define-func-migration.js';
2
+ export * from './generate-vscode-sql-snippets.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Colors the CLI text in green.
3
+ */
4
+ export declare const green: (text: string) => string;
5
+ /**
6
+ * Colors the CLI text in red.
7
+ */
8
+ export declare const red: (text: string) => string;
9
+ /**
10
+ * Returns a readable timestamp in current locale time, e.g. `[2021-05-13 13:02:12.685]`
11
+ */
12
+ export declare const getTimestamp: () => string;
13
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,MAAuC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAuC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,MAO/B,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Colors the CLI text in green.
3
+ */
4
+ export const green = (text) => `\u001b[32m${text}\u001b[39m`;
5
+ /**
6
+ * Colors the CLI text in red.
7
+ */
8
+ export const red = (text) => `\u001b[31m${text}\u001b[39m`;
9
+ /**
10
+ * Returns a readable timestamp in current locale time, e.g. `[2021-05-13 13:02:12.685]`
11
+ */
12
+ export const getTimestamp = () => {
13
+ const offset = new Date().getTimezoneOffset() * 60000; //offset in milliseconds
14
+ const localISOTime = new Date(Date.now() - offset)
15
+ .toISOString()
16
+ .slice(0, -1)
17
+ .replace('T', ' ');
18
+ return `[${localISOTime}]`;
19
+ };
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/cli/commands/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,aAAa,IAAI,YAAY,CAAC;AAE7E;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,aAAa,IAAI,YAAY,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,wBAAwB;IAC/E,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;SAC/C,WAAW,EAAE;SACb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrB,OAAO,IAAI,YAAY,GAAG,CAAC;AAC7B,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type * as yargs from 'yargs';
2
+ export declare const cliExtension: () => yargs.CommandModule<any, any>[];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAOpC,eAAO,MAAM,YAAY,QAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAG5D,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { generateDefineFuncMigration, generateVscodeSqlSnippets, } from './commands/index.js';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export const cliExtension = () => [
4
+ generateVscodeSqlSnippets,
5
+ generateDefineFuncMigration,
6
+ ];
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,GAAoC,EAAE,CAAC;IACjE,yBAAyB;IACzB,2BAA2B;CAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const findClosestAncestorPath: (startPath: string, matches: (candidatePath: string) => boolean) => string | undefined;
2
+ //# sourceMappingURL=find-up.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-up.d.ts","sourceRoot":"","sources":["../../../src/common/find-up.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,GAClC,WAAW,MAAM,EACjB,SAAS,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,KAC1C,MAAM,GAAG,SAcX,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { dirname, resolve } from 'path';
2
+ export const findClosestAncestorPath = (startPath, matches) => {
3
+ let currentPath = resolve(startPath);
4
+ let parentPath = dirname(currentPath);
5
+ while (parentPath !== currentPath) {
6
+ if (matches(currentPath)) {
7
+ return currentPath;
8
+ }
9
+ currentPath = parentPath;
10
+ parentPath = dirname(currentPath);
11
+ }
12
+ return matches(currentPath) ? currentPath : undefined;
13
+ };
14
+ //# sourceMappingURL=find-up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-up.js","sourceRoot":"","sources":["../../../src/common/find-up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,SAAiB,EACjB,OAA2C,EACvB,EAAE;IACtB,IAAI,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEtC,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACzB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,WAAW,GAAG,UAAU,CAAC;QACzB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const getDbCommonPackageRoot: () => string;
2
+ //# sourceMappingURL=package-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-root.d.ts","sourceRoot":"","sources":["../../../src/common/package-root.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,sBAAsB,QAAO,MA8BzC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { existsSync, readFileSync } from 'fs';
2
+ import { createRequire } from 'module';
3
+ import { dirname, join, resolve } from 'path';
4
+ import { findClosestAncestorPath } from './find-up.js';
5
+ const PACKAGE_NAME = '@axinom/mosaic-db-common';
6
+ const RESOLUTION_ANCHOR_FILENAME = '__axinom_mosaic_db_common__.cjs';
7
+ let cachedPackageRoot;
8
+ const readPackageName = (dirPath) => {
9
+ const packageJsonPath = join(dirPath, 'package.json');
10
+ if (!existsSync(packageJsonPath)) {
11
+ return undefined;
12
+ }
13
+ return JSON.parse(readFileSync(packageJsonPath, 'utf8'))
14
+ .name;
15
+ };
16
+ const findPackageRoot = (startPath) => findClosestAncestorPath(startPath, (candidatePath) => readPackageName(candidatePath) === PACKAGE_NAME);
17
+ const resolveInstalledPackageEntry = () => {
18
+ const requireFromWorkingDirectory = createRequire(resolve(process.cwd(), RESOLUTION_ANCHOR_FILENAME));
19
+ return requireFromWorkingDirectory.resolve(PACKAGE_NAME);
20
+ };
21
+ export const getDbCommonPackageRoot = () => {
22
+ if (cachedPackageRoot !== undefined) {
23
+ return cachedPackageRoot;
24
+ }
25
+ const modulePackageRoot = typeof __dirname === 'string' ? findPackageRoot(__dirname) : undefined;
26
+ if (modulePackageRoot !== undefined) {
27
+ cachedPackageRoot = modulePackageRoot;
28
+ return modulePackageRoot;
29
+ }
30
+ try {
31
+ const installedPackageRoot = findPackageRoot(dirname(resolveInstalledPackageEntry()));
32
+ if (installedPackageRoot === undefined) {
33
+ throw new Error(`Unable to find '${PACKAGE_NAME}' package root after resolving its installed entrypoint.`);
34
+ }
35
+ cachedPackageRoot = installedPackageRoot;
36
+ return installedPackageRoot;
37
+ }
38
+ catch (error) {
39
+ throw new Error(`Unable to resolve '${PACKAGE_NAME}' package root from the current working directory.`, { cause: error });
40
+ }
41
+ };
42
+ //# sourceMappingURL=package-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-root.js","sourceRoot":"","sources":["../../../src/common/package-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAChD,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAMrE,IAAI,iBAAqC,CAAC;AAE1C,MAAM,eAAe,GAAG,CAAC,OAAe,EAAsB,EAAE;IAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAiB;SACtE,IAAI,CAAC;AACV,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAsB,EAAE,CAChE,uBAAuB,CACrB,SAAS,EACT,CAAC,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,YAAY,CACnE,CAAC;AAEJ,MAAM,4BAA4B,GAAG,GAAW,EAAE;IAChD,MAAM,2BAA2B,GAAG,aAAa,CAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,0BAA0B,CAAC,CACnD,CAAC;IACF,OAAO,2BAA2B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE;IACjD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,iBAAiB,GACrB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,iBAAiB,GAAG,iBAAiB,CAAC;QACtC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,oBAAoB,GAAG,eAAe,CAC1C,OAAO,CAAC,4BAA4B,EAAE,CAAC,CACxC,CAAC;QACF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,mBAAmB,YAAY,0DAA0D,CAC1F,CAAC;QACJ,CAAC;QAED,iBAAiB,GAAG,oBAAoB,CAAC;QACzC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,sBAAsB,YAAY,oDAAoD,EACtF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { Pool } from 'pg';
2
+ /**
3
+ * A dictionary of string keys and generic values. Consider using it instead of `any`.
4
+ */
5
+ export interface Dict<T> {
6
+ [key: string]: T;
7
+ }
8
+ /**
9
+ * An interface that represents a logger implementation to be used by components of `@axinom/mosaic-db-common`. An example of Mosaic implementation:
10
+ * ```ts
11
+ * import { Logger } from '@axinom/mosaic-service-common';
12
+ * //...
13
+ * const logger = new Logger({ context: 'messaging' });
14
+ * ```
15
+ */
16
+ export interface DbLogger {
17
+ trace(message: string): void;
18
+ debug(message: string): void;
19
+ debug(error: Error): void;
20
+ error(message: string): void;
21
+ error(error: Error): void;
22
+ error(error: Error, message: string): void;
23
+ log(message: string): void;
24
+ warn(message: string): void;
25
+ }
26
+ /**
27
+ * An interface that represents a middleware object to be used to register messaging actions that are executed on app shutdown, e.g. PostgreSQL pool shutdown.
28
+ * An example of Mosaic implementation:
29
+ * ```ts
30
+ * import { setupShutdownActions, Logger } from '@axinom/mosaic-service-common';
31
+ * //...
32
+ * const shutdownActions = setupShutdownActions(app, logger);
33
+ * ```
34
+ */
35
+ export interface DbShutdownActions {
36
+ push(action: () => void | Promise<void>): void;
37
+ }
38
+ /**
39
+ * An abstract type extending PostgreSQL Pool. All labelled pool types extend
40
+ * pg.Pool but labelled pool types are not interchangeable so typescript can be
41
+ * leveraged to ensure the correct pool type is being used in a given context.
42
+ */
43
+ export type LabelledPgPool<T extends string> = Pool & {
44
+ label: T;
45
+ };
46
+ /**
47
+ * Default labelled pool types
48
+ */
49
+ export type OwnerPgPool = LabelledPgPool<'Owner'>;
50
+ export type EnvOwnerPgPool = LabelledPgPool<'EnvOwner'>;
51
+ export type LoginPgPool = LabelledPgPool<'Login'>;
52
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChD;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,IAAI,GAAG;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migrations/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './pg-auth-settings-keys.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './pg-auth-settings-keys.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,32 @@
1
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication subject name. */
2
+ export declare const MOSAIC_AUTH_SUBJECT_NAME = "mosaic.auth.subject_name";
3
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication token permissions. */
4
+ export declare const MOSAIC_AUTH_PERMISSIONS = "mosaic.auth.permissions";
5
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication token tags. */
6
+ export declare const MOSAIC_AUTH_TAGS = "mosaic.auth.tags";
7
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication token tenant id. */
8
+ export declare const MOSAIC_TENANT_ID = "mosaic.tenant_id";
9
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication token environment id. */
10
+ export declare const MOSAIC_ENVIRONMENT_ID = "mosaic.environment_id";
11
+ /**
12
+ * ID Service specific PgSettings keys to set the PostgreSQL parameters
13
+ * (Values copied from PgSetConfigKey enum for easier reference)
14
+ */
15
+ export declare const MOSAIC_ID_SERVICE_TENANT_ID = "axinom.auth.tenantId";
16
+ export declare const MOSAIC_ID_SERVICE_ENVIRONMENT_ID = "axinom.auth.applicationId";
17
+ export declare const MOSAIC_ID_SERVICE_AUTH_SUBJECT_NAME = "axinom.auth.user";
18
+ export declare const MOSAIC_ID_SERVICE_AUTH_PERMISSIONS = "axinom.auth.permissions";
19
+ export declare const MOSAIC_ID_SERVICE_AUTH_TAGS = "axinom.auth.tags";
20
+ /** Fallback subject name when subject name is not set in the token. */
21
+ export declare const DEFAULT_AUTH_SUBJECT_NAME = "Anonymous";
22
+ /** Fallback username for non-graphql DB requests */
23
+ export declare const DEFAULT_DB_USERNAME = "Unknown";
24
+ /** Default username for system-related DB requests, e.g. seed data operations. */
25
+ export declare const DEFAULT_SYSTEM_USERNAME = "System";
26
+ /** PgSettings key to set the PostgreSQL parameter for storing authenticated end-user's user ID */
27
+ export declare const MOSAIC_AUTH_END_USER_ID = "mosaic.auth.user_id";
28
+ /** PgSettings key to set the PostgreSQL parameter for storing authenticated end-user's profile ID */
29
+ export declare const MOSAIC_AUTH_PROFILE_ID = "mosaic.auth.profile_id";
30
+ /** pgMemento session info key under which additional session metadata is stored in the db audit trail. */
31
+ export declare const PGMEMENTO_SESSION_INFO = "pgmemento.session_info";
32
+ //# sourceMappingURL=pg-auth-settings-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-auth-settings-keys.d.ts","sourceRoot":"","sources":["../../../src/constants/pg-auth-settings-keys.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AACjE,4FAA4F;AAC5F,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,iGAAiG;AACjG,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,sGAAsG;AACtG,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,2BAA2B,yBAAyB,CAAC;AAClE,eAAO,MAAM,gCAAgC,8BAA8B,CAAC;AAC5E,eAAO,MAAM,mCAAmC,qBAAqB,CAAC;AACtE,eAAO,MAAM,kCAAkC,4BAA4B,CAAC;AAC5E,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAE9D,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD,oDAAoD;AACpD,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD,kGAAkG;AAClG,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D,0GAA0G;AAC1G,eAAO,MAAM,sBAAsB,2BAA2B,CAAC"}
@@ -0,0 +1,32 @@
1
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication subject name. */
2
+ export const MOSAIC_AUTH_SUBJECT_NAME = 'mosaic.auth.subject_name';
3
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication token permissions. */
4
+ export const MOSAIC_AUTH_PERMISSIONS = 'mosaic.auth.permissions';
5
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication token tags. */
6
+ export const MOSAIC_AUTH_TAGS = 'mosaic.auth.tags';
7
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication token tenant id. */
8
+ export const MOSAIC_TENANT_ID = 'mosaic.tenant_id';
9
+ /** PgSettings key to set the PostgreSQL parameter for storing authentication token environment id. */
10
+ export const MOSAIC_ENVIRONMENT_ID = 'mosaic.environment_id';
11
+ /**
12
+ * ID Service specific PgSettings keys to set the PostgreSQL parameters
13
+ * (Values copied from PgSetConfigKey enum for easier reference)
14
+ */
15
+ export const MOSAIC_ID_SERVICE_TENANT_ID = 'axinom.auth.tenantId';
16
+ export const MOSAIC_ID_SERVICE_ENVIRONMENT_ID = 'axinom.auth.applicationId';
17
+ export const MOSAIC_ID_SERVICE_AUTH_SUBJECT_NAME = 'axinom.auth.user';
18
+ export const MOSAIC_ID_SERVICE_AUTH_PERMISSIONS = 'axinom.auth.permissions';
19
+ export const MOSAIC_ID_SERVICE_AUTH_TAGS = 'axinom.auth.tags';
20
+ /** Fallback subject name when subject name is not set in the token. */
21
+ export const DEFAULT_AUTH_SUBJECT_NAME = 'Anonymous';
22
+ /** Fallback username for non-graphql DB requests */
23
+ export const DEFAULT_DB_USERNAME = 'Unknown';
24
+ /** Default username for system-related DB requests, e.g. seed data operations. */
25
+ export const DEFAULT_SYSTEM_USERNAME = 'System';
26
+ /** PgSettings key to set the PostgreSQL parameter for storing authenticated end-user's user ID */
27
+ export const MOSAIC_AUTH_END_USER_ID = 'mosaic.auth.user_id';
28
+ /** PgSettings key to set the PostgreSQL parameter for storing authenticated end-user's profile ID */
29
+ export const MOSAIC_AUTH_PROFILE_ID = 'mosaic.auth.profile_id';
30
+ /** pgMemento session info key under which additional session metadata is stored in the db audit trail. */
31
+ export const PGMEMENTO_SESSION_INFO = 'pgmemento.session_info';
32
+ //# sourceMappingURL=pg-auth-settings-keys.js.map