@payloadcms/drizzle 4.0.0-internal.293e026 → 4.0.0-internal.2d11d2e

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 (398) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/count.d.ts.map +1 -1
  3. package/dist/count.js +25 -3
  4. package/dist/count.js.map +1 -1
  5. package/dist/countGlobalVersions.js +8 -3
  6. package/dist/countGlobalVersions.js.map +1 -1
  7. package/dist/countVersions.d.ts.map +1 -1
  8. package/dist/countVersions.js +29 -4
  9. package/dist/countVersions.js.map +1 -1
  10. package/dist/createGlobalVersion.d.ts.map +1 -1
  11. package/dist/createGlobalVersion.js +17 -2
  12. package/dist/createGlobalVersion.js.map +1 -1
  13. package/dist/createTableName.d.ts.map +1 -1
  14. package/dist/createTableName.js +2 -7
  15. package/dist/createTableName.js.map +1 -1
  16. package/dist/createVersion.d.ts.map +1 -1
  17. package/dist/createVersion.js +12 -1
  18. package/dist/createVersion.js.map +1 -1
  19. package/dist/deleteBranchGlobal.d.ts +10 -0
  20. package/dist/deleteBranchGlobal.d.ts.map +1 -0
  21. package/dist/deleteBranchGlobal.js +27 -0
  22. package/dist/deleteBranchGlobal.js.map +1 -0
  23. package/dist/deleteOne.d.ts.map +1 -1
  24. package/dist/deleteOne.js +25 -1
  25. package/dist/deleteOne.js.map +1 -1
  26. package/dist/exports/postgres.d.ts +5 -1
  27. package/dist/exports/postgres.d.ts.map +1 -1
  28. package/dist/exports/postgres.js +5 -1
  29. package/dist/exports/postgres.js.map +1 -1
  30. package/dist/exports/sqlite.d.ts +3 -1
  31. package/dist/exports/sqlite.d.ts.map +1 -1
  32. package/dist/exports/sqlite.js +3 -1
  33. package/dist/exports/sqlite.js.map +1 -1
  34. package/dist/find/buildFindManyArgs.d.ts +3 -2
  35. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  36. package/dist/find/buildFindManyArgs.js +2 -1
  37. package/dist/find/buildFindManyArgs.js.map +1 -1
  38. package/dist/find/buildPolymorphicJoinQuery.d.ts +40 -0
  39. package/dist/find/buildPolymorphicJoinQuery.d.ts.map +1 -0
  40. package/dist/find/buildPolymorphicJoinQuery.js +163 -0
  41. package/dist/find/buildPolymorphicJoinQuery.js.map +1 -0
  42. package/dist/find/buildPolymorphicJoinWhere.d.ts +20 -0
  43. package/dist/find/buildPolymorphicJoinWhere.d.ts.map +1 -0
  44. package/dist/find/buildPolymorphicJoinWhere.js +301 -0
  45. package/dist/find/buildPolymorphicJoinWhere.js.map +1 -0
  46. package/dist/find/createPolymorphicJoinWherePlan.d.ts +38 -0
  47. package/dist/find/createPolymorphicJoinWherePlan.d.ts.map +1 -0
  48. package/dist/find/createPolymorphicJoinWherePlan.js +200 -0
  49. package/dist/find/createPolymorphicJoinWherePlan.js.map +1 -0
  50. package/dist/find/findMany.d.ts +6 -1
  51. package/dist/find/findMany.d.ts.map +1 -1
  52. package/dist/find/findMany.js +16 -3
  53. package/dist/find/findMany.js.map +1 -1
  54. package/dist/find/traverseFields.d.ts +3 -2
  55. package/dist/find/traverseFields.d.ts.map +1 -1
  56. package/dist/find/traverseFields.js +82 -199
  57. package/dist/find/traverseFields.js.map +1 -1
  58. package/dist/find.d.ts.map +1 -1
  59. package/dist/find.js +32 -4
  60. package/dist/find.js.map +1 -1
  61. package/dist/findDistinct.d.ts.map +1 -1
  62. package/dist/findDistinct.js +104 -8
  63. package/dist/findDistinct.js.map +1 -1
  64. package/dist/findGlobal.d.ts.map +1 -1
  65. package/dist/findGlobal.js +24 -5
  66. package/dist/findGlobal.js.map +1 -1
  67. package/dist/findGlobalVersions.js +8 -3
  68. package/dist/findGlobalVersions.js.map +1 -1
  69. package/dist/findOne.d.ts +1 -1
  70. package/dist/findOne.d.ts.map +1 -1
  71. package/dist/findOne.js +30 -3
  72. package/dist/findOne.js.map +1 -1
  73. package/dist/findVersions.d.ts.map +1 -1
  74. package/dist/findVersions.js +32 -5
  75. package/dist/findVersions.js.map +1 -1
  76. package/dist/index.d.ts +6 -11
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +4 -9
  79. package/dist/index.js.map +1 -1
  80. package/dist/migrate.d.ts.map +1 -1
  81. package/dist/migrate.js +41 -15
  82. package/dist/migrate.js.map +1 -1
  83. package/dist/migrateDown.d.ts +2 -1
  84. package/dist/migrateDown.d.ts.map +1 -1
  85. package/dist/migrateDown.js +17 -4
  86. package/dist/migrateDown.js.map +1 -1
  87. package/dist/migrateFresh.d.ts +4 -2
  88. package/dist/migrateFresh.d.ts.map +1 -1
  89. package/dist/migrateFresh.js +26 -9
  90. package/dist/migrateFresh.js.map +1 -1
  91. package/dist/migrateRefresh.d.ts +2 -1
  92. package/dist/migrateRefresh.d.ts.map +1 -1
  93. package/dist/migrateRefresh.js +20 -5
  94. package/dist/migrateRefresh.js.map +1 -1
  95. package/dist/migrateReset.d.ts +2 -1
  96. package/dist/migrateReset.d.ts.map +1 -1
  97. package/dist/migrateReset.js +18 -4
  98. package/dist/migrateReset.js.map +1 -1
  99. package/dist/migrateStatus.d.ts +2 -1
  100. package/dist/migrateStatus.d.ts.map +1 -1
  101. package/dist/migrateStatus.js +11 -6
  102. package/dist/migrateStatus.js.map +1 -1
  103. package/dist/postgres/createDatabase.d.ts.map +1 -1
  104. package/dist/postgres/createExtensions.d.ts.map +1 -1
  105. package/dist/postgres/createJSONQuery/index.d.ts.map +1 -1
  106. package/dist/postgres/createJSONQuery/index.js +3 -3
  107. package/dist/postgres/createJSONQuery/index.js.map +1 -1
  108. package/dist/postgres/init.d.ts.map +1 -1
  109. package/dist/postgres/init.js +6 -0
  110. package/dist/postgres/init.js.map +1 -1
  111. package/dist/postgres/insert.d.ts.map +1 -1
  112. package/dist/postgres/insert.js +4 -2
  113. package/dist/postgres/insert.js.map +1 -1
  114. package/dist/postgres/predefinedMigrations/localize-status/index.d.ts +11 -0
  115. package/dist/postgres/predefinedMigrations/localize-status/index.d.ts.map +1 -0
  116. package/dist/postgres/predefinedMigrations/localize-status/index.js +296 -0
  117. package/dist/postgres/predefinedMigrations/localize-status/index.js.map +1 -0
  118. package/dist/postgres/predefinedMigrations/localize-status/migrateMainCollection.d.ts +13 -0
  119. package/dist/postgres/predefinedMigrations/localize-status/migrateMainCollection.d.ts.map +1 -0
  120. package/dist/postgres/predefinedMigrations/localize-status/migrateMainCollection.js +51 -0
  121. package/dist/postgres/predefinedMigrations/localize-status/migrateMainCollection.js.map +1 -0
  122. package/dist/postgres/predefinedMigrations/localize-status/migrateMainGlobal.d.ts +13 -0
  123. package/dist/postgres/predefinedMigrations/localize-status/migrateMainGlobal.d.ts.map +1 -0
  124. package/dist/postgres/predefinedMigrations/localize-status/migrateMainGlobal.js +54 -0
  125. package/dist/postgres/predefinedMigrations/localize-status/migrateMainGlobal.js.map +1 -0
  126. package/dist/postgres/predefinedMigrations/sizes-to-variants/index.d.ts +35 -0
  127. package/dist/postgres/predefinedMigrations/sizes-to-variants/index.d.ts.map +1 -0
  128. package/dist/postgres/predefinedMigrations/sizes-to-variants/index.js +185 -0
  129. package/dist/postgres/predefinedMigrations/sizes-to-variants/index.js.map +1 -0
  130. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts.map +1 -1
  131. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js +8 -4
  132. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js.map +1 -1
  133. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts.map +1 -1
  134. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts.map +1 -1
  135. package/dist/postgres/predefinedMigrations/v2-v3/index.d.ts.map +1 -1
  136. package/dist/postgres/predefinedMigrations/v2-v3/index.js +2 -2
  137. package/dist/postgres/predefinedMigrations/v2-v3/index.js.map +1 -1
  138. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.d.ts.map +1 -1
  139. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.d.ts.map +1 -1
  140. package/dist/postgres/query/assertOperatorHandlerExtensionsInstalled.d.ts +15 -0
  141. package/dist/postgres/query/assertOperatorHandlerExtensionsInstalled.d.ts.map +1 -0
  142. package/dist/postgres/query/assertOperatorHandlerExtensionsInstalled.js +25 -0
  143. package/dist/postgres/query/assertOperatorHandlerExtensionsInstalled.js.map +1 -0
  144. package/dist/postgres/query/postgresUnaccent.d.ts +13 -0
  145. package/dist/postgres/query/postgresUnaccent.d.ts.map +1 -0
  146. package/dist/postgres/query/postgresUnaccent.js +40 -0
  147. package/dist/postgres/query/postgresUnaccent.js.map +1 -0
  148. package/dist/postgres/requireDrizzleKit.d.ts +4 -0
  149. package/dist/postgres/requireDrizzleKit.d.ts.map +1 -1
  150. package/dist/postgres/requireDrizzleKit.js +16 -10
  151. package/dist/postgres/requireDrizzleKit.js.map +1 -1
  152. package/dist/postgres/schema/buildDrizzleTable.d.ts.map +1 -1
  153. package/dist/postgres/schema/geometryColumn.d.ts +2 -2
  154. package/dist/postgres/schema/geometryColumn.d.ts.map +1 -1
  155. package/dist/postgres/types.d.ts +17 -2
  156. package/dist/postgres/types.d.ts.map +1 -1
  157. package/dist/postgres/types.js.map +1 -1
  158. package/dist/queries/addJoinTable.d.ts +1 -1
  159. package/dist/queries/addJoinTable.d.ts.map +1 -1
  160. package/dist/queries/buildAndOrConditions.d.ts +3 -2
  161. package/dist/queries/buildAndOrConditions.d.ts.map +1 -1
  162. package/dist/queries/buildAndOrConditions.js +2 -1
  163. package/dist/queries/buildAndOrConditions.js.map +1 -1
  164. package/dist/queries/buildBranchVisibility.d.ts +11 -0
  165. package/dist/queries/buildBranchVisibility.d.ts.map +1 -0
  166. package/dist/queries/buildBranchVisibility.js +48 -0
  167. package/dist/queries/buildBranchVisibility.js.map +1 -0
  168. package/dist/queries/buildOperatorConstraint.d.ts +22 -0
  169. package/dist/queries/buildOperatorConstraint.d.ts.map +1 -0
  170. package/dist/queries/buildOperatorConstraint.js +63 -0
  171. package/dist/queries/buildOperatorConstraint.js.map +1 -0
  172. package/dist/queries/buildOrderBy.d.ts +3 -2
  173. package/dist/queries/buildOrderBy.d.ts.map +1 -1
  174. package/dist/queries/buildOrderBy.js +2 -1
  175. package/dist/queries/buildOrderBy.js.map +1 -1
  176. package/dist/queries/buildQuery.d.ts +3 -2
  177. package/dist/queries/buildQuery.d.ts.map +1 -1
  178. package/dist/queries/buildQuery.js +4 -2
  179. package/dist/queries/buildQuery.js.map +1 -1
  180. package/dist/queries/getTableAlias.d.ts.map +1 -1
  181. package/dist/queries/getTableColumnFromPath.d.ts +15 -5
  182. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  183. package/dist/queries/getTableColumnFromPath.js +226 -56
  184. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  185. package/dist/queries/operatorMap.d.ts +7 -3
  186. package/dist/queries/operatorMap.d.ts.map +1 -1
  187. package/dist/queries/operatorMap.js.map +1 -1
  188. package/dist/queries/parseParams.d.ts +3 -2
  189. package/dist/queries/parseParams.d.ts.map +1 -1
  190. package/dist/queries/parseParams.js +266 -11
  191. package/dist/queries/parseParams.js.map +1 -1
  192. package/dist/queries/resolveRelationshipPath.d.ts +36 -0
  193. package/dist/queries/resolveRelationshipPath.d.ts.map +1 -0
  194. package/dist/queries/resolveRelationshipPath.js +66 -0
  195. package/dist/queries/resolveRelationshipPath.js.map +1 -0
  196. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
  197. package/dist/queries/selectDistinct.d.ts.map +1 -1
  198. package/dist/queries/validateOperatorHandlers.d.ts +8 -0
  199. package/dist/queries/validateOperatorHandlers.d.ts.map +1 -0
  200. package/dist/queries/validateOperatorHandlers.js +30 -0
  201. package/dist/queries/validateOperatorHandlers.js.map +1 -0
  202. package/dist/queryDrafts.d.ts.map +1 -1
  203. package/dist/queryDrafts.js +27 -5
  204. package/dist/queryDrafts.js.map +1 -1
  205. package/dist/schema/build.d.ts.map +1 -1
  206. package/dist/schema/build.js +28 -20
  207. package/dist/schema/build.js.map +1 -1
  208. package/dist/schema/buildDrizzleRelations.d.ts.map +1 -1
  209. package/dist/schema/buildRawSchema.d.ts.map +1 -1
  210. package/dist/schema/idToUUID.d.ts.map +1 -1
  211. package/dist/schema/traverseFields.d.ts.map +1 -1
  212. package/dist/schema/traverseFields.js +6 -5
  213. package/dist/schema/traverseFields.js.map +1 -1
  214. package/dist/schema/withDefault.d.ts.map +1 -1
  215. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.d.ts.map +1 -1
  216. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.js +3 -2
  217. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.js.map +1 -1
  218. package/dist/sqlite/createJSONQuery/index.d.ts.map +1 -1
  219. package/dist/sqlite/createJSONQuery/index.js +6 -5
  220. package/dist/sqlite/createJSONQuery/index.js.map +1 -1
  221. package/dist/sqlite/createRequireDrizzleKit.d.ts +6 -0
  222. package/dist/sqlite/createRequireDrizzleKit.d.ts.map +1 -0
  223. package/dist/sqlite/createRequireDrizzleKit.js +15 -0
  224. package/dist/sqlite/createRequireDrizzleKit.js.map +1 -0
  225. package/dist/sqlite/execute.js.map +1 -1
  226. package/dist/sqlite/insert.d.ts.map +1 -1
  227. package/dist/sqlite/insert.js +9 -4
  228. package/dist/sqlite/insert.js.map +1 -1
  229. package/dist/sqlite/predefinedMigrations/localize-status/index.d.ts +28 -0
  230. package/dist/sqlite/predefinedMigrations/localize-status/index.d.ts.map +1 -0
  231. package/dist/sqlite/predefinedMigrations/localize-status/index.js +198 -0
  232. package/dist/sqlite/predefinedMigrations/localize-status/index.js.map +1 -0
  233. package/dist/sqlite/predefinedMigrations/localize-status/migrateMainCollection.d.ts +12 -0
  234. package/dist/sqlite/predefinedMigrations/localize-status/migrateMainCollection.d.ts.map +1 -0
  235. package/dist/sqlite/predefinedMigrations/localize-status/migrateMainCollection.js +24 -0
  236. package/dist/sqlite/predefinedMigrations/localize-status/migrateMainCollection.js.map +1 -0
  237. package/dist/sqlite/predefinedMigrations/localize-status/migrateMainGlobal.d.ts +12 -0
  238. package/dist/sqlite/predefinedMigrations/localize-status/migrateMainGlobal.d.ts.map +1 -0
  239. package/dist/sqlite/predefinedMigrations/localize-status/migrateMainGlobal.js +28 -0
  240. package/dist/sqlite/predefinedMigrations/localize-status/migrateMainGlobal.js.map +1 -0
  241. package/dist/sqlite/predefinedMigrations/sizes-to-variants/index.d.ts +15 -0
  242. package/dist/sqlite/predefinedMigrations/sizes-to-variants/index.d.ts.map +1 -0
  243. package/dist/sqlite/predefinedMigrations/sizes-to-variants/index.js +114 -0
  244. package/dist/sqlite/predefinedMigrations/sizes-to-variants/index.js.map +1 -0
  245. package/dist/sqlite/types.d.ts +4 -0
  246. package/dist/sqlite/types.d.ts.map +1 -1
  247. package/dist/sqlite/types.js.map +1 -1
  248. package/dist/transactions/beginTransaction.d.ts.map +1 -1
  249. package/dist/transactions/beginTransaction.js +13 -5
  250. package/dist/transactions/beginTransaction.js.map +1 -1
  251. package/dist/transactions/commitTransaction.d.ts.map +1 -1
  252. package/dist/transactions/commitTransaction.js +1 -5
  253. package/dist/transactions/commitTransaction.js.map +1 -1
  254. package/dist/transform/read/hasManyNumber.d.ts.map +1 -1
  255. package/dist/transform/read/hasManyText.d.ts.map +1 -1
  256. package/dist/transform/read/index.d.ts.map +1 -1
  257. package/dist/transform/read/relationship.d.ts.map +1 -1
  258. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  259. package/dist/transform/read/traverseFields.js.map +1 -1
  260. package/dist/transform/write/array.d.ts +3 -2
  261. package/dist/transform/write/array.d.ts.map +1 -1
  262. package/dist/transform/write/array.js +2 -1
  263. package/dist/transform/write/array.js.map +1 -1
  264. package/dist/transform/write/blocks.d.ts +3 -2
  265. package/dist/transform/write/blocks.d.ts.map +1 -1
  266. package/dist/transform/write/blocks.js +2 -1
  267. package/dist/transform/write/blocks.js.map +1 -1
  268. package/dist/transform/write/index.d.ts.map +1 -1
  269. package/dist/transform/write/index.js +2 -0
  270. package/dist/transform/write/index.js.map +1 -1
  271. package/dist/transform/write/numbers.d.ts.map +1 -1
  272. package/dist/transform/write/relationships.d.ts.map +1 -1
  273. package/dist/transform/write/selects.d.ts.map +1 -1
  274. package/dist/transform/write/texts.d.ts.map +1 -1
  275. package/dist/transform/write/traverseFields.d.ts +2 -1
  276. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  277. package/dist/transform/write/traverseFields.js +51 -22
  278. package/dist/transform/write/traverseFields.js.map +1 -1
  279. package/dist/transform/write/types.d.ts +7 -0
  280. package/dist/transform/write/types.d.ts.map +1 -1
  281. package/dist/transform/write/types.js.map +1 -1
  282. package/dist/types.d.ts +53 -8
  283. package/dist/types.d.ts.map +1 -1
  284. package/dist/types.js +1 -3
  285. package/dist/types.js.map +1 -1
  286. package/dist/updateGlobal.d.ts +5 -1
  287. package/dist/updateGlobal.d.ts.map +1 -1
  288. package/dist/updateGlobal.js +96 -4
  289. package/dist/updateGlobal.js.map +1 -1
  290. package/dist/updateJobs.d.ts.map +1 -1
  291. package/dist/updateJobs.js +37 -0
  292. package/dist/updateJobs.js.map +1 -1
  293. package/dist/updateOne.d.ts.map +1 -1
  294. package/dist/updateOne.js +93 -4
  295. package/dist/updateOne.js.map +1 -1
  296. package/dist/upsertBranchGlobalChange.d.ts +3 -0
  297. package/dist/upsertBranchGlobalChange.d.ts.map +1 -0
  298. package/dist/upsertBranchGlobalChange.js +35 -0
  299. package/dist/upsertBranchGlobalChange.js.map +1 -0
  300. package/dist/upsertRow/deleteExistingArrayRows.d.ts.map +1 -1
  301. package/dist/upsertRow/deleteExistingRowsByPath.d.ts.map +1 -1
  302. package/dist/upsertRow/deleteExistingRowsByPath.js +17 -12
  303. package/dist/upsertRow/deleteExistingRowsByPath.js.map +1 -1
  304. package/dist/upsertRow/handleUpsertError.d.ts.map +1 -1
  305. package/dist/upsertRow/handleUpsertError.js +2 -1
  306. package/dist/upsertRow/handleUpsertError.js.map +1 -1
  307. package/dist/upsertRow/index.d.ts +1 -1
  308. package/dist/upsertRow/index.d.ts.map +1 -1
  309. package/dist/upsertRow/index.js +161 -48
  310. package/dist/upsertRow/index.js.map +1 -1
  311. package/dist/upsertRow/insertArrays.d.ts.map +1 -1
  312. package/dist/upsertRow/insertArrays.js +2 -1
  313. package/dist/upsertRow/insertArrays.js.map +1 -1
  314. package/dist/upsertRow/shouldUseOptimizedUpsertRow.d.ts.map +1 -1
  315. package/dist/upsertRow/types.d.ts +3 -0
  316. package/dist/upsertRow/types.d.ts.map +1 -1
  317. package/dist/upsertRow/types.js.map +1 -1
  318. package/dist/utilities/appendPrefixToKeys.d.ts.map +1 -1
  319. package/dist/utilities/blocksToJsonMigrator.d.ts.map +1 -1
  320. package/dist/utilities/blocksToJsonMigrator.js +7 -18
  321. package/dist/utilities/blocksToJsonMigrator.js.map +1 -1
  322. package/dist/utilities/buildCreateMigration.d.ts.map +1 -1
  323. package/dist/utilities/buildCreateMigration.js +13 -9
  324. package/dist/utilities/buildCreateMigration.js.map +1 -1
  325. package/dist/utilities/buildDynamicPredefinedSizesToVariantsMigration.d.ts +15 -0
  326. package/dist/utilities/buildDynamicPredefinedSizesToVariantsMigration.d.ts.map +1 -0
  327. package/dist/utilities/buildDynamicPredefinedSizesToVariantsMigration.js +110 -0
  328. package/dist/utilities/buildDynamicPredefinedSizesToVariantsMigration.js.map +1 -0
  329. package/dist/utilities/buildForeignKeyName.d.ts.map +1 -1
  330. package/dist/utilities/buildForeignKeyName.js +3 -2
  331. package/dist/utilities/buildForeignKeyName.js.map +1 -1
  332. package/dist/utilities/buildIndexName.d.ts.map +1 -1
  333. package/dist/utilities/buildIndexName.js +3 -2
  334. package/dist/utilities/buildIndexName.js.map +1 -1
  335. package/dist/utilities/checkTruncatedIdentifiers.d.ts +13 -0
  336. package/dist/utilities/checkTruncatedIdentifiers.d.ts.map +1 -0
  337. package/dist/utilities/checkTruncatedIdentifiers.js +56 -0
  338. package/dist/utilities/checkTruncatedIdentifiers.js.map +1 -0
  339. package/dist/utilities/createBlocksMap.d.ts.map +1 -1
  340. package/dist/utilities/createRelationshipMap.d.ts.map +1 -1
  341. package/dist/utilities/createSchemaGenerator.d.ts.map +1 -1
  342. package/dist/utilities/createSchemaGenerator.js +10 -12
  343. package/dist/utilities/createSchemaGenerator.js.map +1 -1
  344. package/dist/utilities/escapeSQLValue.d.ts.map +1 -1
  345. package/dist/utilities/executeSchemaHooks.d.ts.map +1 -1
  346. package/dist/utilities/executeSchemaHooks.js +1 -1
  347. package/dist/utilities/executeSchemaHooks.js.map +1 -1
  348. package/dist/utilities/extendDrizzleTable.d.ts.map +1 -1
  349. package/dist/utilities/formatGeneratedFile.d.ts +10 -0
  350. package/dist/utilities/formatGeneratedFile.d.ts.map +1 -0
  351. package/dist/utilities/formatGeneratedFile.js +58 -0
  352. package/dist/utilities/formatGeneratedFile.js.map +1 -0
  353. package/dist/utilities/getArrayRelationName.d.ts.map +1 -1
  354. package/dist/utilities/getCollectionIdType.d.ts.map +1 -1
  355. package/dist/utilities/getMigrationTemplate.d.ts.map +1 -1
  356. package/dist/utilities/getNameFromDrizzleTable.d.ts.map +1 -1
  357. package/dist/utilities/getPrimaryDb.d.ts +1 -1
  358. package/dist/utilities/getPrimaryDb.d.ts.map +1 -1
  359. package/dist/utilities/getSizesToVariantsRenames.d.ts +54 -0
  360. package/dist/utilities/getSizesToVariantsRenames.d.ts.map +1 -0
  361. package/dist/utilities/getSizesToVariantsRenames.js +251 -0
  362. package/dist/utilities/getSizesToVariantsRenames.js.map +1 -0
  363. package/dist/utilities/getTransaction.d.ts +1 -1
  364. package/dist/utilities/getTransaction.d.ts.map +1 -1
  365. package/dist/utilities/getTransaction.js.map +1 -1
  366. package/dist/utilities/hasLocalesTable.d.ts.map +1 -1
  367. package/dist/utilities/isPolymorphicRelationship.d.ts.map +1 -1
  368. package/dist/utilities/isUUIDType.d.ts.map +1 -1
  369. package/dist/utilities/json.d.ts.map +1 -1
  370. package/dist/utilities/migrationTableExists.d.ts.map +1 -1
  371. package/dist/utilities/parseError.d.ts.map +1 -1
  372. package/dist/utilities/parseJSONPathSegment.d.ts +9 -0
  373. package/dist/utilities/parseJSONPathSegment.d.ts.map +1 -0
  374. package/dist/utilities/parseJSONPathSegment.js +17 -0
  375. package/dist/utilities/parseJSONPathSegment.js.map +1 -0
  376. package/dist/utilities/pushDevSchema.d.ts.map +1 -1
  377. package/dist/utilities/pushDevSchema.js +1 -1
  378. package/dist/utilities/pushDevSchema.js.map +1 -1
  379. package/dist/utilities/rawConstraint.d.ts.map +1 -1
  380. package/dist/utilities/sanitizePathSegment.d.ts.map +1 -1
  381. package/dist/utilities/validateExistingBlockIsIdentical.d.ts +1 -5
  382. package/dist/utilities/validateExistingBlockIsIdentical.d.ts.map +1 -1
  383. package/dist/utilities/validateExistingBlockIsIdentical.js.map +1 -1
  384. package/dist/utilities/validateIdentifierLength.d.ts +12 -0
  385. package/dist/utilities/validateIdentifierLength.d.ts.map +1 -0
  386. package/dist/utilities/validateIdentifierLength.js +18 -0
  387. package/dist/utilities/validateIdentifierLength.js.map +1 -0
  388. package/package.json +17 -19
  389. package/dist/find/chainMethods.d.ts +0 -20
  390. package/dist/find/chainMethods.d.ts.map +0 -1
  391. package/dist/find/chainMethods.js +0 -16
  392. package/dist/find/chainMethods.js.map +0 -1
  393. package/dist/sqlite/requireDrizzleKit.d.ts +0 -3
  394. package/dist/sqlite/requireDrizzleKit.d.ts.map +0 -1
  395. package/dist/sqlite/requireDrizzleKit.js +0 -12
  396. package/dist/sqlite/requireDrizzleKit.js.map +0 -1
  397. package/dist/utilities/isValidStringID.spec.js +0 -15
  398. package/dist/utilities/isValidStringID.spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/exports/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAA;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/exports/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAA;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAA;AACrG,OAAO,EAAE,4BAA4B,EAAE,MAAM,2DAA2D,CAAA;AACxG,cAAc,oBAAoB,CAAA"}
