@hanzo/cms-drizzle 3.85.2

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 (599) hide show
  1. package/LICENSE.md +22 -0
  2. package/README.md +3 -0
  3. package/dist/count.d.ts +3 -0
  4. package/dist/count.d.ts.map +1 -0
  5. package/dist/count.js +26 -0
  6. package/dist/count.js.map +1 -0
  7. package/dist/countGlobalVersions.d.ts +3 -0
  8. package/dist/countGlobalVersions.d.ts.map +1 -0
  9. package/dist/countGlobalVersions.js +28 -0
  10. package/dist/countGlobalVersions.js.map +1 -0
  11. package/dist/countVersions.d.ts +3 -0
  12. package/dist/countVersions.d.ts.map +1 -0
  13. package/dist/countVersions.js +28 -0
  14. package/dist/countVersions.js.map +1 -0
  15. package/dist/create.d.ts +3 -0
  16. package/dist/create.d.ts.map +1 -0
  17. package/dist/create.js +28 -0
  18. package/dist/create.js.map +1 -0
  19. package/dist/createGlobal.d.ts +4 -0
  20. package/dist/createGlobal.d.ts.map +1 -0
  21. package/dist/createGlobal.js +28 -0
  22. package/dist/createGlobal.js.map +1 -0
  23. package/dist/createGlobalVersion.d.ts +4 -0
  24. package/dist/createGlobalVersion.d.ts.map +1 -0
  25. package/dist/createGlobalVersion.js +49 -0
  26. package/dist/createGlobalVersion.js.map +1 -0
  27. package/dist/createTableName.d.ts +31 -0
  28. package/dist/createTableName.d.ts.map +1 -0
  29. package/dist/createTableName.js +37 -0
  30. package/dist/createTableName.js.map +1 -0
  31. package/dist/createVersion.d.ts +4 -0
  32. package/dist/createVersion.d.ts.map +1 -0
  33. package/dist/createVersion.js +65 -0
  34. package/dist/createVersion.js.map +1 -0
  35. package/dist/deleteMany.d.ts +3 -0
  36. package/dist/deleteMany.d.ts.map +1 -0
  37. package/dist/deleteMany.js +51 -0
  38. package/dist/deleteMany.js.map +1 -0
  39. package/dist/deleteOne.d.ts +3 -0
  40. package/dist/deleteOne.d.ts.map +1 -0
  41. package/dist/deleteOne.js +67 -0
  42. package/dist/deleteOne.js.map +1 -0
  43. package/dist/deleteVersions.d.ts +3 -0
  44. package/dist/deleteVersions.d.ts.map +1 -0
  45. package/dist/deleteVersions.js +52 -0
  46. package/dist/deleteVersions.js.map +1 -0
  47. package/dist/destroy.d.ts +3 -0
  48. package/dist/destroy.d.ts.map +1 -0
  49. package/dist/destroy.js +17 -0
  50. package/dist/destroy.js.map +1 -0
  51. package/dist/exports/postgres.d.ts +16 -0
  52. package/dist/exports/postgres.d.ts.map +1 -0
  53. package/dist/exports/postgres.js +17 -0
  54. package/dist/exports/postgres.js.map +1 -0
  55. package/dist/exports/sqlite.d.ts +13 -0
  56. package/dist/exports/sqlite.d.ts.map +1 -0
  57. package/dist/exports/sqlite.js +14 -0
  58. package/dist/exports/sqlite.js.map +1 -0
  59. package/dist/exports/types-deprecated.d.ts +150 -0
  60. package/dist/exports/types-deprecated.d.ts.map +1 -0
  61. package/dist/exports/types-deprecated.js +5 -0
  62. package/dist/exports/types-deprecated.js.map +1 -0
  63. package/dist/find/buildFindManyArgs.d.ts +27 -0
  64. package/dist/find/buildFindManyArgs.d.ts.map +1 -0
  65. package/dist/find/buildFindManyArgs.js +96 -0
  66. package/dist/find/buildFindManyArgs.js.map +1 -0
  67. package/dist/find/chainMethods.d.ts +20 -0
  68. package/dist/find/chainMethods.d.ts.map +1 -0
  69. package/dist/find/chainMethods.js +16 -0
  70. package/dist/find/chainMethods.js.map +1 -0
  71. package/dist/find/findMany.d.ts +23 -0
  72. package/dist/find/findMany.d.ts.map +1 -0
  73. package/dist/find/findMany.js +173 -0
  74. package/dist/find/findMany.js.map +1 -0
  75. package/dist/find/traverseFields.d.ts +34 -0
  76. package/dist/find/traverseFields.d.ts.map +1 -0
  77. package/dist/find/traverseFields.js +653 -0
  78. package/dist/find/traverseFields.js.map +1 -0
  79. package/dist/find.d.ts +3 -0
  80. package/dist/find.d.ts.map +1 -0
  81. package/dist/find.js +25 -0
  82. package/dist/find.js.map +1 -0
  83. package/dist/findDistinct.d.ts +3 -0
  84. package/dist/findDistinct.d.ts.map +1 -0
  85. package/dist/findDistinct.js +135 -0
  86. package/dist/findDistinct.js.map +1 -0
  87. package/dist/findGlobal.d.ts +3 -0
  88. package/dist/findGlobal.d.ts.map +1 -0
  89. package/dist/findGlobal.js +24 -0
  90. package/dist/findGlobal.js.map +1 -0
  91. package/dist/findGlobalVersions.d.ts +3 -0
  92. package/dist/findGlobalVersions.d.ts.map +1 -0
  93. package/dist/findGlobalVersions.js +24 -0
  94. package/dist/findGlobalVersions.js.map +1 -0
  95. package/dist/findOne.d.ts +4 -0
  96. package/dist/findOne.d.ts.map +1 -0
  97. package/dist/findOne.js +25 -0
  98. package/dist/findOne.js.map +1 -0
  99. package/dist/findVersions.d.ts +3 -0
  100. package/dist/findVersions.d.ts.map +1 -0
  101. package/dist/findVersions.js +25 -0
  102. package/dist/findVersions.js.map +1 -0
  103. package/dist/index.d.ts +62 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +61 -0
  106. package/dist/index.js.map +1 -0
  107. package/dist/migrate.d.ts +3 -0
  108. package/dist/migrate.d.ts.map +1 -0
  109. package/dist/migrate.js +98 -0
  110. package/dist/migrate.js.map +1 -0
  111. package/dist/migrateDown.d.ts +3 -0
  112. package/dist/migrateDown.d.ts.map +1 -0
  113. package/dist/migrateDown.js +64 -0
  114. package/dist/migrateDown.js.map +1 -0
  115. package/dist/migrateFresh.d.ts +8 -0
  116. package/dist/migrateFresh.d.ts.map +1 -0
  117. package/dist/migrateFresh.js +77 -0
  118. package/dist/migrateFresh.js.map +1 -0
  119. package/dist/migrateRefresh.d.ts +6 -0
  120. package/dist/migrateRefresh.d.ts.map +1 -0
  121. package/dist/migrateRefresh.js +104 -0
  122. package/dist/migrateRefresh.js.map +1 -0
  123. package/dist/migrateReset.d.ts +6 -0
  124. package/dist/migrateReset.d.ts.map +1 -0
  125. package/dist/migrateReset.js +86 -0
  126. package/dist/migrateReset.js.map +1 -0
  127. package/dist/migrateStatus.d.ts +3 -0
  128. package/dist/migrateStatus.d.ts.map +1 -0
  129. package/dist/migrateStatus.js +44 -0
  130. package/dist/migrateStatus.js.map +1 -0
  131. package/dist/postgres/columnToCodeConverter.d.ts +3 -0
  132. package/dist/postgres/columnToCodeConverter.d.ts.map +1 -0
  133. package/dist/postgres/columnToCodeConverter.js +93 -0
  134. package/dist/postgres/columnToCodeConverter.js.map +1 -0
  135. package/dist/postgres/countDistinct.d.ts +3 -0
  136. package/dist/postgres/countDistinct.d.ts.map +1 -0
  137. package/dist/postgres/countDistinct.js +24 -0
  138. package/dist/postgres/countDistinct.js.map +1 -0
  139. package/dist/postgres/createDatabase.d.ts +14 -0
  140. package/dist/postgres/createDatabase.d.ts.map +1 -0
  141. package/dist/postgres/createDatabase.js +76 -0
  142. package/dist/postgres/createDatabase.js.map +1 -0
  143. package/dist/postgres/createExtensions.d.ts +3 -0
  144. package/dist/postgres/createExtensions.d.ts.map +1 -0
  145. package/dist/postgres/createExtensions.js +16 -0
  146. package/dist/postgres/createExtensions.js.map +1 -0
  147. package/dist/postgres/createJSONQuery/index.d.ts +3 -0
  148. package/dist/postgres/createJSONQuery/index.d.ts.map +1 -0
  149. package/dist/postgres/createJSONQuery/index.js +67 -0
  150. package/dist/postgres/createJSONQuery/index.js.map +1 -0
  151. package/dist/postgres/defaultSnapshot.d.ts +3 -0
  152. package/dist/postgres/defaultSnapshot.d.ts.map +1 -0
  153. package/dist/postgres/defaultSnapshot.js +20 -0
  154. package/dist/postgres/defaultSnapshot.js.map +1 -0
  155. package/dist/postgres/deleteWhere.d.ts +3 -0
  156. package/dist/postgres/deleteWhere.d.ts.map +1 -0
  157. package/dist/postgres/deleteWhere.js +6 -0
  158. package/dist/postgres/deleteWhere.js.map +1 -0
  159. package/dist/postgres/dropDatabase.d.ts +3 -0
  160. package/dist/postgres/dropDatabase.d.ts.map +1 -0
  161. package/dist/postgres/dropDatabase.js +9 -0
  162. package/dist/postgres/dropDatabase.js.map +1 -0
  163. package/dist/postgres/execute.d.ts +3 -0
  164. package/dist/postgres/execute.d.ts.map +1 -0
  165. package/dist/postgres/execute.js +11 -0
  166. package/dist/postgres/execute.js.map +1 -0
  167. package/dist/postgres/init.d.ts +3 -0
  168. package/dist/postgres/init.d.ts.map +1 -0
  169. package/dist/postgres/init.js +41 -0
  170. package/dist/postgres/init.js.map +1 -0
  171. package/dist/postgres/insert.d.ts +3 -0
  172. package/dist/postgres/insert.d.ts.map +1 -0
  173. package/dist/postgres/insert.js +12 -0
  174. package/dist/postgres/insert.js.map +1 -0
  175. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts +19 -0
  176. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts.map +1 -0
  177. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js +173 -0
  178. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js.map +1 -0
  179. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts +11 -0
  180. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts.map +1 -0
  181. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js +151 -0
  182. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js.map +1 -0
  183. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts +3 -0
  184. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts.map +1 -0
  185. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.js +114 -0
  186. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.js.map +1 -0
  187. package/dist/postgres/predefinedMigrations/v2-v3/index.d.ts +23 -0
  188. package/dist/postgres/predefinedMigrations/v2-v3/index.d.ts.map +1 -0
  189. package/dist/postgres/predefinedMigrations/v2-v3/index.js +275 -0
  190. package/dist/postgres/predefinedMigrations/v2-v3/index.js.map +1 -0
  191. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.d.ts +19 -0
  192. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.d.ts.map +1 -0
  193. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.js +64 -0
  194. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.js.map +1 -0
  195. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.d.ts +22 -0
  196. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.d.ts.map +1 -0
  197. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.js +64 -0
  198. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.js.map +1 -0
  199. package/dist/postgres/predefinedMigrations/v2-v3/types.d.ts +9 -0
  200. package/dist/postgres/predefinedMigrations/v2-v3/types.d.ts.map +1 -0
  201. package/dist/postgres/predefinedMigrations/v2-v3/types.js +6 -0
  202. package/dist/postgres/predefinedMigrations/v2-v3/types.js.map +1 -0
  203. package/dist/postgres/requireDrizzleKit.d.ts +3 -0
  204. package/dist/postgres/requireDrizzleKit.d.ts.map +1 -0
  205. package/dist/postgres/requireDrizzleKit.js +13 -0
  206. package/dist/postgres/requireDrizzleKit.js.map +1 -0
  207. package/dist/postgres/schema/buildDrizzleTable.d.ts +7 -0
  208. package/dist/postgres/schema/buildDrizzleTable.d.ts.map +1 -0
  209. package/dist/postgres/schema/buildDrizzleTable.js +157 -0
  210. package/dist/postgres/schema/buildDrizzleTable.js.map +1 -0
  211. package/dist/postgres/schema/geometryColumn.d.ts +11 -0
  212. package/dist/postgres/schema/geometryColumn.d.ts.map +1 -0
  213. package/dist/postgres/schema/geometryColumn.js +18 -0
  214. package/dist/postgres/schema/geometryColumn.js.map +1 -0
  215. package/dist/postgres/schema/setColumnID.d.ts +3 -0
  216. package/dist/postgres/schema/setColumnID.d.ts.map +1 -0
  217. package/dist/postgres/schema/setColumnID.js +47 -0
  218. package/dist/postgres/schema/setColumnID.js.map +1 -0
  219. package/dist/postgres/types.d.ts +199 -0
  220. package/dist/postgres/types.d.ts.map +1 -0
  221. package/dist/postgres/types.js +3 -0
  222. package/dist/postgres/types.js.map +1 -0
  223. package/dist/queries/addJoinTable.d.ts +13 -0
  224. package/dist/queries/addJoinTable.d.ts.map +1 -0
  225. package/dist/queries/addJoinTable.js +15 -0
  226. package/dist/queries/addJoinTable.js.map +1 -0
  227. package/dist/queries/buildAndOrConditions.d.ts +21 -0
  228. package/dist/queries/buildAndOrConditions.d.ts.map +1 -0
  229. package/dist/queries/buildAndOrConditions.js +30 -0
  230. package/dist/queries/buildAndOrConditions.js.map +1 -0
  231. package/dist/queries/buildOrderBy.d.ts +22 -0
  232. package/dist/queries/buildOrderBy.d.ts.map +1 -0
  233. package/dist/queries/buildOrderBy.js +71 -0
  234. package/dist/queries/buildOrderBy.js.map +1 -0
  235. package/dist/queries/buildQuery.d.ts +35 -0
  236. package/dist/queries/buildQuery.d.ts.map +1 -0
  237. package/dist/queries/buildQuery.js +46 -0
  238. package/dist/queries/buildQuery.js.map +1 -0
  239. package/dist/queries/getTableAlias.d.ts +13 -0
  240. package/dist/queries/getTableAlias.d.ts.map +1 -0
  241. package/dist/queries/getTableAlias.js +20 -0
  242. package/dist/queries/getTableAlias.js.map +1 -0
  243. package/dist/queries/getTableColumnFromPath.d.ts +58 -0
  244. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -0
  245. package/dist/queries/getTableColumnFromPath.js +793 -0
  246. package/dist/queries/getTableColumnFromPath.js.map +1 -0
  247. package/dist/queries/operatorMap.d.ts +6 -0
  248. package/dist/queries/operatorMap.d.ts.map +1 -0
  249. package/dist/queries/operatorMap.js +22 -0
  250. package/dist/queries/operatorMap.js.map +1 -0
  251. package/dist/queries/parseParams.d.ts +24 -0
  252. package/dist/queries/parseParams.d.ts.map +1 -0
  253. package/dist/queries/parseParams.js +356 -0
  254. package/dist/queries/parseParams.js.map +1 -0
  255. package/dist/queries/sanitizeQueryValue.d.ts +26 -0
  256. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -0
  257. package/dist/queries/sanitizeQueryValue.js +246 -0
  258. package/dist/queries/sanitizeQueryValue.js.map +1 -0
  259. package/dist/queries/selectDistinct.d.ts +25 -0
  260. package/dist/queries/selectDistinct.d.ts.map +1 -0
  261. package/dist/queries/selectDistinct.js +29 -0
  262. package/dist/queries/selectDistinct.js.map +1 -0
  263. package/dist/queryDrafts.d.ts +3 -0
  264. package/dist/queryDrafts.d.ts.map +1 -0
  265. package/dist/queryDrafts.js +41 -0
  266. package/dist/queryDrafts.js.map +1 -0
  267. package/dist/schema/build.d.ts +50 -0
  268. package/dist/schema/build.d.ts.map +1 -0
  269. package/dist/schema/build.js +705 -0
  270. package/dist/schema/build.js.map +1 -0
  271. package/dist/schema/buildDrizzleRelations.d.ts +5 -0
  272. package/dist/schema/buildDrizzleRelations.d.ts.map +1 -0
  273. package/dist/schema/buildDrizzleRelations.js +28 -0
  274. package/dist/schema/buildDrizzleRelations.js.map +1 -0
  275. package/dist/schema/buildRawSchema.d.ts +9 -0
  276. package/dist/schema/buildRawSchema.d.ts.map +1 -0
  277. package/dist/schema/buildRawSchema.js +117 -0
  278. package/dist/schema/buildRawSchema.js.map +1 -0
  279. package/dist/schema/idToUUID.d.ts +3 -0
  280. package/dist/schema/idToUUID.d.ts.map +1 -0
  281. package/dist/schema/idToUUID.js +11 -0
  282. package/dist/schema/idToUUID.js.map +1 -0
  283. package/dist/schema/traverseFields.d.ts +44 -0
  284. package/dist/schema/traverseFields.d.ts.map +1 -0
  285. package/dist/schema/traverseFields.js +810 -0
  286. package/dist/schema/traverseFields.js.map +1 -0
  287. package/dist/schema/withDefault.d.ts +4 -0
  288. package/dist/schema/withDefault.d.ts.map +1 -0
  289. package/dist/schema/withDefault.js +11 -0
  290. package/dist/schema/withDefault.js.map +1 -0
  291. package/dist/sqlite/columnToCodeConverter.d.ts +3 -0
  292. package/dist/sqlite/columnToCodeConverter.d.ts.map +1 -0
  293. package/dist/sqlite/columnToCodeConverter.js +116 -0
  294. package/dist/sqlite/columnToCodeConverter.js.map +1 -0
  295. package/dist/sqlite/countDistinct.d.ts +3 -0
  296. package/dist/sqlite/countDistinct.d.ts.map +1 -0
  297. package/dist/sqlite/countDistinct.js +24 -0
  298. package/dist/sqlite/countDistinct.js.map +1 -0
  299. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.d.ts +2 -0
  300. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.d.ts.map +1 -0
  301. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.js +14 -0
  302. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.js.map +1 -0
  303. package/dist/sqlite/createJSONQuery/index.d.ts +3 -0
  304. package/dist/sqlite/createJSONQuery/index.d.ts.map +1 -0
  305. package/dist/sqlite/createJSONQuery/index.js +109 -0
  306. package/dist/sqlite/createJSONQuery/index.js.map +1 -0
  307. package/dist/sqlite/defaultSnapshot.d.ts +3 -0
  308. package/dist/sqlite/defaultSnapshot.d.ts.map +1 -0
  309. package/dist/sqlite/defaultSnapshot.js +15 -0
  310. package/dist/sqlite/defaultSnapshot.js.map +1 -0
  311. package/dist/sqlite/deleteWhere.d.ts +3 -0
  312. package/dist/sqlite/deleteWhere.d.ts.map +1 -0
  313. package/dist/sqlite/deleteWhere.js +6 -0
  314. package/dist/sqlite/deleteWhere.js.map +1 -0
  315. package/dist/sqlite/dropDatabase.d.ts +3 -0
  316. package/dist/sqlite/dropDatabase.d.ts.map +1 -0
  317. package/dist/sqlite/dropDatabase.js +19 -0
  318. package/dist/sqlite/dropDatabase.js.map +1 -0
  319. package/dist/sqlite/execute.d.ts +3 -0
  320. package/dist/sqlite/execute.d.ts.map +1 -0
  321. package/dist/sqlite/execute.js +13 -0
  322. package/dist/sqlite/execute.js.map +1 -0
  323. package/dist/sqlite/init.d.ts +3 -0
  324. package/dist/sqlite/init.d.ts.map +1 -0
  325. package/dist/sqlite/init.js +42 -0
  326. package/dist/sqlite/init.js.map +1 -0
  327. package/dist/sqlite/insert.d.ts +3 -0
  328. package/dist/sqlite/insert.d.ts.map +1 -0
  329. package/dist/sqlite/insert.js +21 -0
  330. package/dist/sqlite/insert.js.map +1 -0
  331. package/dist/sqlite/requireDrizzleKit.d.ts +3 -0
  332. package/dist/sqlite/requireDrizzleKit.d.ts.map +1 -0
  333. package/dist/sqlite/requireDrizzleKit.js +12 -0
  334. package/dist/sqlite/requireDrizzleKit.js.map +1 -0
  335. package/dist/sqlite/schema/buildDrizzleTable.d.ts +3 -0
  336. package/dist/sqlite/schema/buildDrizzleTable.d.ts.map +1 -0
  337. package/dist/sqlite/schema/buildDrizzleTable.js +153 -0
  338. package/dist/sqlite/schema/buildDrizzleTable.js.map +1 -0
  339. package/dist/sqlite/schema/setColumnID.d.ts +3 -0
  340. package/dist/sqlite/schema/setColumnID.d.ts.map +1 -0
  341. package/dist/sqlite/schema/setColumnID.js +48 -0
  342. package/dist/sqlite/schema/setColumnID.js.map +1 -0
  343. package/dist/sqlite/types.d.ts +214 -0
  344. package/dist/sqlite/types.d.ts.map +1 -0
  345. package/dist/sqlite/types.js +3 -0
  346. package/dist/sqlite/types.js.map +1 -0
  347. package/dist/transactions/beginTransaction.d.ts +3 -0
  348. package/dist/transactions/beginTransaction.d.ts.map +1 -0
  349. package/dist/transactions/beginTransaction.js +59 -0
  350. package/dist/transactions/beginTransaction.js.map +1 -0
  351. package/dist/transactions/commitTransaction.d.ts +3 -0
  352. package/dist/transactions/commitTransaction.d.ts.map +1 -0
  353. package/dist/transactions/commitTransaction.js +18 -0
  354. package/dist/transactions/commitTransaction.js.map +1 -0
  355. package/dist/transactions/rollbackTransaction.d.ts +3 -0
  356. package/dist/transactions/rollbackTransaction.d.ts.map +1 -0
  357. package/dist/transactions/rollbackTransaction.js +16 -0
  358. package/dist/transactions/rollbackTransaction.js.map +1 -0
  359. package/dist/transform/read/hasManyNumber.d.ts +11 -0
  360. package/dist/transform/read/hasManyNumber.d.ts.map +1 -0
  361. package/dist/transform/read/hasManyNumber.js +28 -0
  362. package/dist/transform/read/hasManyNumber.js.map +1 -0
  363. package/dist/transform/read/hasManyText.d.ts +11 -0
  364. package/dist/transform/read/hasManyText.d.ts.map +1 -0
  365. package/dist/transform/read/hasManyText.js +20 -0
  366. package/dist/transform/read/hasManyText.js.map +1 -0
  367. package/dist/transform/read/index.d.ts +16 -0
  368. package/dist/transform/read/index.d.ts.map +1 -0
  369. package/dist/transform/read/index.js +49 -0
  370. package/dist/transform/read/index.js.map +1 -0
  371. package/dist/transform/read/relationship.d.ts +11 -0
  372. package/dist/transform/read/relationship.d.ts.map +1 -0
  373. package/dist/transform/read/relationship.js +69 -0
  374. package/dist/transform/read/relationship.js.map +1 -0
  375. package/dist/transform/read/traverseFields.d.ts +68 -0
  376. package/dist/transform/read/traverseFields.d.ts.map +1 -0
  377. package/dist/transform/read/traverseFields.js +542 -0
  378. package/dist/transform/read/traverseFields.js.map +1 -0
  379. package/dist/transform/write/array.d.ts +34 -0
  380. package/dist/transform/write/array.d.ts.map +1 -0
  381. package/dist/transform/write/array.js +73 -0
  382. package/dist/transform/write/array.js.map +1 -0
  383. package/dist/transform/write/blocks.d.ts +33 -0
  384. package/dist/transform/write/blocks.d.ts.map +1 -0
  385. package/dist/transform/write/blocks.js +78 -0
  386. package/dist/transform/write/blocks.js.map +1 -0
  387. package/dist/transform/write/index.d.ts +15 -0
  388. package/dist/transform/write/index.d.ts.map +1 -0
  389. package/dist/transform/write/index.js +51 -0
  390. package/dist/transform/write/index.js.map +1 -0
  391. package/dist/transform/write/numbers.d.ts +8 -0
  392. package/dist/transform/write/numbers.d.ts.map +1 -0
  393. package/dist/transform/write/numbers.js +11 -0
  394. package/dist/transform/write/numbers.js.map +1 -0
  395. package/dist/transform/write/relationships.d.ts +10 -0
  396. package/dist/transform/write/relationships.d.ts.map +1 -0
  397. package/dist/transform/write/relationships.js +27 -0
  398. package/dist/transform/write/relationships.js.map +1 -0
  399. package/dist/transform/write/selects.d.ts +8 -0
  400. package/dist/transform/write/selects.d.ts.map +1 -0
  401. package/dist/transform/write/selects.js +20 -0
  402. package/dist/transform/write/selects.js.map +1 -0
  403. package/dist/transform/write/texts.d.ts +8 -0
  404. package/dist/transform/write/texts.d.ts.map +1 -0
  405. package/dist/transform/write/texts.js +11 -0
  406. package/dist/transform/write/texts.js.map +1 -0
  407. package/dist/transform/write/traverseFields.d.ts +68 -0
  408. package/dist/transform/write/traverseFields.d.ts.map +1 -0
  409. package/dist/transform/write/traverseFields.js +661 -0
  410. package/dist/transform/write/traverseFields.js.map +1 -0
  411. package/dist/transform/write/types.d.ts +71 -0
  412. package/dist/transform/write/types.d.ts.map +1 -0
  413. package/dist/transform/write/types.js +3 -0
  414. package/dist/transform/write/types.js.map +1 -0
  415. package/dist/types.d.ts +355 -0
  416. package/dist/types.d.ts.map +1 -0
  417. package/dist/types.js +5 -0
  418. package/dist/types.js.map +1 -0
  419. package/dist/updateGlobal.d.ts +4 -0
  420. package/dist/updateGlobal.d.ts.map +1 -0
  421. package/dist/updateGlobal.js +34 -0
  422. package/dist/updateGlobal.js.map +1 -0
  423. package/dist/updateGlobalVersion.d.ts +4 -0
  424. package/dist/updateGlobalVersion.d.ts.map +1 -0
  425. package/dist/updateGlobalVersion.js +44 -0
  426. package/dist/updateGlobalVersion.js.map +1 -0
  427. package/dist/updateJobs.d.ts +3 -0
  428. package/dist/updateJobs.d.ts.map +1 -0
  429. package/dist/updateJobs.js +84 -0
  430. package/dist/updateJobs.js.map +1 -0
  431. package/dist/updateMany.d.ts +3 -0
  432. package/dist/updateMany.d.ts.map +1 -0
  433. package/dist/updateMany.js +76 -0
  434. package/dist/updateMany.js.map +1 -0
  435. package/dist/updateOne.d.ts +3 -0
  436. package/dist/updateOne.d.ts.map +1 -0
  437. package/dist/updateOne.js +69 -0
  438. package/dist/updateOne.js.map +1 -0
  439. package/dist/updateVersion.d.ts +4 -0
  440. package/dist/updateVersion.d.ts.map +1 -0
  441. package/dist/updateVersion.js +45 -0
  442. package/dist/updateVersion.js.map +1 -0
  443. package/dist/upsert.d.ts +3 -0
  444. package/dist/upsert.d.ts.map +1 -0
  445. package/dist/upsert.js +17 -0
  446. package/dist/upsert.js.map +1 -0
  447. package/dist/upsertRow/deleteExistingArrayRows.d.ts +10 -0
  448. package/dist/upsertRow/deleteExistingArrayRows.d.ts.map +1 -0
  449. package/dist/upsertRow/deleteExistingArrayRows.js +14 -0
  450. package/dist/upsertRow/deleteExistingArrayRows.js.map +1 -0
  451. package/dist/upsertRow/deleteExistingRowsByPath.d.ts +14 -0
  452. package/dist/upsertRow/deleteExistingRowsByPath.d.ts.map +1 -0
  453. package/dist/upsertRow/deleteExistingRowsByPath.js +45 -0
  454. package/dist/upsertRow/deleteExistingRowsByPath.js.map +1 -0
  455. package/dist/upsertRow/handleUpsertError.d.ts +19 -0
  456. package/dist/upsertRow/handleUpsertError.d.ts.map +1 -0
  457. package/dist/upsertRow/handleUpsertError.js +66 -0
  458. package/dist/upsertRow/handleUpsertError.js.map +1 -0
  459. package/dist/upsertRow/handleUpsertError.spec.js +42 -0
  460. package/dist/upsertRow/handleUpsertError.spec.js.map +1 -0
  461. package/dist/upsertRow/index.d.ts +11 -0
  462. package/dist/upsertRow/index.d.ts.map +1 -0
  463. package/dist/upsertRow/index.js +668 -0
  464. package/dist/upsertRow/index.js.map +1 -0
  465. package/dist/upsertRow/insertArrays.d.ts +14 -0
  466. package/dist/upsertRow/insertArrays.d.ts.map +1 -0
  467. package/dist/upsertRow/insertArrays.js +87 -0
  468. package/dist/upsertRow/insertArrays.js.map +1 -0
  469. package/dist/upsertRow/shouldUseOptimizedUpsertRow.d.ts +10 -0
  470. package/dist/upsertRow/shouldUseOptimizedUpsertRow.d.ts.map +1 -0
  471. package/dist/upsertRow/shouldUseOptimizedUpsertRow.js +63 -0
  472. package/dist/upsertRow/shouldUseOptimizedUpsertRow.js.map +1 -0
  473. package/dist/upsertRow/types.d.ts +47 -0
  474. package/dist/upsertRow/types.d.ts.map +1 -0
  475. package/dist/upsertRow/types.js +3 -0
  476. package/dist/upsertRow/types.js.map +1 -0
  477. package/dist/utilities/appendPrefixToKeys.d.ts +2 -0
  478. package/dist/utilities/appendPrefixToKeys.d.ts.map +1 -0
  479. package/dist/utilities/appendPrefixToKeys.js +6 -0
  480. package/dist/utilities/appendPrefixToKeys.js.map +1 -0
  481. package/dist/utilities/blocksToJsonMigrator.d.ts +15 -0
  482. package/dist/utilities/blocksToJsonMigrator.d.ts.map +1 -0
  483. package/dist/utilities/blocksToJsonMigrator.js +587 -0
  484. package/dist/utilities/blocksToJsonMigrator.js.map +1 -0
  485. package/dist/utilities/buildCreateMigration.d.ts +10 -0
  486. package/dist/utilities/buildCreateMigration.d.ts.map +1 -0
  487. package/dist/utilities/buildCreateMigration.js +121 -0
  488. package/dist/utilities/buildCreateMigration.js.map +1 -0
  489. package/dist/utilities/buildForeignKeyName.d.ts +7 -0
  490. package/dist/utilities/buildForeignKeyName.d.ts.map +1 -0
  491. package/dist/utilities/buildForeignKeyName.js +18 -0
  492. package/dist/utilities/buildForeignKeyName.js.map +1 -0
  493. package/dist/utilities/buildIndexName.d.ts +8 -0
  494. package/dist/utilities/buildIndexName.d.ts.map +1 -0
  495. package/dist/utilities/buildIndexName.js +19 -0
  496. package/dist/utilities/buildIndexName.js.map +1 -0
  497. package/dist/utilities/createBlocksMap.d.ts +5 -0
  498. package/dist/utilities/createBlocksMap.d.ts.map +1 -0
  499. package/dist/utilities/createBlocksMap.js +35 -0
  500. package/dist/utilities/createBlocksMap.js.map +1 -0
  501. package/dist/utilities/createRelationshipMap.d.ts +2 -0
  502. package/dist/utilities/createRelationshipMap.d.ts.map +1 -0
  503. package/dist/utilities/createRelationshipMap.js +21 -0
  504. package/dist/utilities/createRelationshipMap.js.map +1 -0
  505. package/dist/utilities/createSchemaGenerator.d.ts +11 -0
  506. package/dist/utilities/createSchemaGenerator.d.ts.map +1 -0
  507. package/dist/utilities/createSchemaGenerator.js +257 -0
  508. package/dist/utilities/createSchemaGenerator.js.map +1 -0
  509. package/dist/utilities/escapeSQLValue.d.ts +3 -0
  510. package/dist/utilities/escapeSQLValue.d.ts.map +1 -0
  511. package/dist/utilities/escapeSQLValue.js +20 -0
  512. package/dist/utilities/escapeSQLValue.js.map +1 -0
  513. package/dist/utilities/executeSchemaHooks.d.ts +24 -0
  514. package/dist/utilities/executeSchemaHooks.d.ts.map +1 -0
  515. package/dist/utilities/executeSchemaHooks.js +21 -0
  516. package/dist/utilities/executeSchemaHooks.js.map +1 -0
  517. package/dist/utilities/extendDrizzleTable.d.ts +19 -0
  518. package/dist/utilities/extendDrizzleTable.d.ts.map +1 -0
  519. package/dist/utilities/extendDrizzleTable.js +38 -0
  520. package/dist/utilities/extendDrizzleTable.js.map +1 -0
  521. package/dist/utilities/getArrayRelationName.d.ts +7 -0
  522. package/dist/utilities/getArrayRelationName.d.ts.map +1 -0
  523. package/dist/utilities/getArrayRelationName.js +8 -0
  524. package/dist/utilities/getArrayRelationName.js.map +1 -0
  525. package/dist/utilities/getCollectionIdType.d.ts +7 -0
  526. package/dist/utilities/getCollectionIdType.d.ts.map +1 -0
  527. package/dist/utilities/getCollectionIdType.js +12 -0
  528. package/dist/utilities/getCollectionIdType.js.map +1 -0
  529. package/dist/utilities/getMigrationTemplate.d.ts +4 -0
  530. package/dist/utilities/getMigrationTemplate.d.ts.map +1 -0
  531. package/dist/utilities/getMigrationTemplate.js +13 -0
  532. package/dist/utilities/getMigrationTemplate.js.map +1 -0
  533. package/dist/utilities/getNameFromDrizzleTable.d.ts +3 -0
  534. package/dist/utilities/getNameFromDrizzleTable.d.ts.map +1 -0
  535. package/dist/utilities/getNameFromDrizzleTable.js +6 -0
  536. package/dist/utilities/getNameFromDrizzleTable.js.map +1 -0
  537. package/dist/utilities/getPrimaryDb.d.ts +6 -0
  538. package/dist/utilities/getPrimaryDb.d.ts.map +1 -0
  539. package/dist/utilities/getPrimaryDb.js +10 -0
  540. package/dist/utilities/getPrimaryDb.js.map +1 -0
  541. package/dist/utilities/getTransaction.d.ts +13 -0
  542. package/dist/utilities/getTransaction.d.ts.map +1 -0
  543. package/dist/utilities/getTransaction.js +20 -0
  544. package/dist/utilities/getTransaction.js.map +1 -0
  545. package/dist/utilities/hasLocalesTable.d.ts +9 -0
  546. package/dist/utilities/hasLocalesTable.d.ts.map +1 -0
  547. package/dist/utilities/hasLocalesTable.js +30 -0
  548. package/dist/utilities/hasLocalesTable.js.map +1 -0
  549. package/dist/utilities/isArrayOfRows.d.ts +2 -0
  550. package/dist/utilities/isArrayOfRows.d.ts.map +1 -0
  551. package/dist/utilities/isArrayOfRows.js +5 -0
  552. package/dist/utilities/isArrayOfRows.js.map +1 -0
  553. package/dist/utilities/isPolymorphicRelationship.d.ts +6 -0
  554. package/dist/utilities/isPolymorphicRelationship.d.ts.map +1 -0
  555. package/dist/utilities/isPolymorphicRelationship.js +5 -0
  556. package/dist/utilities/isPolymorphicRelationship.js.map +1 -0
  557. package/dist/utilities/isUUIDType.d.ts +2 -0
  558. package/dist/utilities/isUUIDType.d.ts.map +1 -0
  559. package/dist/utilities/isUUIDType.js +3 -0
  560. package/dist/utilities/isUUIDType.js.map +1 -0
  561. package/dist/utilities/isValidStringID.d.ts +2 -0
  562. package/dist/utilities/isValidStringID.d.ts.map +1 -0
  563. package/dist/utilities/isValidStringID.js +5 -0
  564. package/dist/utilities/isValidStringID.js.map +1 -0
  565. package/dist/utilities/isValidStringID.spec.js +15 -0
  566. package/dist/utilities/isValidStringID.spec.js.map +1 -0
  567. package/dist/utilities/json.d.ts +9 -0
  568. package/dist/utilities/json.d.ts.map +1 -0
  569. package/dist/utilities/json.js +33 -0
  570. package/dist/utilities/json.js.map +1 -0
  571. package/dist/utilities/migrationTableExists.d.ts +4 -0
  572. package/dist/utilities/migrationTableExists.d.ts.map +1 -0
  573. package/dist/utilities/migrationTableExists.js +25 -0
  574. package/dist/utilities/migrationTableExists.js.map +1 -0
  575. package/dist/utilities/parseError.d.ts +5 -0
  576. package/dist/utilities/parseError.d.ts.map +1 -0
  577. package/dist/utilities/parseError.js +15 -0
  578. package/dist/utilities/parseError.js.map +1 -0
  579. package/dist/utilities/pushDevSchema.d.ts +9 -0
  580. package/dist/utilities/pushDevSchema.d.ts.map +1 -0
  581. package/dist/utilities/pushDevSchema.js +83 -0
  582. package/dist/utilities/pushDevSchema.js.map +1 -0
  583. package/dist/utilities/rawConstraint.d.ts +10 -0
  584. package/dist/utilities/rawConstraint.d.ts.map +1 -0
  585. package/dist/utilities/rawConstraint.js +13 -0
  586. package/dist/utilities/rawConstraint.js.map +1 -0
  587. package/dist/utilities/readAfterWrite.d.ts +17 -0
  588. package/dist/utilities/readAfterWrite.d.ts.map +1 -0
  589. package/dist/utilities/readAfterWrite.js +21 -0
  590. package/dist/utilities/readAfterWrite.js.map +1 -0
  591. package/dist/utilities/sanitizePathSegment.d.ts +2 -0
  592. package/dist/utilities/sanitizePathSegment.d.ts.map +1 -0
  593. package/dist/utilities/sanitizePathSegment.js +14 -0
  594. package/dist/utilities/sanitizePathSegment.js.map +1 -0
  595. package/dist/utilities/validateExistingBlockIsIdentical.d.ts +22 -0
  596. package/dist/utilities/validateExistingBlockIsIdentical.d.ts.map +1 -0
  597. package/dist/utilities/validateExistingBlockIsIdentical.js +100 -0
  598. package/dist/utilities/validateExistingBlockIsIdentical.js.map +1 -0
  599. package/package.json +77 -0
