@payloadcms/drizzle 3.0.0-canary.95fcd13 → 3.0.0-canary.96477cf

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 (286) hide show
  1. package/dist/count.d.ts.map +1 -1
  2. package/dist/count.js +1 -1
  3. package/dist/count.js.map +1 -1
  4. package/dist/createGlobalVersion.d.ts +1 -1
  5. package/dist/createGlobalVersion.d.ts.map +1 -1
  6. package/dist/createGlobalVersion.js +4 -2
  7. package/dist/createGlobalVersion.js.map +1 -1
  8. package/dist/createTableName.d.ts.map +1 -1
  9. package/dist/createTableName.js +6 -2
  10. package/dist/createTableName.js.map +1 -1
  11. package/dist/createVersion.d.ts +1 -1
  12. package/dist/createVersion.d.ts.map +1 -1
  13. package/dist/createVersion.js +22 -14
  14. package/dist/createVersion.js.map +1 -1
  15. package/dist/deleteOne.d.ts.map +1 -1
  16. package/dist/deleteOne.js +5 -3
  17. package/dist/deleteOne.js.map +1 -1
  18. package/dist/deleteVersions.js +1 -1
  19. package/dist/deleteVersions.js.map +1 -1
  20. package/dist/destroy.d.ts.map +1 -1
  21. package/dist/destroy.js +3 -1
  22. package/dist/destroy.js.map +1 -1
  23. package/dist/exports/postgres.d.ts +14 -0
  24. package/dist/exports/postgres.d.ts.map +1 -0
  25. package/dist/exports/postgres.js +15 -0
  26. package/dist/exports/postgres.js.map +1 -0
  27. package/dist/find/buildFindManyArgs.d.ts +13 -7
  28. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  29. package/dist/find/buildFindManyArgs.js +5 -1
  30. package/dist/find/buildFindManyArgs.js.map +1 -1
  31. package/dist/find/findMany.d.ts +1 -1
  32. package/dist/find/findMany.d.ts.map +1 -1
  33. package/dist/find/findMany.js +6 -3
  34. package/dist/find/findMany.js.map +1 -1
  35. package/dist/find/traverseFields.d.ts +7 -3
  36. package/dist/find/traverseFields.d.ts.map +1 -1
  37. package/dist/find/traverseFields.js +91 -16
  38. package/dist/find/traverseFields.js.map +1 -1
  39. package/dist/find.d.ts.map +1 -1
  40. package/dist/find.js +2 -1
  41. package/dist/find.js.map +1 -1
  42. package/dist/findGlobalVersions.js +1 -1
  43. package/dist/findGlobalVersions.js.map +1 -1
  44. package/dist/findMigrationDir.d.ts.map +1 -1
  45. package/dist/findMigrationDir.js +3 -1
  46. package/dist/findMigrationDir.js.map +1 -1
  47. package/dist/findOne.d.ts +1 -1
  48. package/dist/findOne.d.ts.map +1 -1
  49. package/dist/findOne.js +2 -1
  50. package/dist/findOne.js.map +1 -1
  51. package/dist/findVersions.js +1 -1
  52. package/dist/findVersions.js.map +1 -1
  53. package/dist/index.d.ts +2 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +2 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/migrate.d.ts +1 -1
  58. package/dist/migrate.d.ts.map +1 -1
  59. package/dist/migrate.js +5 -10
  60. package/dist/migrate.js.map +1 -1
  61. package/dist/migrateDown.d.ts.map +1 -1
  62. package/dist/migrateDown.js +1 -1
  63. package/dist/migrateDown.js.map +1 -1
  64. package/dist/migrateFresh.d.ts.map +1 -1
  65. package/dist/migrateFresh.js +1 -0
  66. package/dist/migrateFresh.js.map +1 -1
  67. package/dist/migrateRefresh.d.ts.map +1 -1
  68. package/dist/migrateRefresh.js +2 -1
  69. package/dist/migrateRefresh.js.map +1 -1
  70. package/dist/migrateReset.d.ts.map +1 -1
  71. package/dist/migrateReset.js +4 -2
  72. package/dist/migrateReset.js.map +1 -1
  73. package/dist/migrateStatus.js +0 -1
  74. package/dist/migrateStatus.js.map +1 -1
  75. package/dist/postgres/countDistinct.d.ts +3 -0
  76. package/dist/postgres/countDistinct.d.ts.map +1 -0
  77. package/dist/postgres/countDistinct.js +24 -0
  78. package/dist/postgres/countDistinct.js.map +1 -0
  79. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.d.ts +2 -0
  80. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.d.ts.map +1 -0
  81. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.js +16 -0
  82. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.js.map +1 -0
  83. package/dist/postgres/createJSONQuery/formatJSONPathSegment.d.ts +2 -0
  84. package/dist/postgres/createJSONQuery/formatJSONPathSegment.d.ts.map +1 -0
  85. package/dist/postgres/createJSONQuery/formatJSONPathSegment.js +5 -0
  86. package/dist/postgres/createJSONQuery/formatJSONPathSegment.js.map +1 -0
  87. package/dist/postgres/createJSONQuery/index.d.ts +10 -0
  88. package/dist/postgres/createJSONQuery/index.d.ts.map +1 -0
  89. package/dist/postgres/createJSONQuery/index.js +54 -0
  90. package/dist/postgres/createJSONQuery/index.js.map +1 -0
  91. package/dist/postgres/createMigration.d.ts +3 -0
  92. package/dist/postgres/createMigration.d.ts.map +1 -0
  93. package/dist/postgres/createMigration.js +92 -0
  94. package/dist/postgres/createMigration.js.map +1 -0
  95. package/dist/postgres/defaultSnapshot.d.ts +3 -0
  96. package/dist/postgres/defaultSnapshot.d.ts.map +1 -0
  97. package/dist/postgres/defaultSnapshot.js +17 -0
  98. package/dist/postgres/defaultSnapshot.js.map +1 -0
  99. package/dist/postgres/deleteWhere.d.ts +3 -0
  100. package/dist/postgres/deleteWhere.d.ts.map +1 -0
  101. package/dist/postgres/deleteWhere.js +6 -0
  102. package/dist/postgres/deleteWhere.js.map +1 -0
  103. package/dist/postgres/dropDatabase.d.ts +3 -0
  104. package/dist/postgres/dropDatabase.d.ts.map +1 -0
  105. package/dist/postgres/dropDatabase.js +9 -0
  106. package/dist/postgres/dropDatabase.js.map +1 -0
  107. package/dist/postgres/execute.d.ts +3 -0
  108. package/dist/postgres/execute.d.ts.map +1 -0
  109. package/dist/postgres/execute.js +11 -0
  110. package/dist/postgres/execute.js.map +1 -0
  111. package/dist/postgres/getMigrationTemplate.d.ts +4 -0
  112. package/dist/postgres/getMigrationTemplate.d.ts.map +1 -0
  113. package/dist/postgres/getMigrationTemplate.js +13 -0
  114. package/dist/postgres/getMigrationTemplate.js.map +1 -0
  115. package/dist/postgres/init.d.ts +3 -0
  116. package/dist/postgres/init.d.ts.map +1 -0
  117. package/dist/postgres/init.js +104 -0
  118. package/dist/postgres/init.js.map +1 -0
  119. package/dist/postgres/insert.d.ts +3 -0
  120. package/dist/postgres/insert.d.ts.map +1 -0
  121. package/dist/postgres/insert.js +12 -0
  122. package/dist/postgres/insert.js.map +1 -0
  123. package/dist/postgres/requireDrizzleKit.d.ts +3 -0
  124. package/dist/postgres/requireDrizzleKit.d.ts.map +1 -0
  125. package/dist/postgres/requireDrizzleKit.js +5 -0
  126. package/dist/postgres/requireDrizzleKit.js.map +1 -0
  127. package/dist/postgres/schema/build.d.ts +40 -0
  128. package/dist/postgres/schema/build.d.ts.map +1 -0
  129. package/dist/postgres/schema/build.js +378 -0
  130. package/dist/postgres/schema/build.js.map +1 -0
  131. package/dist/postgres/schema/createIndex.d.ts +12 -0
  132. package/dist/postgres/schema/createIndex.d.ts.map +1 -0
  133. package/dist/postgres/schema/createIndex.js +20 -0
  134. package/dist/postgres/schema/createIndex.js.map +1 -0
  135. package/dist/postgres/schema/idToUUID.d.ts +3 -0
  136. package/dist/postgres/schema/idToUUID.d.ts.map +1 -0
  137. package/dist/postgres/schema/idToUUID.js +11 -0
  138. package/dist/postgres/schema/idToUUID.js.map +1 -0
  139. package/dist/postgres/schema/parentIDColumnMap.d.ts +4 -0
  140. package/dist/postgres/schema/parentIDColumnMap.d.ts.map +1 -0
  141. package/dist/postgres/schema/parentIDColumnMap.js +9 -0
  142. package/dist/postgres/schema/parentIDColumnMap.js.map +1 -0
  143. package/dist/postgres/schema/setColumnID.d.ts +11 -0
  144. package/dist/postgres/schema/setColumnID.d.ts.map +1 -0
  145. package/dist/postgres/schema/setColumnID.js +24 -0
  146. package/dist/postgres/schema/setColumnID.js.map +1 -0
  147. package/dist/postgres/schema/traverseFields.d.ts +40 -0
  148. package/dist/postgres/schema/traverseFields.d.ts.map +1 -0
  149. package/dist/postgres/schema/traverseFields.js +733 -0
  150. package/dist/postgres/schema/traverseFields.js.map +1 -0
  151. package/dist/postgres/schema/withDefault.d.ts +4 -0
  152. package/dist/postgres/schema/withDefault.d.ts.map +1 -0
  153. package/dist/postgres/schema/withDefault.js +12 -0
  154. package/dist/postgres/schema/withDefault.js.map +1 -0
  155. package/dist/postgres/types.d.ts +126 -0
  156. package/dist/postgres/types.d.ts.map +1 -0
  157. package/dist/postgres/types.js +3 -0
  158. package/dist/postgres/types.js.map +1 -0
  159. package/dist/queries/buildAndOrConditions.d.ts +1 -1
  160. package/dist/queries/buildAndOrConditions.d.ts.map +1 -1
  161. package/dist/queries/buildAndOrConditions.js +2 -4
  162. package/dist/queries/buildAndOrConditions.js.map +1 -1
  163. package/dist/queries/buildOrderBy.d.ts +18 -0
  164. package/dist/queries/buildOrderBy.d.ts.map +1 -0
  165. package/dist/queries/buildOrderBy.js +52 -0
  166. package/dist/queries/buildOrderBy.js.map +1 -0
  167. package/dist/queries/buildQuery.d.ts +4 -4
  168. package/dist/queries/buildQuery.d.ts.map +1 -1
  169. package/dist/queries/buildQuery.js +12 -47
  170. package/dist/queries/buildQuery.js.map +1 -1
  171. package/dist/queries/getTableColumnFromPath.d.ts +8 -3
  172. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  173. package/dist/queries/getTableColumnFromPath.js +73 -23
  174. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  175. package/dist/queries/operatorMap.d.ts.map +1 -1
  176. package/dist/queries/operatorMap.js.map +1 -1
  177. package/dist/queries/parseParams.d.ts +1 -1
  178. package/dist/queries/parseParams.d.ts.map +1 -1
  179. package/dist/queries/parseParams.js +52 -6
  180. package/dist/queries/parseParams.js.map +1 -1
  181. package/dist/queries/sanitizeQueryValue.d.ts +12 -1
  182. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
  183. package/dist/queries/sanitizeQueryValue.js +77 -21
  184. package/dist/queries/sanitizeQueryValue.js.map +1 -1
  185. package/dist/queries/selectDistinct.d.ts +3 -4
  186. package/dist/queries/selectDistinct.d.ts.map +1 -1
  187. package/dist/queries/selectDistinct.js.map +1 -1
  188. package/dist/queryDrafts.d.ts.map +1 -1
  189. package/dist/queryDrafts.js +1 -2
  190. package/dist/queryDrafts.js.map +1 -1
  191. package/dist/transactions/beginTransaction.d.ts.map +1 -1
  192. package/dist/transactions/beginTransaction.js +5 -1
  193. package/dist/transactions/beginTransaction.js.map +1 -1
  194. package/dist/transactions/commitTransaction.d.ts.map +1 -1
  195. package/dist/transactions/commitTransaction.js +3 -1
  196. package/dist/transactions/commitTransaction.js.map +1 -1
  197. package/dist/transform/read/hasManyNumber.d.ts +2 -1
  198. package/dist/transform/read/hasManyNumber.d.ts.map +1 -1
  199. package/dist/transform/read/hasManyNumber.js +12 -2
  200. package/dist/transform/read/hasManyNumber.js.map +1 -1
  201. package/dist/transform/read/hasManyText.d.ts +2 -1
  202. package/dist/transform/read/hasManyText.d.ts.map +1 -1
  203. package/dist/transform/read/hasManyText.js +12 -2
  204. package/dist/transform/read/hasManyText.js.map +1 -1
  205. package/dist/transform/read/index.d.ts +3 -2
  206. package/dist/transform/read/index.d.ts.map +1 -1
  207. package/dist/transform/read/index.js +3 -2
  208. package/dist/transform/read/index.js.map +1 -1
  209. package/dist/transform/read/relationship.d.ts +2 -1
  210. package/dist/transform/read/relationship.d.ts.map +1 -1
  211. package/dist/transform/read/relationship.js +15 -6
  212. package/dist/transform/read/relationship.js.map +1 -1
  213. package/dist/transform/read/traverseFields.d.ts +10 -2
  214. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  215. package/dist/transform/read/traverseFields.js +163 -55
  216. package/dist/transform/read/traverseFields.js.map +1 -1
  217. package/dist/transform/write/array.d.ts +6 -1
  218. package/dist/transform/write/array.d.ts.map +1 -1
  219. package/dist/transform/write/array.js +7 -3
  220. package/dist/transform/write/array.js.map +1 -1
  221. package/dist/transform/write/blocks.d.ts +8 -3
  222. package/dist/transform/write/blocks.d.ts.map +1 -1
  223. package/dist/transform/write/blocks.js +19 -7
  224. package/dist/transform/write/blocks.js.map +1 -1
  225. package/dist/transform/write/index.d.ts.map +1 -1
  226. package/dist/transform/write/index.js +1 -1
  227. package/dist/transform/write/index.js.map +1 -1
  228. package/dist/transform/write/relationships.d.ts.map +1 -1
  229. package/dist/transform/write/relationships.js +6 -2
  230. package/dist/transform/write/relationships.js.map +1 -1
  231. package/dist/transform/write/selects.d.ts.map +1 -1
  232. package/dist/transform/write/selects.js +1 -1
  233. package/dist/transform/write/selects.js.map +1 -1
  234. package/dist/transform/write/traverseFields.d.ts +6 -1
  235. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  236. package/dist/transform/write/traverseFields.js +46 -17
  237. package/dist/transform/write/traverseFields.js.map +1 -1
  238. package/dist/types.d.ts +3 -3
  239. package/dist/types.d.ts.map +1 -1
  240. package/dist/types.js.map +1 -1
  241. package/dist/update.d.ts.map +1 -1
  242. package/dist/update.js +3 -2
  243. package/dist/update.js.map +1 -1
  244. package/dist/updateGlobalVersion.js +2 -2
  245. package/dist/updateGlobalVersion.js.map +1 -1
  246. package/dist/updateVersion.js +2 -2
  247. package/dist/updateVersion.js.map +1 -1
  248. package/dist/upsertRow/deleteExistingRowsByPath.d.ts.map +1 -1
  249. package/dist/upsertRow/deleteExistingRowsByPath.js +6 -2
  250. package/dist/upsertRow/deleteExistingRowsByPath.js.map +1 -1
  251. package/dist/upsertRow/index.d.ts +1 -1
  252. package/dist/upsertRow/index.d.ts.map +1 -1
  253. package/dist/upsertRow/index.js +50 -12
  254. package/dist/upsertRow/index.js.map +1 -1
  255. package/dist/upsertRow/insertArrays.d.ts.map +1 -1
  256. package/dist/upsertRow/insertArrays.js +5 -2
  257. package/dist/upsertRow/insertArrays.js.map +1 -1
  258. package/dist/upsertRow/types.d.ts +8 -5
  259. package/dist/upsertRow/types.d.ts.map +1 -1
  260. package/dist/upsertRow/types.js.map +1 -1
  261. package/dist/utilities/createBlocksMap.d.ts.map +1 -1
  262. package/dist/utilities/createBlocksMap.js +4 -2
  263. package/dist/utilities/createBlocksMap.js.map +1 -1
  264. package/dist/utilities/createRelationshipMap.d.ts.map +1 -1
  265. package/dist/utilities/createRelationshipMap.js +3 -1
  266. package/dist/utilities/createRelationshipMap.js.map +1 -1
  267. package/dist/utilities/executeSchemaHooks.d.ts +24 -0
  268. package/dist/utilities/executeSchemaHooks.d.ts.map +1 -0
  269. package/dist/utilities/executeSchemaHooks.js +21 -0
  270. package/dist/utilities/executeSchemaHooks.js.map +1 -0
  271. package/dist/utilities/extendDrizzleTable.d.ts +19 -0
  272. package/dist/utilities/extendDrizzleTable.d.ts.map +1 -0
  273. package/dist/utilities/extendDrizzleTable.js +38 -0
  274. package/dist/utilities/extendDrizzleTable.js.map +1 -0
  275. package/dist/utilities/getCollectionIdType.d.ts +7 -0
  276. package/dist/utilities/getCollectionIdType.d.ts.map +1 -0
  277. package/dist/utilities/getCollectionIdType.js +11 -0
  278. package/dist/utilities/getCollectionIdType.js.map +1 -0
  279. package/dist/utilities/hasLocalesTable.d.ts.map +1 -1
  280. package/dist/utilities/hasLocalesTable.js +12 -4
  281. package/dist/utilities/hasLocalesTable.js.map +1 -1
  282. package/dist/utilities/isPolymorphicRelationship.d.ts +6 -0
  283. package/dist/utilities/isPolymorphicRelationship.d.ts.map +1 -0
  284. package/dist/utilities/isPolymorphicRelationship.js +5 -0
  285. package/dist/utilities/isPolymorphicRelationship.js.map +1 -0
  286. package/package.json +16 -7
