@payloadcms/db-postgres 3.0.0-beta.4 → 3.0.0-beta.40

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. package/dist/connect.d.ts.map +1 -1
  2. package/dist/connect.js +12 -7
  3. package/dist/connect.js.map +1 -1
  4. package/dist/count.d.ts +3 -0
  5. package/dist/count.d.ts.map +1 -0
  6. package/dist/count.js +41 -0
  7. package/dist/count.js.map +1 -0
  8. package/dist/create.d.ts.map +1 -1
  9. package/dist/create.js +3 -5
  10. package/dist/create.js.map +1 -1
  11. package/dist/createGlobal.d.ts.map +1 -1
  12. package/dist/createGlobal.js +3 -5
  13. package/dist/createGlobal.js.map +1 -1
  14. package/dist/createGlobalVersion.d.ts +1 -1
  15. package/dist/createGlobalVersion.d.ts.map +1 -1
  16. package/dist/createGlobalVersion.js +2 -6
  17. package/dist/createGlobalVersion.js.map +1 -1
  18. package/dist/createMigration.d.ts.map +1 -1
  19. package/dist/createMigration.js +58 -37
  20. package/dist/createMigration.js.map +1 -1
  21. package/dist/createVersion.d.ts.map +1 -1
  22. package/dist/createVersion.js +10 -18
  23. package/dist/createVersion.js.map +1 -1
  24. package/dist/deleteMany.d.ts.map +1 -1
  25. package/dist/deleteMany.js +2 -5
  26. package/dist/deleteMany.js.map +1 -1
  27. package/dist/deleteOne.d.ts.map +1 -1
  28. package/dist/deleteOne.js +4 -7
  29. package/dist/deleteOne.js.map +1 -1
  30. package/dist/deleteVersions.d.ts.map +1 -1
  31. package/dist/deleteVersions.js +2 -6
  32. package/dist/deleteVersions.js.map +1 -1
  33. package/dist/destroy.d.ts.map +1 -1
  34. package/dist/destroy.js +11 -7
  35. package/dist/destroy.js.map +1 -1
  36. package/dist/exports/migration-utils.d.ts +2 -0
  37. package/dist/exports/migration-utils.d.ts.map +1 -0
  38. package/dist/exports/migration-utils.js +3 -0
  39. package/dist/exports/migration-utils.js.map +1 -0
  40. package/dist/find/buildFindManyArgs.d.ts +5 -1
  41. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  42. package/dist/find/buildFindManyArgs.js +4 -3
  43. package/dist/find/buildFindManyArgs.js.map +1 -1
  44. package/dist/find/findMany.d.ts.map +1 -1
  45. package/dist/find/findMany.js +5 -16
  46. package/dist/find/findMany.js.map +1 -1
  47. package/dist/find/traverseFields.d.ts +3 -2
  48. package/dist/find/traverseFields.d.ts.map +1 -1
  49. package/dist/find/traverseFields.js +26 -24
  50. package/dist/find/traverseFields.js.map +1 -1
  51. package/dist/find.d.ts.map +1 -1
  52. package/dist/find.js +2 -5
  53. package/dist/find.js.map +1 -1
  54. package/dist/findGlobal.d.ts.map +1 -1
  55. package/dist/findGlobal.js +2 -5
  56. package/dist/findGlobal.js.map +1 -1
  57. package/dist/findGlobalVersions.d.ts.map +1 -1
  58. package/dist/findGlobalVersions.js +2 -6
  59. package/dist/findGlobalVersions.js.map +1 -1
  60. package/dist/findOne.d.ts.map +1 -1
  61. package/dist/findOne.js +2 -5
  62. package/dist/findOne.js.map +1 -1
  63. package/dist/findVersions.d.ts.map +1 -1
  64. package/dist/findVersions.js +2 -6
  65. package/dist/findVersions.js.map +1 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +17 -8
  68. package/dist/index.js.map +1 -1
  69. package/dist/init.d.ts.map +1 -1
  70. package/dist/init.js +19 -22
  71. package/dist/init.js.map +1 -1
  72. package/dist/migrate.js.map +1 -1
  73. package/dist/migrateDown.js.map +1 -1
  74. package/dist/migrateFresh.js.map +1 -1
  75. package/dist/migrateRefresh.js.map +1 -1
  76. package/dist/migrateReset.js.map +1 -1
  77. package/dist/predefinedMigrations/relationships-v2-v3.d.ts +4 -0
  78. package/dist/predefinedMigrations/relationships-v2-v3.d.ts.map +1 -0
  79. package/dist/predefinedMigrations/relationships-v2-v3.js.map +1 -0
  80. package/dist/predefinedMigrations/relationships-v2-v3.mjs +11 -0
  81. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts +20 -0
  82. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts.map +1 -0
  83. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.js +170 -0
  84. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.js.map +1 -0
  85. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts +11 -0
  86. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts.map +1 -0
  87. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js +191 -0
  88. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js.map +1 -0
  89. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts +3 -0
  90. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts.map +1 -0
  91. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.js +56 -0
  92. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.js.map +1 -0
  93. package/dist/predefinedMigrations/v2-v3/index.d.ts +24 -0
  94. package/dist/predefinedMigrations/v2-v3/index.d.ts.map +1 -0
  95. package/dist/predefinedMigrations/v2-v3/index.js +211 -0
  96. package/dist/predefinedMigrations/v2-v3/index.js.map +1 -0
  97. package/dist/predefinedMigrations/v2-v3/migrateRelationships.d.ts +19 -0
  98. package/dist/predefinedMigrations/v2-v3/migrateRelationships.d.ts.map +1 -0
  99. package/dist/predefinedMigrations/v2-v3/migrateRelationships.js +57 -0
  100. package/dist/predefinedMigrations/v2-v3/migrateRelationships.js.map +1 -0
  101. package/dist/predefinedMigrations/v2-v3/traverseFields.d.ts +23 -0
  102. package/dist/predefinedMigrations/v2-v3/traverseFields.d.ts.map +1 -0
  103. package/dist/predefinedMigrations/v2-v3/traverseFields.js +85 -0
  104. package/dist/predefinedMigrations/v2-v3/traverseFields.js.map +1 -0
  105. package/dist/predefinedMigrations/v2-v3/types.d.ts +9 -0
  106. package/dist/predefinedMigrations/v2-v3/types.d.ts.map +1 -0
  107. package/dist/predefinedMigrations/v2-v3/types.js +6 -0
  108. package/dist/predefinedMigrations/v2-v3/types.js.map +1 -0
  109. package/dist/queries/buildAndOrConditions.d.ts +3 -4
  110. package/dist/queries/buildAndOrConditions.d.ts.map +1 -1
  111. package/dist/queries/buildAndOrConditions.js +1 -2
  112. package/dist/queries/buildAndOrConditions.js.map +1 -1
  113. package/dist/queries/buildQuery.d.ts +1 -2
  114. package/dist/queries/buildQuery.d.ts.map +1 -1
  115. package/dist/queries/buildQuery.js +1 -5
  116. package/dist/queries/buildQuery.js.map +1 -1
  117. package/dist/queries/getTableColumnFromPath.d.ts +3 -4
  118. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  119. package/dist/queries/getTableColumnFromPath.js +248 -143
  120. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  121. package/dist/queries/parseParams.d.ts +3 -4
  122. package/dist/queries/parseParams.d.ts.map +1 -1
  123. package/dist/queries/parseParams.js +7 -6
  124. package/dist/queries/parseParams.js.map +1 -1
  125. package/dist/queries/selectDistinct.d.ts +3 -4
  126. package/dist/queries/selectDistinct.d.ts.map +1 -1
  127. package/dist/queries/selectDistinct.js +3 -14
  128. package/dist/queries/selectDistinct.js.map +1 -1
  129. package/dist/queryDrafts.d.ts.map +1 -1
  130. package/dist/queryDrafts.js +2 -6
  131. package/dist/queryDrafts.js.map +1 -1
  132. package/dist/schema/build.d.ts +11 -6
  133. package/dist/schema/build.d.ts.map +1 -1
  134. package/dist/schema/build.js +208 -124
  135. package/dist/schema/build.js.map +1 -1
  136. package/dist/schema/{getTableName.d.ts → createTableName.d.ts} +5 -7
  137. package/dist/schema/createTableName.d.ts.map +1 -0
  138. package/dist/schema/createTableName.js +31 -0
  139. package/dist/schema/createTableName.js.map +1 -0
  140. package/dist/schema/traverseFields.d.ts +4 -6
  141. package/dist/schema/traverseFields.d.ts.map +1 -1
  142. package/dist/schema/traverseFields.js +145 -61
  143. package/dist/schema/traverseFields.js.map +1 -1
  144. package/dist/schema/validateExistingBlockIsIdentical.d.ts +2 -1
  145. package/dist/schema/validateExistingBlockIsIdentical.d.ts.map +1 -1
  146. package/dist/schema/validateExistingBlockIsIdentical.js +13 -7
  147. package/dist/schema/validateExistingBlockIsIdentical.js.map +1 -1
  148. package/dist/transactions/beginTransaction.d.ts.map +1 -1
  149. package/dist/transactions/beginTransaction.js +4 -0
  150. package/dist/transactions/beginTransaction.js.map +1 -1
  151. package/dist/transform/read/index.d.ts +3 -1
  152. package/dist/transform/read/index.d.ts.map +1 -1
  153. package/dist/transform/read/index.js +2 -1
  154. package/dist/transform/read/index.js.map +1 -1
  155. package/dist/transform/read/relationship.d.ts.map +1 -1
  156. package/dist/transform/read/relationship.js +0 -4
  157. package/dist/transform/read/relationship.js.map +1 -1
  158. package/dist/transform/read/traverseFields.d.ts +6 -1
  159. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  160. package/dist/transform/read/traverseFields.js +69 -55
  161. package/dist/transform/read/traverseFields.js.map +1 -1
  162. package/dist/transform/write/array.d.ts.map +1 -1
  163. package/dist/transform/write/array.js.map +1 -1
  164. package/dist/transform/write/blocks.js +1 -1
  165. package/dist/transform/write/blocks.js.map +1 -1
  166. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  167. package/dist/transform/write/traverseFields.js +22 -5
  168. package/dist/transform/write/traverseFields.js.map +1 -1
  169. package/dist/types.d.ts +7 -7
  170. package/dist/types.d.ts.map +1 -1
  171. package/dist/types.js.map +1 -1
  172. package/dist/update.d.ts.map +1 -1
  173. package/dist/update.js +3 -7
  174. package/dist/update.js.map +1 -1
  175. package/dist/updateGlobal.d.ts.map +1 -1
  176. package/dist/updateGlobal.js +2 -5
  177. package/dist/updateGlobal.js.map +1 -1
  178. package/dist/updateGlobalVersion.d.ts.map +1 -1
  179. package/dist/updateGlobalVersion.js +2 -6
  180. package/dist/updateGlobalVersion.js.map +1 -1
  181. package/dist/updateVersion.d.ts.map +1 -1
  182. package/dist/updateVersion.js +2 -6
  183. package/dist/updateVersion.js.map +1 -1
  184. package/dist/upsertRow/index.d.ts +1 -1
  185. package/dist/upsertRow/index.d.ts.map +1 -1
  186. package/dist/upsertRow/index.js +9 -6
  187. package/dist/upsertRow/index.js.map +1 -1
  188. package/dist/upsertRow/insertArrays.d.ts.map +1 -1
  189. package/dist/upsertRow/insertArrays.js +3 -3
  190. package/dist/upsertRow/insertArrays.js.map +1 -1
  191. package/dist/upsertRow/types.d.ts +7 -2
  192. package/dist/upsertRow/types.d.ts.map +1 -1
  193. package/dist/upsertRow/types.js.map +1 -1
  194. package/package.json +29 -27
  195. package/dist/schema/getTableName.d.ts.map +0 -1
  196. package/dist/schema/getTableName.js +0 -31
  197. package/dist/schema/getTableName.js.map +0 -1
  198. package/src/index.ts +0 -156