@@ -2,13 +2,15 @@ export { columnToCodeConverter } from '../sqlite/columnToCodeConverter.js';
2
2
  export { countDistinct } from '../sqlite/countDistinct.js';
3
3
  export { convertPathToJSONTraversal } from '../sqlite/createJSONQuery/convertPathToJSONTraversal.js';
4
4
  export { createJSONQuery } from '../sqlite/createJSONQuery/index.js';
5
+ export { createRequireDrizzleKit } from '../sqlite/createRequireDrizzleKit.js';
5
6
  export { defaultDrizzleSnapshot } from '../sqlite/defaultSnapshot.js';
6
7
  export { deleteWhere } from '../sqlite/deleteWhere.js';
7
8
  export { dropDatabase } from '../sqlite/dropDatabase.js';
8
9
  export { execute } from '../sqlite/execute.js';
9
10
  export { init } from '../sqlite/init.js';
10
11
  export { insert } from '../sqlite/insert.js';
11
- export { requireDrizzleKit } from '../sqlite/requireDrizzleKit.js';
12
+ export { migrateSqliteLocalizeStatus } from '../sqlite/predefinedMigrations/localize-status/index.js';
13
+ export { migrateSqliteSizesToVariants } from '../sqlite/predefinedMigrations/sizes-to-variants/index.js';
12
14
  export * from '../sqlite/types.js';