@@ -1 +1 @@
1
- {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../src/count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,SAAS,CAAA;AAQhE,eAAO,MAAM,KAAK,EAAE,KA0BnB,CAAA"}
1
+ {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../src/count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,SAAS,CAAA;AAQ/D,eAAO,MAAM,KAAK,EAAE,KA0BnB,CAAA"}
package/dist/count.js CHANGED
@@ -4,7 +4,7 @@ export const count = async function count({ collection, locale, req, where: wher
4
4
  const collectionConfig = this.payload.collections[collection].config;
5
5
  const tableName = this.tableNameMap.get(toSnakeCase(collectionConfig.slug));
6
6
  const db = this.sessions[await req?.transactionID]?.db || this.drizzle;
7
- const { joins, where } = await buildQuery({
7
+ const { joins, where } = buildQuery({
8
8
  adapter: this,
9
9
  fields: collectionConfig.fields,
10
10
  locale,
package/dist/count.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/count.ts"],"sourcesContent":["import type { Count , SanitizedCollectionConfig } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport buildQuery from './queries/buildQuery.js'\n\nexport const count: Count = async function count(\n this: DrizzleAdapter,\n { collection, locale, req, where: whereArg },\n) {\n const collectionConfig: SanitizedCollectionConfig = this.payload.collections[collection].config\n\n const tableName = this.tableNameMap.get(toSnakeCase(collectionConfig.slug))\n\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n\n const { joins, where } = await buildQuery({\n adapter: this,\n fields: collectionConfig.fields,\n locale,\n tableName,\n where: whereArg,\n })\n\n const countResult = await this.countDistinct({\n db,\n joins,\n tableName,\n where,\n })\n\n return { totalDocs: countResult }\n}\n"],"names":["toSnakeCase","buildQuery","count","collection","locale","req","where","whereArg","collectionConfig","payload","collections","config","tableName","tableNameMap","get","slug","db","sessions","transactionID","drizzle","joins","adapter","fields","countResult","countDistinct","totalDocs"],"mappings":"AAEA,OAAOA,iBAAiB,gBAAe;AAIvC,OAAOC,gBAAgB,0BAAyB;AAEhD,OAAO,MAAMC,QAAe,eAAeA,MAEzC,EAAEC,UAAU,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAOC,QAAQ,EAAE;IAE5C,MAAMC,mBAA8C,IAAI,CAACC,OAAO,CAACC,WAAW,CAACP,WAAW,CAACQ,MAAM;IAE/F,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACd,YAAYQ,iBAAiBO,IAAI;IAEzE,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMZ,KAAKa,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IAEtE,MAAM,EAAEC,KAAK,EAAEd,KAAK,EAAE,GAAG,MAAML,WAAW;QACxCoB,SAAS,IAAI;QACbC,QAAQd,iBAAiBc,MAAM;QAC/BlB;QACAQ;QACAN,OAAOC;IACT;IAEA,MAAMgB,cAAc,MAAM,IAAI,CAACC,aAAa,CAAC;QAC3CR;QACAI;QACAR;QACAN;IACF;IAEA,OAAO;QAAEmB,WAAWF;IAAY;AAClC,EAAC"}
1
+ {"version":3,"sources":["../src/count.ts"],"sourcesContent":["import type { Count, SanitizedCollectionConfig } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport buildQuery from './queries/buildQuery.js'\n\nexport const count: Count = async function count(\n this: DrizzleAdapter,\n { collection, locale, req, where: whereArg },\n) {\n const collectionConfig: SanitizedCollectionConfig = this.payload.collections[collection].config\n\n const tableName = this.tableNameMap.get(toSnakeCase(collectionConfig.slug))\n\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n\n const { joins, where } = buildQuery({\n adapter: this,\n fields: collectionConfig.fields,\n locale,\n tableName,\n where: whereArg,\n })\n\n const countResult = await this.countDistinct({\n db,\n joins,\n tableName,\n where,\n })\n\n return { totalDocs: countResult }\n}\n"],"names":["toSnakeCase","buildQuery","count","collection","locale","req","where","whereArg","collectionConfig","payload","collections","config","tableName","tableNameMap","get","slug","db","sessions","transactionID","drizzle","joins","adapter","fields","countResult","countDistinct","totalDocs"],"mappings":"AAEA,OAAOA,iBAAiB,gBAAe;AAIvC,OAAOC,gBAAgB,0BAAyB;AAEhD,OAAO,MAAMC,QAAe,eAAeA,MAEzC,EAAEC,UAAU,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAOC,QAAQ,EAAE;IAE5C,MAAMC,mBAA8C,IAAI,CAACC,OAAO,CAACC,WAAW,CAACP,WAAW,CAACQ,MAAM;IAE/F,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACd,YAAYQ,iBAAiBO,IAAI;IAEzE,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMZ,KAAKa,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IAEtE,MAAM,EAAEC,KAAK,EAAEd,KAAK,EAAE,GAAGL,WAAW;QAClCoB,SAAS,IAAI;QACbC,QAAQd,iBAAiBc,MAAM;QAC/BlB;QACAQ;QACAN,OAAOC;IACT;IAEA,MAAMgB,cAAc,MAAM,IAAI,CAACC,aAAa,CAAC;QAC3CR;QACAI;QACAR;QACAN;IACF;IAEA,OAAO;QAAEmB,WAAWF;IAAY;AAClC,EAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { CreateGlobalVersionArgs, TypeWithID, TypeWithVersion } from 'payload';
2
2
  import type { DrizzleAdapter } from './types.js';
3
- export declare function createGlobalVersion<T extends TypeWithID>(this: DrizzleAdapter, { autosave, globalSlug, req, versionData }: CreateGlobalVersionArgs): Promise<TypeWithVersion<T>>;
3
+ export declare function createGlobalVersion<T extends TypeWithID>(this: DrizzleAdapter, { autosave, globalSlug, publishedLocale, req, snapshot, versionData, }: CreateGlobalVersionArgs): Promise<TypeWithVersion<T>>;
4
4
  //# sourceMappingURL=createGlobalVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createGlobalVersion.d.ts","sourceRoot":"","sources":["../src/createGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAkB,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAMnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC5D,IAAI,EAAE,cAAc,EACpB,EAAE,QAAQ,EAAE,UAAU,EAAE,GAA0B,EAAE,WAAW,EAAE,EAAE,uBAAuB,+BAkC3F"}
1
+ {"version":3,"file":"createGlobalVersion.d.ts","sourceRoot":"","sources":["../src/createGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAkB,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAMnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC5D,IAAI,EAAE,cAAc,EACpB,EACE,QAAQ,EACR,UAAU,EACV,eAAe,EACf,GAA0B,EAC1B,QAAQ,EACR,WAAW,GACZ,EAAE,uBAAuB,+BAoC3B"}
@@ -2,7 +2,7 @@ import { sql } from 'drizzle-orm';
2
2
  import { buildVersionGlobalFields } from 'payload';
3
3
  import toSnakeCase from 'to-snake-case';
4
4
  import { upsertRow } from './upsertRow/index.js';
5
- export async function createGlobalVersion({ autosave, globalSlug, req = {}, versionData }) {
5
+ export async function createGlobalVersion({ autosave, globalSlug, publishedLocale, req = {}, snapshot, versionData }) {
6
6
  const db = this.sessions[await req?.transactionID]?.db || this.drizzle;
7
7
  const global = this.payload.globals.config.find(({ slug })=>slug === globalSlug);
8
8
  const tableName = this.tableNameMap.get(`_${toSnakeCase(global.slug)}${this.versionsSuffix}`);
@@ -11,10 +11,12 @@ export async function createGlobalVersion({ autosave, globalSlug, req = {}, vers
11
11
  data: {
12
12
  autosave,
13
13
  latest: true,
14
+ publishedLocale,
15
+ snapshot,
14
16
  version: versionData
15
17
  },
16
18
  db,
17
- fields: buildVersionGlobalFields(global),
19
+ fields: buildVersionGlobalFields(this.payload.config, global),
18
20
  operation: 'create',
19
21
  req,
20
22
  tableName
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/createGlobalVersion.ts"],"sourcesContent":["import type { CreateGlobalVersionArgs, PayloadRequest, TypeWithID, TypeWithVersion } from 'payload'\n\nimport { sql } from 'drizzle-orm'\nimport { buildVersionGlobalFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { upsertRow } from './upsertRow/index.js'\n\nexport async function createGlobalVersion<T extends TypeWithID>(\n this: DrizzleAdapter,\n { autosave, globalSlug, req = {} as PayloadRequest, versionData }: CreateGlobalVersionArgs,\n) {\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n const global = this.payload.globals.config.find(({ slug }) => slug === globalSlug)\n\n const tableName = this.tableNameMap.get(`_${toSnakeCase(global.slug)}${this.versionsSuffix}`)\n\n const result = await upsertRow<TypeWithVersion<T>>({\n adapter: this,\n data: {\n autosave,\n latest: true,\n version: versionData,\n },\n db,\n fields: buildVersionGlobalFields(global),\n operation: 'create',\n req,\n tableName,\n })\n\n const table = this.tables[tableName]\n if (global.versions.drafts) {\n await this.execute({\n db,\n sql: sql`\n UPDATE ${table}\n SET latest = false\n WHERE ${table.id} != ${result.id};\n `,\n })\n }\n\n return result\n}\n"],"names":["sql","buildVersionGlobalFields","toSnakeCase","upsertRow","createGlobalVersion","autosave","globalSlug","req","versionData","db","sessions","transactionID","drizzle","global","payload","globals","config","find","slug","tableName","tableNameMap","get","versionsSuffix","result","adapter","data","latest","version","fields","operation","table","tables","versions","drafts","execute","id"],"mappings":"AAEA,SAASA,GAAG,QAAQ,cAAa;AACjC,SAASC,wBAAwB,QAAQ,UAAS;AAClD,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,OAAO,eAAeC,oBAEpB,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,MAAM,CAAC,CAAmB,EAAEC,WAAW,EAA2B;IAE1F,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMH,KAAKI,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMC,SAAS,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASZ;IAEvE,MAAMa,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAAC,CAAC,CAAC,EAAEnB,YAAYW,OAAOK,IAAI,EAAE,EAAE,IAAI,CAACI,cAAc,CAAC,CAAC;IAE5F,MAAMC,SAAS,MAAMpB,UAA8B;QACjDqB,SAAS,IAAI;QACbC,MAAM;YACJpB;YACAqB,QAAQ;YACRC,SAASnB;QACX;QACAC;QACAmB,QAAQ3B,yBAAyBY;QACjCgB,WAAW;QACXtB;QACAY;IACF;IAEA,MAAMW,QAAQ,IAAI,CAACC,MAAM,CAACZ,UAAU;IACpC,IAAIN,OAAOmB,QAAQ,CAACC,MAAM,EAAE;QAC1B,MAAM,IAAI,CAACC,OAAO,CAAC;YACjBzB;YACAT,KAAKA,GAAG,CAAC;iBACE,EAAE8B,MAAM;;gBAET,EAAEA,MAAMK,EAAE,CAAC,IAAI,EAAEZ,OAAOY,EAAE,CAAC;QACnC,CAAC;QACL;IACF;IAEA,OAAOZ;AACT"}
1
+ {"version":3,"sources":["../src/createGlobalVersion.ts"],"sourcesContent":["import type { CreateGlobalVersionArgs, PayloadRequest, TypeWithID, TypeWithVersion } from 'payload'\n\nimport { sql } from 'drizzle-orm'\nimport { buildVersionGlobalFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { upsertRow } from './upsertRow/index.js'\n\nexport async function createGlobalVersion<T extends TypeWithID>(\n this: DrizzleAdapter,\n {\n autosave,\n globalSlug,\n publishedLocale,\n req = {} as PayloadRequest,\n snapshot,\n versionData,\n }: CreateGlobalVersionArgs,\n) {\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n const global = this.payload.globals.config.find(({ slug }) => slug === globalSlug)\n\n const tableName = this.tableNameMap.get(`_${toSnakeCase(global.slug)}${this.versionsSuffix}`)\n\n const result = await upsertRow<TypeWithVersion<T>>({\n adapter: this,\n data: {\n autosave,\n latest: true,\n publishedLocale,\n snapshot,\n version: versionData,\n },\n db,\n fields: buildVersionGlobalFields(this.payload.config, global),\n operation: 'create',\n req,\n tableName,\n })\n\n const table = this.tables[tableName]\n if (global.versions.drafts) {\n await this.execute({\n db,\n sql: sql`\n UPDATE ${table}\n SET latest = false\n WHERE ${table.id} != ${result.id};\n `,\n })\n }\n\n return result\n}\n"],"names":["sql","buildVersionGlobalFields","toSnakeCase","upsertRow","createGlobalVersion","autosave","globalSlug","publishedLocale","req","snapshot","versionData","db","sessions","transactionID","drizzle","global","payload","globals","config","find","slug","tableName","tableNameMap","get","versionsSuffix","result","adapter","data","latest","version","fields","operation","table","tables","versions","drafts","execute","id"],"mappings":"AAEA,SAASA,GAAG,QAAQ,cAAa;AACjC,SAASC,wBAAwB,QAAQ,UAAS;AAClD,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,OAAO,eAAeC,oBAEpB,EACEC,QAAQ,EACRC,UAAU,EACVC,eAAe,EACfC,MAAM,CAAC,CAAmB,EAC1BC,QAAQ,EACRC,WAAW,EACa;IAE1B,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMJ,KAAKK,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMC,SAAS,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASd;IAEvE,MAAMe,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAAC,CAAC,CAAC,EAAErB,YAAYa,OAAOK,IAAI,EAAE,EAAE,IAAI,CAACI,cAAc,CAAC,CAAC;IAE5F,MAAMC,SAAS,MAAMtB,UAA8B;QACjDuB,SAAS,IAAI;QACbC,MAAM;YACJtB;YACAuB,QAAQ;YACRrB;YACAE;YACAoB,SAASnB;QACX;QACAC;QACAmB,QAAQ7B,yBAAyB,IAAI,CAACe,OAAO,CAACE,MAAM,EAAEH;QACtDgB,WAAW;QACXvB;QACAa;IACF;IAEA,MAAMW,QAAQ,IAAI,CAACC,MAAM,CAACZ,UAAU;IACpC,IAAIN,OAAOmB,QAAQ,CAACC,MAAM,EAAE;QAC1B,MAAM,IAAI,CAACC,OAAO,CAAC;YACjBzB;YACAX,KAAKA,GAAG,CAAC;iBACE,EAAEgC,MAAM;;gBAET,EAAEA,MAAMK,EAAE,CAAC,IAAI,EAAEZ,OAAOY,EAAE,CAAC;QACnC,CAAC;QACL;IACF;IAEA,OAAOZ;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTableName.d.ts","sourceRoot":"","sources":["../src/createTableName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAK/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAA;IAChE,8CAA8C;IAC9C,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,gBAAgB,CAAA;QACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uHAAuH;IACvH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC9B,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,mIAAmI;IACnI,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mHAAmH;IACnH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,sIAUzB,IAAI,KAAG,MAsCT,CAAA"}
1
+ {"version":3,"file":"createTableName.d.ts","sourceRoot":"","sources":["../src/createTableName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAK/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAA;IAChE,8CAA8C;IAC9C,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,gBAAgB,CAAA;QACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uHAAuH;IACvH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC9B,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,mIAAmI;IACnI,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mHAAmH;IACnH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,sIAUzB,IAAI,KAAG,MAyCT,CAAA"}
@@ -6,7 +6,9 @@ import toSnakeCase from 'to-snake-case';
6
6
  */ export const createTableName = ({ adapter, config: { name, slug }, config, parentTableName, prefix = '', target = 'dbName', throwValidationError = false, versions = false, versionsCustomName = false })=>{
7
7
  let customNameDefinition = config[target];
8
8
  let defaultTableName = `${prefix}${toSnakeCase(name ?? slug)}`;
9
- if (versions) defaultTableName = `_${defaultTableName}${adapter.versionsSuffix}`;
9
+ if (versions) {
10
+ defaultTableName = `_${defaultTableName}${adapter.versionsSuffix}`;
11
+ }
10
12
  let customTableNameResult;
11
13
  if (!customNameDefinition && target === 'enumName') {
12
14
  customNameDefinition = config['dbName'];
@@ -15,7 +17,9 @@ import toSnakeCase from 'to-snake-case';
15
17
  customTableNameResult = typeof customNameDefinition === 'function' ? customNameDefinition({
16
18
  tableName: parentTableName
17
19
  }) : customNameDefinition;
18
- if (versionsCustomName) customTableNameResult = `_${customTableNameResult}${adapter.versionsSuffix}`;
20
+ if (versionsCustomName) {
21
+ customTableNameResult = `_${customTableNameResult}${adapter.versionsSuffix}`;
22
+ }
19
23
  }
20
24
  const result = customTableNameResult || defaultTableName;
21
25
  adapter.tableNameMap.set(defaultTableName, result);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/createTableName.ts"],"sourcesContent":["import type { DBIdentifierName } from 'payload'\n\nimport { APIError } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\ntype Args = {\n adapter: Pick<DrizzleAdapter, 'tableNameMap' | 'versionsSuffix'>\n /** The collection, global or field config **/\n config: {\n dbName?: DBIdentifierName\n enumName?: DBIdentifierName\n name?: string\n slug?: string\n }\n /** For nested tables passed for the user custom dbName functions to handle their own iterations */\n parentTableName?: string\n /** For sub tables (array for example) this needs to include the parentTableName */\n prefix?: string\n /** For tables based on fields that could have both enumName and dbName (ie: select with hasMany), default: 'dbName' */\n target?: 'dbName' | 'enumName'\n /** Throws error if true for postgres when table and enum names exceed 63 characters */\n throwValidationError?: boolean\n /** Adds the versions suffix to the default table name - should only be used on the base collection to avoid duplicate suffixing */\n versions?: boolean\n /** Adds the versions suffix to custom dbName only - this is used while creating blocks / selects / arrays / etc */\n versionsCustomName?: boolean\n}\n\n/**\n * Used to name database enums and tables\n * Returns the table or enum name for a given entity\n */\nexport const createTableName = ({\n adapter,\n config: { name, slug },\n config,\n parentTableName,\n prefix = '',\n target = 'dbName',\n throwValidationError = false,\n versions = false,\n versionsCustomName = false,\n}: Args): string => {\n let customNameDefinition = config[target]\n\n let defaultTableName = `${prefix}${toSnakeCase(name ?? slug)}`\n\n if (versions) defaultTableName = `_${defaultTableName}${adapter.versionsSuffix}`\n\n let customTableNameResult: string\n\n if (!customNameDefinition && target === 'enumName') {\n customNameDefinition = config['dbName']\n }\n\n if (customNameDefinition) {\n customTableNameResult =\n typeof customNameDefinition === 'function'\n ? customNameDefinition({ tableName: parentTableName })\n : customNameDefinition\n\n if (versionsCustomName)\n customTableNameResult = `_${customTableNameResult}${adapter.versionsSuffix}`\n }\n\n const result = customTableNameResult || defaultTableName\n\n adapter.tableNameMap.set(defaultTableName, result)\n\n if (!throwValidationError) {\n return result\n }\n\n if (result.length > 63) {\n throw new APIError(\n `Exceeded max identifier length for table or enum name of 63 characters. Invalid name: ${result}`,\n )\n }\n\n return result\n}\n"],"names":["APIError","toSnakeCase","createTableName","adapter","config","name","slug","parentTableName","prefix","target","throwValidationError","versions","versionsCustomName","customNameDefinition","defaultTableName","versionsSuffix","customTableNameResult","tableName","result","tableNameMap","set","length"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,UAAS;AAClC,OAAOC,iBAAiB,gBAAe;AA2BvC;;;CAGC,GACD,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,OAAO,EACPC,QAAQ,EAAEC,IAAI,EAAEC,IAAI,EAAE,EACtBF,MAAM,EACNG,eAAe,EACfC,SAAS,EAAE,EACXC,SAAS,QAAQ,EACjBC,uBAAuB,KAAK,EAC5BC,WAAW,KAAK,EAChBC,qBAAqB,KAAK,EACrB;IACL,IAAIC,uBAAuBT,MAAM,CAACK,OAAO;IAEzC,IAAIK,mBAAmB,CAAC,EAAEN,OAAO,EAAEP,YAAYI,QAAQC,MAAM,CAAC;IAE9D,IAAIK,UAAUG,mBAAmB,CAAC,CAAC,EAAEA,iBAAiB,EAAEX,QAAQY,cAAc,CAAC,CAAC;IAEhF,IAAIC;IAEJ,IAAI,CAACH,wBAAwBJ,WAAW,YAAY;QAClDI,uBAAuBT,MAAM,CAAC,SAAS;IACzC;IAEA,IAAIS,sBAAsB;QACxBG,wBACE,OAAOH,yBAAyB,aAC5BA,qBAAqB;YAAEI,WAAWV;QAAgB,KAClDM;QAEN,IAAID,oBACFI,wBAAwB,CAAC,CAAC,EAAEA,sBAAsB,EAAEb,QAAQY,cAAc,CAAC,CAAC;IAChF;IAEA,MAAMG,SAASF,yBAAyBF;IAExCX,QAAQgB,YAAY,CAACC,GAAG,CAACN,kBAAkBI;IAE3C,IAAI,CAACR,sBAAsB;QACzB,OAAOQ;IACT;IAEA,IAAIA,OAAOG,MAAM,GAAG,IAAI;QACtB,MAAM,IAAIrB,SACR,CAAC,sFAAsF,EAAEkB,OAAO,CAAC;IAErG;IAEA,OAAOA;AACT,EAAC"}
1
+ {"version":3,"sources":["../src/createTableName.ts"],"sourcesContent":["import type { DBIdentifierName } from 'payload'\n\nimport { APIError } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\ntype Args = {\n adapter: Pick<DrizzleAdapter, 'tableNameMap' | 'versionsSuffix'>\n /** The collection, global or field config **/\n config: {\n dbName?: DBIdentifierName\n enumName?: DBIdentifierName\n name?: string\n slug?: string\n }\n /** For nested tables passed for the user custom dbName functions to handle their own iterations */\n parentTableName?: string\n /** For sub tables (array for example) this needs to include the parentTableName */\n prefix?: string\n /** For tables based on fields that could have both enumName and dbName (ie: select with hasMany), default: 'dbName' */\n target?: 'dbName' | 'enumName'\n /** Throws error if true for postgres when table and enum names exceed 63 characters */\n throwValidationError?: boolean\n /** Adds the versions suffix to the default table name - should only be used on the base collection to avoid duplicate suffixing */\n versions?: boolean\n /** Adds the versions suffix to custom dbName only - this is used while creating blocks / selects / arrays / etc */\n versionsCustomName?: boolean\n}\n\n/**\n * Used to name database enums and tables\n * Returns the table or enum name for a given entity\n */\nexport const createTableName = ({\n adapter,\n config: { name, slug },\n config,\n parentTableName,\n prefix = '',\n target = 'dbName',\n throwValidationError = false,\n versions = false,\n versionsCustomName = false,\n}: Args): string => {\n let customNameDefinition = config[target]\n\n let defaultTableName = `${prefix}${toSnakeCase(name ?? slug)}`\n\n if (versions) {\n defaultTableName = `_${defaultTableName}${adapter.versionsSuffix}`\n }\n\n let customTableNameResult: string\n\n if (!customNameDefinition && target === 'enumName') {\n customNameDefinition = config['dbName']\n }\n\n if (customNameDefinition) {\n customTableNameResult =\n typeof customNameDefinition === 'function'\n ? customNameDefinition({ tableName: parentTableName })\n : customNameDefinition\n\n if (versionsCustomName) {\n customTableNameResult = `_${customTableNameResult}${adapter.versionsSuffix}`\n }\n }\n\n const result = customTableNameResult || defaultTableName\n\n adapter.tableNameMap.set(defaultTableName, result)\n\n if (!throwValidationError) {\n return result\n }\n\n if (result.length > 63) {\n throw new APIError(\n `Exceeded max identifier length for table or enum name of 63 characters. Invalid name: ${result}`,\n )\n }\n\n return result\n}\n"],"names":["APIError","toSnakeCase","createTableName","adapter","config","name","slug","parentTableName","prefix","target","throwValidationError","versions","versionsCustomName","customNameDefinition","defaultTableName","versionsSuffix","customTableNameResult","tableName","result","tableNameMap","set","length"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,UAAS;AAClC,OAAOC,iBAAiB,gBAAe;AA2BvC;;;CAGC,GACD,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,OAAO,EACPC,QAAQ,EAAEC,IAAI,EAAEC,IAAI,EAAE,EACtBF,MAAM,EACNG,eAAe,EACfC,SAAS,EAAE,EACXC,SAAS,QAAQ,EACjBC,uBAAuB,KAAK,EAC5BC,WAAW,KAAK,EAChBC,qBAAqB,KAAK,EACrB;IACL,IAAIC,uBAAuBT,MAAM,CAACK,OAAO;IAEzC,IAAIK,mBAAmB,CAAC,EAAEN,OAAO,EAAEP,YAAYI,QAAQC,MAAM,CAAC;IAE9D,IAAIK,UAAU;QACZG,mBAAmB,CAAC,CAAC,EAAEA,iBAAiB,EAAEX,QAAQY,cAAc,CAAC,CAAC;IACpE;IAEA,IAAIC;IAEJ,IAAI,CAACH,wBAAwBJ,WAAW,YAAY;QAClDI,uBAAuBT,MAAM,CAAC,SAAS;IACzC;IAEA,IAAIS,sBAAsB;QACxBG,wBACE,OAAOH,yBAAyB,aAC5BA,qBAAqB;YAAEI,WAAWV;QAAgB,KAClDM;QAEN,IAAID,oBAAoB;YACtBI,wBAAwB,CAAC,CAAC,EAAEA,sBAAsB,EAAEb,QAAQY,cAAc,CAAC,CAAC;QAC9E;IACF;IAEA,MAAMG,SAASF,yBAAyBF;IAExCX,QAAQgB,YAAY,CAACC,GAAG,CAACN,kBAAkBI;IAE3C,IAAI,CAACR,sBAAsB;QACzB,OAAOQ;IACT;IAEA,IAAIA,OAAOG,MAAM,GAAG,IAAI;QACtB,MAAM,IAAIrB,SACR,CAAC,sFAAsF,EAAEkB,OAAO,CAAC;IAErG;IAEA,OAAOA;AACT,EAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { CreateVersionArgs, TypeWithID, TypeWithVersion } from 'payload';
2
2
  import type { DrizzleAdapter } from './types.js';
3
- export declare function createVersion<T extends TypeWithID>(this: DrizzleAdapter, { autosave, collectionSlug, parent, req, versionData, }: CreateVersionArgs<T>): Promise<TypeWithVersion<T>>;
3
+ export declare function createVersion<T extends TypeWithID>(this: DrizzleAdapter, { autosave, collectionSlug, parent, publishedLocale, req, snapshot, versionData, }: CreateVersionArgs<T>): Promise<TypeWithVersion<T>>;
4
4
  //# sourceMappingURL=createVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createVersion.d.ts","sourceRoot":"","sources":["../src/createVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,wBAAsB,aAAa,CAAC,CAAC,SAAS,UAAU,EACtD,IAAI,EAAE,cAAc,EACpB,EACE,QAAQ,EACR,cAAc,EACd,MAAM,EACN,GAA0B,EAC1B,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAyCxB"}
1
+ {"version":3,"file":"createVersion.d.ts","sourceRoot":"","sources":["../src/createVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,wBAAsB,aAAa,CAAC,CAAC,SAAS,UAAU,EACtD,IAAI,EAAE,cAAc,EACpB,EACE,QAAQ,EACR,cAAc,EACd,MAAM,EACN,eAAe,EACf,GAA0B,EAC1B,QAAQ,EACR,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAmDxB"}
@@ -2,7 +2,7 @@ import { sql } from 'drizzle-orm';
2
2
  import { buildVersionCollectionFields } from 'payload';
3
3
  import toSnakeCase from 'to-snake-case';
4
4
  import { upsertRow } from './upsertRow/index.js';
5
- export async function createVersion({ autosave, collectionSlug, parent, req = {}, versionData }) {
5
+ export async function createVersion({ autosave, collectionSlug, parent, publishedLocale, req = {}, snapshot, versionData }) {
6
6
  const db = this.sessions[await req?.transactionID]?.db || this.drizzle;
7
7
  const collection = this.payload.collections[collectionSlug].config;
8
8
  const defaultTableName = toSnakeCase(collection.slug);
@@ -10,17 +10,25 @@ export async function createVersion({ autosave, collectionSlug, parent, req = {}
10
10
  const version = {
11
11
  ...versionData
12
12
  };
13
- if (version.id) delete version.id;
13
+ if (version.id) {
14
+ delete version.id;
15
+ }
16
+ const data = {
17
+ autosave,
18
+ latest: true,
19
+ parent,
20
+ publishedLocale,
21
+ snapshot,
22
+ version
23
+ };
24
+ if ('createdAt' in version) {
25
+ data.createdAt = version.createdAt;
26
+ }
14
27
  const result = await upsertRow({
15
28
  adapter: this,
16
- data: {
17
- autosave,
18
- latest: true,
19
- parent,
20
- version
21
- },
29
+ data,
22
30
  db,
23
- fields: buildVersionCollectionFields(collection),
31
+ fields: buildVersionCollectionFields(this.payload.config, collection),
24
32
  operation: 'create',
25
33
  req,
26
34
  tableName
@@ -30,11 +38,11 @@ export async function createVersion({ autosave, collectionSlug, parent, req = {}
30
38
  await this.execute({
31
39
  db,
32
40
  sql: sql`
33
- UPDATE ${table}
34
- SET latest = false
35
- WHERE ${table.id} != ${result.id}
36
- AND ${table.parent} = ${parent}
37
- `
41
+ UPDATE ${table}
42
+ SET latest = false
43
+ WHERE ${table.id} != ${result.id}
44
+ AND ${table.parent} = ${parent}
45
+ `
38
46
  });
39
47
  }
40
48
  return result;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/createVersion.ts"],"sourcesContent":["import type { CreateVersionArgs, PayloadRequest, TypeWithID, TypeWithVersion } from 'payload'\n\nimport { sql } from 'drizzle-orm'\nimport { buildVersionCollectionFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { upsertRow } from './upsertRow/index.js'\n\nexport async function createVersion<T extends TypeWithID>(\n this: DrizzleAdapter,\n {\n autosave,\n collectionSlug,\n parent,\n req = {} as PayloadRequest,\n versionData,\n }: CreateVersionArgs<T>,\n) {\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n const collection = this.payload.collections[collectionSlug].config\n const defaultTableName = toSnakeCase(collection.slug)\n\n const tableName = this.tableNameMap.get(`_${defaultTableName}${this.versionsSuffix}`)\n\n const version = { ...versionData }\n if (version.id) delete version.id\n\n const result = await upsertRow<TypeWithVersion<T>>({\n adapter: this,\n data: {\n autosave,\n latest: true,\n parent,\n version,\n },\n db,\n fields: buildVersionCollectionFields(collection),\n operation: 'create',\n req,\n tableName,\n })\n\n const table = this.tables[tableName]\n\n if (collection.versions.drafts) {\n await this.execute({\n db,\n sql: sql`\n UPDATE ${table}\n SET latest = false\n WHERE ${table.id} != ${result.id}\n AND ${table.parent} = ${parent}\n `,\n })\n }\n\n return result\n}\n"],"names":["sql","buildVersionCollectionFields","toSnakeCase","upsertRow","createVersion","autosave","collectionSlug","parent","req","versionData","db","sessions","transactionID","drizzle","collection","payload","collections","config","defaultTableName","slug","tableName","tableNameMap","get","versionsSuffix","version","id","result","adapter","data","latest","fields","operation","table","tables","versions","drafts","execute"],"mappings":"AAEA,SAASA,GAAG,QAAQ,cAAa;AACjC,SAASC,4BAA4B,QAAQ,UAAS;AACtD,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,OAAO,eAAeC,cAEpB,EACEC,QAAQ,EACRC,cAAc,EACdC,MAAM,EACNC,MAAM,CAAC,CAAmB,EAC1BC,WAAW,EACU;IAEvB,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMH,KAAKI,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMC,aAAa,IAAI,CAACC,OAAO,CAACC,WAAW,CAACV,eAAe,CAACW,MAAM;IAClE,MAAMC,mBAAmBhB,YAAYY,WAAWK,IAAI;IAEpD,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAAC,CAAC,CAAC,EAAEJ,iBAAiB,EAAE,IAAI,CAACK,cAAc,CAAC,CAAC;IAEpF,MAAMC,UAAU;QAAE,GAAGf,WAAW;IAAC;IACjC,IAAIe,QAAQC,EAAE,EAAE,OAAOD,QAAQC,EAAE;IAEjC,MAAMC,SAAS,MAAMvB,UAA8B;QACjDwB,SAAS,IAAI;QACbC,MAAM;YACJvB;YACAwB,QAAQ;YACRtB;YACAiB;QACF;QACAd;QACAoB,QAAQ7B,6BAA6Ba;QACrCiB,WAAW;QACXvB;QACAY;IACF;IAEA,MAAMY,QAAQ,IAAI,CAACC,MAAM,CAACb,UAAU;IAEpC,IAAIN,WAAWoB,QAAQ,CAACC,MAAM,EAAE;QAC9B,MAAM,IAAI,CAACC,OAAO,CAAC;YACjB1B;YACAV,KAAKA,GAAG,CAAC;aACF,EAAEgC,MAAM;;YAET,EAAEA,MAAMP,EAAE,CAAC,IAAI,EAAEC,OAAOD,EAAE,CAAC;YAC3B,EAAEO,MAAMzB,MAAM,CAAC,GAAG,EAAEA,OAAO;IACnC,CAAC;QACD;IACF;IAEA,OAAOmB;AACT"}
1
+ {"version":3,"sources":["../src/createVersion.ts"],"sourcesContent":["import type { CreateVersionArgs, PayloadRequest, TypeWithID, TypeWithVersion } from 'payload'\n\nimport { sql } from 'drizzle-orm'\nimport { buildVersionCollectionFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { upsertRow } from './upsertRow/index.js'\n\nexport async function createVersion<T extends TypeWithID>(\n this: DrizzleAdapter,\n {\n autosave,\n collectionSlug,\n parent,\n publishedLocale,\n req = {} as PayloadRequest,\n snapshot,\n versionData,\n }: CreateVersionArgs<T>,\n) {\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n const collection = this.payload.collections[collectionSlug].config\n const defaultTableName = toSnakeCase(collection.slug)\n\n const tableName = this.tableNameMap.get(`_${defaultTableName}${this.versionsSuffix}`)\n\n const version = { ...versionData }\n if (version.id) {\n delete version.id\n }\n\n const data: Record<string, unknown> = {\n autosave,\n latest: true,\n parent,\n publishedLocale,\n snapshot,\n version,\n }\n\n if ('createdAt' in version) {\n data.createdAt = version.createdAt\n }\n\n const result = await upsertRow<TypeWithVersion<T>>({\n adapter: this,\n data,\n db,\n fields: buildVersionCollectionFields(this.payload.config, collection),\n operation: 'create',\n req,\n tableName,\n })\n\n const table = this.tables[tableName]\n\n if (collection.versions.drafts) {\n await this.execute({\n db,\n sql: sql`\n UPDATE ${table}\n SET latest = false\n WHERE ${table.id} != ${result.id}\n AND ${table.parent} = ${parent}\n `,\n })\n }\n\n return result\n}\n"],"names":["sql","buildVersionCollectionFields","toSnakeCase","upsertRow","createVersion","autosave","collectionSlug","parent","publishedLocale","req","snapshot","versionData","db","sessions","transactionID","drizzle","collection","payload","collections","config","defaultTableName","slug","tableName","tableNameMap","get","versionsSuffix","version","id","data","latest","createdAt","result","adapter","fields","operation","table","tables","versions","drafts","execute"],"mappings":"AAEA,SAASA,GAAG,QAAQ,cAAa;AACjC,SAASC,4BAA4B,QAAQ,UAAS;AACtD,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,OAAO,eAAeC,cAEpB,EACEC,QAAQ,EACRC,cAAc,EACdC,MAAM,EACNC,eAAe,EACfC,MAAM,CAAC,CAAmB,EAC1BC,QAAQ,EACRC,WAAW,EACU;IAEvB,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMJ,KAAKK,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMC,aAAa,IAAI,CAACC,OAAO,CAACC,WAAW,CAACZ,eAAe,CAACa,MAAM;IAClE,MAAMC,mBAAmBlB,YAAYc,WAAWK,IAAI;IAEpD,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAAC,CAAC,CAAC,EAAEJ,iBAAiB,EAAE,IAAI,CAACK,cAAc,CAAC,CAAC;IAEpF,MAAMC,UAAU;QAAE,GAAGf,WAAW;IAAC;IACjC,IAAIe,QAAQC,EAAE,EAAE;QACd,OAAOD,QAAQC,EAAE;IACnB;IAEA,MAAMC,OAAgC;QACpCvB;QACAwB,QAAQ;QACRtB;QACAC;QACAE;QACAgB;IACF;IAEA,IAAI,eAAeA,SAAS;QAC1BE,KAAKE,SAAS,GAAGJ,QAAQI,SAAS;IACpC;IAEA,MAAMC,SAAS,MAAM5B,UAA8B;QACjD6B,SAAS,IAAI;QACbJ;QACAhB;QACAqB,QAAQhC,6BAA6B,IAAI,CAACgB,OAAO,CAACE,MAAM,EAAEH;QAC1DkB,WAAW;QACXzB;QACAa;IACF;IAEA,MAAMa,QAAQ,IAAI,CAACC,MAAM,CAACd,UAAU;IAEpC,IAAIN,WAAWqB,QAAQ,CAACC,MAAM,EAAE;QAC9B,MAAM,IAAI,CAACC,OAAO,CAAC;YACjB3B;YACAZ,KAAKA,GAAG,CAAC;eACA,EAAEmC,MAAM;;cAET,EAAEA,MAAMR,EAAE,CAAC,IAAI,EAAEI,OAAOJ,EAAE,CAAC;cAC3B,EAAEQ,MAAM5B,MAAM,CAAC,GAAG,EAAEA,OAAO;MACnC,CAAC;QACH;IACF;IAEA,OAAOwB;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteOne.d.ts","sourceRoot":"","sources":["../src/deleteOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAA;AAYxD,eAAO,MAAM,SAAS,EAAE,SA4DvB,CAAA"}
1
+ {"version":3,"file":"deleteOne.d.ts","sourceRoot":"","sources":["../src/deleteOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAA;AAYxD,eAAO,MAAM,SAAS,EAAE,SA8DvB,CAAA"}
package/dist/deleteOne.js CHANGED
@@ -4,12 +4,12 @@ import { buildFindManyArgs } from './find/buildFindManyArgs.js';
4
4
  import buildQuery from './queries/buildQuery.js';
5
5
  import { selectDistinct } from './queries/selectDistinct.js';
6
6
  import { transform } from './transform/read/index.js';
7
- export const deleteOne = async function deleteOne({ collection: collectionSlug, req = {}, where: whereArg }) {
7
+ export const deleteOne = async function deleteOne({ collection: collectionSlug, joins: joinQuery, req = {}, where: whereArg }) {
8
8
  const db = this.sessions[await req?.transactionID]?.db || this.drizzle;
9
9
  const collection = this.payload.collections[collectionSlug].config;
10
10
  const tableName = this.tableNameMap.get(toSnakeCase(collection.slug));
11
11
  let docToDelete;
12
- const { joins, selectFields, where } = await buildQuery({
12
+ const { joins, selectFields, where } = buildQuery({
13
13
  adapter: this,
14
14
  fields: collection.fields,
15
15
  locale: req.locale,
@@ -41,6 +41,7 @@ export const deleteOne = async function deleteOne({ collection: collectionSlug,
41
41
  adapter: this,
42
42
  depth: 0,
43
43
  fields: collection.fields,
44
+ joinQuery,
44
45
  tableName
45
46
  });
46
47
  findManyArgs.where = where;
@@ -50,7 +51,8 @@ export const deleteOne = async function deleteOne({ collection: collectionSlug,
50
51
  adapter: this,
51
52
  config: this.payload.config,
52
53
  data: docToDelete,
53
- fields: collection.fields
54
+ fields: collection.fields,
55
+ joinQuery
54
56
  });
55
57
  await this.deleteWhere({
56
58
  db,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/deleteOne.ts"],"sourcesContent":["import type { DeleteOne, PayloadRequest } from 'payload'\n\nimport { eq } from 'drizzle-orm'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { buildFindManyArgs } from './find/buildFindManyArgs.js'\nimport buildQuery from './queries/buildQuery.js'\nimport { selectDistinct } from './queries/selectDistinct.js'\nimport { transform } from './transform/read/index.js'\n\nexport const deleteOne: DeleteOne = async function deleteOne(\n this: DrizzleAdapter,\n { collection: collectionSlug, req = {} as PayloadRequest, where: whereArg },\n) {\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n const collection = this.payload.collections[collectionSlug].config\n\n const tableName = this.tableNameMap.get(toSnakeCase(collection.slug))\n\n let docToDelete: Record<string, unknown>\n\n const { joins, selectFields, where } = await buildQuery({\n adapter: this,\n fields: collection.fields,\n locale: req.locale,\n tableName,\n where: whereArg,\n })\n\n const selectDistinctResult = await selectDistinct({\n adapter: this,\n chainedMethods: [{ args: [1], method: 'limit' }],\n db,\n joins,\n selectFields,\n tableName,\n where,\n })\n\n if (selectDistinctResult?.[0]?.id) {\n docToDelete = await db.query[tableName].findFirst({\n where: eq(this.tables[tableName].id, selectDistinctResult[0].id),\n })\n } else {\n const findManyArgs = buildFindManyArgs({\n adapter: this,\n depth: 0,\n fields: collection.fields,\n tableName,\n })\n\n findManyArgs.where = where\n\n docToDelete = await db.query[tableName].findFirst(findManyArgs)\n }\n\n const result = transform({\n adapter: this,\n config: this.payload.config,\n data: docToDelete,\n fields: collection.fields,\n })\n\n await this.deleteWhere({\n db,\n tableName,\n where: eq(this.tables[tableName].id, docToDelete.id),\n })\n\n return result\n}\n"],"names":["eq","toSnakeCase","buildFindManyArgs","buildQuery","selectDistinct","transform","deleteOne","collection","collectionSlug","req","where","whereArg","db","sessions","transactionID","drizzle","payload","collections","config","tableName","tableNameMap","get","slug","docToDelete","joins","selectFields","adapter","fields","locale","selectDistinctResult","chainedMethods","args","method","id","query","findFirst","tables","findManyArgs","depth","result","data","deleteWhere"],"mappings":"AAEA,SAASA,EAAE,QAAQ,cAAa;AAChC,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,OAAOC,gBAAgB,0BAAyB;AAChD,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,SAAS,QAAQ,4BAA2B;AAErD,OAAO,MAAMC,YAAuB,eAAeA,UAEjD,EAAEC,YAAYC,cAAc,EAAEC,MAAM,CAAC,CAAmB,EAAEC,OAAOC,QAAQ,EAAE;IAE3E,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMJ,KAAKK,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMR,aAAa,IAAI,CAACS,OAAO,CAACC,WAAW,CAACT,eAAe,CAACU,MAAM;IAElE,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACpB,YAAYM,WAAWe,IAAI;IAEnE,IAAIC;IAEJ,MAAM,EAAEC,KAAK,EAAEC,YAAY,EAAEf,KAAK,EAAE,GAAG,MAAMP,WAAW;QACtDuB,SAAS,IAAI;QACbC,QAAQpB,WAAWoB,MAAM;QACzBC,QAAQnB,IAAImB,MAAM;QAClBT;QACAT,OAAOC;IACT;IAEA,MAAMkB,uBAAuB,MAAMzB,eAAe;QAChDsB,SAAS,IAAI;QACbI,gBAAgB;YAAC;gBAAEC,MAAM;oBAAC;iBAAE;gBAAEC,QAAQ;YAAQ;SAAE;QAChDpB;QACAY;QACAC;QACAN;QACAT;IACF;IAEA,IAAImB,sBAAsB,CAAC,EAAE,EAAEI,IAAI;QACjCV,cAAc,MAAMX,GAAGsB,KAAK,CAACf,UAAU,CAACgB,SAAS,CAAC;YAChDzB,OAAOV,GAAG,IAAI,CAACoC,MAAM,CAACjB,UAAU,CAACc,EAAE,EAAEJ,oBAAoB,CAAC,EAAE,CAACI,EAAE;QACjE;IACF,OAAO;QACL,MAAMI,eAAenC,kBAAkB;YACrCwB,SAAS,IAAI;YACbY,OAAO;YACPX,QAAQpB,WAAWoB,MAAM;YACzBR;QACF;QAEAkB,aAAa3B,KAAK,GAAGA;QAErBa,cAAc,MAAMX,GAAGsB,KAAK,CAACf,UAAU,CAACgB,SAAS,CAACE;IACpD;IAEA,MAAME,SAASlC,UAAU;QACvBqB,SAAS,IAAI;QACbR,QAAQ,IAAI,CAACF,OAAO,CAACE,MAAM;QAC3BsB,MAAMjB;QACNI,QAAQpB,WAAWoB,MAAM;IAC3B;IAEA,MAAM,IAAI,CAACc,WAAW,CAAC;QACrB7B;QACAO;QACAT,OAAOV,GAAG,IAAI,CAACoC,MAAM,CAACjB,UAAU,CAACc,EAAE,EAAEV,YAAYU,EAAE;IACrD;IAEA,OAAOM;AACT,EAAC"}
1
+ {"version":3,"sources":["../src/deleteOne.ts"],"sourcesContent":["import type { DeleteOne, PayloadRequest } from 'payload'\n\nimport { eq } from 'drizzle-orm'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { buildFindManyArgs } from './find/buildFindManyArgs.js'\nimport buildQuery from './queries/buildQuery.js'\nimport { selectDistinct } from './queries/selectDistinct.js'\nimport { transform } from './transform/read/index.js'\n\nexport const deleteOne: DeleteOne = async function deleteOne(\n this: DrizzleAdapter,\n { collection: collectionSlug, joins: joinQuery, req = {} as PayloadRequest, where: whereArg },\n) {\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n const collection = this.payload.collections[collectionSlug].config\n\n const tableName = this.tableNameMap.get(toSnakeCase(collection.slug))\n\n let docToDelete: Record<string, unknown>\n\n const { joins, selectFields, where } = buildQuery({\n adapter: this,\n fields: collection.fields,\n locale: req.locale,\n tableName,\n where: whereArg,\n })\n\n const selectDistinctResult = await selectDistinct({\n adapter: this,\n chainedMethods: [{ args: [1], method: 'limit' }],\n db,\n joins,\n selectFields,\n tableName,\n where,\n })\n\n if (selectDistinctResult?.[0]?.id) {\n docToDelete = await db.query[tableName].findFirst({\n where: eq(this.tables[tableName].id, selectDistinctResult[0].id),\n })\n } else {\n const findManyArgs = buildFindManyArgs({\n adapter: this,\n depth: 0,\n fields: collection.fields,\n joinQuery,\n tableName,\n })\n\n findManyArgs.where = where\n\n docToDelete = await db.query[tableName].findFirst(findManyArgs)\n }\n\n const result = transform({\n adapter: this,\n config: this.payload.config,\n data: docToDelete,\n fields: collection.fields,\n joinQuery,\n })\n\n await this.deleteWhere({\n db,\n tableName,\n where: eq(this.tables[tableName].id, docToDelete.id),\n })\n\n return result\n}\n"],"names":["eq","toSnakeCase","buildFindManyArgs","buildQuery","selectDistinct","transform","deleteOne","collection","collectionSlug","joins","joinQuery","req","where","whereArg","db","sessions","transactionID","drizzle","payload","collections","config","tableName","tableNameMap","get","slug","docToDelete","selectFields","adapter","fields","locale","selectDistinctResult","chainedMethods","args","method","id","query","findFirst","tables","findManyArgs","depth","result","data","deleteWhere"],"mappings":"AAEA,SAASA,EAAE,QAAQ,cAAa;AAChC,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,OAAOC,gBAAgB,0BAAyB;AAChD,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,SAAS,QAAQ,4BAA2B;AAErD,OAAO,MAAMC,YAAuB,eAAeA,UAEjD,EAAEC,YAAYC,cAAc,EAAEC,OAAOC,SAAS,EAAEC,MAAM,CAAC,CAAmB,EAAEC,OAAOC,QAAQ,EAAE;IAE7F,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMJ,KAAKK,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMV,aAAa,IAAI,CAACW,OAAO,CAACC,WAAW,CAACX,eAAe,CAACY,MAAM;IAElE,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACtB,YAAYM,WAAWiB,IAAI;IAEnE,IAAIC;IAEJ,MAAM,EAAEhB,KAAK,EAAEiB,YAAY,EAAEd,KAAK,EAAE,GAAGT,WAAW;QAChDwB,SAAS,IAAI;QACbC,QAAQrB,WAAWqB,MAAM;QACzBC,QAAQlB,IAAIkB,MAAM;QAClBR;QACAT,OAAOC;IACT;IAEA,MAAMiB,uBAAuB,MAAM1B,eAAe;QAChDuB,SAAS,IAAI;QACbI,gBAAgB;YAAC;gBAAEC,MAAM;oBAAC;iBAAE;gBAAEC,QAAQ;YAAQ;SAAE;QAChDnB;QACAL;QACAiB;QACAL;QACAT;IACF;IAEA,IAAIkB,sBAAsB,CAAC,EAAE,EAAEI,IAAI;QACjCT,cAAc,MAAMX,GAAGqB,KAAK,CAACd,UAAU,CAACe,SAAS,CAAC;YAChDxB,OAAOZ,GAAG,IAAI,CAACqC,MAAM,CAAChB,UAAU,CAACa,EAAE,EAAEJ,oBAAoB,CAAC,EAAE,CAACI,EAAE;QACjE;IACF,OAAO;QACL,MAAMI,eAAepC,kBAAkB;YACrCyB,SAAS,IAAI;YACbY,OAAO;YACPX,QAAQrB,WAAWqB,MAAM;YACzBlB;YACAW;QACF;QAEAiB,aAAa1B,KAAK,GAAGA;QAErBa,cAAc,MAAMX,GAAGqB,KAAK,CAACd,UAAU,CAACe,SAAS,CAACE;IACpD;IAEA,MAAME,SAASnC,UAAU;QACvBsB,SAAS,IAAI;QACbP,QAAQ,IAAI,CAACF,OAAO,CAACE,MAAM;QAC3BqB,MAAMhB;QACNG,QAAQrB,WAAWqB,MAAM;QACzBlB;IACF;IAEA,MAAM,IAAI,CAACgC,WAAW,CAAC;QACrB5B;QACAO;QACAT,OAAOZ,GAAG,IAAI,CAACqC,MAAM,CAAChB,UAAU,CAACa,EAAE,EAAET,YAAYS,EAAE;IACrD;IAEA,OAAOM;AACT,EAAC"}
@@ -6,7 +6,7 @@ export const deleteVersions = async function deleteVersion({ collection, locale,
6
6
  const db = this.sessions[await req?.transactionID]?.db || this.drizzle;
7
7
  const collectionConfig = this.payload.collections[collection].config;
8
8
  const tableName = this.tableNameMap.get(`_${toSnakeCase(collectionConfig.slug)}${this.versionsSuffix}`);
9
- const fields = buildVersionCollectionFields(collectionConfig);
9
+ const fields = buildVersionCollectionFields(this.payload.config, collectionConfig);
10
10
  const { docs } = await findMany({
11
11
  adapter: this,
12
12
  fields,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/deleteVersions.ts"],"sourcesContent":["import type { DeleteVersions, PayloadRequest, SanitizedCollectionConfig } from 'payload'\n\nimport { inArray } from 'drizzle-orm'\nimport { buildVersionCollectionFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\n\nexport const deleteVersions: DeleteVersions = async function deleteVersion(\n this: DrizzleAdapter,\n { collection, locale, req = {} as PayloadRequest, where: where },\n) {\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n const collectionConfig: SanitizedCollectionConfig = this.payload.collections[collection].config\n\n const tableName = this.tableNameMap.get(\n `_${toSnakeCase(collectionConfig.slug)}${this.versionsSuffix}`,\n )\n\n const fields = buildVersionCollectionFields(collectionConfig)\n\n const { docs } = await findMany({\n adapter: this,\n fields,\n limit: 0,\n locale,\n page: 1,\n pagination: false,\n req,\n tableName,\n where,\n })\n\n const ids = []\n\n docs.forEach((doc) => {\n ids.push(doc.id)\n })\n\n if (ids.length > 0) {\n await this.deleteWhere({\n db,\n tableName,\n where: inArray(this.tables[tableName].id, ids),\n })\n }\n\n return docs\n}\n"],"names":["inArray","buildVersionCollectionFields","toSnakeCase","findMany","deleteVersions","deleteVersion","collection","locale","req","where","db","sessions","transactionID","drizzle","collectionConfig","payload","collections","config","tableName","tableNameMap","get","slug","versionsSuffix","fields","docs","adapter","limit","page","pagination","ids","forEach","doc","push","id","length","deleteWhere","tables"],"mappings":"AAEA,SAASA,OAAO,QAAQ,cAAa;AACrC,SAASC,4BAA4B,QAAQ,UAAS;AACtD,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,QAAQ,QAAQ,qBAAoB;AAE7C,OAAO,MAAMC,iBAAiC,eAAeC,cAE3D,EAAEC,UAAU,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAAmB,EAAEC,OAAOA,KAAK,EAAE;IAEhE,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMH,KAAKI,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMC,mBAA8C,IAAI,CAACC,OAAO,CAACC,WAAW,CAACV,WAAW,CAACW,MAAM;IAE/F,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CACrC,CAAC,CAAC,EAAElB,YAAYY,iBAAiBO,IAAI,EAAE,EAAE,IAAI,CAACC,cAAc,CAAC,CAAC;IAGhE,MAAMC,SAAStB,6BAA6Ba;IAE5C,MAAM,EAAEU,IAAI,EAAE,GAAG,MAAMrB,SAAS;QAC9BsB,SAAS,IAAI;QACbF;QACAG,OAAO;QACPnB;QACAoB,MAAM;QACNC,YAAY;QACZpB;QACAU;QACAT;IACF;IAEA,MAAMoB,MAAM,EAAE;IAEdL,KAAKM,OAAO,CAAC,CAACC;QACZF,IAAIG,IAAI,CAACD,IAAIE,EAAE;IACjB;IAEA,IAAIJ,IAAIK,MAAM,GAAG,GAAG;QAClB,MAAM,IAAI,CAACC,WAAW,CAAC;YACrBzB;YACAQ;YACAT,OAAOT,QAAQ,IAAI,CAACoC,MAAM,CAAClB,UAAU,CAACe,EAAE,EAAEJ;QAC5C;IACF;IAEA,OAAOL;AACT,EAAC"}
1
+ {"version":3,"sources":["../src/deleteVersions.ts"],"sourcesContent":["import type { DeleteVersions, PayloadRequest, SanitizedCollectionConfig } from 'payload'\n\nimport { inArray } from 'drizzle-orm'\nimport { buildVersionCollectionFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\n\nexport const deleteVersions: DeleteVersions = async function deleteVersion(\n this: DrizzleAdapter,\n { collection, locale, req = {} as PayloadRequest, where: where },\n) {\n const db = this.sessions[await req?.transactionID]?.db || this.drizzle\n const collectionConfig: SanitizedCollectionConfig = this.payload.collections[collection].config\n\n const tableName = this.tableNameMap.get(\n `_${toSnakeCase(collectionConfig.slug)}${this.versionsSuffix}`,\n )\n\n const fields = buildVersionCollectionFields(this.payload.config, collectionConfig)\n\n const { docs } = await findMany({\n adapter: this,\n fields,\n limit: 0,\n locale,\n page: 1,\n pagination: false,\n req,\n tableName,\n where,\n })\n\n const ids = []\n\n docs.forEach((doc) => {\n ids.push(doc.id)\n })\n\n if (ids.length > 0) {\n await this.deleteWhere({\n db,\n tableName,\n where: inArray(this.tables[tableName].id, ids),\n })\n }\n\n return docs\n}\n"],"names":["inArray","buildVersionCollectionFields","toSnakeCase","findMany","deleteVersions","deleteVersion","collection","locale","req","where","db","sessions","transactionID","drizzle","collectionConfig","payload","collections","config","tableName","tableNameMap","get","slug","versionsSuffix","fields","docs","adapter","limit","page","pagination","ids","forEach","doc","push","id","length","deleteWhere","tables"],"mappings":"AAEA,SAASA,OAAO,QAAQ,cAAa;AACrC,SAASC,4BAA4B,QAAQ,UAAS;AACtD,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,QAAQ,QAAQ,qBAAoB;AAE7C,OAAO,MAAMC,iBAAiC,eAAeC,cAE3D,EAAEC,UAAU,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAAmB,EAAEC,OAAOA,KAAK,EAAE;IAEhE,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMH,KAAKI,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMC,mBAA8C,IAAI,CAACC,OAAO,CAACC,WAAW,CAACV,WAAW,CAACW,MAAM;IAE/F,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CACrC,CAAC,CAAC,EAAElB,YAAYY,iBAAiBO,IAAI,EAAE,EAAE,IAAI,CAACC,cAAc,CAAC,CAAC;IAGhE,MAAMC,SAAStB,6BAA6B,IAAI,CAACc,OAAO,CAACE,MAAM,EAAEH;IAEjE,MAAM,EAAEU,IAAI,EAAE,GAAG,MAAMrB,SAAS;QAC9BsB,SAAS,IAAI;QACbF;QACAG,OAAO;QACPnB;QACAoB,MAAM;QACNC,YAAY;QACZpB;QACAU;QACAT;IACF;IAEA,MAAMoB,MAAM,EAAE;IAEdL,KAAKM,OAAO,CAAC,CAACC;QACZF,IAAIG,IAAI,CAACD,IAAIE,EAAE;IACjB;IAEA,IAAIJ,IAAIK,MAAM,GAAG,GAAG;QAClB,MAAM,IAAI,CAACC,WAAW,CAAC;YACrBzB;YACAQ;YACAT,OAAOT,QAAQ,IAAI,CAACoC,MAAM,CAAClB,UAAU,CAACe,EAAE,EAAEJ;QAC5C;IACF;IAEA,OAAOL;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../src/destroy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAKtC,eAAO,MAAM,OAAO,EAAE,OAWrB,CAAA"}
1
+ {"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../src/destroy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAKtC,eAAO,MAAM,OAAO,EAAE,OAarB,CAAA"}
package/dist/destroy.js CHANGED
@@ -1,6 +1,8 @@
1
1
  // eslint-disable-next-line @typescript-eslint/require-await
2
2
  export const destroy = async function destroy() {
3
- if (this.enums) this.enums = {};
3
+ if (this.enums) {
4
+ this.enums = {};
5
+ }
4
6
  this.schema = {};
5
7
  this.tables = {};
6
8
  this.relations = {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/destroy.ts"],"sourcesContent":["import type { Destroy } from 'payload'\n\nimport type { DrizzleAdapter } from './types.js'\n\n// eslint-disable-next-line @typescript-eslint/require-await\nexport const destroy: Destroy = async function destroy(this: DrizzleAdapter) {\n if (this.enums) this.enums = {}\n this.schema = {}\n this.tables = {}\n this.relations = {}\n this.fieldConstraints = {}\n this.drizzle = undefined\n this.initializing = new Promise((res, rej) => {\n this.resolveInitializing = res\n this.rejectInitializing = rej\n })\n}\n"],"names":["destroy","enums","schema","tables","relations","fieldConstraints","drizzle","undefined","initializing","Promise","res","rej","resolveInitializing","rejectInitializing"],"mappings":"AAIA,4DAA4D;AAC5D,OAAO,MAAMA,UAAmB,eAAeA;IAC7C,IAAI,IAAI,CAACC,KAAK,EAAE,IAAI,CAACA,KAAK,GAAG,CAAC;IAC9B,IAAI,CAACC,MAAM,GAAG,CAAC;IACf,IAAI,CAACC,MAAM,GAAG,CAAC;IACf,IAAI,CAACC,SAAS,GAAG,CAAC;IAClB,IAAI,CAACC,gBAAgB,GAAG,CAAC;IACzB,IAAI,CAACC,OAAO,GAAGC;IACf,IAAI,CAACC,YAAY,GAAG,IAAIC,QAAQ,CAACC,KAAKC;QACpC,IAAI,CAACC,mBAAmB,GAAGF;QAC3B,IAAI,CAACG,kBAAkB,GAAGF;IAC5B;AACF,EAAC"}
1
+ {"version":3,"sources":["../src/destroy.ts"],"sourcesContent":["import type { Destroy } from 'payload'\n\nimport type { DrizzleAdapter } from './types.js'\n\n// eslint-disable-next-line @typescript-eslint/require-await\nexport const destroy: Destroy = async function destroy(this: DrizzleAdapter) {\n if (this.enums) {\n this.enums = {}\n }\n this.schema = {}\n this.tables = {}\n this.relations = {}\n this.fieldConstraints = {}\n this.drizzle = undefined\n this.initializing = new Promise((res, rej) => {\n this.resolveInitializing = res\n this.rejectInitializing = rej\n })\n}\n"],"names":["destroy","enums","schema","tables","relations","fieldConstraints","drizzle","undefined","initializing","Promise","res","rej","resolveInitializing","rejectInitializing"],"mappings":"AAIA,4DAA4D;AAC5D,OAAO,MAAMA,UAAmB,eAAeA;IAC7C,IAAI,IAAI,CAACC,KAAK,EAAE;QACd,IAAI,CAACA,KAAK,GAAG,CAAC;IAChB;IACA,IAAI,CAACC,MAAM,GAAG,CAAC;IACf,IAAI,CAACC,MAAM,GAAG,CAAC;IACf,IAAI,CAACC,SAAS,GAAG,CAAC;IAClB,IAAI,CAACC,gBAAgB,GAAG,CAAC;IACzB,IAAI,CAACC,OAAO,GAAGC;IACf,IAAI,CAACC,YAAY,GAAG,IAAIC,QAAQ,CAACC,KAAKC;QACpC,IAAI,CAACC,mBAAmB,GAAGF;QAC3B,IAAI,CAACG,kBAAkB,GAAGF;IAC5B;AACF,EAAC"}
@@ -0,0 +1,14 @@
1
+ export { countDistinct } from '../postgres/countDistinct.js';
2
+ export { convertPathToJSONTraversal } from '../postgres/createJSONQuery/convertPathToJSONTraversal.js';
3
+ export { createJSONQuery } from '../postgres/createJSONQuery/index.js';
4
+ export { createMigration } from '../postgres/createMigration.js';
5
+ export { defaultDrizzleSnapshot } from '../postgres/defaultSnapshot.js';
6
+ export { deleteWhere } from '../postgres/deleteWhere.js';
7
+ export { dropDatabase } from '../postgres/dropDatabase.js';
8
+ export { execute } from '../postgres/execute.js';
9
+ export { getMigrationTemplate } from '../postgres/getMigrationTemplate.js';
10
+ export { init } from '../postgres/init.js';
11
+ export { insert } from '../postgres/insert.js';
12
+ export { requireDrizzleKit } from '../postgres/requireDrizzleKit.js';
13
+ export * from '../postgres/types.js';
14
+ //# sourceMappingURL=postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/exports/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAA;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,15 @@
1
+ export { countDistinct } from '../postgres/countDistinct.js';
2
+ export { convertPathToJSONTraversal } from '../postgres/createJSONQuery/convertPathToJSONTraversal.js';
3
+ export { createJSONQuery } from '../postgres/createJSONQuery/index.js';
4
+ export { createMigration } from '../postgres/createMigration.js';
5
+ export { defaultDrizzleSnapshot } from '../postgres/defaultSnapshot.js';
6
+ export { deleteWhere } from '../postgres/deleteWhere.js';
7
+ export { dropDatabase } from '../postgres/dropDatabase.js';
8
+ export { execute } from '../postgres/execute.js';
9
+ export { getMigrationTemplate } from '../postgres/getMigrationTemplate.js';
10
+ export { init } from '../postgres/init.js';
11
+ export { insert } from '../postgres/insert.js';
12
+ export { requireDrizzleKit } from '../postgres/requireDrizzleKit.js';
13
+ export * from '../postgres/types.js';
14
+
15
+ //# sourceMappingURL=postgres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/postgres.ts"],"sourcesContent":["export { countDistinct } from '../postgres/countDistinct.js'\nexport { convertPathToJSONTraversal } from '../postgres/createJSONQuery/convertPathToJSONTraversal.js'\nexport { createJSONQuery } from '../postgres/createJSONQuery/index.js'\nexport { createMigration } from '../postgres/createMigration.js'\nexport { defaultDrizzleSnapshot } from '../postgres/defaultSnapshot.js'\nexport { deleteWhere } from '../postgres/deleteWhere.js'\nexport { dropDatabase } from '../postgres/dropDatabase.js'\nexport { execute } from '../postgres/execute.js'\nexport { getMigrationTemplate } from '../postgres/getMigrationTemplate.js'\nexport { init } from '../postgres/init.js'\nexport { insert } from '../postgres/insert.js'\nexport { requireDrizzleKit } from '../postgres/requireDrizzleKit.js'\nexport * from '../postgres/types.js'\n"],"names":["countDistinct","convertPathToJSONTraversal","createJSONQuery","createMigration","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","getMigrationTemplate","init","insert","requireDrizzleKit"],"mappings":"AAAA,SAASA,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,0BAA0B,QAAQ,4DAA2D;AACtG,SAASC,eAAe,QAAQ,uCAAsC;AACtE,SAASC,eAAe,QAAQ,iCAAgC;AAChE,SAASC,sBAAsB,QAAQ,iCAAgC;AACvE,SAASC,WAAW,QAAQ,6BAA4B;AACxD,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,OAAO,QAAQ,yBAAwB;AAChD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,IAAI,QAAQ,sBAAqB;AAC1C,SAASC,MAAM,QAAQ,wBAAuB;AAC9C,SAASC,iBAAiB,QAAQ,mCAAkC;AACpE,cAAc,uBAAsB"}
@@ -1,17 +1,23 @@
1
1
  import type { DBQueryConfig } from 'drizzle-orm';
2
- import type { Field } from 'payload';
3
- import type { DrizzleAdapter } from '../types.js';
2
+ import type { Field, JoinQuery } from 'payload';
3
+ import type { BuildQueryJoinAliases, DrizzleAdapter } from '../types.js';
4
4
  type BuildFindQueryArgs = {
5
5
  adapter: DrizzleAdapter;
6
6
  depth: number;
7
7
  fields: Field[];
8
+ joinQuery?: JoinQuery;
9
+ /**
10
+ * The joins array will be mutated by pushing any joins needed for the where queries of join field joins
11
+ */
12
+ joins?: BuildQueryJoinAliases;
13
+ locale?: string;
8
14
  tableName: string;
9
15
  };
10
- export type Result = DBQueryConfig<'many', true, any, any> & {
11
- with?: DBQueryConfig<'many', true, any, any> & {
16
+ export type Result = {
17
+ with?: {
12
18
  _locales?: DBQueryConfig<'many', true, any, any>;
13
- };
14
- };
15
- export declare const buildFindManyArgs: ({ adapter, depth, fields, tableName, }: BuildFindQueryArgs) => Record<string, unknown>;
19
+ } & DBQueryConfig<'many', true, any, any>;
20
+ } & DBQueryConfig<'many', true, any, any>;
21
+ export declare const buildFindManyArgs: ({ adapter, depth, fields, joinQuery, joins, locale, tableName, }: BuildFindQueryArgs) => Record<string, unknown>;
16
22
  export {};
17
23
  //# 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,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIjD,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG;QAC7C,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;KACjD,CAAA;CACF,CAAA;AAID,eAAO,MAAM,iBAAiB,2CAK3B,kBAAkB,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA4D7C,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,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIxE,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,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,qEAQ3B,kBAAkB,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAgE7C,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { traverseFields } from './traverseFields.js';
2
2
  // Generate the Drizzle query for findMany based on
3
3
  // a collection field structure
4
- export const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
4
+ export const buildFindManyArgs = ({ adapter, depth, fields, joinQuery, joins = [], locale, tableName })=>{
5
5
  const result = {
6
6
  with: {}
7
7
  };
@@ -55,7 +55,11 @@ export const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
55
55
  currentTableName: tableName,
56
56
  depth,
57
57
  fields,
58
+ joinQuery,
59
+ joins,
60
+ locale,
58
61
  path: '',
62
+ tablePath: '',
59
63
  topLevelArgs: result,
60
64
  topLevelTableName: tableName
61
65
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/find/buildFindManyArgs.ts"],"sourcesContent":["import type { DBQueryConfig } from 'drizzle-orm'\nimport type { Field } from 'payload'\n\nimport type { DrizzleAdapter } from '../types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype BuildFindQueryArgs = {\n adapter: DrizzleAdapter\n depth: number\n fields: Field[]\n tableName: string\n}\n\nexport type Result = DBQueryConfig<'many', true, any, any> & {\n with?: DBQueryConfig<'many', true, any, any> & {\n _locales?: DBQueryConfig<'many', true, any, any>\n }\n}\n\n// Generate the Drizzle query for findMany based on\n// a collection field structure\nexport const buildFindManyArgs = ({\n adapter,\n depth,\n fields,\n tableName,\n}: BuildFindQueryArgs): Record<string, unknown> => {\n const result: Result = {\n with: {},\n }\n\n const _locales: Result = {\n columns: {\n id: false,\n _parentID: false,\n },\n with: {},\n }\n\n if (adapter.tables[`${tableName}_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`]) {\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}`]) {\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 (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {\n result.with._locales = _locales\n }\n\n traverseFields({\n _locales,\n adapter,\n currentArgs: result,\n currentTableName: tableName,\n depth,\n fields,\n path: '',\n topLevelArgs: result,\n topLevelTableName: tableName,\n })\n\n return result\n}\n"],"names":["traverseFields","buildFindManyArgs","adapter","depth","fields","tableName","result","with","_locales","columns","id","_parentID","tables","_texts","parent","orderBy","order","asc","ASC","_numbers","relationshipsSuffix","_rels","localesSuffix","currentArgs","currentTableName","path","topLevelArgs","topLevelTableName"],"mappings":"AAKA,SAASA,cAAc,QAAQ,sBAAqB;AAepD,mDAAmD;AACnD,+BAA+B;AAC/B,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,OAAO,EACPC,KAAK,EACLC,MAAM,EACNC,SAAS,EACU;IACnB,MAAMC,SAAiB;QACrBC,MAAM,CAAC;IACT;IAEA,MAAMC,WAAmB;QACvBC,SAAS;YACPC,IAAI;YACJC,WAAW;QACb;QACAJ,MAAM,CAAC;IACT;IAEA,IAAIL,QAAQU,MAAM,CAAC,CAAC,EAAEP,UAAU,MAAM,CAAC,CAAC,EAAE;QACxCC,OAAOC,IAAI,CAACM,MAAM,GAAG;YACnBJ,SAAS;gBACPC,IAAI;gBACJI,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAId,QAAQU,MAAM,CAAC,CAAC,EAAEP,UAAU,QAAQ,CAAC,CAAC,EAAE;QAC1CC,OAAOC,IAAI,CAACY,QAAQ,GAAG;YACrBV,SAAS;gBACPC,IAAI;gBACJI,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAId,QAAQU,MAAM,CAAC,CAAC,EAAEP,UAAU,EAAEH,QAAQkB,mBAAmB,CAAC,CAAC,CAAC,EAAE;QAChEd,OAAOC,IAAI,CAACc,KAAK,GAAG;YAClBZ,SAAS;gBACPC,IAAI;gBACJI,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAId,QAAQU,MAAM,CAAC,CAAC,EAAEP,UAAU,EAAEH,QAAQoB,aAAa,CAAC,CAAC,CAAC,EAAE;QAC1DhB,OAAOC,IAAI,CAACC,QAAQ,GAAGA;IACzB;IAEAR,eAAe;QACbQ;QACAN;QACAqB,aAAajB;QACbkB,kBAAkBnB;QAClBF;QACAC;QACAqB,MAAM;QACNC,cAAcpB;QACdqB,mBAAmBtB;IACrB;IAEA,OAAOC;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/find/buildFindManyArgs.ts"],"sourcesContent":["import type { DBQueryConfig } from 'drizzle-orm'\nimport type { Field, JoinQuery } from 'payload'\n\nimport type { BuildQueryJoinAliases, DrizzleAdapter } from '../types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype BuildFindQueryArgs = {\n adapter: DrizzleAdapter\n depth: number\n fields: Field[]\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 tableName: string\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 depth,\n fields,\n joinQuery,\n joins = [],\n locale,\n tableName,\n}: BuildFindQueryArgs): Record<string, unknown> => {\n const result: Result = {\n with: {},\n }\n\n const _locales: Result = {\n columns: {\n id: false,\n _parentID: false,\n },\n with: {},\n }\n\n if (adapter.tables[`${tableName}_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`]) {\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}`]) {\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 (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {\n result.with._locales = _locales\n }\n\n traverseFields({\n _locales,\n adapter,\n currentArgs: result,\n currentTableName: tableName,\n depth,\n fields,\n joinQuery,\n joins,\n locale,\n path: '',\n tablePath: '',\n topLevelArgs: result,\n topLevelTableName: tableName,\n })\n\n return result\n}\n"],"names":["traverseFields","buildFindManyArgs","adapter","depth","fields","joinQuery","joins","locale","tableName","result","with","_locales","columns","id","_parentID","tables","_texts","parent","orderBy","order","asc","ASC","_numbers","relationshipsSuffix","_rels","localesSuffix","currentArgs","currentTableName","path","tablePath","topLevelArgs","topLevelTableName"],"mappings":"AAKA,SAASA,cAAc,QAAQ,sBAAqB;AAqBpD,mDAAmD;AACnD,+BAA+B;AAC/B,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,OAAO,EACPC,KAAK,EACLC,MAAM,EACNC,SAAS,EACTC,QAAQ,EAAE,EACVC,MAAM,EACNC,SAAS,EACU;IACnB,MAAMC,SAAiB;QACrBC,MAAM,CAAC;IACT;IAEA,MAAMC,WAAmB;QACvBC,SAAS;YACPC,IAAI;YACJC,WAAW;QACb;QACAJ,MAAM,CAAC;IACT;IAEA,IAAIR,QAAQa,MAAM,CAAC,CAAC,EAAEP,UAAU,MAAM,CAAC,CAAC,EAAE;QACxCC,OAAOC,IAAI,CAACM,MAAM,GAAG;YACnBJ,SAAS;gBACPC,IAAI;gBACJI,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAIjB,QAAQa,MAAM,CAAC,CAAC,EAAEP,UAAU,QAAQ,CAAC,CAAC,EAAE;QAC1CC,OAAOC,IAAI,CAACY,QAAQ,GAAG;YACrBV,SAAS;gBACPC,IAAI;gBACJI,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAIjB,QAAQa,MAAM,CAAC,CAAC,EAAEP,UAAU,EAAEN,QAAQqB,mBAAmB,CAAC,CAAC,CAAC,EAAE;QAChEd,OAAOC,IAAI,CAACc,KAAK,GAAG;YAClBZ,SAAS;gBACPC,IAAI;gBACJI,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAIjB,QAAQa,MAAM,CAAC,CAAC,EAAEP,UAAU,EAAEN,QAAQuB,aAAa,CAAC,CAAC,CAAC,EAAE;QAC1DhB,OAAOC,IAAI,CAACC,QAAQ,GAAGA;IACzB;IAEAX,eAAe;QACbW;QACAT;QACAwB,aAAajB;QACbkB,kBAAkBnB;QAClBL;QACAC;QACAC;QACAC;QACAC;QACAqB,MAAM;QACNC,WAAW;QACXC,cAAcrB;QACdsB,mBAAmBvB;IACrB;IAEA,OAAOC;AACT,EAAC"}
@@ -5,7 +5,7 @@ type Args = {
5
5
  fields: Field[];
6
6
  tableName: string;
7
7
  } & Omit<FindArgs, 'collection'>;
8
- export declare const findMany: ({ adapter, fields, limit: limitArg, locale, page, pagination, req, skip, sort, tableName, where: whereArg, }: Args) => Promise<{
8
+ export declare const findMany: ({ adapter, fields, joins: joinQuery, limit: limitArg, locale, page, pagination, req, skip, sort, tableName, where: whereArg, }: Args) => Promise<{
9
9
  docs: any;
10
10
  hasNextPage: boolean;
11
11
  hasPrevPage: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/find/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAA8B,MAAM,SAAS,CAAA;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAQjD,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAEhC,eAAO,MAAM,QAAQ,iHAYlB,IAAI;;;;;;;;;;;EA0IN,CAAA"}
1
+ {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/find/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAA8B,MAAM,SAAS,CAAA;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAQjD,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAEhC,eAAO,MAAM,QAAQ,mIAalB,IAAI;;;;;;;;;;;EA6IN,CAAA"}
@@ -3,7 +3,7 @@ import buildQuery from '../queries/buildQuery.js';
3
3
  import { selectDistinct } from '../queries/selectDistinct.js';
4
4
  import { transform } from '../transform/read/index.js';
5
5
  import { buildFindManyArgs } from './buildFindManyArgs.js';
6
- export const findMany = async function find({ adapter, fields, limit: limitArg, locale, page = 1, pagination, req = {}, skip, sort, tableName, where: whereArg }) {
6
+ export const findMany = async function find({ adapter, fields, joins: joinQuery, limit: limitArg, locale, page = 1, pagination, req = {}, skip, sort, tableName, where: whereArg }) {
7
7
  const db = adapter.sessions[await req.transactionID]?.db || adapter.drizzle;
8
8
  let limit = limitArg;
9
9
  let totalDocs;
@@ -15,7 +15,7 @@ export const findMany = async function find({ adapter, fields, limit: limitArg,
15
15
  if (limit === 0) {
16
16
  limit = undefined;
17
17
  }
18
- const { joins, orderBy, selectFields, where } = await buildQuery({
18
+ const { joins, orderBy, selectFields, where } = buildQuery({
19
19
  adapter,
20
20
  fields,
21
21
  locale,
@@ -38,6 +38,8 @@ export const findMany = async function find({ adapter, fields, limit: limitArg,
38
38
  adapter,
39
39
  depth: 0,
40
40
  fields,
41
+ joinQuery,
42
+ joins,
41
43
  tableName
42
44
  });
43
45
  selectDistinctMethods.push({
@@ -121,7 +123,8 @@ export const findMany = async function find({ adapter, fields, limit: limitArg,
121
123
  adapter,
122
124
  config: adapter.payload.config,
123
125
  data,
124
- fields
126
+ fields,
127
+ joinQuery
125
128
  });
126
129
  });
127
130
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/find/findMany.ts"],"sourcesContent":["import type { Field, FindArgs, PayloadRequest, TypeWithID } from 'payload'\n\nimport { inArray } from 'drizzle-orm'\n\nimport type { DrizzleAdapter } from '../types.js'\nimport type { ChainedMethods } from './chainMethods.js'\n\nimport buildQuery from '../queries/buildQuery.js'\nimport { selectDistinct } from '../queries/selectDistinct.js'\nimport { transform } from '../transform/read/index.js'\nimport { buildFindManyArgs } from './buildFindManyArgs.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n fields: Field[]\n tableName: string\n} & Omit<FindArgs, 'collection'>\n\nexport const findMany = async function find({\n adapter,\n fields,\n limit: limitArg,\n locale,\n page = 1,\n pagination,\n req = {} as PayloadRequest,\n skip,\n sort,\n tableName,\n where: whereArg,\n}: Args) {\n const db = adapter.sessions[await req.transactionID]?.db || adapter.drizzle\n let limit = limitArg\n let totalDocs: number\n let totalPages: number\n let hasPrevPage: boolean\n let hasNextPage: boolean\n let pagingCounter: number\n const offset = skip || (page - 1) * limit\n\n if (limit === 0) {\n limit = undefined\n }\n\n const { joins, orderBy, selectFields, where } = await buildQuery({\n adapter,\n fields,\n locale,\n sort,\n tableName,\n where: whereArg,\n })\n\n const orderedIDMap: Record<number | string, number> = {}\n let orderedIDs: (number | string)[]\n\n const selectDistinctMethods: ChainedMethods = []\n\n if (orderBy?.order && orderBy?.column) {\n selectDistinctMethods.push({\n args: [orderBy.order(orderBy.column)],\n method: 'orderBy',\n })\n }\n\n const findManyArgs = buildFindManyArgs({\n adapter,\n depth: 0,\n fields,\n tableName,\n })\n\n selectDistinctMethods.push({ args: [offset], method: 'offset' })\n selectDistinctMethods.push({ args: [limit], method: 'limit' })\n\n const selectDistinctResult = await selectDistinct({\n adapter,\n chainedMethods: selectDistinctMethods,\n db,\n joins,\n selectFields,\n tableName,\n where,\n })\n\n if (selectDistinctResult) {\n if (selectDistinctResult.length === 0) {\n return {\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n } else {\n // set the id in an object for sorting later\n selectDistinctResult.forEach(({ id }, i) => {\n orderedIDMap[id] = i\n })\n orderedIDs = Object.keys(orderedIDMap)\n findManyArgs.where = inArray(adapter.tables[tableName].id, orderedIDs)\n }\n } else {\n findManyArgs.limit = limit\n findManyArgs.offset = offset\n findManyArgs.orderBy = orderBy.order(orderBy.column)\n\n if (where) {\n findManyArgs.where = where\n }\n }\n\n const findPromise = db.query[tableName].findMany(findManyArgs)\n\n if (pagination !== false && (orderedIDs ? orderedIDs?.length <= limit : true)) {\n totalDocs = await adapter.countDistinct({\n db,\n joins,\n tableName,\n where,\n })\n\n totalPages = typeof limit === 'number' && limit !== 0 ? Math.ceil(totalDocs / limit) : 1\n hasPrevPage = page > 1\n hasNextPage = totalPages > page\n pagingCounter = (page - 1) * limit + 1\n }\n\n const rawDocs = await findPromise\n // sort rawDocs from selectQuery\n if (Object.keys(orderedIDMap).length > 0) {\n rawDocs.sort((a, b) => orderedIDMap[a.id] - orderedIDMap[b.id])\n }\n\n if (pagination === false || !totalDocs) {\n totalDocs = rawDocs.length\n totalPages = 1\n pagingCounter = 1\n hasPrevPage = false\n hasNextPage = false\n }\n\n const docs = rawDocs.map((data: TypeWithID) => {\n return transform({\n adapter,\n config: adapter.payload.config,\n data,\n fields,\n })\n })\n\n return {\n docs,\n hasNextPage,\n hasPrevPage,\n limit: limitArg,\n nextPage: hasNextPage ? page + 1 : null,\n page,\n pagingCounter,\n prevPage: hasPrevPage ? page - 1 : null,\n totalDocs,\n totalPages,\n }\n}\n"],"names":["inArray","buildQuery","selectDistinct","transform","buildFindManyArgs","findMany","find","adapter","fields","limit","limitArg","locale","page","pagination","req","skip","sort","tableName","where","whereArg","db","sessions","transactionID","drizzle","totalDocs","totalPages","hasPrevPage","hasNextPage","pagingCounter","offset","undefined","joins","orderBy","selectFields","orderedIDMap","orderedIDs","selectDistinctMethods","order","column","push","args","method","findManyArgs","depth","selectDistinctResult","chainedMethods","length","docs","nextPage","prevPage","forEach","id","i","Object","keys","tables","findPromise","query","countDistinct","Math","ceil","rawDocs","a","b","map","data","config","payload"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/find/findMany.ts"],"sourcesContent":["import type { Field, FindArgs, PayloadRequest, TypeWithID } from 'payload'\n\nimport { inArray } from 'drizzle-orm'\n\nimport type { DrizzleAdapter } from '../types.js'\nimport type { ChainedMethods } from './chainMethods.js'\n\nimport buildQuery from '../queries/buildQuery.js'\nimport { selectDistinct } from '../queries/selectDistinct.js'\nimport { transform } from '../transform/read/index.js'\nimport { buildFindManyArgs } from './buildFindManyArgs.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n fields: Field[]\n tableName: string\n} & Omit<FindArgs, 'collection'>\n\nexport const findMany = async function find({\n adapter,\n fields,\n joins: joinQuery,\n limit: limitArg,\n locale,\n page = 1,\n pagination,\n req = {} as PayloadRequest,\n skip,\n sort,\n tableName,\n where: whereArg,\n}: Args) {\n const db = adapter.sessions[await req.transactionID]?.db || adapter.drizzle\n let limit = limitArg\n let totalDocs: number\n let totalPages: number\n let hasPrevPage: boolean\n let hasNextPage: boolean\n let pagingCounter: number\n const offset = skip || (page - 1) * limit\n\n if (limit === 0) {\n limit = undefined\n }\n\n const { joins, orderBy, selectFields, where } = buildQuery({\n adapter,\n fields,\n locale,\n sort,\n tableName,\n where: whereArg,\n })\n\n const orderedIDMap: Record<number | string, number> = {}\n let orderedIDs: (number | string)[]\n\n const selectDistinctMethods: ChainedMethods = []\n\n if (orderBy?.order && orderBy?.column) {\n selectDistinctMethods.push({\n args: [orderBy.order(orderBy.column)],\n method: 'orderBy',\n })\n }\n\n const findManyArgs = buildFindManyArgs({\n adapter,\n depth: 0,\n fields,\n joinQuery,\n joins,\n tableName,\n })\n\n selectDistinctMethods.push({ args: [offset], method: 'offset' })\n selectDistinctMethods.push({ args: [limit], method: 'limit' })\n\n const selectDistinctResult = await selectDistinct({\n adapter,\n chainedMethods: selectDistinctMethods,\n db,\n joins,\n selectFields,\n tableName,\n where,\n })\n\n if (selectDistinctResult) {\n if (selectDistinctResult.length === 0) {\n return {\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n } else {\n // set the id in an object for sorting later\n selectDistinctResult.forEach(({ id }, i) => {\n orderedIDMap[id] = i\n })\n orderedIDs = Object.keys(orderedIDMap)\n findManyArgs.where = inArray(adapter.tables[tableName].id, orderedIDs)\n }\n } else {\n findManyArgs.limit = limit\n findManyArgs.offset = offset\n findManyArgs.orderBy = orderBy.order(orderBy.column)\n\n if (where) {\n findManyArgs.where = where\n }\n }\n\n const findPromise = db.query[tableName].findMany(findManyArgs)\n\n if (pagination !== false && (orderedIDs ? orderedIDs?.length <= limit : true)) {\n totalDocs = await adapter.countDistinct({\n db,\n joins,\n tableName,\n where,\n })\n\n totalPages = typeof limit === 'number' && limit !== 0 ? Math.ceil(totalDocs / limit) : 1\n hasPrevPage = page > 1\n hasNextPage = totalPages > page\n pagingCounter = (page - 1) * limit + 1\n }\n\n const rawDocs = await findPromise\n // sort rawDocs from selectQuery\n if (Object.keys(orderedIDMap).length > 0) {\n rawDocs.sort((a, b) => orderedIDMap[a.id] - orderedIDMap[b.id])\n }\n\n if (pagination === false || !totalDocs) {\n totalDocs = rawDocs.length\n totalPages = 1\n pagingCounter = 1\n hasPrevPage = false\n hasNextPage = false\n }\n\n const docs = rawDocs.map((data: TypeWithID) => {\n return transform({\n adapter,\n config: adapter.payload.config,\n data,\n fields,\n joinQuery,\n })\n })\n\n return {\n docs,\n hasNextPage,\n hasPrevPage,\n limit: limitArg,\n nextPage: hasNextPage ? page + 1 : null,\n page,\n pagingCounter,\n prevPage: hasPrevPage ? page - 1 : null,\n totalDocs,\n totalPages,\n }\n}\n"],"names":["inArray","buildQuery","selectDistinct","transform","buildFindManyArgs","findMany","find","adapter","fields","joins","joinQuery","limit","limitArg","locale","page","pagination","req","skip","sort","tableName","where","whereArg","db","sessions","transactionID","drizzle","totalDocs","totalPages","hasPrevPage","hasNextPage","pagingCounter","offset","undefined","orderBy","selectFields","orderedIDMap","orderedIDs","selectDistinctMethods","order","column","push","args","method","findManyArgs","depth","selectDistinctResult","chainedMethods","length","docs","nextPage","prevPage","forEach","id","i","Object","keys","tables","findPromise","query","countDistinct","Math","ceil","rawDocs","a","b","map","data","config","payload"],"mappings":"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"}