package/dist/deleteOne.js CHANGED
@@ -1,18 +1,15 @@
1
1
  import { eq } from 'drizzle-orm';
2
+ import toSnakeCase from 'to-snake-case';
2
3
  import { buildFindManyArgs } from './find/buildFindManyArgs.js';
3
4
  import buildQuery from './queries/buildQuery.js';
4
5
  import { selectDistinct } from './queries/selectDistinct.js';
5
- import { getTableName } from './schema/getTableName.js';
6
6
  import { transform } from './transform/read/index.js';
7
7
  export const deleteOne = async function deleteOne({ collection: collectionSlug, req = {}, where: whereArg }) {
8
8
  const db = this.sessions[req.transactionID]?.db || this.drizzle;
9
9
  const collection = this.payload.collections[collectionSlug].config;
10
- const tableName = getTableName({
11
- adapter: this,
12
- config: collection
13
- });
10
+ const tableName = this.tableNameMap.get(toSnakeCase(collection.slug));
14
11
  let docToDelete;
15
- const { joinAliases, joins, selectFields, where } = await buildQuery({
12
+ const { joins, selectFields, where } = await buildQuery({
16
13
  adapter: this,
17
14
  fields: collection.fields,
18
15
  locale: req.locale,
@@ -30,7 +27,6 @@ export const deleteOne = async function deleteOne({ collection: collectionSlug,
30
27
  }
31
28
  ],
32
29
  db,
33
- joinAliases,
34
30
  joins,
35
31
  selectFields,
36
32
  tableName,
@@ -51,6 +47,7 @@ export const deleteOne = async function deleteOne({ collection: collectionSlug,
51
47
  docToDelete = await db.query[tableName].findFirst(findManyArgs);
52
48
  }
53
49
  const result = transform({
50
+ adapter: this,
54
51
  config: this.payload.config,
55
52
  data: docToDelete,
56
53
  fields: collection.fields
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/deleteOne.ts"],"sourcesContent":["import type { DeleteOne } from 'payload/database'\nimport type { PayloadRequest } from 'payload/types'\n\nimport { eq } from 'drizzle-orm'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { buildFindManyArgs } from './find/buildFindManyArgs.js'\nimport buildQuery from './queries/buildQuery.js'\nimport { selectDistinct } from './queries/selectDistinct.js'\nimport { getTableName } from './schema/getTableName.js'\nimport { transform } from './transform/read/index.js'\n\nexport const deleteOne: DeleteOne = async function deleteOne(\n this: PostgresAdapter,\n { collection: collectionSlug, req = {} as PayloadRequest, where: whereArg },\n) {\n const db = this.sessions[req.transactionID]?.db || this.drizzle\n const collection = this.payload.collections[collectionSlug].config\n const tableName = getTableName({\n adapter: this,\n config: collection,\n })\n let docToDelete: Record<string, unknown>\n\n const { joinAliases, 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 joinAliases,\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 config: this.payload.config,\n data: docToDelete,\n fields: collection.fields,\n })\n\n await db.delete(this.tables[tableName]).where(eq(this.tables[tableName].id, docToDelete.id))\n\n return result\n}\n"],"names":["eq","buildFindManyArgs","buildQuery","selectDistinct","getTableName","transform","deleteOne","collection","collectionSlug","req","where","whereArg","db","sessions","transactionID","drizzle","payload","collections","config","tableName","adapter","docToDelete","joinAliases","joins","selectFields","fields","locale","selectDistinctResult","chainedMethods","args","method","id","query","findFirst","tables","findManyArgs","depth","result","data","delete"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,EAAE,QAAQ,cAAa;AAIhC,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,OAAOC,gBAAgB,0BAAyB;AAChD,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,YAAY,QAAQ,2BAA0B;AACvD,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,CAACJ,IAAIK,aAAa,CAAC,EAAEF,MAAM,IAAI,CAACG,OAAO;IAC/D,MAAMR,aAAa,IAAI,CAACS,OAAO,CAACC,WAAW,CAACT,eAAe,CAACU,MAAM;IAClE,MAAMC,YAAYf,aAAa;QAC7BgB,SAAS,IAAI;QACbF,QAAQX;IACV;IACA,IAAIc;IAEJ,MAAM,EAAEC,WAAW,EAAEC,KAAK,EAAEC,YAAY,EAAEd,KAAK,EAAE,GAAG,MAAMR,WAAW;QACnEkB,SAAS,IAAI;QACbK,QAAQlB,WAAWkB,MAAM;QACzBC,QAAQjB,IAAIiB,MAAM;QAClBP;QACAT,OAAOC;IACT;IAEA,MAAMgB,uBAAuB,MAAMxB,eAAe;QAChDiB,SAAS,IAAI;QACbQ,gBAAgB;YAAC;gBAAEC,MAAM;oBAAC;iBAAE;gBAAEC,QAAQ;YAAQ;SAAE;QAChDlB;QACAU;QACAC;QACAC;QACAL;QACAT;IACF;IAEA,IAAIiB,sBAAsB,CAAC,EAAE,EAAEI,IAAI;QACjCV,cAAc,MAAMT,GAAGoB,KAAK,CAACb,UAAU,CAACc,SAAS,CAAC;YAChDvB,OAAOV,GAAG,IAAI,CAACkC,MAAM,CAACf,UAAU,CAACY,EAAE,EAAEJ,oBAAoB,CAAC,EAAE,CAACI,EAAE;QACjE;IACF,OAAO;QACL,MAAMI,eAAelC,kBAAkB;YACrCmB,SAAS,IAAI;YACbgB,OAAO;YACPX,QAAQlB,WAAWkB,MAAM;YACzBN;QACF;QAEAgB,aAAazB,KAAK,GAAGA;QAErBW,cAAc,MAAMT,GAAGoB,KAAK,CAACb,UAAU,CAACc,SAAS,CAACE;IACpD;IAEA,MAAME,SAAShC,UAAU;QACvBa,QAAQ,IAAI,CAACF,OAAO,CAACE,MAAM;QAC3BoB,MAAMjB;QACNI,QAAQlB,WAAWkB,MAAM;IAC3B;IAEA,MAAMb,GAAG2B,MAAM,CAAC,IAAI,CAACL,MAAM,CAACf,UAAU,EAAET,KAAK,CAACV,GAAG,IAAI,CAACkC,MAAM,CAACf,UAAU,CAACY,EAAE,EAAEV,YAAYU,EAAE;IAE1F,OAAOM;AACT,EAAC"}
1
+ {"version":3,"sources":["../src/deleteOne.ts"],"sourcesContent":["import type { DeleteOne } from 'payload/database'\nimport type { PayloadRequestWithData } from 'payload/types'\n\nimport { eq } from 'drizzle-orm'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } 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: PostgresAdapter,\n { collection: collectionSlug, req = {} as PayloadRequestWithData, where: whereArg },\n) {\n const db = this.sessions[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 db.delete(this.tables[tableName]).where(eq(this.tables[tableName].id, docToDelete.id))\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","delete"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,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,CAA2B,EAAEC,OAAOC,QAAQ,EAAE;IAEnF,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAACJ,IAAIK,aAAa,CAAC,EAAEF,MAAM,IAAI,CAACG,OAAO;IAC/D,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,MAAMf,GAAG6B,MAAM,CAAC,IAAI,CAACL,MAAM,CAACjB,UAAU,EAAET,KAAK,CAACV,GAAG,IAAI,CAACoC,MAAM,CAACjB,UAAU,CAACc,EAAE,EAAEV,YAAYU,EAAE;IAE1F,OAAOM;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteVersions.d.ts","sourceRoot":"","sources":["../src/deleteVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAWtD,eAAO,MAAM,cAAc,EAAE,cAqC5B,CAAA"}
1
+ {"version":3,"file":"deleteVersions.d.ts","sourceRoot":"","sources":["../src/deleteVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAWtD,eAAO,MAAM,cAAc,EAAE,cAoC5B,CAAA"}
@@ -1,15 +1,11 @@
1
1
  import { inArray } from 'drizzle-orm';
2
2
  import { buildVersionCollectionFields } from 'payload/versions';
3
+ import toSnakeCase from 'to-snake-case';
3
4
  import { findMany } from './find/findMany.js';
4
- import { getTableName } from './schema/getTableName.js';
5
5
  export const deleteVersions = async function deleteVersion({ collection, locale, req = {}, where: where }) {
6
6
  const db = this.sessions[req.transactionID]?.db || this.drizzle;
7
7
  const collectionConfig = this.payload.collections[collection].config;
8
- const tableName = getTableName({
9
- adapter: this,
10
- config: collectionConfig,
11
- versions: true
12
- });
8
+ const tableName = this.tableNameMap.get(`_${toSnakeCase(collectionConfig.slug)}${this.versionsSuffix}`);
13
9
  const fields = buildVersionCollectionFields(collectionConfig);
14
10
  const { docs } = await findMany({
15
11
  adapter: this,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/deleteVersions.ts"],"sourcesContent":["import type { DeleteVersions } from 'payload/database'\nimport type { PayloadRequest, SanitizedCollectionConfig } from 'payload/types'\n\nimport { inArray } from 'drizzle-orm'\nimport { buildVersionCollectionFields } from 'payload/versions'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\nimport { getTableName } from './schema/getTableName.js'\n\nexport const deleteVersions: DeleteVersions = async function deleteVersion(\n this: PostgresAdapter,\n { collection, locale, req = {} as PayloadRequest, where: where },\n) {\n const db = this.sessions[req.transactionID]?.db || this.drizzle\n const collectionConfig: SanitizedCollectionConfig = this.payload.collections[collection].config\n\n const tableName = getTableName({\n adapter: this,\n config: collectionConfig,\n versions: true,\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 db.delete(this.tables[tableName]).where(inArray(this.tables[tableName].id, ids))\n }\n\n return docs\n}\n"],"names":["inArray","buildVersionCollectionFields","findMany","getTableName","deleteVersions","deleteVersion","collection","locale","req","where","db","sessions","transactionID","drizzle","collectionConfig","payload","collections","config","tableName","adapter","versions","fields","docs","limit","page","pagination","ids","forEach","doc","push","id","length","delete","tables"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,OAAO,QAAQ,cAAa;AACrC,SAASC,4BAA4B,QAAQ,mBAAkB;AAI/D,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,YAAY,QAAQ,2BAA0B;AAEvD,OAAO,MAAMC,iBAAiC,eAAeC,cAE3D,EAAEC,UAAU,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAAmB,EAAEC,OAAOA,KAAK,EAAE;IAEhE,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAACH,IAAII,aAAa,CAAC,EAAEF,MAAM,IAAI,CAACG,OAAO;IAC/D,MAAMC,mBAA8C,IAAI,CAACC,OAAO,CAACC,WAAW,CAACV,WAAW,CAACW,MAAM;IAE/F,MAAMC,YAAYf,aAAa;QAC7BgB,SAAS,IAAI;QACbF,QAAQH;QACRM,UAAU;IACZ;IACA,MAAMC,SAASpB,6BAA6Ba;IAE5C,MAAM,EAAEQ,IAAI,EAAE,GAAG,MAAMpB,SAAS;QAC9BiB,SAAS,IAAI;QACbE;QACAE,OAAO;QACPhB;QACAiB,MAAM;QACNC,YAAY;QACZjB;QACAU;QACAT;IACF;IAEA,MAAMiB,MAAM,EAAE;IAEdJ,KAAKK,OAAO,CAAC,CAACC;QACZF,IAAIG,IAAI,CAACD,IAAIE,EAAE;IACjB;IAEA,IAAIJ,IAAIK,MAAM,GAAG,GAAG;QAClB,MAAMrB,GAAGsB,MAAM,CAAC,IAAI,CAACC,MAAM,CAACf,UAAU,EAAET,KAAK,CAACT,QAAQ,IAAI,CAACiC,MAAM,CAACf,UAAU,CAACY,EAAE,EAAEJ;IACnF;IAEA,OAAOJ;AACT,EAAC"}
1
+ {"version":3,"sources":["../src/deleteVersions.ts"],"sourcesContent":["import type { DeleteVersions } from 'payload/database'\nimport type { PayloadRequestWithData, SanitizedCollectionConfig } from 'payload/types'\n\nimport { inArray } from 'drizzle-orm'\nimport { buildVersionCollectionFields } from 'payload/versions'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\n\nexport const deleteVersions: DeleteVersions = async function deleteVersion(\n this: PostgresAdapter,\n { collection, locale, req = {} as PayloadRequestWithData, where: where },\n) {\n const db = this.sessions[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 db.delete(this.tables[tableName]).where(inArray(this.tables[tableName].id, ids))\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","delete","tables"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,OAAO,QAAQ,cAAa;AACrC,SAASC,4BAA4B,QAAQ,mBAAkB;AAC/D,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,QAAQ,QAAQ,qBAAoB;AAE7C,OAAO,MAAMC,iBAAiC,eAAeC,cAE3D,EAAEC,UAAU,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAA2B,EAAEC,OAAOA,KAAK,EAAE;IAExE,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAACH,IAAII,aAAa,CAAC,EAAEF,MAAM,IAAI,CAACG,OAAO;IAC/D,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,MAAMxB,GAAGyB,MAAM,CAAC,IAAI,CAACC,MAAM,CAAClB,UAAU,EAAET,KAAK,CAACT,QAAQ,IAAI,CAACoC,MAAM,CAAClB,UAAU,CAACe,EAAE,EAAEJ;IACnF;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,kBAAkB,CAAA;AAM/C,eAAO,MAAM,OAAO,EAAE,OAOrB,CAAA"}
1
+ {"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../src/destroy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAK/C,eAAO,MAAM,OAAO,EAAE,OAWrB,CAAA"}
package/dist/destroy.js CHANGED
@@ -1,11 +1,15 @@
1
- import { pushDevSchema } from './utilities/pushDevSchema.js';
1
+ // eslint-disable-next-line @typescript-eslint/require-await
2
2
  export const destroy = async function destroy() {
3
- if (process.env.NODE_ENV !== 'production') {
4
- await pushDevSchema(this);
5
- } else {
6
- // TODO: this hangs test suite for some reason
7
- // await this.pool.end()
8
- }
3
+ this.enums = {};
4
+ this.schema = {};
5
+ this.tables = {};
6
+ this.relations = {};
7
+ this.fieldConstraints = {};
8
+ this.drizzle = undefined;
9
+ this.initializing = new Promise((res, rej)=>{
10
+ this.resolveInitializing = res;
11
+ this.rejectInitializing = rej;
12
+ });
9
13
  };
10
14
 
11
15
  //# sourceMappingURL=destroy.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/destroy.ts"],"sourcesContent":["import type { Destroy } from 'payload/database'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { pushDevSchema } from './utilities/pushDevSchema.js'\n\nexport const destroy: Destroy = async function destroy(this: PostgresAdapter) {\n if (process.env.NODE_ENV !== 'production') {\n await pushDevSchema(this)\n } else {\n // TODO: this hangs test suite for some reason\n // await this.pool.end()\n }\n}\n"],"names":["pushDevSchema","destroy","process","env","NODE_ENV"],"rangeMappings":";;;;;;;;","mappings":"AAIA,SAASA,aAAa,QAAQ,+BAA8B;AAE5D,OAAO,MAAMC,UAAmB,eAAeA;IAC7C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACzC,MAAMJ,cAAc,IAAI;IAC1B,OAAO;IACL,8CAA8C;IAC9C,wBAAwB;IAC1B;AACF,EAAC"}
1
+ {"version":3,"sources":["../src/destroy.ts"],"sourcesContent":["import type { Destroy } from 'payload/database'\n\nimport type { PostgresAdapter } from './types.js'\n\n// eslint-disable-next-line @typescript-eslint/require-await\nexport const destroy: Destroy = async function destroy(this: PostgresAdapter) {\n 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"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAIA,4DAA4D;AAC5D,OAAO,MAAMA,UAAmB,eAAeA;IAC7C,IAAI,CAACC,KAAK,GAAG,CAAC;IACd,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,2 @@
1
+ export { migratePostgresV2toV3 } from '../predefinedMigrations/v2-v3/index.js';
2
+ //# sourceMappingURL=migration-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-utils.d.ts","sourceRoot":"","sources":["../../src/exports/migration-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { migratePostgresV2toV3 } from '../predefinedMigrations/v2-v3/index.js';
2
+
3
+ //# sourceMappingURL=migration-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/migration-utils.ts"],"sourcesContent":["export { migratePostgresV2toV3 } from '../predefinedMigrations/v2-v3/index.js'\n"],"names":["migratePostgresV2toV3"],"rangeMappings":"","mappings":"AAAA,SAASA,qBAAqB,QAAQ,yCAAwC"}
@@ -7,7 +7,11 @@ type BuildFindQueryArgs = {
7
7
  fields: Field[];
8
8
  tableName: string;
9
9
  };
10
- export type Result = DBQueryConfig<'many', true, any, any>;
10
+ export type Result = DBQueryConfig<'many', true, any, any> & {
11
+ with?: DBQueryConfig<'many', true, any, any> & {
12
+ _locales?: DBQueryConfig<'many', true, any, any>;
13
+ };
14
+ };
11
15
  export declare const buildFindManyArgs: ({ adapter, depth, fields, tableName, }: BuildFindQueryArgs) => Record<string, unknown>;
12
16
  export {};
13
17
  //# 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,eAAe,CAAA;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,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,CAAA;AAI1D,eAAO,MAAM,iBAAiB,2CAK3B,kBAAkB,KAAG,OAAO,MAAM,EAAE,OAAO,CA2D7C,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,MAAM,eAAe,CAAA;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,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,OAAO,MAAM,EAAE,OAAO,CA4D7C,CAAA"}
@@ -9,7 +9,8 @@ export const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
9
9
  columns: {
10
10
  id: false,
11
11
  _parentID: false
12
- }
12
+ },
13
+ with: {}
13
14
  };
14
15
  if (adapter.tables[`${tableName}_texts`]) {
15
16
  result.with._texts = {
@@ -33,7 +34,7 @@ export const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
33
34
  ]
34
35
  };
35
36
  }
36
- if (adapter.tables[`${tableName}_rels`]) {
37
+ if (adapter.tables[`${tableName}${adapter.relationshipsSuffix}`]) {
37
38
  result.with._rels = {
38
39
  columns: {
39
40
  id: false,
@@ -44,7 +45,7 @@ export const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
44
45
  ]
45
46
  };
46
47
  }
47
- if (adapter.tables[`${tableName}_locales`]) {
48
+ if (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {
48
49
  result.with._locales = _locales;
49
50
  }
50
51
  traverseFields({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/find/buildFindManyArgs.ts"],"sourcesContent":["import type { DBQueryConfig } from 'drizzle-orm'\nimport type { Field } from 'payload/types'\n\nimport type { PostgresAdapter } from '../types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype BuildFindQueryArgs = {\n adapter: PostgresAdapter\n depth: number\n fields: Field[]\n tableName: string\n}\n\nexport type Result = 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 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 }\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}_rels`]) {\n result.with._rels = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (adapter.tables[`${tableName}_locales`]) {\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","_rels","currentArgs","currentTableName","path","topLevelArgs","topLevelTableName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAKA,SAASA,cAAc,QAAQ,sBAAqB;AAWpD,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;IACF;IAEA,IAAIT,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,KAAK,CAAC,CAAC,EAAE;QACvCC,OAAOC,IAAI,CAACa,KAAK,GAAG;YAClBX,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,CAACC,QAAQ,GAAGA;IACzB;IAEAR,eAAe;QACbQ;QACAN;QACAmB,aAAaf;QACbgB,kBAAkBjB;QAClBF;QACAC;QACAmB,MAAM;QACNC,cAAclB;QACdmB,mBAAmBpB;IACrB;IAEA,OAAOC;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/find/buildFindManyArgs.ts"],"sourcesContent":["import type { DBQueryConfig } from 'drizzle-orm'\nimport type { Field } from 'payload/types'\n\nimport type { PostgresAdapter } from '../types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype BuildFindQueryArgs = {\n adapter: PostgresAdapter\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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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 +1 @@
1
- {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/find/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,eAAe,CAAA;AAItE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AASlD,KAAK,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG;IACzC,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ,iHAYlB,IAAI;;;;;;;;;;;EAgKN,CAAA"}
1
+ {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/find/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAsC,MAAM,eAAe,CAAA;AAI9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AASlD,KAAK,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG;IACzC,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ,iHAYlB,IAAI;;;;;;;;;;;EAsJN,CAAA"}
@@ -13,7 +13,7 @@ export const findMany = async function find({ adapter, fields, limit: limitArg,
13
13
  let hasPrevPage;
14
14
  let hasNextPage;
15
15
  let pagingCounter;
16
- const { joinAliases, joins, orderBy, selectFields, where } = await buildQuery({
16
+ const { joins, orderBy, selectFields, where } = await buildQuery({
17
17
  adapter,
18
18
  fields,
19
19
  locale,
@@ -54,7 +54,6 @@ export const findMany = async function find({ adapter, fields, limit: limitArg,
54
54
  adapter,
55
55
  chainedMethods: selectDistinctMethods,
56
56
  db,
57
- joinAliases,
58
57
  joins,
59
58
  selectFields,
60
59
  tableName,
@@ -92,9 +91,9 @@ export const findMany = async function find({ adapter, fields, limit: limitArg,
92
91
  findManyArgs.orderBy = orderBy.order(orderBy.column);
93
92
  }
94
93
  const findPromise = db.query[tableName].findMany(findManyArgs);
95
- if (pagination !== false && (orderedIDs ? orderedIDs?.length >= limit : true)) {
94
+ if (pagination !== false && (orderedIDs ? orderedIDs?.length <= limit : true)) {
96
95
  const selectCountMethods = [];
97
- joinAliases.forEach(({ condition, table })=>{
96
+ joins.forEach(({ condition, table })=>{
98
97
  selectCountMethods.push({
99
98
  args: [
100
99
  table,
@@ -103,22 +102,11 @@ export const findMany = async function find({ adapter, fields, limit: limitArg,
103
102
  method: 'leftJoin'
104
103
  });
105
104
  });
106
- Object.entries(joins).forEach(([joinTable, condition])=>{
107
- if (joinTable) {
108
- selectCountMethods.push({
109
- args: [
110
- adapter.tables[joinTable],
111
- condition
112
- ],
113
- method: 'leftJoin'
114
- });
115
- }
116
- });
117
105
  const countResult = await chainMethods({
118
106
  methods: selectCountMethods,
119
107
  query: db.select({
120
108
  count: sql`count
121
- (DISTINCT ${adapter.tables[tableName].id})`
109
+ (DISTINCT ${adapter.tables[tableName].id})`
122
110
  }).from(table).where(where)
123
111
  });
124
112
  totalDocs = Number(countResult[0].count);
@@ -141,6 +129,7 @@ export const findMany = async function find({ adapter, fields, limit: limitArg,
141
129
  }
142
130
  const docs = rawDocs.map((data)=>{
143
131
  return transform({
132
+ adapter,
144
133
  config: adapter.payload.config,
145
134
  data,
146
135
  fields
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/find/findMany.ts"],"sourcesContent":["import type { FindArgs } from 'payload/database'\nimport type { Field, PayloadRequest, TypeWithID } from 'payload/types'\n\nimport { inArray, sql } from 'drizzle-orm'\n\nimport type { PostgresAdapter } 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'\nimport { chainMethods } from './chainMethods.js'\n\ntype Args = Omit<FindArgs, 'collection'> & {\n adapter: PostgresAdapter\n fields: Field[]\n tableName: string\n}\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[req.transactionID]?.db || adapter.drizzle\n const table = adapter.tables[tableName]\n\n const limit = limitArg ?? 10\n let totalDocs: number\n let totalPages: number\n let hasPrevPage: boolean\n let hasNextPage: boolean\n let pagingCounter: number\n\n const { joinAliases, 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: [skip || (page - 1) * limit], method: 'offset' })\n selectDistinctMethods.push({ args: [limit === 0 ? undefined : limit], method: 'limit' })\n\n const selectDistinctResult = await selectDistinct({\n adapter,\n chainedMethods: selectDistinctMethods,\n db,\n joinAliases,\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 = limitArg === 0 ? undefined : limitArg\n\n const offset = skip || (page - 1) * limitArg\n\n if (!Number.isNaN(offset)) findManyArgs.offset = offset\n\n if (where) {\n findManyArgs.where = where\n }\n findManyArgs.orderBy = orderBy.order(orderBy.column)\n }\n\n const findPromise = db.query[tableName].findMany(findManyArgs)\n\n if (pagination !== false && (orderedIDs ? orderedIDs?.length >= limit : true)) {\n const selectCountMethods: ChainedMethods = []\n\n joinAliases.forEach(({ condition, table }) => {\n selectCountMethods.push({\n args: [table, condition],\n method: 'leftJoin',\n })\n })\n\n Object.entries(joins).forEach(([joinTable, condition]) => {\n if (joinTable) {\n selectCountMethods.push({\n args: [adapter.tables[joinTable], condition],\n method: 'leftJoin',\n })\n }\n })\n\n const countResult = await chainMethods({\n methods: selectCountMethods,\n query: db\n .select({\n count: sql<number>`count\n (DISTINCT ${adapter.tables[tableName].id})`,\n })\n .from(table)\n .where(where),\n })\n totalDocs = Number(countResult[0].count)\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 config: adapter.payload.config,\n data,\n fields,\n })\n })\n\n return {\n docs,\n hasNextPage,\n hasPrevPage,\n limit,\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","sql","buildQuery","selectDistinct","transform","buildFindManyArgs","chainMethods","findMany","find","adapter","fields","limit","limitArg","locale","page","pagination","req","skip","sort","tableName","where","whereArg","db","sessions","transactionID","drizzle","table","tables","totalDocs","totalPages","hasPrevPage","hasNextPage","pagingCounter","joinAliases","joins","orderBy","selectFields","orderedIDMap","orderedIDs","selectDistinctMethods","order","column","push","args","method","findManyArgs","depth","undefined","selectDistinctResult","chainedMethods","length","docs","nextPage","prevPage","forEach","id","i","Object","keys","offset","Number","isNaN","findPromise","query","selectCountMethods","condition","entries","joinTable","countResult","methods","select","count","from","Math","ceil","rawDocs","a","b","map","data","config","payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/find/findMany.ts"],"sourcesContent":["import type { FindArgs } from 'payload/database'\nimport type { Field, PayloadRequestWithData, TypeWithID } from 'payload/types'\n\nimport { inArray, sql } from 'drizzle-orm'\n\nimport type { PostgresAdapter } 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'\nimport { chainMethods } from './chainMethods.js'\n\ntype Args = Omit<FindArgs, 'collection'> & {\n adapter: PostgresAdapter\n fields: Field[]\n tableName: string\n}\n\nexport const findMany = async function find({\n adapter,\n fields,\n limit: limitArg,\n locale,\n page = 1,\n pagination,\n req = {} as PayloadRequestWithData,\n skip,\n sort,\n tableName,\n where: whereArg,\n}: Args) {\n const db = adapter.sessions[req.transactionID]?.db || adapter.drizzle\n const table = adapter.tables[tableName]\n\n const limit = limitArg ?? 10\n let totalDocs: number\n let totalPages: number\n let hasPrevPage: boolean\n let hasNextPage: boolean\n let pagingCounter: number\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: [skip || (page - 1) * limit], method: 'offset' })\n selectDistinctMethods.push({ args: [limit === 0 ? undefined : 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 = limitArg === 0 ? undefined : limitArg\n\n const offset = skip || (page - 1) * limitArg\n\n if (!Number.isNaN(offset)) findManyArgs.offset = offset\n\n if (where) {\n findManyArgs.where = where\n }\n findManyArgs.orderBy = orderBy.order(orderBy.column)\n }\n\n const findPromise = db.query[tableName].findMany(findManyArgs)\n\n if (pagination !== false && (orderedIDs ? orderedIDs?.length <= limit : true)) {\n const selectCountMethods: ChainedMethods = []\n joins.forEach(({ condition, table }) => {\n selectCountMethods.push({\n args: [table, condition],\n method: 'leftJoin',\n })\n })\n\n const countResult = await chainMethods({\n methods: selectCountMethods,\n query: db\n .select({\n count: sql<number>`count\n (DISTINCT ${adapter.tables[tableName].id})`,\n })\n .from(table)\n .where(where),\n })\n totalDocs = Number(countResult[0].count)\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,\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","sql","buildQuery","selectDistinct","transform","buildFindManyArgs","chainMethods","findMany","find","adapter","fields","limit","limitArg","locale","page","pagination","req","skip","sort","tableName","where","whereArg","db","sessions","transactionID","drizzle","table","tables","totalDocs","totalPages","hasPrevPage","hasNextPage","pagingCounter","joins","orderBy","selectFields","orderedIDMap","orderedIDs","selectDistinctMethods","order","column","push","args","method","findManyArgs","depth","undefined","selectDistinctResult","chainedMethods","length","docs","nextPage","prevPage","forEach","id","i","Object","keys","offset","Number","isNaN","findPromise","query","selectCountMethods","condition","countResult","methods","select","count","from","Math","ceil","rawDocs","a","b","map","data","config","payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import type { Field } from 'payload/types';
2
2
  import type { PostgresAdapter } from '../types.js';
3
+ import type { Result } from './buildFindManyArgs.js';
3
4
  type TraverseFieldArgs = {
4
- _locales: Record<string, unknown>;
5
+ _locales: Result;
5
6
  adapter: PostgresAdapter;
6
- currentArgs: Record<string, unknown>;
7
+ currentArgs: Result;
7
8
  currentTableName: string;
8
9
  depth?: number;
9
10
  fields: Field[];
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/find/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAI1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAKlD,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,gHAUxB,iBAAiB,4BAmKnB,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/find/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAK1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,gHAUxB,iBAAiB,4BA8KnB,CAAA"}
@@ -1,7 +1,15 @@
1
1
  /* eslint-disable no-param-reassign */ import { fieldAffectsData, tabHasName } from 'payload/types';
2
- import { getTableName } from '../schema/getTableName.js';
2
+ import toSnakeCase from 'to-snake-case';
3
3
  export const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, depth, fields, path, topLevelArgs, topLevelTableName })=>{
4
4
  fields.forEach((field)=>{
5
+ // handle simple relationship
6
+ if (depth > 0 && (field.type === 'upload' || field.type === 'relationship' && !field.hasMany && typeof field.relationTo === 'string')) {
7
+ if (field.localized) {
8
+ _locales.with[`${path}${field.name}`] = true;
9
+ } else {
10
+ currentArgs.with[`${path}${field.name}`] = true;
11
+ }
12
+ }
5
13
  if (field.type === 'collapsible' || field.type === 'row') {
6
14
  traverseFields({
7
15
  _locales,
@@ -46,23 +54,20 @@ export const traverseFields = ({ _locales, adapter, currentArgs, currentTableNam
46
54
  ],
47
55
  with: {}
48
56
  };
49
- const arrayTableName = getTableName({
50
- adapter,
51
- config: field,
52
- parentTableName: currentTableName,
53
- prefix: `${currentTableName}_${path}`
54
- });
55
- const arrayTableNameWithLocales = getTableName({
56
- adapter,
57
- config: field,
58
- locales: true,
59
- parentTableName: currentTableName,
60
- prefix: `${currentTableName}_${path}`
61
- });
62
- if (adapter.tables[arrayTableNameWithLocales]) withArray.with._locales = _locales;
57
+ const arrayTableName = adapter.tableNameMap.get(`${currentTableName}_${path}${toSnakeCase(field.name)}`);
58
+ const arrayTableNameWithLocales = `${arrayTableName}${adapter.localesSuffix}`;
59
+ if (adapter.tables[arrayTableNameWithLocales]) {
60
+ withArray.with._locales = {
61
+ columns: {
62
+ id: false,
63
+ _parentID: false
64
+ },
65
+ with: {}
66
+ };
67
+ }
63
68
  currentArgs.with[`${path}${field.name}`] = withArray;
64
69
  traverseFields({
65
- _locales,
70
+ _locales: withArray.with._locales,
66
71
  adapter,
67
72
  currentArgs: withArray,
68
73
  currentTableName: arrayTableName,
@@ -104,18 +109,15 @@ export const traverseFields = ({ _locales, adapter, currentArgs, currentTableNam
104
109
  ],
105
110
  with: {}
106
111
  };
107
- const tableName = getTableName({
108
- adapter,
109
- config: block,
110
- parentTableName: topLevelTableName,
111
- prefix: `${topLevelTableName}_blocks_`
112
- });
112
+ const tableName = adapter.tableNameMap.get(`${topLevelTableName}_blocks_${toSnakeCase(block.slug)}`);
113
113
  if (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {
114
- withBlock.with._locales = _locales;
114
+ withBlock.with._locales = {
115
+ with: {}
116
+ };
115
117
  }
116
118
  topLevelArgs.with[blockKey] = withBlock;
117
119
  traverseFields({
118
- _locales,
120
+ _locales: withBlock.with._locales,
119
121
  adapter,
120
122
  currentArgs: withBlock,
121
123
  currentTableName: tableName,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/find/traverseFields.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Field } from 'payload/types'\n\nimport { fieldAffectsData, tabHasName } from 'payload/types'\n\nimport type { PostgresAdapter } from '../types.js'\nimport type { Result } from './buildFindManyArgs.js'\n\nimport { getTableName } from '../schema/getTableName.js'\n\ntype TraverseFieldArgs = {\n _locales: Record<string, unknown>\n adapter: PostgresAdapter\n currentArgs: Record<string, unknown>\n currentTableName: string\n depth?: number\n fields: Field[]\n path: string\n topLevelArgs: Record<string, unknown>\n topLevelTableName: string\n}\n\nexport const traverseFields = ({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields,\n path,\n topLevelArgs,\n topLevelTableName,\n}: TraverseFieldArgs) => {\n fields.forEach((field) => {\n if (field.type === 'collapsible' || field.type === 'row') {\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: field.fields,\n path,\n topLevelArgs,\n topLevelTableName,\n })\n\n return\n }\n\n if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n const tabPath = tabHasName(tab) ? `${path}${tab.name}_` : path\n\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: tab.fields,\n path: tabPath,\n topLevelArgs,\n topLevelTableName,\n })\n })\n\n return\n }\n\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array': {\n const withArray: Result = {\n columns: {\n _parentID: false,\n },\n orderBy: ({ _order }, { asc }) => [asc(_order)],\n with: {},\n }\n\n const arrayTableName = getTableName({\n adapter,\n config: field,\n parentTableName: currentTableName,\n prefix: `${currentTableName}_${path}`,\n })\n\n const arrayTableNameWithLocales = getTableName({\n adapter,\n config: field,\n locales: true,\n parentTableName: currentTableName,\n prefix: `${currentTableName}_${path}`,\n })\n\n if (adapter.tables[arrayTableNameWithLocales]) withArray.with._locales = _locales\n currentArgs.with[`${path}${field.name}`] = withArray\n\n traverseFields({\n _locales,\n adapter,\n currentArgs: withArray,\n currentTableName: arrayTableName,\n depth,\n fields: field.fields,\n path: '',\n topLevelArgs,\n topLevelTableName,\n })\n\n break\n }\n\n case 'select': {\n if (field.hasMany) {\n const withSelect: Result = {\n columns: {\n id: false,\n order: false,\n parent: false,\n },\n orderBy: ({ order }, { asc }) => [asc(order)],\n }\n\n currentArgs.with[`${path}${field.name}`] = withSelect\n }\n\n break\n }\n\n case 'blocks':\n field.blocks.forEach((block) => {\n const blockKey = `_blocks_${block.slug}`\n\n if (!topLevelArgs[blockKey]) {\n const withBlock: Result = {\n columns: {\n _parentID: false,\n },\n orderBy: ({ _order }, { asc }) => [asc(_order)],\n with: {},\n }\n\n const tableName = getTableName({\n adapter,\n config: block,\n parentTableName: topLevelTableName,\n prefix: `${topLevelTableName}_blocks_`,\n })\n\n if (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {\n withBlock.with._locales = _locales\n }\n topLevelArgs.with[blockKey] = withBlock\n\n traverseFields({\n _locales,\n adapter,\n currentArgs: withBlock,\n currentTableName: tableName,\n depth,\n fields: block.fields,\n path: '',\n topLevelArgs,\n topLevelTableName,\n })\n }\n })\n\n break\n\n case 'group':\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: field.fields,\n path: `${path}${field.name}_`,\n topLevelArgs,\n topLevelTableName,\n })\n\n break\n\n default: {\n break\n }\n }\n }\n })\n\n return topLevelArgs\n}\n"],"names":["fieldAffectsData","tabHasName","getTableName","traverseFields","_locales","adapter","currentArgs","currentTableName","depth","fields","path","topLevelArgs","topLevelTableName","forEach","field","type","tabs","tab","tabPath","name","withArray","columns","_parentID","orderBy","_order","asc","with","arrayTableName","config","parentTableName","prefix","arrayTableNameWithLocales","locales","tables","hasMany","withSelect","id","order","parent","blocks","block","blockKey","slug","withBlock","tableName","localesSuffix"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/find/traverseFields.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Field } from 'payload/types'\n\nimport { fieldAffectsData, tabHasName } from 'payload/types'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from '../types.js'\nimport type { Result } from './buildFindManyArgs.js'\n\ntype TraverseFieldArgs = {\n _locales: Result\n adapter: PostgresAdapter\n currentArgs: Result\n currentTableName: string\n depth?: number\n fields: Field[]\n path: string\n topLevelArgs: Record<string, unknown>\n topLevelTableName: string\n}\n\nexport const traverseFields = ({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields,\n path,\n topLevelArgs,\n topLevelTableName,\n}: TraverseFieldArgs) => {\n fields.forEach((field) => {\n // handle simple relationship\n if (\n depth > 0 &&\n (field.type === 'upload' ||\n (field.type === 'relationship' && !field.hasMany && typeof field.relationTo === 'string'))\n ) {\n if (field.localized) {\n _locales.with[`${path}${field.name}`] = true\n } else {\n currentArgs.with[`${path}${field.name}`] = true\n }\n }\n\n if (field.type === 'collapsible' || field.type === 'row') {\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: field.fields,\n path,\n topLevelArgs,\n topLevelTableName,\n })\n\n return\n }\n\n if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n const tabPath = tabHasName(tab) ? `${path}${tab.name}_` : path\n\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: tab.fields,\n path: tabPath,\n topLevelArgs,\n topLevelTableName,\n })\n })\n\n return\n }\n\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array': {\n const withArray: Result = {\n columns: {\n _parentID: false,\n },\n orderBy: ({ _order }, { asc }) => [asc(_order)],\n with: {},\n }\n\n const arrayTableName = adapter.tableNameMap.get(\n `${currentTableName}_${path}${toSnakeCase(field.name)}`,\n )\n\n const arrayTableNameWithLocales = `${arrayTableName}${adapter.localesSuffix}`\n\n if (adapter.tables[arrayTableNameWithLocales]) {\n withArray.with._locales = {\n columns: {\n id: false,\n _parentID: false,\n },\n with: {},\n }\n }\n currentArgs.with[`${path}${field.name}`] = withArray\n\n traverseFields({\n _locales: withArray.with._locales,\n adapter,\n currentArgs: withArray,\n currentTableName: arrayTableName,\n depth,\n fields: field.fields,\n path: '',\n topLevelArgs,\n topLevelTableName,\n })\n\n break\n }\n\n case 'select': {\n if (field.hasMany) {\n const withSelect: Result = {\n columns: {\n id: false,\n order: false,\n parent: false,\n },\n orderBy: ({ order }, { asc }) => [asc(order)],\n }\n\n currentArgs.with[`${path}${field.name}`] = withSelect\n }\n\n break\n }\n\n case 'blocks':\n field.blocks.forEach((block) => {\n const blockKey = `_blocks_${block.slug}`\n\n if (!topLevelArgs[blockKey]) {\n const withBlock: Result = {\n columns: {\n _parentID: false,\n },\n orderBy: ({ _order }, { asc }) => [asc(_order)],\n with: {},\n }\n\n const tableName = adapter.tableNameMap.get(\n `${topLevelTableName}_blocks_${toSnakeCase(block.slug)}`,\n )\n\n if (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {\n withBlock.with._locales = {\n with: {},\n }\n }\n topLevelArgs.with[blockKey] = withBlock\n\n traverseFields({\n _locales: withBlock.with._locales,\n adapter,\n currentArgs: withBlock,\n currentTableName: tableName,\n depth,\n fields: block.fields,\n path: '',\n topLevelArgs,\n topLevelTableName,\n })\n }\n })\n\n break\n\n case 'group':\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: field.fields,\n path: `${path}${field.name}_`,\n topLevelArgs,\n topLevelTableName,\n })\n\n break\n\n default: {\n break\n }\n }\n }\n })\n\n return topLevelArgs\n}\n"],"names":["fieldAffectsData","tabHasName","toSnakeCase","traverseFields","_locales","adapter","currentArgs","currentTableName","depth","fields","path","topLevelArgs","topLevelTableName","forEach","field","type","hasMany","relationTo","localized","with","name","tabs","tab","tabPath","withArray","columns","_parentID","orderBy","_order","asc","arrayTableName","tableNameMap","get","arrayTableNameWithLocales","localesSuffix","tables","id","withSelect","order","parent","blocks","block","blockKey","slug","withBlock","tableName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAQ5C,eAAO,MAAM,IAAI,EAAE,IAgClB,CAAA"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAS5C,eAAO,MAAM,IAAI,EAAE,IA8BlB,CAAA"}
package/dist/find.js CHANGED
@@ -1,12 +1,9 @@
1
+ import toSnakeCase from 'to-snake-case';
1
2
  import { findMany } from './find/findMany.js';
2
- import { getTableName } from './schema/getTableName.js';
3
3
  export const find = async function find({ collection, limit, locale, page = 1, pagination, req = {}, sort: sortArg, where }) {
4
4
  const collectionConfig = this.payload.collections[collection].config;
5
5
  const sort = typeof sortArg === 'string' ? sortArg : collectionConfig.defaultSort;
6
- const tableName = getTableName({
7
- adapter: this,
8
- config: collectionConfig
9
- });
6
+ const tableName = this.tableNameMap.get(toSnakeCase(collectionConfig.slug));
10
7
  return findMany({
11
8
  adapter: this,
12
9
  fields: collectionConfig.fields,
package/dist/find.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/find.ts"],"sourcesContent":["import type { Find } from 'payload/database'\nimport type { PayloadRequest, SanitizedCollectionConfig } from 'payload/types'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\nimport { getTableName } from './schema/getTableName.js'\n\nexport const find: Find = async function find(\n this: PostgresAdapter,\n {\n collection,\n limit,\n locale,\n page = 1,\n pagination,\n req = {} as PayloadRequest,\n sort: sortArg,\n where,\n },\n) {\n const collectionConfig: SanitizedCollectionConfig = this.payload.collections[collection].config\n const sort = typeof sortArg === 'string' ? sortArg : collectionConfig.defaultSort\n const tableName = getTableName({\n adapter: this,\n config: collectionConfig,\n })\n\n return findMany({\n adapter: this,\n fields: collectionConfig.fields,\n limit,\n locale,\n page,\n pagination,\n req,\n sort,\n tableName,\n where,\n })\n}\n"],"names":["findMany","getTableName","find","collection","limit","locale","page","pagination","req","sort","sortArg","where","collectionConfig","payload","collections","config","defaultSort","tableName","adapter","fields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAKA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,YAAY,QAAQ,2BAA0B;AAEvD,OAAO,MAAMC,OAAa,eAAeA,KAEvC,EACEC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,OAAO,CAAC,EACRC,UAAU,EACVC,MAAM,CAAC,CAAmB,EAC1BC,MAAMC,OAAO,EACbC,KAAK,EACN;IAED,MAAMC,mBAA8C,IAAI,CAACC,OAAO,CAACC,WAAW,CAACX,WAAW,CAACY,MAAM;IAC/F,MAAMN,OAAO,OAAOC,YAAY,WAAWA,UAAUE,iBAAiBI,WAAW;IACjF,MAAMC,YAAYhB,aAAa;QAC7BiB,SAAS,IAAI;QACbH,QAAQH;IACV;IAEA,OAAOZ,SAAS;QACdkB,SAAS,IAAI;QACbC,QAAQP,iBAAiBO,MAAM;QAC/Bf;QACAC;QACAC;QACAC;QACAC;QACAC;QACAQ;QACAN;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../src/find.ts"],"sourcesContent":["import type { Find } from 'payload/database'\nimport type { PayloadRequestWithData, SanitizedCollectionConfig } from 'payload/types'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\n\nexport const find: Find = async function find(\n this: PostgresAdapter,\n {\n collection,\n limit,\n locale,\n page = 1,\n pagination,\n req = {} as PayloadRequestWithData,\n sort: sortArg,\n where,\n },\n) {\n const collectionConfig: SanitizedCollectionConfig = this.payload.collections[collection].config\n const sort = typeof sortArg === 'string' ? sortArg : collectionConfig.defaultSort\n\n const tableName = this.tableNameMap.get(toSnakeCase(collectionConfig.slug))\n\n return findMany({\n adapter: this,\n fields: collectionConfig.fields,\n limit,\n locale,\n page,\n pagination,\n req,\n sort,\n tableName,\n where,\n })\n}\n"],"names":["toSnakeCase","findMany","find","collection","limit","locale","page","pagination","req","sort","sortArg","where","collectionConfig","payload","collections","config","defaultSort","tableName","tableNameMap","get","slug","adapter","fields"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAGA,OAAOA,iBAAiB,gBAAe;AAIvC,SAASC,QAAQ,QAAQ,qBAAoB;AAE7C,OAAO,MAAMC,OAAa,eAAeA,KAEvC,EACEC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,OAAO,CAAC,EACRC,UAAU,EACVC,MAAM,CAAC,CAA2B,EAClCC,MAAMC,OAAO,EACbC,KAAK,EACN;IAED,MAAMC,mBAA8C,IAAI,CAACC,OAAO,CAACC,WAAW,CAACX,WAAW,CAACY,MAAM;IAC/F,MAAMN,OAAO,OAAOC,YAAY,WAAWA,UAAUE,iBAAiBI,WAAW;IAEjF,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACnB,YAAYY,iBAAiBQ,IAAI;IAEzE,OAAOnB,SAAS;QACdoB,SAAS,IAAI;QACbC,QAAQV,iBAAiBU,MAAM;QAC/BlB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAQ;QACAN;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findGlobal.d.ts","sourceRoot":"","sources":["../src/findGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAOlD,eAAO,MAAM,UAAU,EAAE,UA6BxB,CAAA"}
1
+ {"version":3,"file":"findGlobal.d.ts","sourceRoot":"","sources":["../src/findGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAQlD,eAAO,MAAM,UAAU,EAAE,UA2BxB,CAAA"}
@@ -1,11 +1,8 @@
1
+ import toSnakeCase from 'to-snake-case';
1
2
  import { findMany } from './find/findMany.js';
2
- import { getTableName } from './schema/getTableName.js';
3
3
  export const findGlobal = async function findGlobal({ slug, locale, req, where }) {
4
4
  const globalConfig = this.payload.globals.config.find((config)=>config.slug === slug);
5
- const tableName = getTableName({
6
- adapter: this,
7
- config: globalConfig
8
- });
5
+ const tableName = this.tableNameMap.get(toSnakeCase(globalConfig.slug));
9
6
  const { docs: [doc] } = await findMany({
10
7
  adapter: this,
11
8
  fields: globalConfig.fields,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/findGlobal.ts"],"sourcesContent":["import type { FindGlobal } from 'payload/database'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\nimport { getTableName } from './schema/getTableName.js'\n\nexport const findGlobal: FindGlobal = async function findGlobal(\n this: PostgresAdapter,\n { slug, locale, req, where },\n) {\n const globalConfig = this.payload.globals.config.find((config) => config.slug === slug)\n const tableName = getTableName({\n adapter: this,\n config: globalConfig,\n })\n\n const {\n docs: [doc],\n } = await findMany({\n adapter: this,\n fields: globalConfig.fields,\n limit: 1,\n locale,\n pagination: false,\n req,\n tableName,\n where,\n })\n\n if (doc) {\n doc.globalType = slug\n return doc\n }\n\n return {}\n}\n"],"names":["findMany","getTableName","findGlobal","slug","locale","req","where","globalConfig","payload","globals","config","find","tableName","adapter","docs","doc","fields","limit","pagination","globalType"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,YAAY,QAAQ,2BAA0B;AAEvD,OAAO,MAAMC,aAAyB,eAAeA,WAEnD,EAAEC,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAE;IAE5B,MAAMC,eAAe,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC,CAACD,SAAWA,OAAOP,IAAI,KAAKA;IAClF,MAAMS,YAAYX,aAAa;QAC7BY,SAAS,IAAI;QACbH,QAAQH;IACV;IAEA,MAAM,EACJO,MAAM,CAACC,IAAI,EACZ,GAAG,MAAMf,SAAS;QACjBa,SAAS,IAAI;QACbG,QAAQT,aAAaS,MAAM;QAC3BC,OAAO;QACPb;QACAc,YAAY;QACZb;QACAO;QACAN;IACF;IAEA,IAAIS,KAAK;QACPA,IAAII,UAAU,GAAGhB;QACjB,OAAOY;IACT;IAEA,OAAO,CAAC;AACV,EAAC"}
1
+ {"version":3,"sources":["../src/findGlobal.ts"],"sourcesContent":["import type { FindGlobal } from 'payload/database'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\n\nexport const findGlobal: FindGlobal = async function findGlobal(\n this: PostgresAdapter,\n { slug, locale, req, where },\n) {\n const globalConfig = this.payload.globals.config.find((config) => config.slug === slug)\n\n const tableName = this.tableNameMap.get(toSnakeCase(globalConfig.slug))\n\n const {\n docs: [doc],\n } = await findMany({\n adapter: this,\n fields: globalConfig.fields,\n limit: 1,\n locale,\n pagination: false,\n req,\n tableName,\n where,\n })\n\n if (doc) {\n doc.globalType = slug\n return doc\n }\n\n return {}\n}\n"],"names":["toSnakeCase","findMany","findGlobal","slug","locale","req","where","globalConfig","payload","globals","config","find","tableName","tableNameMap","get","docs","doc","adapter","fields","limit","pagination","globalType"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,iBAAiB,gBAAe;AAIvC,SAASC,QAAQ,QAAQ,qBAAoB;AAE7C,OAAO,MAAMC,aAAyB,eAAeA,WAEnD,EAAEC,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAE;IAE5B,MAAMC,eAAe,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC,CAACD,SAAWA,OAAOP,IAAI,KAAKA;IAElF,MAAMS,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACd,YAAYO,aAAaJ,IAAI;IAErE,MAAM,EACJY,MAAM,CAACC,IAAI,EACZ,GAAG,MAAMf,SAAS;QACjBgB,SAAS,IAAI;QACbC,QAAQX,aAAaW,MAAM;QAC3BC,OAAO;QACPf;QACAgB,YAAY;QACZf;QACAO;QACAN;IACF;IAEA,IAAIU,KAAK;QACPA,IAAIK,UAAU,GAAGlB;QACjB,OAAOa;IACT;IAEA,OAAO,CAAC;AACV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findGlobalVersions.d.ts","sourceRoot":"","sources":["../src/findGlobalVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAU1D,eAAO,MAAM,kBAAkB,EAAE,kBAuChC,CAAA"}
1
+ {"version":3,"file":"findGlobalVersions.d.ts","sourceRoot":"","sources":["../src/findGlobalVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAU1D,eAAO,MAAM,kBAAkB,EAAE,kBAsChC,CAAA"}