13
15
 
14
16
  //# sourceMappingURL=sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exports/sqlite.ts"],"sourcesContent":["export { columnToCodeConverter } from '../sqlite/columnToCodeConverter.js'\nexport { countDistinct } from '../sqlite/countDistinct.js'\nexport { convertPathToJSONTraversal } from '../sqlite/createJSONQuery/convertPathToJSONTraversal.js'\nexport { createJSONQuery } from '../sqlite/createJSONQuery/index.js'\nexport { defaultDrizzleSnapshot } from '../sqlite/defaultSnapshot.js'\nexport { deleteWhere } from '../sqlite/deleteWhere.js'\nexport { dropDatabase } from '../sqlite/dropDatabase.js'\nexport { execute } from '../sqlite/execute.js'\nexport { init } from '../sqlite/init.js'\nexport { insert } from '../sqlite/insert.js'\nexport { requireDrizzleKit } from '../sqlite/requireDrizzleKit.js'\nexport * from '../sqlite/types.js'\n"],"names":["columnToCodeConverter","countDistinct","convertPathToJSONTraversal","createJSONQuery","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","init","insert","requireDrizzleKit"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,qCAAoC;AAC1E,SAASC,aAAa,QAAQ,6BAA4B;AAC1D,SAASC,0BAA0B,QAAQ,0DAAyD;AACpG,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,sBAAsB,QAAQ,+BAA8B;AACrE,SAASC,WAAW,QAAQ,2BAA0B;AACtD,SAASC,YAAY,QAAQ,4BAA2B;AACxD,SAASC,OAAO,QAAQ,uBAAsB;AAC9C,SAASC,IAAI,QAAQ,oBAAmB;AACxC,SAASC,MAAM,QAAQ,sBAAqB;AAC5C,SAASC,iBAAiB,QAAQ,iCAAgC;AAClE,cAAc,qBAAoB"}