@@ -0,0 +1,44 @@
1
+ import { Table } from 'console-table-printer';
2
+ import { getMigrations, readMigrationFiles } from '@hanzo/cms';
3
+ import { migrationTableExists } from './utilities/migrationTableExists.js';
4
+ export async function migrateStatus() {
5
+ const { cms } = this;
6
+ const migrationFiles = await readMigrationFiles({
7
+ cms
8
+ });
9
+ cms.logger.debug({
10
+ msg: `Found ${migrationFiles.length} migration files.`
11
+ });
12
+ let existingMigrations = [];
13
+ const hasMigrationTable = await migrationTableExists(this);
14
+ if (hasMigrationTable) {
15
+ ;
16
+ ({ existingMigrations } = await getMigrations({
17
+ cms
18
+ }));
19
+ }
20
+ if (!migrationFiles.length) {
21
+ cms.logger.info({
22
+ msg: 'No migrations found.'
23
+ });
24
+ return;
25
+ }
26
+ // Compare migration files to existing migrations
27
+ const statuses = migrationFiles.map((migration)=>{
28
+ const existingMigration = existingMigrations.find((m)=>m.name === migration.name);
29
+ return {
30
+ Name: migration.name,
31
+ Batch: existingMigration?.batch,
32
+ Ran: existingMigration ? 'Yes' : 'No'
33
+ };
34
+ });
35
+ const p = new Table();
36
+ statuses.forEach((s)=>{
37
+ p.addRow(s, {
38
+ color: s.Ran === 'Yes' ? 'green' : 'red'
39
+ });
40
+ });
41
+ p.printTable();
42
+ }
43
+
44
+ //# sourceMappingURL=migrateStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateStatus.ts"],"sourcesContent":["import { Table } from 'console-table-printer'\nimport { getMigrations, readMigrationFiles } from '@hanzo/cms'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\n\nexport async function migrateStatus(this: DrizzleAdapter): Promise<void> {\n const { cms } = this\n const migrationFiles = await readMigrationFiles({ cms })\n\n cms.logger.debug({\n msg: `Found ${migrationFiles.length} migration files.`,\n })\n\n let existingMigrations = []\n const hasMigrationTable = await migrationTableExists(this)\n\n if (hasMigrationTable) {\n ;({ existingMigrations } = await getMigrations({ cms }))\n }\n\n if (!migrationFiles.length) {\n cms.logger.info({ msg: 'No migrations found.' })\n return\n }\n\n // Compare migration files to existing migrations\n const statuses = migrationFiles.map((migration) => {\n const existingMigration = existingMigrations.find((m) => m.name === migration.name)\n return {\n Name: migration.name,\n\n Batch: existingMigration?.batch,\n Ran: existingMigration ? 'Yes' : 'No',\n }\n })\n\n const p = new Table()\n\n statuses.forEach((s) => {\n p.addRow(s, {\n color: s.Ran === 'Yes' ? 'green' : 'red',\n })\n })\n p.printTable()\n}\n"],"names":["Table","getMigrations","readMigrationFiles","migrationTableExists","migrateStatus","cms","migrationFiles","logger","debug","msg","length","existingMigrations","hasMigrationTable","info","statuses","map","migration","existingMigration","find","m","name","Name","Batch","batch","Ran","p","forEach","s","addRow","color","printTable"],"mappings":"AAAA,SAASA,KAAK,QAAQ,wBAAuB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,aAAY;AAI9D,SAASC,oBAAoB,QAAQ,sCAAqC;AAE1E,OAAO,eAAeC;IACpB,MAAM,EAAEC,GAAG,EAAE,GAAG,IAAI;IACpB,MAAMC,iBAAiB,MAAMJ,mBAAmB;QAAEG;IAAI;IAEtDA,IAAIE,MAAM,CAACC,KAAK,CAAC;QACfC,KAAK,CAAC,MAAM,EAAEH,eAAeI,MAAM,CAAC,iBAAiB,CAAC;IACxD;IAEA,IAAIC,qBAAqB,EAAE;IAC3B,MAAMC,oBAAoB,MAAMT,qBAAqB,IAAI;IAEzD,IAAIS,mBAAmB;;QACnB,CAAA,EAAED,kBAAkB,EAAE,GAAG,MAAMV,cAAc;YAAEI;QAAI,EAAC;IACxD;IAEA,IAAI,CAACC,eAAeI,MAAM,EAAE;QAC1BL,IAAIE,MAAM,CAACM,IAAI,CAAC;YAAEJ,KAAK;QAAuB;QAC9C;IACF;IAEA,iDAAiD;IACjD,MAAMK,WAAWR,eAAeS,GAAG,CAAC,CAACC;QACnC,MAAMC,oBAAoBN,mBAAmBO,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ,UAAUI,IAAI;QAClF,OAAO;YACLC,MAAML,UAAUI,IAAI;YAEpBE,OAAOL,mBAAmBM;YAC1BC,KAAKP,oBAAoB,QAAQ;QACnC;IACF;IAEA,MAAMQ,IAAI,IAAIzB;IAEdc,SAASY,OAAO,CAAC,CAACC;QAChBF,EAAEG,MAAM,CAACD,GAAG;YACVE,OAAOF,EAAEH,GAAG,KAAK,QAAQ,UAAU;QACrC;IACF;IACAC,EAAEK,UAAU;AACd"}
@@ -0,0 +1,3 @@
1
+ import type { ColumnToCodeConverter } from '../types.js';
2
+ export declare const columnToCodeConverter: ColumnToCodeConverter;
3
+ //# sourceMappingURL=columnToCodeConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnToCodeConverter.d.ts","sourceRoot":"","sources":["../../src/postgres/columnToCodeConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,eAAO,MAAM,qBAAqB,EAAE,qBAqHnC,CAAA"}
@@ -0,0 +1,93 @@
1
+ export const columnToCodeConverter = ({ adapter, addEnum, addImport, circularEdges, column, tableKey })=>{
2
+ let columnBuilderFn = column.type;
3
+ if (column.type === 'geometry') {
4
+ columnBuilderFn = 'geometryColumn';
5
+ addImport(adapter.packageName, columnBuilderFn);
6
+ } else if (column.type === 'enum') {
7
+ if ('locale' in column) {
8
+ columnBuilderFn = `enum__locales`;
9
+ } else {
10
+ addEnum(column.enumName, column.options);
11
+ columnBuilderFn = column.enumName;
12
+ }
13
+ } else {
14
+ addImport(`${adapter.packageName}/drizzle/pg-core`, columnBuilderFn);
15
+ }
16
+ const columnBuilderArgsArray = [];
17
+ switch(column.type){
18
+ case 'bit':
19
+ case 'halfvec':
20
+ case 'sparsevec':
21
+ case 'vector':
22
+ {
23
+ if (column.dimensions) {
24
+ columnBuilderArgsArray.push(`dimensions: ${column.dimensions}`);
25
+ }
26
+ break;
27
+ }
28
+ case 'numeric':
29
+ {
30
+ columnBuilderArgsArray.push("mode: 'number'");
31
+ break;
32
+ }
33
+ case 'timestamp':
34
+ {
35
+ columnBuilderArgsArray.push(`mode: '${column.mode}'`);
36
+ if (column.withTimezone) {
37
+ columnBuilderArgsArray.push('withTimezone: true');
38
+ }
39
+ if (typeof column.precision === 'number') {
40
+ columnBuilderArgsArray.push(`precision: ${column.precision}`);
41
+ }
42
+ break;
43
+ }
44
+ }
45
+ let columnBuilderArgs = '';
46
+ if (columnBuilderArgsArray.length) {
47
+ columnBuilderArgs = `, {${columnBuilderArgsArray.join(',')}}`;
48
+ }
49
+ let code = `${columnBuilderFn}('${column.name}'${columnBuilderArgs})`;
50
+ if (column.type === 'timestamp' && column.defaultNow) {
51
+ code = `${code}.defaultNow()`;
52
+ }
53
+ if (column.type === 'uuid' && column.defaultRandom) {
54
+ code = `${code}.defaultRandom()`;
55
+ }
56
+ if (column.type === 'uuid' && column.defaultV7) {
57
+ addImport('uuid', 'v7 as uuidv7');
58
+ code = `${code}.$defaultFn(() => uuidv7())`;
59
+ }
60
+ if (column.notNull) {
61
+ code = `${code}.notNull()`;
62
+ }
63
+ if (column.primaryKey) {
64
+ code = `${code}.primaryKey()`;
65
+ }
66
+ if (typeof column.default !== 'undefined') {
67
+ let sanitizedDefault = column.default;
68
+ if (column.type === 'geometry') {
69
+ sanitizedDefault = `sql\`${column.default}\``;
70
+ } else if (column.type === 'jsonb') {
71
+ sanitizedDefault = `sql\`'${JSON.stringify(column.default)}'::jsonb\``;
72
+ } else if (column.type === 'numeric') {
73
+ sanitizedDefault = `${column.default}`;
74
+ } else if (typeof column.default === 'string') {
75
+ sanitizedDefault = `${JSON.stringify(column.default)}`;
76
+ }
77
+ code = `${code}.default(${sanitizedDefault})`;
78
+ }
79
+ if (column.reference) {
80
+ let callback = `()`;
81
+ if (column.reference.table === tableKey || circularEdges?.has(`${tableKey}:${column.reference.table}`)) {
82
+ addImport(`${adapter.packageName}/drizzle/pg-core`, 'type AnyPgColumn');
83
+ callback = `${callback}: AnyPgColumn`;
84
+ }
85
+ callback = `${callback} => ${column.reference.table}.${column.reference.name}`;
86
+ code = `${code}.references(${callback}, {
87
+ ${column.reference.onDelete ? `onDelete: '${column.reference.onDelete}'` : ''}
88
+ })`;
89
+ }
90
+ return code;
91
+ };
92
+
93
+ //# sourceMappingURL=columnToCodeConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/columnToCodeConverter.ts"],"sourcesContent":["import type { ColumnToCodeConverter } from '../types.js'\nexport const columnToCodeConverter: ColumnToCodeConverter = ({\n adapter,\n addEnum,\n addImport,\n circularEdges,\n column,\n tableKey,\n}) => {\n let columnBuilderFn: string = column.type\n\n if (column.type === 'geometry') {\n columnBuilderFn = 'geometryColumn'\n addImport(adapter.packageName, columnBuilderFn)\n } else if (column.type === 'enum') {\n if ('locale' in column) {\n columnBuilderFn = `enum__locales`\n } else {\n addEnum(column.enumName, column.options)\n columnBuilderFn = column.enumName\n }\n } else {\n addImport(`${adapter.packageName}/drizzle/pg-core`, columnBuilderFn)\n }\n\n const columnBuilderArgsArray: string[] = []\n\n switch (column.type) {\n case 'bit':\n case 'halfvec':\n case 'sparsevec':\n case 'vector': {\n if (column.dimensions) {\n columnBuilderArgsArray.push(`dimensions: ${column.dimensions}`)\n }\n break\n }\n case 'numeric': {\n columnBuilderArgsArray.push(\"mode: 'number'\")\n break\n }\n case 'timestamp': {\n columnBuilderArgsArray.push(`mode: '${column.mode}'`)\n if (column.withTimezone) {\n columnBuilderArgsArray.push('withTimezone: true')\n }\n\n if (typeof column.precision === 'number') {\n columnBuilderArgsArray.push(`precision: ${column.precision}`)\n }\n break\n }\n }\n\n let columnBuilderArgs = ''\n\n if (columnBuilderArgsArray.length) {\n columnBuilderArgs = `, {${columnBuilderArgsArray.join(',')}}`\n }\n\n let code = `${columnBuilderFn}('${column.name}'${columnBuilderArgs})`\n\n if (column.type === 'timestamp' && column.defaultNow) {\n code = `${code}.defaultNow()`\n }\n\n if (column.type === 'uuid' && column.defaultRandom) {\n code = `${code}.defaultRandom()`\n }\n\n if (column.type === 'uuid' && column.defaultV7) {\n addImport('uuid', 'v7 as uuidv7')\n code = `${code}.$defaultFn(() => uuidv7())`\n }\n\n if (column.notNull) {\n code = `${code}.notNull()`\n }\n\n if (column.primaryKey) {\n code = `${code}.primaryKey()`\n }\n\n if (typeof column.default !== 'undefined') {\n let sanitizedDefault = column.default\n\n if (column.type === 'geometry') {\n sanitizedDefault = `sql\\`${column.default}\\``\n } else if (column.type === 'jsonb') {\n sanitizedDefault = `sql\\`'${JSON.stringify(column.default)}'::jsonb\\``\n } else if (column.type === 'numeric') {\n sanitizedDefault = `${column.default}`\n } else if (typeof column.default === 'string') {\n sanitizedDefault = `${JSON.stringify(column.default)}`\n }\n\n code = `${code}.default(${sanitizedDefault})`\n }\n\n if (column.reference) {\n let callback = `()`\n\n if (\n column.reference.table === tableKey ||\n circularEdges?.has(`${tableKey}:${column.reference.table}`)\n ) {\n addImport(`${adapter.packageName}/drizzle/pg-core`, 'type AnyPgColumn')\n callback = `${callback}: AnyPgColumn`\n }\n\n callback = `${callback} => ${column.reference.table}.${column.reference.name}`\n\n code = `${code}.references(${callback}, {\n ${column.reference.onDelete ? `onDelete: '${column.reference.onDelete}'` : ''}\n })`\n }\n\n return code\n}\n"],"names":["columnToCodeConverter","adapter","addEnum","addImport","circularEdges","column","tableKey","columnBuilderFn","type","packageName","enumName","options","columnBuilderArgsArray","dimensions","push","mode","withTimezone","precision","columnBuilderArgs","length","join","code","name","defaultNow","defaultRandom","defaultV7","notNull","primaryKey","default","sanitizedDefault","JSON","stringify","reference","callback","table","has","onDelete"],"mappings":"AACA,OAAO,MAAMA,wBAA+C,CAAC,EAC3DC,OAAO,EACPC,OAAO,EACPC,SAAS,EACTC,aAAa,EACbC,MAAM,EACNC,QAAQ,EACT;IACC,IAAIC,kBAA0BF,OAAOG,IAAI;IAEzC,IAAIH,OAAOG,IAAI,KAAK,YAAY;QAC9BD,kBAAkB;QAClBJ,UAAUF,QAAQQ,WAAW,EAAEF;IACjC,OAAO,IAAIF,OAAOG,IAAI,KAAK,QAAQ;QACjC,IAAI,YAAYH,QAAQ;YACtBE,kBAAkB,CAAC,aAAa,CAAC;QACnC,OAAO;YACLL,QAAQG,OAAOK,QAAQ,EAAEL,OAAOM,OAAO;YACvCJ,kBAAkBF,OAAOK,QAAQ;QACnC;IACF,OAAO;QACLP,UAAU,GAAGF,QAAQQ,WAAW,CAAC,gBAAgB,CAAC,EAAEF;IACtD;IAEA,MAAMK,yBAAmC,EAAE;IAE3C,OAAQP,OAAOG,IAAI;QACjB,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YAAU;gBACb,IAAIH,OAAOQ,UAAU,EAAE;oBACrBD,uBAAuBE,IAAI,CAAC,CAAC,YAAY,EAAET,OAAOQ,UAAU,EAAE;gBAChE;gBACA;YACF;QACA,KAAK;YAAW;gBACdD,uBAAuBE,IAAI,CAAC;gBAC5B;YACF;QACA,KAAK;YAAa;gBAChBF,uBAAuBE,IAAI,CAAC,CAAC,OAAO,EAAET,OAAOU,IAAI,CAAC,CAAC,CAAC;gBACpD,IAAIV,OAAOW,YAAY,EAAE;oBACvBJ,uBAAuBE,IAAI,CAAC;gBAC9B;gBAEA,IAAI,OAAOT,OAAOY,SAAS,KAAK,UAAU;oBACxCL,uBAAuBE,IAAI,CAAC,CAAC,WAAW,EAAET,OAAOY,SAAS,EAAE;gBAC9D;gBACA;YACF;IACF;IAEA,IAAIC,oBAAoB;IAExB,IAAIN,uBAAuBO,MAAM,EAAE;QACjCD,oBAAoB,CAAC,GAAG,EAAEN,uBAAuBQ,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D;IAEA,IAAIC,OAAO,GAAGd,gBAAgB,EAAE,EAAEF,OAAOiB,IAAI,CAAC,CAAC,EAAEJ,kBAAkB,CAAC,CAAC;IAErE,IAAIb,OAAOG,IAAI,KAAK,eAAeH,OAAOkB,UAAU,EAAE;QACpDF,OAAO,GAAGA,KAAK,aAAa,CAAC;IAC/B;IAEA,IAAIhB,OAAOG,IAAI,KAAK,UAAUH,OAAOmB,aAAa,EAAE;QAClDH,OAAO,GAAGA,KAAK,gBAAgB,CAAC;IAClC;IAEA,IAAIhB,OAAOG,IAAI,KAAK,UAAUH,OAAOoB,SAAS,EAAE;QAC9CtB,UAAU,QAAQ;QAClBkB,OAAO,GAAGA,KAAK,2BAA2B,CAAC;IAC7C;IAEA,IAAIhB,OAAOqB,OAAO,EAAE;QAClBL,OAAO,GAAGA,KAAK,UAAU,CAAC;IAC5B;IAEA,IAAIhB,OAAOsB,UAAU,EAAE;QACrBN,OAAO,GAAGA,KAAK,aAAa,CAAC;IAC/B;IAEA,IAAI,OAAOhB,OAAOuB,OAAO,KAAK,aAAa;QACzC,IAAIC,mBAAmBxB,OAAOuB,OAAO;QAErC,IAAIvB,OAAOG,IAAI,KAAK,YAAY;YAC9BqB,mBAAmB,CAAC,KAAK,EAAExB,OAAOuB,OAAO,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAIvB,OAAOG,IAAI,KAAK,SAAS;YAClCqB,mBAAmB,CAAC,MAAM,EAAEC,KAAKC,SAAS,CAAC1B,OAAOuB,OAAO,EAAE,UAAU,CAAC;QACxE,OAAO,IAAIvB,OAAOG,IAAI,KAAK,WAAW;YACpCqB,mBAAmB,GAAGxB,OAAOuB,OAAO,EAAE;QACxC,OAAO,IAAI,OAAOvB,OAAOuB,OAAO,KAAK,UAAU;YAC7CC,mBAAmB,GAAGC,KAAKC,SAAS,CAAC1B,OAAOuB,OAAO,GAAG;QACxD;QAEAP,OAAO,GAAGA,KAAK,SAAS,EAAEQ,iBAAiB,CAAC,CAAC;IAC/C;IAEA,IAAIxB,OAAO2B,SAAS,EAAE;QACpB,IAAIC,WAAW,CAAC,EAAE,CAAC;QAEnB,IACE5B,OAAO2B,SAAS,CAACE,KAAK,KAAK5B,YAC3BF,eAAe+B,IAAI,GAAG7B,SAAS,CAAC,EAAED,OAAO2B,SAAS,CAACE,KAAK,EAAE,GAC1D;YACA/B,UAAU,GAAGF,QAAQQ,WAAW,CAAC,gBAAgB,CAAC,EAAE;YACpDwB,WAAW,GAAGA,SAAS,aAAa,CAAC;QACvC;QAEAA,WAAW,GAAGA,SAAS,IAAI,EAAE5B,OAAO2B,SAAS,CAACE,KAAK,CAAC,CAAC,EAAE7B,OAAO2B,SAAS,CAACV,IAAI,EAAE;QAE9ED,OAAO,GAAGA,KAAK,YAAY,EAAEY,SAAS;MACpC,EAAE5B,OAAO2B,SAAS,CAACI,QAAQ,GAAG,CAAC,WAAW,EAAE/B,OAAO2B,SAAS,CAACI,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;IAChF,CAAC;IACH;IAEA,OAAOf;AACT,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CountDistinct } from './types.js';
2
+ export declare const countDistinct: CountDistinct;
3
+ //# sourceMappingURL=countDistinct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countDistinct.d.ts","sourceRoot":"","sources":["../../src/postgres/countDistinct.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpE,eAAO,MAAM,aAAa,EAAE,aAqC3B,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { count, sql } from 'drizzle-orm';
2
+ export const countDistinct = async function countDistinct({ column, db, joins, tableName, where }) {
3
+ // When we don't have any joins - use a simple COUNT(*) query.
4
+ if (joins.length === 0) {
5
+ const countResult = await db.select({
6
+ count: column ? count(sql`DISTINCT ${column}`) : count()
7
+ }).from(this.tables[tableName]).where(where);
8
+ return Number(countResult?.[0]?.count ?? 0);
9
+ }
10
+ let query = db.select({
11
+ count: sql`COUNT(1) OVER()`
12
+ }).from(this.tables[tableName]).where(where).groupBy(column || this.tables[tableName].id).limit(1).$dynamic();
13
+ joins.forEach(({ type, condition, table })=>{
14
+ query = query[type ?? 'leftJoin'](table, condition);
15
+ });
16
+ // When we have any joins, we need to count each individual ID only once.
17
+ // COUNT(*) doesn't work for this well in this case, as it also counts joined tables.
18
+ // SELECT (COUNT DISTINCT id) has a very slow performance on large tables.
19
+ // Instead, COUNT (GROUP BY id) can be used which is still slower than COUNT(*) but acceptable.
20
+ const countResult = await query;
21
+ return Number(countResult?.[0]?.count ?? 0);
22
+ };
23
+
24
+ //# sourceMappingURL=countDistinct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/countDistinct.ts"],"sourcesContent":["import type { PgTableWithColumns } from 'drizzle-orm/pg-core'\n\nimport { count, sql } from 'drizzle-orm'\n\nimport type { BasePostgresAdapter, CountDistinct } from './types.js'\n\nexport const countDistinct: CountDistinct = async function countDistinct(\n this: BasePostgresAdapter,\n { column, db, joins, tableName, where },\n) {\n // When we don't have any joins - use a simple COUNT(*) query.\n if (joins.length === 0) {\n const countResult = await db\n .select({\n count: column ? count(sql`DISTINCT ${column}`) : count(),\n })\n .from(this.tables[tableName])\n .where(where)\n\n return Number(countResult?.[0]?.count ?? 0)\n }\n\n let query = db\n .select({\n count: sql`COUNT(1) OVER()`,\n })\n .from(this.tables[tableName])\n .where(where)\n .groupBy(column || this.tables[tableName].id)\n .limit(1)\n .$dynamic()\n\n joins.forEach(({ type, condition, table }) => {\n query = query[type ?? 'leftJoin'](table as PgTableWithColumns<any>, condition)\n })\n\n // When we have any joins, we need to count each individual ID only once.\n // COUNT(*) doesn't work for this well in this case, as it also counts joined tables.\n // SELECT (COUNT DISTINCT id) has a very slow performance on large tables.\n // Instead, COUNT (GROUP BY id) can be used which is still slower than COUNT(*) but acceptable.\n const countResult = await query\n\n return Number(countResult?.[0]?.count ?? 0)\n}\n"],"names":["count","sql","countDistinct","column","db","joins","tableName","where","length","countResult","select","from","tables","Number","query","groupBy","id","limit","$dynamic","forEach","type","condition","table"],"mappings":"AAEA,SAASA,KAAK,EAAEC,GAAG,QAAQ,cAAa;AAIxC,OAAO,MAAMC,gBAA+B,eAAeA,cAEzD,EAAEC,MAAM,EAAEC,EAAE,EAAEC,KAAK,EAAEC,SAAS,EAAEC,KAAK,EAAE;IAEvC,8DAA8D;IAC9D,IAAIF,MAAMG,MAAM,KAAK,GAAG;QACtB,MAAMC,cAAc,MAAML,GACvBM,MAAM,CAAC;YACNV,OAAOG,SAASH,MAAMC,GAAG,CAAC,SAAS,EAAEE,OAAO,CAAC,IAAIH;QACnD,GACCW,IAAI,CAAC,IAAI,CAACC,MAAM,CAACN,UAAU,EAC3BC,KAAK,CAACA;QAET,OAAOM,OAAOJ,aAAa,CAAC,EAAE,EAAET,SAAS;IAC3C;IAEA,IAAIc,QAAQV,GACTM,MAAM,CAAC;QACNV,OAAOC,GAAG,CAAC,eAAe,CAAC;IAC7B,GACCU,IAAI,CAAC,IAAI,CAACC,MAAM,CAACN,UAAU,EAC3BC,KAAK,CAACA,OACNQ,OAAO,CAACZ,UAAU,IAAI,CAACS,MAAM,CAACN,UAAU,CAACU,EAAE,EAC3CC,KAAK,CAAC,GACNC,QAAQ;IAEXb,MAAMc,OAAO,CAAC,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAEC,KAAK,EAAE;QACvCR,QAAQA,KAAK,CAACM,QAAQ,WAAW,CAACE,OAAkCD;IACtE;IAEA,yEAAyE;IACzE,qFAAqF;IACrF,0EAA0E;IAC1E,+FAA+F;IAC/F,MAAMZ,cAAc,MAAMK;IAE1B,OAAOD,OAAOJ,aAAa,CAAC,EAAE,EAAET,SAAS;AAC3C,EAAC"}
@@ -0,0 +1,14 @@
1
+ import type { BasePostgresAdapter } from './types.js';
2
+ type Args = {
3
+ /**
4
+ * Name of a database, defaults to the current one
5
+ */
6
+ name?: string;
7
+ /**
8
+ * Schema to create in addition to 'public'. Defaults to adapter.schemaName if exists.
9
+ */
10
+ schemaName?: string;
11
+ };
12
+ export declare const createDatabase: (this: BasePostgresAdapter, args?: Args) => Promise<boolean>;
13
+ export {};
14
+ //# sourceMappingURL=createDatabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDatabase.d.ts","sourceRoot":"","sources":["../../src/postgres/createDatabase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAgBrD,KAAK,IAAI,GAAG;IACV;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,cAAc,SAAyB,mBAAmB,SAAQ,IAAI,qBAkFlF,CAAA"}
@@ -0,0 +1,76 @@
1
+ const setConnectionStringDatabase = ({ connectionString, database })=>{
2
+ const connectionURL = new URL(connectionString);
3
+ const newConnectionURL = new URL(connectionURL);
4
+ newConnectionURL.pathname = `/${database}`;
5
+ return newConnectionURL.toString();
6
+ };
7
+ export const createDatabase = async function(args = {}) {
8
+ // POSTGRES_URL - default Vercel env
9
+ const connectionString = this.poolOptions?.connectionString ?? process.env.POSTGRES_URL ?? process.env.DATABASE_URL;
10
+ let managementClientConfig = {};
11
+ let dbName = args.name;
12
+ const schemaName = this.schemaName || 'public';
13
+ if (connectionString) {
14
+ if (!dbName) {
15
+ dbName = new URL(connectionString).pathname.slice(1);
16
+ }
17
+ managementClientConfig.connectionString = setConnectionStringDatabase({
18
+ connectionString,
19
+ database: 'postgres'
20
+ });
21
+ } else {
22
+ if (!dbName) {
23
+ dbName = this.poolOptions.database;
24
+ }
25
+ managementClientConfig = {
26
+ ...this.poolOptions,
27
+ database: 'postgres'
28
+ };
29
+ }
30
+ // import pg only when createDatabase is used
31
+ const pg = await import('pg').then((mod)=>mod.default);
32
+ const managementClient = new pg.Client(managementClientConfig);
33
+ try {
34
+ await managementClient.connect();
35
+ await managementClient.query(`CREATE DATABASE "${dbName}"`);
36
+ this.cms.logger.info(`Created database "${dbName}"`);
37
+ if (schemaName !== 'public') {
38
+ let createdDatabaseConfig = {};
39
+ if (connectionString) {
40
+ createdDatabaseConfig.connectionString = setConnectionStringDatabase({
41
+ connectionString,
42
+ database: dbName
43
+ });
44
+ } else {
45
+ createdDatabaseConfig = {
46
+ ...this.poolOptions,
47
+ database: dbName
48
+ };
49
+ }
50
+ const createdDatabaseClient = new pg.Client(createdDatabaseConfig);
51
+ try {
52
+ await createdDatabaseClient.connect();
53
+ await createdDatabaseClient.query(`CREATE SCHEMA ${schemaName}`);
54
+ this.cms.logger.info(`Created schema "${dbName}.${schemaName}"`);
55
+ } catch (err) {
56
+ this.cms.logger.error({
57
+ err,
58
+ msg: `Error: failed to create schema "${dbName}.${schemaName}". Details: ${err.message}`
59
+ });
60
+ } finally{
61
+ await createdDatabaseClient.end();
62
+ }
63
+ }
64
+ return true;
65
+ } catch (err) {
66
+ this.cms.logger.error({
67
+ err,
68
+ msg: `Error: failed to create database ${dbName}. Details: ${err.message}`
69
+ });
70
+ return false;
71
+ } finally{
72
+ await managementClient.end();
73
+ }
74
+ };
75
+
76
+ //# sourceMappingURL=createDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/createDatabase.ts"],"sourcesContent":["import type { ClientConfig } from 'pg'\n\nimport type { BasePostgresAdapter } from './types.js'\n\nconst setConnectionStringDatabase = ({\n connectionString,\n database,\n}: {\n connectionString: string\n database: string\n}): string => {\n const connectionURL = new URL(connectionString)\n const newConnectionURL = new URL(connectionURL)\n newConnectionURL.pathname = `/${database}`\n\n return newConnectionURL.toString()\n}\n\ntype Args = {\n /**\n * Name of a database, defaults to the current one\n */\n name?: string\n /**\n * Schema to create in addition to 'public'. Defaults to adapter.schemaName if exists.\n */\n schemaName?: string\n}\nexport const createDatabase = async function (this: BasePostgresAdapter, args: Args = {}) {\n // POSTGRES_URL - default Vercel env\n const connectionString =\n this.poolOptions?.connectionString ?? process.env.POSTGRES_URL ?? process.env.DATABASE_URL\n let managementClientConfig: ClientConfig = {}\n let dbName = args.name\n const schemaName = this.schemaName || 'public'\n\n if (connectionString) {\n if (!dbName) {\n dbName = new URL(connectionString).pathname.slice(1)\n }\n\n managementClientConfig.connectionString = setConnectionStringDatabase({\n connectionString,\n database: 'postgres',\n })\n } else {\n if (!dbName) {\n dbName = this.poolOptions.database\n }\n\n managementClientConfig = {\n ...this.poolOptions,\n database: 'postgres',\n }\n }\n\n // import pg only when createDatabase is used\n const pg = await import('pg').then((mod) => mod.default)\n\n const managementClient = new pg.Client(managementClientConfig)\n\n try {\n await managementClient.connect()\n await managementClient.query(`CREATE DATABASE \"${dbName}\"`)\n\n this.cms.logger.info(`Created database \"${dbName}\"`)\n\n if (schemaName !== 'public') {\n let createdDatabaseConfig: ClientConfig = {}\n\n if (connectionString) {\n createdDatabaseConfig.connectionString = setConnectionStringDatabase({\n connectionString,\n database: dbName,\n })\n } else {\n createdDatabaseConfig = {\n ...this.poolOptions,\n database: dbName,\n }\n }\n\n const createdDatabaseClient = new pg.Client(createdDatabaseConfig)\n\n try {\n await createdDatabaseClient.connect()\n\n await createdDatabaseClient.query(`CREATE SCHEMA ${schemaName}`)\n this.cms.logger.info(`Created schema \"${dbName}.${schemaName}\"`)\n } catch (err) {\n this.cms.logger.error({\n err,\n msg: `Error: failed to create schema \"${dbName}.${schemaName}\". Details: ${err.message}`,\n })\n } finally {\n await createdDatabaseClient.end()\n }\n }\n\n return true\n } catch (err) {\n this.cms.logger.error({\n err,\n msg: `Error: failed to create database ${dbName}. Details: ${err.message}`,\n })\n\n return false\n } finally {\n await managementClient.end()\n }\n}\n"],"names":["setConnectionStringDatabase","connectionString","database","connectionURL","URL","newConnectionURL","pathname","toString","createDatabase","args","poolOptions","process","env","POSTGRES_URL","DATABASE_URL","managementClientConfig","dbName","name","schemaName","slice","pg","then","mod","default","managementClient","Client","connect","query","cms","logger","info","createdDatabaseConfig","createdDatabaseClient","err","error","msg","message","end"],"mappings":"AAIA,MAAMA,8BAA8B,CAAC,EACnCC,gBAAgB,EAChBC,QAAQ,EAIT;IACC,MAAMC,gBAAgB,IAAIC,IAAIH;IAC9B,MAAMI,mBAAmB,IAAID,IAAID;IACjCE,iBAAiBC,QAAQ,GAAG,CAAC,CAAC,EAAEJ,UAAU;IAE1C,OAAOG,iBAAiBE,QAAQ;AAClC;AAYA,OAAO,MAAMC,iBAAiB,eAA2CC,OAAa,CAAC,CAAC;IACtF,oCAAoC;IACpC,MAAMR,mBACJ,IAAI,CAACS,WAAW,EAAET,oBAAoBU,QAAQC,GAAG,CAACC,YAAY,IAAIF,QAAQC,GAAG,CAACE,YAAY;IAC5F,IAAIC,yBAAuC,CAAC;IAC5C,IAAIC,SAASP,KAAKQ,IAAI;IACtB,MAAMC,aAAa,IAAI,CAACA,UAAU,IAAI;IAEtC,IAAIjB,kBAAkB;QACpB,IAAI,CAACe,QAAQ;YACXA,SAAS,IAAIZ,IAAIH,kBAAkBK,QAAQ,CAACa,KAAK,CAAC;QACpD;QAEAJ,uBAAuBd,gBAAgB,GAAGD,4BAA4B;YACpEC;YACAC,UAAU;QACZ;IACF,OAAO;QACL,IAAI,CAACc,QAAQ;YACXA,SAAS,IAAI,CAACN,WAAW,CAACR,QAAQ;QACpC;QAEAa,yBAAyB;YACvB,GAAG,IAAI,CAACL,WAAW;YACnBR,UAAU;QACZ;IACF;IAEA,6CAA6C;IAC7C,MAAMkB,KAAK,MAAM,MAAM,CAAC,MAAMC,IAAI,CAAC,CAACC,MAAQA,IAAIC,OAAO;IAEvD,MAAMC,mBAAmB,IAAIJ,GAAGK,MAAM,CAACV;IAEvC,IAAI;QACF,MAAMS,iBAAiBE,OAAO;QAC9B,MAAMF,iBAAiBG,KAAK,CAAC,CAAC,iBAAiB,EAAEX,OAAO,CAAC,CAAC;QAE1D,IAAI,CAACY,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,CAAC,kBAAkB,EAAEd,OAAO,CAAC,CAAC;QAEnD,IAAIE,eAAe,UAAU;YAC3B,IAAIa,wBAAsC,CAAC;YAE3C,IAAI9B,kBAAkB;gBACpB8B,sBAAsB9B,gBAAgB,GAAGD,4BAA4B;oBACnEC;oBACAC,UAAUc;gBACZ;YACF,OAAO;gBACLe,wBAAwB;oBACtB,GAAG,IAAI,CAACrB,WAAW;oBACnBR,UAAUc;gBACZ;YACF;YAEA,MAAMgB,wBAAwB,IAAIZ,GAAGK,MAAM,CAACM;YAE5C,IAAI;gBACF,MAAMC,sBAAsBN,OAAO;gBAEnC,MAAMM,sBAAsBL,KAAK,CAAC,CAAC,cAAc,EAAET,YAAY;gBAC/D,IAAI,CAACU,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,CAAC,gBAAgB,EAAEd,OAAO,CAAC,EAAEE,WAAW,CAAC,CAAC;YACjE,EAAE,OAAOe,KAAK;gBACZ,IAAI,CAACL,GAAG,CAACC,MAAM,CAACK,KAAK,CAAC;oBACpBD;oBACAE,KAAK,CAAC,gCAAgC,EAAEnB,OAAO,CAAC,EAAEE,WAAW,YAAY,EAAEe,IAAIG,OAAO,EAAE;gBAC1F;YACF,SAAU;gBACR,MAAMJ,sBAAsBK,GAAG;YACjC;QACF;QAEA,OAAO;IACT,EAAE,OAAOJ,KAAK;QACZ,IAAI,CAACL,GAAG,CAACC,MAAM,CAACK,KAAK,CAAC;YACpBD;YACAE,KAAK,CAAC,iCAAiC,EAAEnB,OAAO,WAAW,EAAEiB,IAAIG,OAAO,EAAE;QAC5E;QAEA,OAAO;IACT,SAAU;QACR,MAAMZ,iBAAiBa,GAAG;IAC5B;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { BasePostgresAdapter } from './types.js';
2
+ export declare const createExtensions: (this: BasePostgresAdapter) => Promise<void>;
3
+ //# sourceMappingURL=createExtensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createExtensions.d.ts","sourceRoot":"","sources":["../../src/postgres/createExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErD,eAAO,MAAM,gBAAgB,SAAyB,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAUvF,CAAA"}
@@ -0,0 +1,16 @@
1
+ export const createExtensions = async function() {
2
+ for(const extension in this.extensions){
3
+ if (this.extensions[extension]) {
4
+ try {
5
+ await this.drizzle.execute(`CREATE EXTENSION IF NOT EXISTS "${extension}"`);
6
+ } catch (err) {
7
+ this.cms.logger.error({
8
+ err,
9
+ msg: `Failed to create extension ${extension}`
10
+ });
11
+ }
12
+ }
13
+ }
14
+ };
15
+
16
+ //# sourceMappingURL=createExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/createExtensions.ts"],"sourcesContent":["import type { BasePostgresAdapter } from './types.js'\n\nexport const createExtensions = async function (this: BasePostgresAdapter): Promise<void> {\n for (const extension in this.extensions) {\n if (this.extensions[extension]) {\n try {\n await this.drizzle.execute(`CREATE EXTENSION IF NOT EXISTS \"${extension}\"`)\n } catch (err) {\n this.cms.logger.error({ err, msg: `Failed to create extension ${extension}` })\n }\n }\n }\n}\n"],"names":["createExtensions","extension","extensions","drizzle","execute","err","cms","logger","error","msg"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB;IAC9B,IAAK,MAAMC,aAAa,IAAI,CAACC,UAAU,CAAE;QACvC,IAAI,IAAI,CAACA,UAAU,CAACD,UAAU,EAAE;YAC9B,IAAI;gBACF,MAAM,IAAI,CAACE,OAAO,CAACC,OAAO,CAAC,CAAC,gCAAgC,EAAEH,UAAU,CAAC,CAAC;YAC5E,EAAE,OAAOI,KAAK;gBACZ,IAAI,CAACC,GAAG,CAACC,MAAM,CAACC,KAAK,CAAC;oBAAEH;oBAAKI,KAAK,CAAC,2BAA2B,EAAER,WAAW;gBAAC;YAC9E;QACF;IACF;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CreateJSONQueryArgs } from '../../types.js';
2
+ export declare const createJSONQuery: ({ column, operator, pathSegments, value }: CreateJSONQueryArgs) => string;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/postgres/createJSONQuery/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAuCzD,eAAO,MAAM,eAAe,8CAA+C,mBAAmB,WA8B7F,CAAA"}
@@ -0,0 +1,67 @@
1
+ import { APIError } from '@hanzo/cms';
2
+ import { SAFE_STRING_REGEX } from '../../utilities/escapeSQLValue.js';
3
+ import { sanitizePathSegment } from '../../utilities/sanitizePathSegment.js';
4
+ const operatorMap = {
5
+ contains: '~',
6
+ equals: '==',
7
+ in: 'in',
8
+ like: 'like_regex',
9
+ not_equals: '!=',
10
+ not_in: 'in',
11
+ not_like: '!like_regex'
12
+ };
13
+ const sanitizeValue = (value, operator)=>{
14
+ if (value === null) {
15
+ return `NULL`;
16
+ }
17
+ if (typeof value === 'number' || typeof value === 'boolean') {
18
+ return `${value}`;
19
+ }
20
+ if (typeof value !== 'string') {
21
+ throw new Error('Invalid value type');
22
+ }
23
+ if (!SAFE_STRING_REGEX.test(value)) {
24
+ throw new APIError(`${value} is not allowed as a JSON query value`, 400);
25
+ }
26
+ const escaped = value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
27
+ const prefix = [
28
+ 'like',
29
+ 'not_like'
30
+ ].includes(operator ?? '') ? '(?i)' : '';
31
+ return `"${prefix}${escaped}"`;
32
+ };
33
+ export const createJSONQuery = ({ column, operator, pathSegments, value })=>{
34
+ const columnName = typeof column === 'object' ? column.name : column;
35
+ const jsonPaths = pathSegments.slice(1).map((key)=>{
36
+ return `${sanitizePathSegment(key)}[*]`;
37
+ }).join('.');
38
+ const fullPath = pathSegments.length === 1 ? '$[*]' : `$.${jsonPaths}`;
39
+ let sql = '';
40
+ if ([
41
+ 'in',
42
+ 'not_in'
43
+ ].includes(operator) && Array.isArray(value)) {
44
+ sql = '(';
45
+ value.forEach((item, i)=>{
46
+ sql = `${sql}${createJSONQuery({
47
+ column,
48
+ operator: operator === 'in' ? 'equals' : 'not_equals',
49
+ pathSegments,
50
+ value: item
51
+ })}${i === value.length - 1 ? '' : ` ${operator === 'in' ? 'OR' : 'AND'} `}`;
52
+ });
53
+ sql = `${sql})`;
54
+ } else if (operator === 'exists') {
55
+ sql = `${value === false ? 'NOT ' : ''}jsonb_path_exists(${columnName}, '${fullPath}')`;
56
+ } else if ([
57
+ 'not_like'
58
+ ].includes(operator)) {
59
+ const mappedOperator = operatorMap[operator];
60
+ sql = `NOT jsonb_path_exists(${columnName}, '${fullPath} ? (@ ${mappedOperator.substring(1)} ${sanitizeValue(value, operator)})')`;
61
+ } else {
62
+ sql = `jsonb_path_exists(${columnName}, '${fullPath} ? (@ ${operatorMap[operator]} ${sanitizeValue(value, operator)})')`;
63
+ }
64
+ return sql;
65
+ };
66
+
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/postgres/createJSONQuery/index.ts"],"sourcesContent":["import { APIError } from '@hanzo/cms'\n\nimport type { CreateJSONQueryArgs } from '../../types.js'\n\nimport { SAFE_STRING_REGEX } from '../../utilities/escapeSQLValue.js'\nimport { sanitizePathSegment } from '../../utilities/sanitizePathSegment.js'\n\nconst operatorMap: Record<string, string> = {\n contains: '~',\n equals: '==',\n in: 'in',\n like: 'like_regex',\n not_equals: '!=',\n not_in: 'in',\n not_like: '!like_regex',\n}\n\nconst sanitizeValue = (value: unknown, operator?: string): string => {\n if (value === null) {\n return `NULL`\n }\n\n if (typeof value === 'number' || typeof value === 'boolean') {\n return `${value}`\n }\n\n if (typeof value !== 'string') {\n throw new Error('Invalid value type')\n }\n\n if (!SAFE_STRING_REGEX.test(value)) {\n throw new APIError(`${value} is not allowed as a JSON query value`, 400)\n }\n\n const escaped = value.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"')\n\n const prefix = ['like', 'not_like'].includes(operator ?? '') ? '(?i)' : ''\n\n return `\"${prefix}${escaped}\"`\n}\n\nexport const createJSONQuery = ({ column, operator, pathSegments, value }: CreateJSONQueryArgs) => {\n const columnName = typeof column === 'object' ? column.name : column\n const jsonPaths = pathSegments\n .slice(1)\n .map((key) => {\n return `${sanitizePathSegment(key)}[*]`\n })\n .join('.')\n\n const fullPath = pathSegments.length === 1 ? '$[*]' : `$.${jsonPaths}`\n\n let sql = ''\n\n if (['in', 'not_in'].includes(operator) && Array.isArray(value)) {\n sql = '('\n value.forEach((item, i) => {\n sql = `${sql}${createJSONQuery({ column, operator: operator === 'in' ? 'equals' : 'not_equals', pathSegments, value: item })}${i === value.length - 1 ? '' : ` ${operator === 'in' ? 'OR' : 'AND'} `}`\n })\n sql = `${sql})`\n } else if (operator === 'exists') {\n sql = `${value === false ? 'NOT ' : ''}jsonb_path_exists(${columnName}, '${fullPath}')`\n } else if (['not_like'].includes(operator)) {\n const mappedOperator = operatorMap[operator]\n\n sql = `NOT jsonb_path_exists(${columnName}, '${fullPath} ? (@ ${mappedOperator.substring(1)} ${sanitizeValue(value, operator)})')`\n } else {\n sql = `jsonb_path_exists(${columnName}, '${fullPath} ? (@ ${operatorMap[operator]} ${sanitizeValue(value, operator)})')`\n }\n\n return sql\n}\n"],"names":["APIError","SAFE_STRING_REGEX","sanitizePathSegment","operatorMap","contains","equals","in","like","not_equals","not_in","not_like","sanitizeValue","value","operator","Error","test","escaped","replace","prefix","includes","createJSONQuery","column","pathSegments","columnName","name","jsonPaths","slice","map","key","join","fullPath","length","sql","Array","isArray","forEach","item","i","mappedOperator","substring"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,aAAY;AAIrC,SAASC,iBAAiB,QAAQ,oCAAmC;AACrE,SAASC,mBAAmB,QAAQ,yCAAwC;AAE5E,MAAMC,cAAsC;IAC1CC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC,MAAM;IACNC,YAAY;IACZC,QAAQ;IACRC,UAAU;AACZ;AAEA,MAAMC,gBAAgB,CAACC,OAAgBC;IACrC,IAAID,UAAU,MAAM;QAClB,OAAO,CAAC,IAAI,CAAC;IACf;IAEA,IAAI,OAAOA,UAAU,YAAY,OAAOA,UAAU,WAAW;QAC3D,OAAO,GAAGA,OAAO;IACnB;IAEA,IAAI,OAAOA,UAAU,UAAU;QAC7B,MAAM,IAAIE,MAAM;IAClB;IAEA,IAAI,CAACb,kBAAkBc,IAAI,CAACH,QAAQ;QAClC,MAAM,IAAIZ,SAAS,GAAGY,MAAM,qCAAqC,CAAC,EAAE;IACtE;IAEA,MAAMI,UAAUJ,MAAMK,OAAO,CAAC,OAAO,QAAQA,OAAO,CAAC,MAAM;IAE3D,MAAMC,SAAS;QAAC;QAAQ;KAAW,CAACC,QAAQ,CAACN,YAAY,MAAM,SAAS;IAExE,OAAO,CAAC,CAAC,EAAEK,SAASF,QAAQ,CAAC,CAAC;AAChC;AAEA,OAAO,MAAMI,kBAAkB,CAAC,EAAEC,MAAM,EAAER,QAAQ,EAAES,YAAY,EAAEV,KAAK,EAAuB;IAC5F,MAAMW,aAAa,OAAOF,WAAW,WAAWA,OAAOG,IAAI,GAAGH;IAC9D,MAAMI,YAAYH,aACfI,KAAK,CAAC,GACNC,GAAG,CAAC,CAACC;QACJ,OAAO,GAAG1B,oBAAoB0B,KAAK,GAAG,CAAC;IACzC,GACCC,IAAI,CAAC;IAER,MAAMC,WAAWR,aAAaS,MAAM,KAAK,IAAI,SAAS,CAAC,EAAE,EAAEN,WAAW;IAEtE,IAAIO,MAAM;IAEV,IAAI;QAAC;QAAM;KAAS,CAACb,QAAQ,CAACN,aAAaoB,MAAMC,OAAO,CAACtB,QAAQ;QAC/DoB,MAAM;QACNpB,MAAMuB,OAAO,CAAC,CAACC,MAAMC;YACnBL,MAAM,GAAGA,MAAMZ,gBAAgB;gBAAEC;gBAAQR,UAAUA,aAAa,OAAO,WAAW;gBAAcS;gBAAcV,OAAOwB;YAAK,KAAKC,MAAMzB,MAAMmB,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAElB,aAAa,OAAO,OAAO,MAAM,CAAC,CAAC,EAAE;QACxM;QACAmB,MAAM,GAAGA,IAAI,CAAC,CAAC;IACjB,OAAO,IAAInB,aAAa,UAAU;QAChCmB,MAAM,GAAGpB,UAAU,QAAQ,SAAS,GAAG,kBAAkB,EAAEW,WAAW,GAAG,EAAEO,SAAS,EAAE,CAAC;IACzF,OAAO,IAAI;QAAC;KAAW,CAACX,QAAQ,CAACN,WAAW;QAC1C,MAAMyB,iBAAiBnC,WAAW,CAACU,SAAS;QAE5CmB,MAAM,CAAC,sBAAsB,EAAET,WAAW,GAAG,EAAEO,SAAS,MAAM,EAAEQ,eAAeC,SAAS,CAAC,GAAG,CAAC,EAAE5B,cAAcC,OAAOC,UAAU,GAAG,CAAC;IACpI,OAAO;QACLmB,MAAM,CAAC,kBAAkB,EAAET,WAAW,GAAG,EAAEO,SAAS,MAAM,EAAE3B,WAAW,CAACU,SAAS,CAAC,CAAC,EAAEF,cAAcC,OAAOC,UAAU,GAAG,CAAC;IAC1H;IAEA,OAAOmB;AACT,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DrizzleSnapshotJSON } from 'drizzle-kit/api';
2
+ export declare const defaultDrizzleSnapshot: DrizzleSnapshotJSON;
3
+ //# sourceMappingURL=defaultSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../../src/postgres/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,eAAO,MAAM,sBAAsB,EAAE,mBAiBpC,CAAA"}
@@ -0,0 +1,20 @@
1
+ export const defaultDrizzleSnapshot = {
2
+ id: '00000000-0000-0000-0000-000000000000',
3
+ _meta: {
4
+ columns: {},
5
+ schemas: {},
6
+ tables: {}
7
+ },
8
+ dialect: 'postgresql',
9
+ enums: {},
10
+ policies: {},
11
+ prevId: '00000000-0000-0000-0000-00000000000',
12
+ roles: {},
13
+ schemas: {},
14
+ sequences: {},
15
+ tables: {},
16
+ version: '7',
17
+ views: {}
18
+ };
19
+
20
+ //# sourceMappingURL=defaultSnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n schemas: {},\n tables: {},\n },\n dialect: 'postgresql',\n enums: {},\n policies: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n roles: {},\n schemas: {},\n sequences: {},\n tables: {},\n version: '7',\n views: {},\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","schemas","tables","dialect","enums","policies","prevId","roles","sequences","version","views"],"mappings":"AAEA,OAAO,MAAMA,yBAA8C;IACzDC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,UAAU,CAAC;IACXC,QAAQ;IACRC,OAAO,CAAC;IACRN,SAAS,CAAC;IACVO,WAAW,CAAC;IACZN,QAAQ,CAAC;IACTO,SAAS;IACTC,OAAO,CAAC;AACV,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DeleteWhere } from './types.js';
2
+ export declare const deleteWhere: DeleteWhere;
3
+ //# sourceMappingURL=deleteWhere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteWhere.d.ts","sourceRoot":"","sources":["../../src/postgres/deleteWhere.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,eAAO,MAAM,WAAW,EAAE,WAGzB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export const deleteWhere = async function deleteWhere({ db, tableName, where }) {
2
+ const table = this.tables[tableName];
3
+ await db.delete(table).where(where);
4
+ };
5
+
6
+ //# sourceMappingURL=deleteWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/deleteWhere.ts"],"sourcesContent":["import type { TransactionPg } from '../types.js'\nimport type { DeleteWhere } from './types.js'\n\nexport const deleteWhere: DeleteWhere = async function deleteWhere({ db, tableName, where }) {\n const table = this.tables[tableName]\n await (db as TransactionPg).delete(table).where(where)\n}\n"],"names":["deleteWhere","db","tableName","where","table","tables","delete"],"mappings":"AAGA,OAAO,MAAMA,cAA2B,eAAeA,YAAY,EAAEC,EAAE,EAAEC,SAAS,EAAEC,KAAK,EAAE;IACzF,MAAMC,QAAQ,IAAI,CAACC,MAAM,CAACH,UAAU;IACpC,MAAM,AAACD,GAAqBK,MAAM,CAACF,OAAOD,KAAK,CAACA;AAClD,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DropDatabase } from './types.js';
2
+ export declare const dropDatabase: DropDatabase;
3
+ //# sourceMappingURL=dropDatabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropDatabase.d.ts","sourceRoot":"","sources":["../../src/postgres/dropDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,YAAY,EAAE,YAM1B,CAAA"}
@@ -0,0 +1,9 @@
1
+ export const dropDatabase = async function dropDatabase({ adapter }) {
2
+ await adapter.execute({
3
+ drizzle: adapter.drizzle,
4
+ raw: `drop schema if exists ${this.schemaName || 'public'} cascade;
5
+ create schema ${this.schemaName || 'public'};`
6
+ });
7
+ };
8
+
9
+ //# sourceMappingURL=dropDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/dropDatabase.ts"],"sourcesContent":["import type { DropDatabase } from './types.js'\n\nexport const dropDatabase: DropDatabase = async function dropDatabase({ adapter }) {\n await adapter.execute({\n drizzle: adapter.drizzle,\n raw: `drop schema if exists ${this.schemaName || 'public'} cascade;\n create schema ${this.schemaName || 'public'};`,\n })\n}\n"],"names":["dropDatabase","adapter","execute","drizzle","raw","schemaName"],"mappings":"AAEA,OAAO,MAAMA,eAA6B,eAAeA,aAAa,EAAEC,OAAO,EAAE;IAC/E,MAAMA,QAAQC,OAAO,CAAC;QACpBC,SAASF,QAAQE,OAAO;QACxBC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAACC,UAAU,IAAI,SAAS;kBAC5C,EAAE,IAAI,CAACA,UAAU,IAAI,SAAS,CAAC,CAAC;IAChD;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Execute } from './types.js';
2
+ export declare const execute: Execute<any>;
3
+ //# sourceMappingURL=execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/postgres/execute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,GAAG,CAQhC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { sql } from 'drizzle-orm';
2
+ export const execute = function execute({ db, drizzle, raw, sql: statement }) {
3
+ const executeFrom = db ?? drizzle;
4
+ if (raw) {
5
+ return executeFrom.execute(sql.raw(raw));
6
+ } else {
7
+ return executeFrom.execute(sql`${statement}`);
8
+ }
9
+ };
10
+
11
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/execute.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\n\nimport type { Execute } from './types.js'\n\nexport const execute: Execute<any> = function execute({ db, drizzle, raw, sql: statement }) {\n const executeFrom = db ?? drizzle\n\n if (raw) {\n return executeFrom.execute(sql.raw(raw))\n } else {\n return executeFrom.execute(sql`${statement}`)\n }\n}\n"],"names":["sql","execute","db","drizzle","raw","statement","executeFrom"],"mappings":"AAAA,SAASA,GAAG,QAAQ,cAAa;AAIjC,OAAO,MAAMC,UAAwB,SAASA,QAAQ,EAAEC,EAAE,EAAEC,OAAO,EAAEC,GAAG,EAAEJ,KAAKK,SAAS,EAAE;IACxF,MAAMC,cAAcJ,MAAMC;IAE1B,IAAIC,KAAK;QACP,OAAOE,YAAYL,OAAO,CAACD,IAAII,GAAG,CAACA;IACrC,OAAO;QACL,OAAOE,YAAYL,OAAO,CAACD,GAAG,CAAC,EAAEK,UAAU,CAAC;IAC9C;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Init } from '@hanzo/cms';
2
+ export declare const init: Init;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/postgres/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAUtC,eAAO,MAAM,IAAI,EAAE,IAkClB,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { buildDrizzleRelations } from '../schema/buildDrizzleRelations.js';
2
+ import { buildRawSchema } from '../schema/buildRawSchema.js';
3
+ import { executeSchemaHooks } from '../utilities/executeSchemaHooks.js';
4
+ import { buildDrizzleTable } from './schema/buildDrizzleTable.js';
5
+ import { setColumnID } from './schema/setColumnID.js';
6
+ export const init = async function init() {
7
+ this.rawRelations = {};
8
+ this.rawTables = {};
9
+ buildRawSchema({
10
+ adapter: this,
11
+ setColumnID
12
+ });
13
+ await executeSchemaHooks({
14
+ type: 'beforeSchemaInit',
15
+ adapter: this
16
+ });
17
+ if (this.cms.config.localization) {
18
+ this.enums.enum__locales = this.pgSchema.enum('_locales', this.cms.config.localization.locales.map(({ code })=>code));
19
+ }
20
+ for(const tableName in this.rawTables){
21
+ buildDrizzleTable({
22
+ adapter: this,
23
+ rawTable: this.rawTables[tableName]
24
+ });
25
+ }
26
+ buildDrizzleRelations({
27
+ adapter: this
28
+ });
29
+ await executeSchemaHooks({
30
+ type: 'afterSchemaInit',
31
+ adapter: this
32
+ });
33
+ this.schema = {
34
+ pgSchema: this.pgSchema,
35
+ ...this.tables,
36
+ ...this.relations,
37
+ ...this.enums
38
+ };
39
+ };
40
+
41
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/init.ts"],"sourcesContent":["import type { Init } from '@hanzo/cms'\n\nimport type { BasePostgresAdapter } from './types.js'\n\nimport { buildDrizzleRelations } from '../schema/buildDrizzleRelations.js'\nimport { buildRawSchema } from '../schema/buildRawSchema.js'\nimport { executeSchemaHooks } from '../utilities/executeSchemaHooks.js'\nimport { buildDrizzleTable } from './schema/buildDrizzleTable.js'\nimport { setColumnID } from './schema/setColumnID.js'\n\nexport const init: Init = async function init(this: BasePostgresAdapter) {\n this.rawRelations = {}\n this.rawTables = {}\n\n buildRawSchema({\n adapter: this,\n setColumnID,\n })\n\n await executeSchemaHooks({ type: 'beforeSchemaInit', adapter: this })\n\n if (this.cms.config.localization) {\n this.enums.enum__locales = this.pgSchema.enum(\n '_locales',\n this.cms.config.localization.locales.map(({ code }) => code) as [string, ...string[]],\n )\n }\n\n for (const tableName in this.rawTables) {\n buildDrizzleTable({ adapter: this, rawTable: this.rawTables[tableName] })\n }\n\n buildDrizzleRelations({\n adapter: this,\n })\n\n await executeSchemaHooks({ type: 'afterSchemaInit', adapter: this })\n\n this.schema = {\n pgSchema: this.pgSchema,\n ...this.tables,\n ...this.relations,\n ...this.enums,\n }\n}\n"],"names":["buildDrizzleRelations","buildRawSchema","executeSchemaHooks","buildDrizzleTable","setColumnID","init","rawRelations","rawTables","adapter","type","cms","config","localization","enums","enum__locales","pgSchema","enum","locales","map","code","tableName","rawTable","schema","tables","relations"],"mappings":"AAIA,SAASA,qBAAqB,QAAQ,qCAAoC;AAC1E,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,kBAAkB,QAAQ,qCAAoC;AACvE,SAASC,iBAAiB,QAAQ,gCAA+B;AACjE,SAASC,WAAW,QAAQ,0BAAyB;AAErD,OAAO,MAAMC,OAAa,eAAeA;IACvC,IAAI,CAACC,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,SAAS,GAAG,CAAC;IAElBN,eAAe;QACbO,SAAS,IAAI;QACbJ;IACF;IAEA,MAAMF,mBAAmB;QAAEO,MAAM;QAAoBD,SAAS,IAAI;IAAC;IAEnE,IAAI,IAAI,CAACE,GAAG,CAACC,MAAM,CAACC,YAAY,EAAE;QAChC,IAAI,CAACC,KAAK,CAACC,aAAa,GAAG,IAAI,CAACC,QAAQ,CAACC,IAAI,CAC3C,YACA,IAAI,CAACN,GAAG,CAACC,MAAM,CAACC,YAAY,CAACK,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IAE3D;IAEA,IAAK,MAAMC,aAAa,IAAI,CAACb,SAAS,CAAE;QACtCJ,kBAAkB;YAAEK,SAAS,IAAI;YAAEa,UAAU,IAAI,CAACd,SAAS,CAACa,UAAU;QAAC;IACzE;IAEApB,sBAAsB;QACpBQ,SAAS,IAAI;IACf;IAEA,MAAMN,mBAAmB;QAAEO,MAAM;QAAmBD,SAAS,IAAI;IAAC;IAElE,IAAI,CAACc,MAAM,GAAG;QACZP,UAAU,IAAI,CAACA,QAAQ;QACvB,GAAG,IAAI,CAACQ,MAAM;QACd,GAAG,IAAI,CAACC,SAAS;QACjB,GAAG,IAAI,CAACX,KAAK;IACf;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Insert } from './types.js';
2
+ export declare const insert: Insert;
3
+ //# sourceMappingURL=insert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/postgres/insert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,MAAM,EAAE,MAoBpB,CAAA"}