1
+ {"version":3,"sources":["../../src/exports/sqlite.ts"],"sourcesContent":["export { columnToCodeConverter } from '../sqlite/columnToCodeConverter.js'\nexport { countDistinct } from '../sqlite/countDistinct.js'\nexport { convertPathToJSONTraversal } from '../sqlite/createJSONQuery/convertPathToJSONTraversal.js'\nexport { createJSONQuery } from '../sqlite/createJSONQuery/index.js'\nexport { createRequireDrizzleKit } from '../sqlite/createRequireDrizzleKit.js'\nexport { defaultDrizzleSnapshot } from '../sqlite/defaultSnapshot.js'\nexport { deleteWhere } from '../sqlite/deleteWhere.js'\nexport { dropDatabase } from '../sqlite/dropDatabase.js'\nexport { execute } from '../sqlite/execute.js'\nexport { init } from '../sqlite/init.js'\nexport { insert } from '../sqlite/insert.js'\nexport { migrateSqliteLocalizeStatus } from '../sqlite/predefinedMigrations/localize-status/index.js'\nexport { migrateSqliteSizesToVariants } from '../sqlite/predefinedMigrations/sizes-to-variants/index.js'\nexport * from '../sqlite/types.js'\n"],"names":["columnToCodeConverter","countDistinct","convertPathToJSONTraversal","createJSONQuery","createRequireDrizzleKit","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","init","insert","migrateSqliteLocalizeStatus","migrateSqliteSizesToVariants"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,qCAAoC;AAC1E,SAASC,aAAa,QAAQ,6BAA4B;AAC1D,SAASC,0BAA0B,QAAQ,0DAAyD;AACpG,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,uBAAuB,QAAQ,uCAAsC;AAC9E,SAASC,sBAAsB,QAAQ,+BAA8B;AACrE,SAASC,WAAW,QAAQ,2BAA0B;AACtD,SAASC,YAAY,QAAQ,4BAA2B;AACxD,SAASC,OAAO,QAAQ,uBAAsB;AAC9C,SAASC,IAAI,QAAQ,oBAAmB;AACxC,SAASC,MAAM,QAAQ,sBAAqB;AAC5C,SAASC,2BAA2B,QAAQ,0DAAyD;AACrG,SAASC,4BAA4B,QAAQ,4DAA2D;AACxG,cAAc,qBAAoB"}
@@ -1,5 +1,5 @@
1
1
  import type { DBQueryConfig } from 'drizzle-orm';
2
- import type { FlattenedField, JoinQuery, SelectType } from 'payload';
2
+ import type { FlattenedField, JoinQuery, PayloadRequest, SelectType } from 'payload';
3
3
  import type { BuildQueryJoinAliases, DrizzleAdapter } from '../types.js';
4
4
  type BuildFindQueryArgs = {
5
5
  adapter: DrizzleAdapter;
@@ -13,6 +13,7 @@ type BuildFindQueryArgs = {
13
13
  */
14
14
  joins?: BuildQueryJoinAliases;
15
15
  locale?: string;
16
+ req?: Partial<PayloadRequest>;
16
17
  select?: SelectType;
17
18
  tableName: string;
18
19
  versions?: boolean;
@@ -22,6 +23,6 @@ export type Result = {
22
23
  _locales?: DBQueryConfig<'many', true, any, any>;
23
24
  } & DBQueryConfig<'many', true, any, any>;
24
25
  } & DBQueryConfig<'many', true, any, any>;
25
- export declare const buildFindManyArgs: ({ adapter, collectionSlug, depth, draftsEnabled, fields, joinQuery, joins, locale, select, tableName, versions, }: BuildFindQueryArgs) => Result;
26
+ export declare const buildFindManyArgs: ({ adapter, collectionSlug, depth, draftsEnabled, fields, joinQuery, joins, locale, req, select, tableName, versions, }: BuildFindQueryArgs) => Result;
26
27
  export {};
27
28
  //# sourceMappingURL=buildFindManyArgs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFindManyArgs.d.ts","sourceRoot":"","sources":["../../src/find/buildFindManyArgs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIxE,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;KACjD,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAC1C,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAIzC,eAAO,MAAM,iBAAiB,GAAI,mHAY/B,kBAAkB,KAAG,MAkGvB,CAAA"}
1
+ {"version":3,"file":"buildFindManyArgs.d.ts","sourceRoot":"","sources":["../../src/find/buildFindManyArgs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIxE,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;KACjD,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAC1C,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAIzC,eAAO,MAAM,iBAAiB,2HAa3B,kBAAkB,KAAG,MAmGvB,CAAA"}
@@ -2,7 +2,7 @@ import { getSelectMode } from 'payload/shared';
2
2
  import { traverseFields } from './traverseFields.js';
3
3
  // Generate the Drizzle query for findMany based on
4
4
  // a collection field structure
5
- export const buildFindManyArgs = ({ adapter, collectionSlug, depth, draftsEnabled, fields, joinQuery, joins = [], locale, select, tableName, versions })=>{
5
+ export const buildFindManyArgs = ({ adapter, collectionSlug, depth, draftsEnabled, fields, joinQuery, joins = [], locale, req, select, tableName, versions })=>{
6
6
  const result = {
7
7
  extras: {},
8
8
  with: {}
@@ -40,6 +40,7 @@ export const buildFindManyArgs = ({ adapter, collectionSlug, depth, draftsEnable
40
40
  joins,
41
41
  locale,
42
42
  path: '',
43
+ req,
43
44
  select,
44
45
  selectMode: select ? getSelectMode(select) : undefined,
45
46
  tablePath: '',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/find/buildFindManyArgs.ts"],"sourcesContent":["import type { DBQueryConfig } from 'drizzle-orm'\nimport type { FlattenedField, JoinQuery, SelectType } from 'payload'\n\nimport { getSelectMode } from 'payload/shared'\n\nimport type { BuildQueryJoinAliases, DrizzleAdapter } from '../types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype BuildFindQueryArgs = {\n adapter: DrizzleAdapter\n collectionSlug?: string\n depth: number\n draftsEnabled?: boolean\n fields: FlattenedField[]\n joinQuery?: JoinQuery\n /**\n * The joins array will be mutated by pushing any joins needed for the where queries of join field joins\n */\n joins?: BuildQueryJoinAliases\n locale?: string\n select?: SelectType\n tableName: string\n versions?: boolean\n}\n\nexport type Result = {\n with?: {\n _locales?: DBQueryConfig<'many', true, any, any>\n } & DBQueryConfig<'many', true, any, any>\n} & DBQueryConfig<'many', true, any, any>\n\n// Generate the Drizzle query for findMany based on\n// a collection field structure\nexport const buildFindManyArgs = ({\n adapter,\n collectionSlug,\n depth,\n draftsEnabled,\n fields,\n joinQuery,\n joins = [],\n locale,\n select,\n tableName,\n versions,\n}: BuildFindQueryArgs): Result => {\n const result: Result = {\n extras: {},\n with: {},\n }\n\n if (select) {\n result.columns = {\n id: true,\n }\n }\n\n const _locales: Result = {\n columns: select\n ? { _locale: true }\n : {\n id: false,\n _parentID: false,\n },\n extras: {},\n with: {},\n }\n\n const withTabledFields = select\n ? {}\n : {\n numbers: true,\n rels: true,\n texts: true,\n }\n\n traverseFields({\n _locales,\n adapter,\n collectionSlug,\n currentArgs: result,\n currentTableName: tableName,\n depth,\n draftsEnabled,\n fields,\n joinQuery,\n joins,\n locale,\n path: '',\n select,\n selectMode: select ? getSelectMode(select) : undefined,\n tablePath: '',\n topLevelArgs: result,\n topLevelTableName: tableName,\n versions,\n withTabledFields,\n })\n\n if (adapter.tables[`${tableName}_texts`] && withTabledFields.texts) {\n result.with._texts = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (adapter.tables[`${tableName}_numbers`] && withTabledFields.numbers) {\n result.with._numbers = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (adapter.tables[`${tableName}${adapter.relationshipsSuffix}`] && withTabledFields.rels) {\n result.with._rels = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (\n adapter.tables[`${tableName}${adapter.localesSuffix}`] &&\n (!select || Object.keys(_locales.columns).length > 1)\n ) {\n result.with._locales = _locales\n }\n\n // Delete properties that are empty\n for (const key of Object.keys(result)) {\n if (!Object.keys(result[key]).length) {\n delete result[key]\n }\n }\n\n return result\n}\n"],"names":["getSelectMode","traverseFields","buildFindManyArgs","adapter","collectionSlug","depth","draftsEnabled","fields","joinQuery","joins","locale","select","tableName","versions","result","extras","with","columns","id","_locales","_locale","_parentID","withTabledFields","numbers","rels","texts","currentArgs","currentTableName","path","selectMode","undefined","tablePath","topLevelArgs","topLevelTableName","tables","_texts","parent","orderBy","order","asc","ASC","_numbers","relationshipsSuffix","_rels","localesSuffix","Object","keys","length","key"],"mappings":"AAGA,SAASA,aAAa,QAAQ,iBAAgB;AAI9C,SAASC,cAAc,QAAQ,sBAAqB;AAyBpD,mDAAmD;AACnD,+BAA+B;AAC/B,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,OAAO,EACPC,cAAc,EACdC,KAAK,EACLC,aAAa,EACbC,MAAM,EACNC,SAAS,EACTC,QAAQ,EAAE,EACVC,MAAM,EACNC,MAAM,EACNC,SAAS,EACTC,QAAQ,EACW;IACnB,MAAMC,SAAiB;QACrBC,QAAQ,CAAC;QACTC,MAAM,CAAC;IACT;IAEA,IAAIL,QAAQ;QACVG,OAAOG,OAAO,GAAG;YACfC,IAAI;QACN;IACF;IAEA,MAAMC,WAAmB;QACvBF,SAASN,SACL;YAAES,SAAS;QAAK,IAChB;YACEF,IAAI;YACJG,WAAW;QACb;QACJN,QAAQ,CAAC;QACTC,MAAM,CAAC;IACT;IAEA,MAAMM,mBAAmBX,SACrB,CAAC,IACD;QACEY,SAAS;QACTC,MAAM;QACNC,OAAO;IACT;IAEJxB,eAAe;QACbkB;QACAhB;QACAC;QACAsB,aAAaZ;QACba,kBAAkBf;QAClBP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAkB,MAAM;QACNjB;QACAkB,YAAYlB,SAASX,cAAcW,UAAUmB;QAC7CC,WAAW;QACXC,cAAclB;QACdmB,mBAAmBrB;QACnBC;QACAS;IACF;IAEA,IAAInB,QAAQ+B,MAAM,CAAC,GAAGtB,UAAU,MAAM,CAAC,CAAC,IAAIU,iBAAiBG,KAAK,EAAE;QAClEX,OAAOE,IAAI,CAACmB,MAAM,GAAG;YACnBlB,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAInC,QAAQ+B,MAAM,CAAC,GAAGtB,UAAU,QAAQ,CAAC,CAAC,IAAIU,iBAAiBC,OAAO,EAAE;QACtET,OAAOE,IAAI,CAACyB,QAAQ,GAAG;YACrBxB,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAInC,QAAQ+B,MAAM,CAAC,GAAGtB,YAAYT,QAAQuC,mBAAmB,EAAE,CAAC,IAAIpB,iBAAiBE,IAAI,EAAE;QACzFV,OAAOE,IAAI,CAAC2B,KAAK,GAAG;YAClB1B,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IACEnC,QAAQ+B,MAAM,CAAC,GAAGtB,YAAYT,QAAQyC,aAAa,EAAE,CAAC,IACrD,CAAA,CAACjC,UAAUkC,OAAOC,IAAI,CAAC3B,SAASF,OAAO,EAAE8B,MAAM,GAAG,CAAA,GACnD;QACAjC,OAAOE,IAAI,CAACG,QAAQ,GAAGA;IACzB;IAEA,mCAAmC;IACnC,KAAK,MAAM6B,OAAOH,OAAOC,IAAI,CAAChC,QAAS;QACrC,IAAI,CAAC+B,OAAOC,IAAI,CAAChC,MAAM,CAACkC,IAAI,EAAED,MAAM,EAAE;YACpC,OAAOjC,MAAM,CAACkC,IAAI;QACpB;IACF;IAEA,OAAOlC;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/find/buildFindManyArgs.ts"],"sourcesContent":["import type { DBQueryConfig } from 'drizzle-orm'\nimport type { FlattenedField, JoinQuery, PayloadRequest, SelectType } from 'payload'\n\nimport { getSelectMode } from 'payload/shared'\n\nimport type { BuildQueryJoinAliases, DrizzleAdapter } from '../types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype BuildFindQueryArgs = {\n adapter: DrizzleAdapter\n collectionSlug?: string\n depth: number\n draftsEnabled?: boolean\n fields: FlattenedField[]\n joinQuery?: JoinQuery\n /**\n * The joins array will be mutated by pushing any joins needed for the where queries of join field joins\n */\n joins?: BuildQueryJoinAliases\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n tableName: string\n versions?: boolean\n}\n\nexport type Result = {\n with?: {\n _locales?: DBQueryConfig<'many', true, any, any>\n } & DBQueryConfig<'many', true, any, any>\n} & DBQueryConfig<'many', true, any, any>\n\n// Generate the Drizzle query for findMany based on\n// a collection field structure\nexport const buildFindManyArgs = ({\n adapter,\n collectionSlug,\n depth,\n draftsEnabled,\n fields,\n joinQuery,\n joins = [],\n locale,\n req,\n select,\n tableName,\n versions,\n}: BuildFindQueryArgs): Result => {\n const result: Result = {\n extras: {},\n with: {},\n }\n\n if (select) {\n result.columns = {\n id: true,\n }\n }\n\n const _locales: Result = {\n columns: select\n ? { _locale: true }\n : {\n id: false,\n _parentID: false,\n },\n extras: {},\n with: {},\n }\n\n const withTabledFields = select\n ? {}\n : {\n numbers: true,\n rels: true,\n texts: true,\n }\n\n traverseFields({\n _locales,\n adapter,\n collectionSlug,\n currentArgs: result,\n currentTableName: tableName,\n depth,\n draftsEnabled,\n fields,\n joinQuery,\n joins,\n locale,\n path: '',\n req,\n select,\n selectMode: select ? getSelectMode(select) : undefined,\n tablePath: '',\n topLevelArgs: result,\n topLevelTableName: tableName,\n versions,\n withTabledFields,\n })\n\n if (adapter.tables[`${tableName}_texts`] && withTabledFields.texts) {\n result.with._texts = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (adapter.tables[`${tableName}_numbers`] && withTabledFields.numbers) {\n result.with._numbers = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (adapter.tables[`${tableName}${adapter.relationshipsSuffix}`] && withTabledFields.rels) {\n result.with._rels = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (\n adapter.tables[`${tableName}${adapter.localesSuffix}`] &&\n (!select || Object.keys(_locales.columns).length > 1)\n ) {\n result.with._locales = _locales\n }\n\n // Delete properties that are empty\n for (const key of Object.keys(result)) {\n if (!Object.keys(result[key]).length) {\n delete result[key]\n }\n }\n\n return result\n}\n"],"names":["getSelectMode","traverseFields","buildFindManyArgs","adapter","collectionSlug","depth","draftsEnabled","fields","joinQuery","joins","locale","req","select","tableName","versions","result","extras","with","columns","id","_locales","_locale","_parentID","withTabledFields","numbers","rels","texts","currentArgs","currentTableName","path","selectMode","undefined","tablePath","topLevelArgs","topLevelTableName","tables","_texts","parent","orderBy","order","asc","ASC","_numbers","relationshipsSuffix","_rels","localesSuffix","Object","keys","length","key"],"mappings":"AAGA,SAASA,aAAa,QAAQ,iBAAgB;AAI9C,SAASC,cAAc,QAAQ,sBAAqB;AA0BpD,mDAAmD;AACnD,+BAA+B;AAC/B,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,OAAO,EACPC,cAAc,EACdC,KAAK,EACLC,aAAa,EACbC,MAAM,EACNC,SAAS,EACTC,QAAQ,EAAE,EACVC,MAAM,EACNC,GAAG,EACHC,MAAM,EACNC,SAAS,EACTC,QAAQ,EACW;IACnB,MAAMC,SAAiB;QACrBC,QAAQ,CAAC;QACTC,MAAM,CAAC;IACT;IAEA,IAAIL,QAAQ;QACVG,OAAOG,OAAO,GAAG;YACfC,IAAI;QACN;IACF;IAEA,MAAMC,WAAmB;QACvBF,SAASN,SACL;YAAES,SAAS;QAAK,IAChB;YACEF,IAAI;YACJG,WAAW;QACb;QACJN,QAAQ,CAAC;QACTC,MAAM,CAAC;IACT;IAEA,MAAMM,mBAAmBX,SACrB,CAAC,IACD;QACEY,SAAS;QACTC,MAAM;QACNC,OAAO;IACT;IAEJzB,eAAe;QACbmB;QACAjB;QACAC;QACAuB,aAAaZ;QACba,kBAAkBf;QAClBR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAmB,MAAM;QACNlB;QACAC;QACAkB,YAAYlB,SAASZ,cAAcY,UAAUmB;QAC7CC,WAAW;QACXC,cAAclB;QACdmB,mBAAmBrB;QACnBC;QACAS;IACF;IAEA,IAAIpB,QAAQgC,MAAM,CAAC,GAAGtB,UAAU,MAAM,CAAC,CAAC,IAAIU,iBAAiBG,KAAK,EAAE;QAClEX,OAAOE,IAAI,CAACmB,MAAM,GAAG;YACnBlB,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAIpC,QAAQgC,MAAM,CAAC,GAAGtB,UAAU,QAAQ,CAAC,CAAC,IAAIU,iBAAiBC,OAAO,EAAE;QACtET,OAAOE,IAAI,CAACyB,QAAQ,GAAG;YACrBxB,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAIpC,QAAQgC,MAAM,CAAC,GAAGtB,YAAYV,QAAQwC,mBAAmB,EAAE,CAAC,IAAIpB,iBAAiBE,IAAI,EAAE;QACzFV,OAAOE,IAAI,CAAC2B,KAAK,GAAG;YAClB1B,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IACEpC,QAAQgC,MAAM,CAAC,GAAGtB,YAAYV,QAAQ0C,aAAa,EAAE,CAAC,IACrD,CAAA,CAACjC,UAAUkC,OAAOC,IAAI,CAAC3B,SAASF,OAAO,EAAE8B,MAAM,GAAG,CAAA,GACnD;QACAjC,OAAOE,IAAI,CAACG,QAAQ,GAAGA;IACzB;IAEA,mCAAmC;IACnC,KAAK,MAAM6B,OAAOH,OAAOC,IAAI,CAAChC,QAAS;QACrC,IAAI,CAAC+B,OAAOC,IAAI,CAAChC,MAAM,CAACkC,IAAI,EAAED,MAAM,EAAE;YACpC,OAAOjC,MAAM,CAACkC,IAAI;QACpB;IACF;IAEA,OAAOlC;AACT,EAAC"}
@@ -0,0 +1,40 @@
1
+ import type { SQL } from 'drizzle-orm';
2
+ import { type FlattenedJoinField, type PayloadRequest, type Where } from 'payload';
3
+ import type { DrizzleAdapter } from '../types.js';
4
+ type BuildPolymorphicJoinQueryArgs = {
5
+ adapter: DrizzleAdapter;
6
+ currentTableName: string;
7
+ field: FlattenedJoinField;
8
+ limit: number;
9
+ locale?: string;
10
+ page?: number;
11
+ pageSize?: number;
12
+ path: string;
13
+ req?: Partial<PayloadRequest>;
14
+ shouldCount: boolean;
15
+ sort?: string | string[];
16
+ where?: Where;
17
+ };
18
+ type PolymorphicJoinQuery = {
19
+ columnName: string;
20
+ count?: SQL.Aliased;
21
+ documents: SQL.Aliased;
22
+ };
23
+ /**
24
+ * Builds the correlated document and optional count projections for a join that targets multiple
25
+ * collections. Every collection branch exposes the same `id`, parent, `relationTo`, and sort
26
+ * columns before the branches are combined. A missing sort field resolves to SQL NULL so targets
27
+ * with different schemas can still share one ordered union.
28
+ *
29
+ * `field.collection` must contain at least one configured collection. Each mapped table must have
30
+ * an `id` column and the column named by `field.on`. The supplied `limit` is used as-is; callers can
31
+ * include an extra look-ahead row and supply the original `pageSize` for offset calculation.
32
+ *
33
+ * @returns The stable projection name, the document projection, and the count projection when
34
+ * `shouldCount` is true.
35
+ * @throws If the join definition, target collection, mapped table, required columns, or sort shape
36
+ * cannot be represented by the polymorphic query.
37
+ */
38
+ export declare const buildPolymorphicJoinQuery: ({ adapter, currentTableName, field, limit, locale, page, pageSize, path, req, shouldCount, sort, where, }: BuildPolymorphicJoinQueryArgs) => PolymorphicJoinQuery;
39
+ export {};
40
+ //# sourceMappingURL=buildPolymorphicJoinQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildPolymorphicJoinQuery.d.ts","sourceRoot":"","sources":["../../src/find/buildPolymorphicJoinQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAKtC,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,cAAc,EAEnB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAA;AAQ/D,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,kBAAkB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACnB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,8GAanC,6BAA6B,KAAG,oBAsKlC,CAAA"}
@@ -0,0 +1,163 @@
1
+ import { and, asc, count, desc, eq, getTableName, sql } from 'drizzle-orm';
2
+ import { combineQueries, getBranchPredicateSync, resolveBranchReadState } from 'payload';
3
+ import toSnakeCase from 'to-snake-case';
4
+ import { buildBranchVisibility } from '../queries/buildBranchVisibility.js';
5
+ import { jsonAggBuildObject } from '../utilities/json.js';
6
+ import { buildPolymorphicJoinWhere } from './buildPolymorphicJoinWhere.js';
7
+ import { createPolymorphicJoinWherePlan } from './createPolymorphicJoinWherePlan.js';
8
+ /**
9
+ * Builds the correlated document and optional count projections for a join that targets multiple
10
+ * collections. Every collection branch exposes the same `id`, parent, `relationTo`, and sort
11
+ * columns before the branches are combined. A missing sort field resolves to SQL NULL so targets
12
+ * with different schemas can still share one ordered union.
13
+ *
14
+ * `field.collection` must contain at least one configured collection. Each mapped table must have
15
+ * an `id` column and the column named by `field.on`. The supplied `limit` is used as-is; callers can
16
+ * include an extra look-ahead row and supply the original `pageSize` for offset calculation.
17
+ *
18
+ * @returns The stable projection name, the document projection, and the count projection when
19
+ * `shouldCount` is true.
20
+ * @throws If the join definition, target collection, mapped table, required columns, or sort shape
21
+ * cannot be represented by the polymorphic query.
22
+ */ export const buildPolymorphicJoinQuery = ({ adapter, currentTableName, field, limit, locale, page, pageSize = limit, path, req, shouldCount, sort, where })=>{
23
+ if (!Array.isArray(field.collection)) {
24
+ throw new Error('A polymorphic join requires a collection array');
25
+ }
26
+ if (field.collection.length === 0) {
27
+ throw new Error('A polymorphic join requires at least one collection');
28
+ }
29
+ if (Array.isArray(sort)) {
30
+ throw new Error('Polymorphic joins do not support multiple sort fields');
31
+ }
32
+ const collections = field.collection;
33
+ const columnName = `${path.replaceAll('.', '_')}${field.name}`;
34
+ const db = adapter.drizzle;
35
+ const onPath = field.on.split('.').join('_');
36
+ const collectionTables = collections.map((collection)=>{
37
+ if (!adapter.payload.collections[collection]) {
38
+ throw new Error(`Unknown polymorphic join collection "${collection}"`);
39
+ }
40
+ const tableName = adapter.tableNameMap.get(toSnakeCase(collection));
41
+ const table = tableName ? adapter.tables[tableName] : undefined;
42
+ if (!table) {
43
+ throw new Error(`Polymorphic join collection "${collection}" has no database table`);
44
+ }
45
+ if (!table['id']) {
46
+ throw new Error(`Polymorphic join collection "${collection}" has no "id" column`);
47
+ }
48
+ if (!table[onPath]) {
49
+ throw new Error(`Polymorphic join collection "${collection}" has no "${onPath}" column`);
50
+ }
51
+ return {
52
+ collection,
53
+ table
54
+ };
55
+ });
56
+ const sortField = getSortField({
57
+ adapter,
58
+ collections,
59
+ sort
60
+ });
61
+ const sortOrder = sortField.startsWith('-') ? desc : asc;
62
+ const sortPath = sortField.replace('-', '').split('.').join('_');
63
+ let unionQuery = null;
64
+ for (const { collection, table } of collectionTables){
65
+ const branchReadState = resolveBranchReadState({
66
+ collectionSlug: collection,
67
+ req
68
+ });
69
+ const branchPredicate = branchReadState.useBranching ? null : getBranchPredicateSync({
70
+ collectionSlug: collection,
71
+ req
72
+ });
73
+ const collectionWhere = branchPredicate ? combineQueries(where ?? {}, branchPredicate) : where;
74
+ const wherePlan = collectionWhere ? createPolymorphicJoinWherePlan({
75
+ adapter,
76
+ collections,
77
+ where: collectionWhere
78
+ }) : new Map();
79
+ const sortColumn = table[sortPath];
80
+ const selectFields = {
81
+ id: (branchReadState.useBranching || branchPredicate) && table['_branchDocID'] ? sql`COALESCE(${table['_branchDocID']}, ${table['id']})`.as('id') : table['id'],
82
+ parent: sql`${table[onPath]}`.as(onPath),
83
+ relationTo: sql`${collection}`.as('relationTo'),
84
+ sortPath: sql`${sortColumn ?? null}`.as('sortPath')
85
+ };
86
+ const parsedCollectionWhere = collectionWhere && Object.keys(collectionWhere).length > 0 ? buildPolymorphicJoinWhere({
87
+ adapter,
88
+ collection,
89
+ locale,
90
+ table,
91
+ where: collectionWhere,
92
+ wherePlan
93
+ }) : undefined;
94
+ const collectionWhereSQL = branchReadState.useBranching ? and(parsedCollectionWhere, buildBranchVisibility({
95
+ adapter,
96
+ branch: branchReadState.branch,
97
+ collectionSlug: collection,
98
+ table
99
+ })) : parsedCollectionWhere;
100
+ const hasLocalizedWhere = [
101
+ ...wherePlan.values()
102
+ ].some((pathPlan)=>{
103
+ const collectionField = pathPlan.fieldsByCollection.get(collection);
104
+ return collectionField?.type === 'scalar' && collectionField.isLocalized;
105
+ });
106
+ const shouldDeduplicate = hasLocalizedWhere && (!locale || locale === 'all');
107
+ let collectionQuery = (shouldDeduplicate ? db.selectDistinct(selectFields) : db.select(selectFields)).from(table).$dynamic();
108
+ if (hasLocalizedWhere) {
109
+ const localesTable = adapter.tables[`${getTableName(table)}${adapter.localesSuffix}`];
110
+ collectionQuery = collectionQuery.leftJoin(localesTable, and(eq(table['id'], localesTable._parentID), locale && locale !== 'all' ? eq(localesTable._locale, locale) : undefined));
111
+ }
112
+ if (collectionWhereSQL) {
113
+ collectionQuery = collectionQuery.where(collectionWhereSQL);
114
+ }
115
+ if (unionQuery === null) {
116
+ unionQuery = collectionQuery;
117
+ } else {
118
+ unionQuery = unionQuery.unionAll(collectionQuery);
119
+ }
120
+ }
121
+ const subQueryAlias = `${columnName}_subquery`;
122
+ const parentConstraint = eq(sql.raw(`"${currentTableName}"."id"`), sql.raw(`"${subQueryAlias}"."${onPath}"`));
123
+ const countExpression = shouldCount ? sql`${db.select({
124
+ count: count()
125
+ }).from(sql`${unionQuery.as(subQueryAlias)}`).where(parentConstraint)}`.as(`${columnName}_count`) : undefined;
126
+ unionQuery = unionQuery.orderBy(sortOrder(sql`"sortPath"`));
127
+ const sortedUnionAlias = `${columnName}_sorted`;
128
+ let limitOffsetSQL = sql.empty();
129
+ if (limit) {
130
+ limitOffsetSQL = sql` LIMIT ${limit}`;
131
+ }
132
+ if (page && limit !== 0) {
133
+ const offset = (page - 1) * pageSize;
134
+ if (offset > 0) {
135
+ limitOffsetSQL = sql`${limitOffsetSQL} OFFSET ${offset}`;
136
+ }
137
+ }
138
+ const parentWhere = sql.raw(`"${sortedUnionAlias}"."${onPath}" = "${currentTableName}"."id"`);
139
+ const documents = sql`(
140
+ SELECT ${jsonAggBuildObject(adapter, {
141
+ id: sql.raw(`"${subQueryAlias}"."id"`),
142
+ relationTo: sql.raw(`"${subQueryAlias}"."relationTo"`)
143
+ })}
144
+ FROM (
145
+ SELECT * FROM ${sql`${unionQuery.as(sortedUnionAlias)}`}
146
+ WHERE ${parentWhere}${limitOffsetSQL}
147
+ ) AS ${sql.raw(`"${subQueryAlias}"`)}
148
+ )`.as(columnName);
149
+ return {
150
+ columnName,
151
+ count: countExpression,
152
+ documents
153
+ };
154
+ };
155
+ const getSortField = ({ adapter, collections, sort })=>{
156
+ if (sort) {
157
+ return sort;
158
+ }
159
+ const hasCreatedAt = collections.some((collection)=>adapter.payload.collections[collection].config.fields.some((field)=>field.type === 'date' && field.name === 'createdAt'));
160
+ return hasCreatedAt ? '-createdAt' : 'id';
161
+ };
162
+
163
+ //# sourceMappingURL=buildPolymorphicJoinQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/find/buildPolymorphicJoinQuery.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\nimport type { LibSQLDatabase } from 'drizzle-orm/libsql'\nimport type { SQLiteSelect } from 'drizzle-orm/sqlite-core'\n\nimport { and, asc, count, desc, eq, getTableName, sql } from 'drizzle-orm'\nimport {\n combineQueries,\n type FlattenedJoinField,\n getBranchPredicateSync,\n type PayloadRequest,\n resolveBranchReadState,\n type Where,\n} from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter, GenericTable } from '../types.js'\nimport type { PolymorphicJoinWherePlan } from './createPolymorphicJoinWherePlan.js'\n\nimport { buildBranchVisibility } from '../queries/buildBranchVisibility.js'\nimport { jsonAggBuildObject } from '../utilities/json.js'\nimport { buildPolymorphicJoinWhere } from './buildPolymorphicJoinWhere.js'\nimport { createPolymorphicJoinWherePlan } from './createPolymorphicJoinWherePlan.js'\n\ntype BuildPolymorphicJoinQueryArgs = {\n adapter: DrizzleAdapter\n currentTableName: string\n field: FlattenedJoinField\n limit: number\n locale?: string\n page?: number\n pageSize?: number\n path: string\n req?: Partial<PayloadRequest>\n shouldCount: boolean\n sort?: string | string[]\n where?: Where\n}\n\ntype PolymorphicJoinQuery = {\n columnName: string\n count?: SQL.Aliased\n documents: SQL.Aliased\n}\n\n/**\n * Builds the correlated document and optional count projections for a join that targets multiple\n * collections. Every collection branch exposes the same `id`, parent, `relationTo`, and sort\n * columns before the branches are combined. A missing sort field resolves to SQL NULL so targets\n * with different schemas can still share one ordered union.\n *\n * `field.collection` must contain at least one configured collection. Each mapped table must have\n * an `id` column and the column named by `field.on`. The supplied `limit` is used as-is; callers can\n * include an extra look-ahead row and supply the original `pageSize` for offset calculation.\n *\n * @returns The stable projection name, the document projection, and the count projection when\n * `shouldCount` is true.\n * @throws If the join definition, target collection, mapped table, required columns, or sort shape\n * cannot be represented by the polymorphic query.\n */\nexport const buildPolymorphicJoinQuery = ({\n adapter,\n currentTableName,\n field,\n limit,\n locale,\n page,\n pageSize = limit,\n path,\n req,\n shouldCount,\n sort,\n where,\n}: BuildPolymorphicJoinQueryArgs): PolymorphicJoinQuery => {\n if (!Array.isArray(field.collection)) {\n throw new Error('A polymorphic join requires a collection array')\n }\n\n if (field.collection.length === 0) {\n throw new Error('A polymorphic join requires at least one collection')\n }\n\n if (Array.isArray(sort)) {\n throw new Error('Polymorphic joins do not support multiple sort fields')\n }\n\n const collections = field.collection\n const columnName = `${path.replaceAll('.', '_')}${field.name}`\n const db = adapter.drizzle as LibSQLDatabase\n const onPath = field.on.split('.').join('_')\n const collectionTables = collections.map((collection) => {\n if (!adapter.payload.collections[collection]) {\n throw new Error(`Unknown polymorphic join collection \"${collection}\"`)\n }\n\n const tableName = adapter.tableNameMap.get(toSnakeCase(collection))\n const table = tableName ? (adapter.tables[tableName] as GenericTable | undefined) : undefined\n\n if (!table) {\n throw new Error(`Polymorphic join collection \"${collection}\" has no database table`)\n }\n\n if (!table['id']) {\n throw new Error(`Polymorphic join collection \"${collection}\" has no \"id\" column`)\n }\n\n if (!table[onPath]) {\n throw new Error(`Polymorphic join collection \"${collection}\" has no \"${onPath}\" column`)\n }\n\n return { collection, table }\n })\n const sortField = getSortField({ adapter, collections, sort })\n const sortOrder = sortField.startsWith('-') ? desc : asc\n const sortPath = sortField.replace('-', '').split('.').join('_')\n let unionQuery: null | SQLiteSelect = null\n\n for (const { collection, table } of collectionTables) {\n const branchReadState = resolveBranchReadState({ collectionSlug: collection, req })\n const branchPredicate = branchReadState.useBranching\n ? null\n : getBranchPredicateSync({ collectionSlug: collection, req })\n const collectionWhere = branchPredicate ? combineQueries(where ?? {}, branchPredicate) : where\n const wherePlan: PolymorphicJoinWherePlan = collectionWhere\n ? createPolymorphicJoinWherePlan({ adapter, collections, where: collectionWhere })\n : new Map()\n const sortColumn = table[sortPath]\n const selectFields = {\n id:\n (branchReadState.useBranching || branchPredicate) && table['_branchDocID']\n ? sql`COALESCE(${table['_branchDocID']}, ${table['id']})`.as('id')\n : table['id'],\n parent: sql`${table[onPath]}`.as(onPath),\n relationTo: sql`${collection}`.as('relationTo'),\n sortPath: sql`${sortColumn ?? null}`.as('sortPath'),\n }\n const parsedCollectionWhere =\n collectionWhere && Object.keys(collectionWhere).length > 0\n ? buildPolymorphicJoinWhere({\n adapter,\n collection,\n locale,\n table,\n where: collectionWhere,\n wherePlan,\n })\n : undefined\n const collectionWhereSQL = branchReadState.useBranching\n ? and(\n parsedCollectionWhere,\n buildBranchVisibility({\n adapter,\n branch: branchReadState.branch,\n collectionSlug: collection,\n table,\n }),\n )\n : parsedCollectionWhere\n const hasLocalizedWhere = [...wherePlan.values()].some((pathPlan) => {\n const collectionField = pathPlan.fieldsByCollection.get(collection)\n\n return collectionField?.type === 'scalar' && collectionField.isLocalized\n })\n const shouldDeduplicate = hasLocalizedWhere && (!locale || locale === 'all')\n let collectionQuery = (\n shouldDeduplicate ? db.selectDistinct(selectFields) : db.select(selectFields)\n )\n .from(table)\n .$dynamic()\n\n if (hasLocalizedWhere) {\n const localesTable = adapter.tables[`${getTableName(table)}${adapter.localesSuffix}`]\n\n collectionQuery = collectionQuery.leftJoin(\n localesTable,\n and(\n eq(table['id'], localesTable._parentID),\n locale && locale !== 'all' ? eq(localesTable._locale, locale) : undefined,\n ),\n )\n }\n\n if (collectionWhereSQL) {\n collectionQuery = collectionQuery.where(collectionWhereSQL)\n }\n\n if (unionQuery === null) {\n unionQuery = collectionQuery\n } else {\n unionQuery = unionQuery.unionAll(collectionQuery)\n }\n }\n\n const subQueryAlias = `${columnName}_subquery`\n const parentConstraint = eq(\n sql.raw(`\"${currentTableName}\".\"id\"`),\n sql.raw(`\"${subQueryAlias}\".\"${onPath}\"`),\n )\n const countExpression = shouldCount\n ? sql`${db\n .select({ count: count() })\n .from(sql`${unionQuery.as(subQueryAlias)}`)\n .where(parentConstraint)}`.as(`${columnName}_count`)\n : undefined\n\n unionQuery = unionQuery.orderBy(sortOrder(sql`\"sortPath\"`))\n\n const sortedUnionAlias = `${columnName}_sorted`\n let limitOffsetSQL = sql.empty()\n\n if (limit) {\n limitOffsetSQL = sql` LIMIT ${limit}`\n }\n\n if (page && limit !== 0) {\n const offset = (page - 1) * pageSize\n\n if (offset > 0) {\n limitOffsetSQL = sql`${limitOffsetSQL} OFFSET ${offset}`\n }\n }\n\n const parentWhere = sql.raw(`\"${sortedUnionAlias}\".\"${onPath}\" = \"${currentTableName}\".\"id\"`)\n const documents = sql`(\n SELECT ${jsonAggBuildObject(adapter, {\n id: sql.raw(`\"${subQueryAlias}\".\"id\"`),\n relationTo: sql.raw(`\"${subQueryAlias}\".\"relationTo\"`),\n })}\n FROM (\n SELECT * FROM ${sql`${unionQuery.as(sortedUnionAlias)}`}\n WHERE ${parentWhere}${limitOffsetSQL}\n ) AS ${sql.raw(`\"${subQueryAlias}\"`)}\n )`.as(columnName)\n\n return {\n columnName,\n count: countExpression,\n documents,\n }\n}\n\nconst getSortField = ({\n adapter,\n collections,\n sort,\n}: {\n adapter: DrizzleAdapter\n collections: string[]\n sort?: string\n}): string => {\n if (sort) {\n return sort\n }\n\n const hasCreatedAt = collections.some((collection) =>\n adapter.payload.collections[collection].config.fields.some(\n (field) => field.type === 'date' && field.name === 'createdAt',\n ),\n )\n\n return hasCreatedAt ? '-createdAt' : 'id'\n}\n"],"names":["and","asc","count","desc","eq","getTableName","sql","combineQueries","getBranchPredicateSync","resolveBranchReadState","toSnakeCase","buildBranchVisibility","jsonAggBuildObject","buildPolymorphicJoinWhere","createPolymorphicJoinWherePlan","buildPolymorphicJoinQuery","adapter","currentTableName","field","limit","locale","page","pageSize","path","req","shouldCount","sort","where","Array","isArray","collection","Error","length","collections","columnName","replaceAll","name","db","drizzle","onPath","on","split","join","collectionTables","map","payload","tableName","tableNameMap","get","table","tables","undefined","sortField","getSortField","sortOrder","startsWith","sortPath","replace","unionQuery","branchReadState","collectionSlug","branchPredicate","useBranching","collectionWhere","wherePlan","Map","sortColumn","selectFields","id","as","parent","relationTo","parsedCollectionWhere","Object","keys","collectionWhereSQL","branch","hasLocalizedWhere","values","some","pathPlan","collectionField","fieldsByCollection","type","isLocalized","shouldDeduplicate","collectionQuery","selectDistinct","select","from","$dynamic","localesTable","localesSuffix","leftJoin","_parentID","_locale","unionAll","subQueryAlias","parentConstraint","raw","countExpression","orderBy","sortedUnionAlias","limitOffsetSQL","empty","offset","parentWhere","documents","hasCreatedAt","config","fields"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { SQL } from 'drizzle-orm';
2
+ import { type Where } from 'payload';
3
+ import type { DrizzleAdapter, GenericTable } from '../types.js';
4
+ import type { PolymorphicJoinWherePlan } from './createPolymorphicJoinWherePlan.js';
5
+ type BuildPolymorphicJoinWhereArgs = {
6
+ adapter: DrizzleAdapter;
7
+ collection: string;
8
+ locale?: string;
9
+ table: GenericTable;
10
+ where: Where;
11
+ wherePlan: PolymorphicJoinWherePlan;
12
+ };
13
+ /**
14
+ * Builds a where clause for one collection before the polymorphic branches are combined. A field
15
+ * that is absent from this collection resolves to SQL NULL, and relationTo resolves to the current
16
+ * collection slug.
17
+ */
18
+ export declare const buildPolymorphicJoinWhere: ({ adapter, collection, locale, table, where, wherePlan, }: BuildPolymorphicJoinWhereArgs) => SQL | undefined;
19
+ export {};
20
+ //# sourceMappingURL=buildPolymorphicJoinWhere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildPolymorphicJoinWhere.d.ts","sourceRoot":"","sources":["../../src/find/buildPolymorphicJoinWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,GAAG,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAkD,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpF,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,qCAAqC,CAAA;AAO5C,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,wBAAwB,CAAA;CACpC,CAAA;AAqBD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,8DAOnC,6BAA6B,KAAG,GAAG,GAAG,SAsMxC,CAAA"}