@payloadcms/drizzle 3.0.0-canary.a5aaf21 → 3.0.0-canary.a6e7305

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 (152) hide show
  1. package/dist/create.d.ts.map +1 -1
  2. package/dist/create.js +2 -1
  3. package/dist/create.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 -1
  7. package/dist/createGlobalVersion.js.map +1 -1
  8. package/dist/createVersion.d.ts +1 -1
  9. package/dist/createVersion.d.ts.map +1 -1
  10. package/dist/createVersion.js +4 -4
  11. package/dist/createVersion.js.map +1 -1
  12. package/dist/deleteOne.d.ts.map +1 -1
  13. package/dist/deleteOne.js +2 -1
  14. package/dist/deleteOne.js.map +1 -1
  15. package/dist/exports/postgres.d.ts +1 -0
  16. package/dist/exports/postgres.d.ts.map +1 -1
  17. package/dist/exports/postgres.js +1 -0
  18. package/dist/exports/postgres.js.map +1 -1
  19. package/dist/find/buildFindManyArgs.d.ts +4 -2
  20. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  21. package/dist/find/buildFindManyArgs.js +40 -21
  22. package/dist/find/buildFindManyArgs.js.map +1 -1
  23. package/dist/find/findMany.d.ts +2 -1
  24. package/dist/find/findMany.d.ts.map +1 -1
  25. package/dist/find/findMany.js +7 -5
  26. package/dist/find/findMany.js.map +1 -1
  27. package/dist/find/traverseFields.d.ts +13 -3
  28. package/dist/find/traverseFields.d.ts.map +1 -1
  29. package/dist/find/traverseFields.js +275 -89
  30. package/dist/find/traverseFields.js.map +1 -1
  31. package/dist/find.d.ts.map +1 -1
  32. package/dist/find.js +3 -2
  33. package/dist/find.js.map +1 -1
  34. package/dist/findGlobal.d.ts.map +1 -1
  35. package/dist/findGlobal.js +2 -1
  36. package/dist/findGlobal.js.map +1 -1
  37. package/dist/findGlobalVersions.d.ts.map +1 -1
  38. package/dist/findGlobalVersions.js +3 -2
  39. package/dist/findGlobalVersions.js.map +1 -1
  40. package/dist/findOne.d.ts +1 -1
  41. package/dist/findOne.d.ts.map +1 -1
  42. package/dist/findOne.js +2 -1
  43. package/dist/findOne.js.map +1 -1
  44. package/dist/findVersions.d.ts.map +1 -1
  45. package/dist/findVersions.js +3 -2
  46. package/dist/findVersions.js.map +1 -1
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +3 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/migrateReset.js +1 -1
  52. package/dist/migrateReset.js.map +1 -1
  53. package/dist/postgres/countDistinct.d.ts.map +1 -1
  54. package/dist/postgres/countDistinct.js +2 -3
  55. package/dist/postgres/countDistinct.js.map +1 -1
  56. package/dist/postgres/createDatabase.d.ts +14 -0
  57. package/dist/postgres/createDatabase.d.ts.map +1 -0
  58. package/dist/postgres/createDatabase.js +76 -0
  59. package/dist/postgres/createDatabase.js.map +1 -0
  60. package/dist/postgres/defaultSnapshot.d.ts.map +1 -1
  61. package/dist/postgres/defaultSnapshot.js +2 -1
  62. package/dist/postgres/defaultSnapshot.js.map +1 -1
  63. package/dist/postgres/init.d.ts.map +1 -1
  64. package/dist/postgres/init.js +10 -1
  65. package/dist/postgres/init.js.map +1 -1
  66. package/dist/postgres/schema/build.d.ts +3 -1
  67. package/dist/postgres/schema/build.d.ts.map +1 -1
  68. package/dist/postgres/schema/build.js +29 -3
  69. package/dist/postgres/schema/build.js.map +1 -1
  70. package/dist/postgres/schema/createIndex.d.ts +2 -3
  71. package/dist/postgres/schema/createIndex.d.ts.map +1 -1
  72. package/dist/postgres/schema/createIndex.js +3 -3
  73. package/dist/postgres/schema/createIndex.js.map +1 -1
  74. package/dist/postgres/schema/traverseFields.d.ts +3 -1
  75. package/dist/postgres/schema/traverseFields.d.ts.map +1 -1
  76. package/dist/postgres/schema/traverseFields.js +34 -28
  77. package/dist/postgres/schema/traverseFields.js.map +1 -1
  78. package/dist/postgres/types.d.ts +32 -6
  79. package/dist/postgres/types.d.ts.map +1 -1
  80. package/dist/postgres/types.js.map +1 -1
  81. package/dist/queries/addJoinTable.d.ts +11 -0
  82. package/dist/queries/addJoinTable.d.ts.map +1 -0
  83. package/dist/queries/addJoinTable.js +13 -0
  84. package/dist/queries/addJoinTable.js.map +1 -0
  85. package/dist/queries/buildOrderBy.d.ts +2 -2
  86. package/dist/queries/buildOrderBy.d.ts.map +1 -1
  87. package/dist/queries/buildOrderBy.js +32 -27
  88. package/dist/queries/buildOrderBy.js.map +1 -1
  89. package/dist/queries/buildQuery.d.ts +4 -3
  90. package/dist/queries/buildQuery.d.ts.map +1 -1
  91. package/dist/queries/buildQuery.js.map +1 -1
  92. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  93. package/dist/queries/getTableColumnFromPath.js +80 -70
  94. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  95. package/dist/queries/parseParams.d.ts.map +1 -1
  96. package/dist/queries/parseParams.js +2 -0
  97. package/dist/queries/parseParams.js.map +1 -1
  98. package/dist/queries/sanitizeQueryValue.d.ts +2 -1
  99. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
  100. package/dist/queries/sanitizeQueryValue.js +13 -3
  101. package/dist/queries/sanitizeQueryValue.js.map +1 -1
  102. package/dist/queryDrafts.d.ts.map +1 -1
  103. package/dist/queryDrafts.js +5 -4
  104. package/dist/queryDrafts.js.map +1 -1
  105. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  106. package/dist/transform/read/traverseFields.js +41 -7
  107. package/dist/transform/read/traverseFields.js.map +1 -1
  108. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  109. package/dist/transform/write/traverseFields.js +13 -2
  110. package/dist/transform/write/traverseFields.js.map +1 -1
  111. package/dist/types.d.ts +1 -0
  112. package/dist/types.d.ts.map +1 -1
  113. package/dist/types.js.map +1 -1
  114. package/dist/update.d.ts.map +1 -1
  115. package/dist/update.js +2 -1
  116. package/dist/update.js.map +1 -1
  117. package/dist/updateGlobal.d.ts +1 -1
  118. package/dist/updateGlobal.d.ts.map +1 -1
  119. package/dist/updateGlobal.js +2 -1
  120. package/dist/updateGlobal.js.map +1 -1
  121. package/dist/updateGlobalVersion.d.ts +1 -1
  122. package/dist/updateGlobalVersion.d.ts.map +1 -1
  123. package/dist/updateGlobalVersion.js +2 -1
  124. package/dist/updateGlobalVersion.js.map +1 -1
  125. package/dist/updateVersion.d.ts +1 -1
  126. package/dist/updateVersion.d.ts.map +1 -1
  127. package/dist/updateVersion.js +2 -1
  128. package/dist/updateVersion.js.map +1 -1
  129. package/dist/upsertRow/index.d.ts +1 -1
  130. package/dist/upsertRow/index.d.ts.map +1 -1
  131. package/dist/upsertRow/index.js +2 -1
  132. package/dist/upsertRow/index.js.map +1 -1
  133. package/dist/upsertRow/types.d.ts +3 -1
  134. package/dist/upsertRow/types.d.ts.map +1 -1
  135. package/dist/upsertRow/types.js.map +1 -1
  136. package/dist/utilities/buildIndexName.d.ts +7 -0
  137. package/dist/utilities/buildIndexName.d.ts.map +1 -0
  138. package/dist/utilities/buildIndexName.js +14 -0
  139. package/dist/utilities/buildIndexName.js.map +1 -0
  140. package/dist/utilities/executeSchemaHooks.d.ts +24 -0
  141. package/dist/utilities/executeSchemaHooks.d.ts.map +1 -0
  142. package/dist/utilities/executeSchemaHooks.js +21 -0
  143. package/dist/utilities/executeSchemaHooks.js.map +1 -0
  144. package/dist/utilities/extendDrizzleTable.d.ts +19 -0
  145. package/dist/utilities/extendDrizzleTable.d.ts.map +1 -0
  146. package/dist/utilities/extendDrizzleTable.js +38 -0
  147. package/dist/utilities/extendDrizzleTable.js.map +1 -0
  148. package/dist/utilities/getNameFromDrizzleTable.d.ts +3 -0
  149. package/dist/utilities/getNameFromDrizzleTable.d.ts.map +1 -0
  150. package/dist/utilities/getNameFromDrizzleTable.js +6 -0
  151. package/dist/utilities/getNameFromDrizzleTable.js.map +1 -0
  152. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAQrC,eAAO,MAAM,MAAM,EAAE,MAoBpB,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAQrC,eAAO,MAAM,MAAM,EAAE,MAqBpB,CAAA"}
package/dist/create.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import toSnakeCase from 'to-snake-case';
2
2
  import { upsertRow } from './upsertRow/index.js';
3
- export const create = async function create({ collection: collectionSlug, data, req }) {
3
+ export const create = async function create({ collection: collectionSlug, data, req, select }) {
4
4
  const db = this.sessions[await req?.transactionID]?.db || this.drizzle;
5
5
  const collection = this.payload.collections[collectionSlug].config;
6
6
  const tableName = this.tableNameMap.get(toSnakeCase(collection.slug));
@@ -11,6 +11,7 @@ export const create = async function create({ collection: collectionSlug, data,
11
11
  fields: collection.fields,
12
12
  operation: 'create',
13
13
  req,
14
+ select,
14
15
  tableName
15
16
  });
16
17
  return result;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/create.ts"],"sourcesContent":["import type { Create } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { upsertRow } from './upsertRow/index.js'\n\nexport const create: Create = async function create(\n this: DrizzleAdapter,\n { collection: collectionSlug, data, req },\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 const result = await upsertRow({\n adapter: this,\n data,\n db,\n fields: collection.fields,\n operation: 'create',\n req,\n tableName,\n })\n\n return result\n}\n"],"names":["toSnakeCase","upsertRow","create","collection","collectionSlug","data","req","db","sessions","transactionID","drizzle","payload","collections","config","tableName","tableNameMap","get","slug","result","adapter","fields","operation"],"mappings":"AAEA,OAAOA,iBAAiB,gBAAe;AAIvC,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,OAAO,MAAMC,SAAiB,eAAeA,OAE3C,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,GAAG,EAAE;IAEzC,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMF,KAAKG,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMP,aAAa,IAAI,CAACQ,OAAO,CAACC,WAAW,CAACR,eAAe,CAACS,MAAM;IAElE,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAAChB,YAAYG,WAAWc,IAAI;IAEnE,MAAMC,SAAS,MAAMjB,UAAU;QAC7BkB,SAAS,IAAI;QACbd;QACAE;QACAa,QAAQjB,WAAWiB,MAAM;QACzBC,WAAW;QACXf;QACAQ;IACF;IAEA,OAAOI;AACT,EAAC"}
1
+ {"version":3,"sources":["../src/create.ts"],"sourcesContent":["import type { Create } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { upsertRow } from './upsertRow/index.js'\n\nexport const create: Create = async function create(\n this: DrizzleAdapter,\n { collection: collectionSlug, data, req, select },\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 const result = await upsertRow({\n adapter: this,\n data,\n db,\n fields: collection.fields,\n operation: 'create',\n req,\n select,\n tableName,\n })\n\n return result\n}\n"],"names":["toSnakeCase","upsertRow","create","collection","collectionSlug","data","req","select","db","sessions","transactionID","drizzle","payload","collections","config","tableName","tableNameMap","get","slug","result","adapter","fields","operation"],"mappings":"AAEA,OAAOA,iBAAiB,gBAAe;AAIvC,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,OAAO,MAAMC,SAAiB,eAAeA,OAE3C,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAE;IAEjD,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMH,KAAKI,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,CAACjB,YAAYG,WAAWe,IAAI;IAEnE,MAAMC,SAAS,MAAMlB,UAAU;QAC7BmB,SAAS,IAAI;QACbf;QACAG;QACAa,QAAQlB,WAAWkB,MAAM;QACzBC,WAAW;QACXhB;QACAC;QACAQ;IACF;IAEA,OAAOI;AACT,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, publishedLocale, req, snapshot, versionData, }: CreateGlobalVersionArgs): Promise<TypeWithVersion<T>>;
3
+ export declare function createGlobalVersion<T extends TypeWithID>(this: DrizzleAdapter, { autosave, createdAt, globalSlug, publishedLocale, req, select, snapshot, updatedAt, 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,EACE,QAAQ,EACR,UAAU,EACV,eAAe,EACf,GAA0B,EAC1B,QAAQ,EACR,WAAW,GACZ,EAAE,uBAAuB,+BAoC3B"}
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,SAAS,EACT,UAAU,EACV,eAAe,EACf,GAA0B,EAC1B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,WAAW,GACZ,EAAE,uBAAuB,+BAuC3B"}
@@ -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, publishedLocale, req = {}, snapshot, versionData }) {
5
+ export async function createGlobalVersion({ autosave, createdAt, globalSlug, publishedLocale, req = {}, select, snapshot, updatedAt, 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}`);
@@ -10,15 +10,18 @@ export async function createGlobalVersion({ autosave, globalSlug, publishedLocal
10
10
  adapter: this,
11
11
  data: {
12
12
  autosave,
13
+ createdAt,
13
14
  latest: true,
14
15
  publishedLocale,
15
16
  snapshot,
17
+ updatedAt,
16
18
  version: versionData
17
19
  },
18
20
  db,
19
21
  fields: buildVersionGlobalFields(this.payload.config, global),
20
22
  operation: 'create',
21
23
  req,
24
+ select,
22
25
  tableName
23
26
  });
24
27
  const table = this.tables[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 {\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
+ {"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 createdAt,\n globalSlug,\n publishedLocale,\n req = {} as PayloadRequest,\n select,\n snapshot,\n updatedAt,\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 createdAt,\n latest: true,\n publishedLocale,\n snapshot,\n updatedAt,\n version: versionData,\n },\n db,\n fields: buildVersionGlobalFields(this.payload.config, global),\n operation: 'create',\n req,\n select,\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","createdAt","globalSlug","publishedLocale","req","select","snapshot","updatedAt","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,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,MAAM,CAAC,CAAmB,EAC1BC,MAAM,EACNC,QAAQ,EACRC,SAAS,EACTC,WAAW,EACa;IAE1B,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMN,KAAKO,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMC,SAAS,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAAShB;IAEvE,MAAMiB,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAAC,CAAC,CAAC,EAAExB,YAAYgB,OAAOK,IAAI,EAAE,EAAE,IAAI,CAACI,cAAc,CAAC,CAAC;IAE5F,MAAMC,SAAS,MAAMzB,UAA8B;QACjD0B,SAAS,IAAI;QACbC,MAAM;YACJzB;YACAC;YACAyB,QAAQ;YACRvB;YACAG;YACAC;YACAoB,SAASnB;QACX;QACAC;QACAmB,QAAQhC,yBAAyB,IAAI,CAACkB,OAAO,CAACE,MAAM,EAAEH;QACtDgB,WAAW;QACXzB;QACAC;QACAc;IACF;IAEA,MAAMW,QAAQ,IAAI,CAACC,MAAM,CAACZ,UAAU;IACpC,IAAIN,OAAOmB,QAAQ,CAACC,MAAM,EAAE;QAC1B,MAAM,IAAI,CAACC,OAAO,CAAC;YACjBzB;YACAd,KAAKA,GAAG,CAAC;iBACE,EAAEmC,MAAM;;gBAET,EAAEA,MAAMK,EAAE,CAAC,IAAI,EAAEZ,OAAOY,EAAE,CAAC;QACnC,CAAC;QACL;IACF;IAEA,OAAOZ;AACT"}
@@ -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, publishedLocale, req, snapshot, versionData, }: CreateVersionArgs<T>): Promise<TypeWithVersion<T>>;
3
+ export declare function createVersion<T extends TypeWithID>(this: DrizzleAdapter, { autosave, collectionSlug, createdAt, parent, publishedLocale, req, select, snapshot, updatedAt, 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,eAAe,EACf,GAA0B,EAC1B,QAAQ,EACR,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAmDxB"}
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,SAAS,EACT,MAAM,EACN,eAAe,EACf,GAA0B,EAC1B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAkDxB"}
@@ -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, publishedLocale, req = {}, snapshot, versionData }) {
5
+ export async function createVersion({ autosave, collectionSlug, createdAt, parent, publishedLocale, req = {}, select, snapshot, updatedAt, 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);
@@ -15,15 +15,14 @@ export async function createVersion({ autosave, collectionSlug, parent, publishe
15
15
  }
16
16
  const data = {
17
17
  autosave,
18
+ createdAt,
18
19
  latest: true,
19
20
  parent,
20
21
  publishedLocale,
21
22
  snapshot,
23
+ updatedAt,
22
24
  version
23
25
  };
24
- if ('createdAt' in version) {
25
- data.createdAt = version.createdAt;
26
- }
27
26
  const result = await upsertRow({
28
27
  adapter: this,
29
28
  data,
@@ -31,6 +30,7 @@ export async function createVersion({ autosave, collectionSlug, parent, publishe
31
30
  fields: buildVersionCollectionFields(this.payload.config, collection),
32
31
  operation: 'create',
33
32
  req,
33
+ select,
34
34
  tableName
35
35
  });
36
36
  const table = this.tables[tableName];
@@ -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 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
+ {"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 createdAt,\n parent,\n publishedLocale,\n req = {} as PayloadRequest,\n select,\n snapshot,\n updatedAt,\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 createdAt,\n latest: true,\n parent,\n publishedLocale,\n snapshot,\n updatedAt,\n version,\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 select,\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","createdAt","parent","publishedLocale","req","select","snapshot","updatedAt","versionData","db","sessions","transactionID","drizzle","collection","payload","collections","config","defaultTableName","slug","tableName","tableNameMap","get","versionsSuffix","version","id","data","latest","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,SAAS,EACTC,MAAM,EACNC,eAAe,EACfC,MAAM,CAAC,CAAmB,EAC1BC,MAAM,EACNC,QAAQ,EACRC,SAAS,EACTC,WAAW,EACU;IAEvB,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAMN,KAAKO,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMC,aAAa,IAAI,CAACC,OAAO,CAACC,WAAW,CAACf,eAAe,CAACgB,MAAM;IAClE,MAAMC,mBAAmBrB,YAAYiB,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;QACpC1B;QACAE;QACAyB,QAAQ;QACRxB;QACAC;QACAG;QACAC;QACAgB;IACF;IAEA,MAAMI,SAAS,MAAM9B,UAA8B;QACjD+B,SAAS,IAAI;QACbH;QACAhB;QACAoB,QAAQlC,6BAA6B,IAAI,CAACmB,OAAO,CAACE,MAAM,EAAEH;QAC1DiB,WAAW;QACX1B;QACAC;QACAc;IACF;IAEA,MAAMY,QAAQ,IAAI,CAACC,MAAM,CAACb,UAAU;IAEpC,IAAIN,WAAWoB,QAAQ,CAACC,MAAM,EAAE;QAC9B,MAAM,IAAI,CAACC,OAAO,CAAC;YACjB1B;YACAf,KAAKA,GAAG,CAAC;eACA,EAAEqC,MAAM;;cAET,EAAEA,MAAMP,EAAE,CAAC,IAAI,EAAEG,OAAOH,EAAE,CAAC;cAC3B,EAAEO,MAAM7B,MAAM,CAAC,GAAG,EAAEA,OAAO;MACnC,CAAC;QACH;IACF;IAEA,OAAOyB;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,SA8DvB,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,SAqEvB,CAAA"}
package/dist/deleteOne.js CHANGED
@@ -4,7 +4,7 @@ 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, joins: joinQuery, req = {}, where: whereArg }) {
7
+ export const deleteOne = async function deleteOne({ collection: collectionSlug, joins: joinQuery, req = {}, select, 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));
@@ -42,6 +42,7 @@ export const deleteOne = async function deleteOne({ collection: collectionSlug,
42
42
  depth: 0,
43
43
  fields: collection.fields,
44
44
  joinQuery,
45
+ select,
45
46
  tableName
46
47
  });
47
48
  findManyArgs.where = where;
@@ -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, 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"}
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 {\n collection: collectionSlug,\n joins: joinQuery,\n req = {} as PayloadRequest,\n select,\n where: whereArg,\n },\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 select,\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","select","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,EACEC,YAAYC,cAAc,EAC1BC,OAAOC,SAAS,EAChBC,MAAM,CAAC,CAAmB,EAC1BC,MAAM,EACNC,OAAOC,QAAQ,EAChB;IAED,MAAMC,KAAK,IAAI,CAACC,QAAQ,CAAC,MAAML,KAAKM,cAAc,EAAEF,MAAM,IAAI,CAACG,OAAO;IACtE,MAAMX,aAAa,IAAI,CAACY,OAAO,CAACC,WAAW,CAACZ,eAAe,CAACa,MAAM;IAElE,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACvB,YAAYM,WAAWkB,IAAI;IAEnE,IAAIC;IAEJ,MAAM,EAAEjB,KAAK,EAAEkB,YAAY,EAAEd,KAAK,EAAE,GAAGV,WAAW;QAChDyB,SAAS,IAAI;QACbC,QAAQtB,WAAWsB,MAAM;QACzBC,QAAQnB,IAAImB,MAAM;QAClBR;QACAT,OAAOC;IACT;IAEA,MAAMiB,uBAAuB,MAAM3B,eAAe;QAChDwB,SAAS,IAAI;QACbI,gBAAgB;YAAC;gBAAEC,MAAM;oBAAC;iBAAE;gBAAEC,QAAQ;YAAQ;SAAE;QAChDnB;QACAN;QACAkB;QACAL;QACAT;IACF;IAEA,IAAIkB,sBAAsB,CAAC,EAAE,EAAEI,IAAI;QACjCT,cAAc,MAAMX,GAAGqB,KAAK,CAACd,UAAU,CAACe,SAAS,CAAC;YAChDxB,OAAOb,GAAG,IAAI,CAACsC,MAAM,CAAChB,UAAU,CAACa,EAAE,EAAEJ,oBAAoB,CAAC,EAAE,CAACI,EAAE;QACjE;IACF,OAAO;QACL,MAAMI,eAAerC,kBAAkB;YACrC0B,SAAS,IAAI;YACbY,OAAO;YACPX,QAAQtB,WAAWsB,MAAM;YACzBnB;YACAE;YACAU;QACF;QAEAiB,aAAa1B,KAAK,GAAGA;QAErBa,cAAc,MAAMX,GAAGqB,KAAK,CAACd,UAAU,CAACe,SAAS,CAACE;IACpD;IAEA,MAAME,SAASpC,UAAU;QACvBuB,SAAS,IAAI;QACbP,QAAQ,IAAI,CAACF,OAAO,CAACE,MAAM;QAC3BqB,MAAMhB;QACNG,QAAQtB,WAAWsB,MAAM;QACzBnB;IACF;IAEA,MAAM,IAAI,CAACiC,WAAW,CAAC;QACrB5B;QACAO;QACAT,OAAOb,GAAG,IAAI,CAACsC,MAAM,CAAChB,UAAU,CAACa,EAAE,EAAET,YAAYS,EAAE;IACrD;IAEA,OAAOM;AACT,EAAC"}
@@ -1,4 +1,5 @@
1
1
  export { countDistinct } from '../postgres/countDistinct.js';
2
+ export { createDatabase } from '../postgres/createDatabase.js';
2
3
  export { convertPathToJSONTraversal } from '../postgres/createJSONQuery/convertPathToJSONTraversal.js';
3
4
  export { createJSONQuery } from '../postgres/createJSONQuery/index.js';
4
5
  export { createMigration } from '../postgres/createMigration.js';
@@ -1 +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"}
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,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,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"}
@@ -1,4 +1,5 @@
1
1
  export { countDistinct } from '../postgres/countDistinct.js';
2
+ export { createDatabase } from '../postgres/createDatabase.js';
2
3
  export { convertPathToJSONTraversal } from '../postgres/createJSONQuery/convertPathToJSONTraversal.js';
3
4
  export { createJSONQuery } from '../postgres/createJSONQuery/index.js';
4
5
  export { createMigration } from '../postgres/createMigration.js';
@@ -1 +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
+ {"version":3,"sources":["../../src/exports/postgres.ts"],"sourcesContent":["export { countDistinct } from '../postgres/countDistinct.js'\nexport { createDatabase } from '../postgres/createDatabase.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","createDatabase","convertPathToJSONTraversal","createJSONQuery","createMigration","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","getMigrationTemplate","init","insert","requireDrizzleKit"],"mappings":"AAAA,SAASA,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,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,5 +1,5 @@
1
1
  import type { DBQueryConfig } from 'drizzle-orm';
2
- import type { Field, JoinQuery } from 'payload';
2
+ import type { Field, JoinQuery, SelectType } from 'payload';
3
3
  import type { BuildQueryJoinAliases, DrizzleAdapter } from '../types.js';
4
4
  type BuildFindQueryArgs = {
5
5
  adapter: DrizzleAdapter;
@@ -11,13 +11,15 @@ type BuildFindQueryArgs = {
11
11
  */
12
12
  joins?: BuildQueryJoinAliases;
13
13
  locale?: string;
14
+ select?: SelectType;
14
15
  tableName: string;
16
+ versions?: boolean;
15
17
  };
16
18
  export type Result = {
17
19
  with?: {
18
20
  _locales?: DBQueryConfig<'many', true, any, any>;
19
21
  } & DBQueryConfig<'many', true, any, any>;
20
22
  } & DBQueryConfig<'many', true, any, any>;
21
- export declare const buildFindManyArgs: ({ adapter, depth, fields, joinQuery, joins, locale, tableName, }: BuildFindQueryArgs) => Record<string, unknown>;
23
+ export declare const buildFindManyArgs: ({ adapter, depth, fields, joinQuery, joins, locale, select, tableName, versions, }: BuildFindQueryArgs) => Record<string, unknown>;
22
24
  export {};
23
25
  //# 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,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
+ {"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,UAAU,EAAE,MAAM,SAAS,CAAA;AAI3D,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,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;KACjD,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAC1C,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAIzC,eAAO,MAAM,iBAAiB,uFAU3B,kBAAkB,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAyF7C,CAAA"}
@@ -1,18 +1,52 @@
1
+ import { getSelectMode } from 'payload/shared';
1
2
  import { traverseFields } from './traverseFields.js';
2
3
  // Generate the Drizzle query for findMany based on
3
4
  // a collection field structure
4
- export const buildFindManyArgs = ({ adapter, depth, fields, joinQuery, joins = [], locale, tableName })=>{
5
+ export const buildFindManyArgs = ({ adapter, depth, fields, joinQuery, joins = [], locale, select, tableName, versions })=>{
5
6
  const result = {
7
+ extras: {},
6
8
  with: {}
7
9
  };
10
+ if (select) {
11
+ result.columns = {
12
+ id: true
13
+ };
14
+ }
8
15
  const _locales = {
9
- columns: {
16
+ columns: select ? {
17
+ _locale: true
18
+ } : {
10
19
  id: false,
11
20
  _parentID: false
12
21
  },
22
+ extras: {},
13
23
  with: {}
14
24
  };
15
- if (adapter.tables[`${tableName}_texts`]) {
25
+ const withTabledFields = select ? {} : {
26
+ numbers: true,
27
+ rels: true,
28
+ texts: true
29
+ };
30
+ traverseFields({
31
+ _locales,
32
+ adapter,
33
+ currentArgs: result,
34
+ currentTableName: tableName,
35
+ depth,
36
+ fields,
37
+ joinQuery,
38
+ joins,
39
+ locale,
40
+ path: '',
41
+ select,
42
+ selectMode: select ? getSelectMode(select) : undefined,
43
+ tablePath: '',
44
+ topLevelArgs: result,
45
+ topLevelTableName: tableName,
46
+ versions,
47
+ withTabledFields
48
+ });
49
+ if (adapter.tables[`${tableName}_texts`] && withTabledFields.texts) {
16
50
  result.with._texts = {
17
51
  columns: {
18
52
  id: false,
@@ -23,7 +57,7 @@ export const buildFindManyArgs = ({ adapter, depth, fields, joinQuery, joins = [
23
57
  ]
24
58
  };
25
59
  }
26
- if (adapter.tables[`${tableName}_numbers`]) {
60
+ if (adapter.tables[`${tableName}_numbers`] && withTabledFields.numbers) {
27
61
  result.with._numbers = {
28
62
  columns: {
29
63
  id: false,
@@ -34,7 +68,7 @@ export const buildFindManyArgs = ({ adapter, depth, fields, joinQuery, joins = [
34
68
  ]
35
69
  };
36
70
  }
37
- if (adapter.tables[`${tableName}${adapter.relationshipsSuffix}`]) {
71
+ if (adapter.tables[`${tableName}${adapter.relationshipsSuffix}`] && withTabledFields.rels) {
38
72
  result.with._rels = {
39
73
  columns: {
40
74
  id: false,
@@ -45,24 +79,9 @@ export const buildFindManyArgs = ({ adapter, depth, fields, joinQuery, joins = [
45
79
  ]
46
80
  };
47
81
  }
48
- if (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {
82
+ if (adapter.tables[`${tableName}${adapter.localesSuffix}`] && (!select || Object.keys(_locales.columns).length > 1)) {
49
83
  result.with._locales = _locales;
50
84
  }
51
- traverseFields({
52
- _locales,
53
- adapter,
54
- currentArgs: result,
55
- currentTableName: tableName,
56
- depth,
57
- fields,
58
- joinQuery,
59
- joins,
60
- locale,
61
- path: '',
62
- tablePath: '',
63
- topLevelArgs: result,
64
- topLevelTableName: tableName
65
- });
66
85
  return result;
67
86
  };
68
87
 
@@ -1 +1 @@
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"}
1
+ {"version":3,"sources":["../../src/find/buildFindManyArgs.ts"],"sourcesContent":["import type { DBQueryConfig } from 'drizzle-orm'\nimport type { Field, JoinQuery, SelectType } from 'payload'\n\nimport { getSelectMode } from 'payload/shared'\n\nimport type { BuildQueryJoinAliases, DrizzleAdapter } from '../types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype BuildFindQueryArgs = {\n adapter: DrizzleAdapter\n 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 select?: SelectType\n tableName: string\n versions?: boolean\n}\n\nexport type Result = {\n with?: {\n _locales?: DBQueryConfig<'many', true, any, any>\n } & DBQueryConfig<'many', true, any, any>\n} & DBQueryConfig<'many', true, any, any>\n\n// Generate the Drizzle query for findMany based on\n// a collection field structure\nexport const buildFindManyArgs = ({\n adapter,\n depth,\n fields,\n joinQuery,\n joins = [],\n locale,\n select,\n tableName,\n versions,\n}: BuildFindQueryArgs): Record<string, unknown> => {\n const result: Result = {\n extras: {},\n with: {},\n }\n\n if (select) {\n result.columns = {\n id: true,\n }\n }\n\n const _locales: Result = {\n columns: select\n ? { _locale: true }\n : {\n id: false,\n _parentID: false,\n },\n extras: {},\n with: {},\n }\n\n const withTabledFields = select\n ? {}\n : {\n numbers: true,\n rels: true,\n texts: true,\n }\n\n traverseFields({\n _locales,\n adapter,\n currentArgs: result,\n currentTableName: tableName,\n depth,\n fields,\n joinQuery,\n joins,\n locale,\n path: '',\n select,\n selectMode: select ? getSelectMode(select) : undefined,\n tablePath: '',\n topLevelArgs: result,\n topLevelTableName: tableName,\n versions,\n withTabledFields,\n })\n\n if (adapter.tables[`${tableName}_texts`] && withTabledFields.texts) {\n result.with._texts = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (adapter.tables[`${tableName}_numbers`] && withTabledFields.numbers) {\n result.with._numbers = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (adapter.tables[`${tableName}${adapter.relationshipsSuffix}`] && withTabledFields.rels) {\n result.with._rels = {\n columns: {\n id: false,\n parent: false,\n },\n orderBy: ({ order }, { asc: ASC }) => [ASC(order)],\n }\n }\n\n if (\n adapter.tables[`${tableName}${adapter.localesSuffix}`] &&\n (!select || Object.keys(_locales.columns).length > 1)\n ) {\n result.with._locales = _locales\n }\n\n return result\n}\n"],"names":["getSelectMode","traverseFields","buildFindManyArgs","adapter","depth","fields","joinQuery","joins","locale","select","tableName","versions","result","extras","with","columns","id","_locales","_locale","_parentID","withTabledFields","numbers","rels","texts","currentArgs","currentTableName","path","selectMode","undefined","tablePath","topLevelArgs","topLevelTableName","tables","_texts","parent","orderBy","order","asc","ASC","_numbers","relationshipsSuffix","_rels","localesSuffix","Object","keys","length"],"mappings":"AAGA,SAASA,aAAa,QAAQ,iBAAgB;AAI9C,SAASC,cAAc,QAAQ,sBAAqB;AAuBpD,mDAAmD;AACnD,+BAA+B;AAC/B,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,OAAO,EACPC,KAAK,EACLC,MAAM,EACNC,SAAS,EACTC,QAAQ,EAAE,EACVC,MAAM,EACNC,MAAM,EACNC,SAAS,EACTC,QAAQ,EACW;IACnB,MAAMC,SAAiB;QACrBC,QAAQ,CAAC;QACTC,MAAM,CAAC;IACT;IAEA,IAAIL,QAAQ;QACVG,OAAOG,OAAO,GAAG;YACfC,IAAI;QACN;IACF;IAEA,MAAMC,WAAmB;QACvBF,SAASN,SACL;YAAES,SAAS;QAAK,IAChB;YACEF,IAAI;YACJG,WAAW;QACb;QACJN,QAAQ,CAAC;QACTC,MAAM,CAAC;IACT;IAEA,MAAMM,mBAAmBX,SACrB,CAAC,IACD;QACEY,SAAS;QACTC,MAAM;QACNC,OAAO;IACT;IAEJtB,eAAe;QACbgB;QACAd;QACAqB,aAAaZ;QACba,kBAAkBf;QAClBN;QACAC;QACAC;QACAC;QACAC;QACAkB,MAAM;QACNjB;QACAkB,YAAYlB,SAAST,cAAcS,UAAUmB;QAC7CC,WAAW;QACXC,cAAclB;QACdmB,mBAAmBrB;QACnBC;QACAS;IACF;IAEA,IAAIjB,QAAQ6B,MAAM,CAAC,CAAC,EAAEtB,UAAU,MAAM,CAAC,CAAC,IAAIU,iBAAiBG,KAAK,EAAE;QAClEX,OAAOE,IAAI,CAACmB,MAAM,GAAG;YACnBlB,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAIjC,QAAQ6B,MAAM,CAAC,CAAC,EAAEtB,UAAU,QAAQ,CAAC,CAAC,IAAIU,iBAAiBC,OAAO,EAAE;QACtET,OAAOE,IAAI,CAACyB,QAAQ,GAAG;YACrBxB,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IAAIjC,QAAQ6B,MAAM,CAAC,CAAC,EAAEtB,UAAU,EAAEP,QAAQqC,mBAAmB,CAAC,CAAC,CAAC,IAAIpB,iBAAiBE,IAAI,EAAE;QACzFV,OAAOE,IAAI,CAAC2B,KAAK,GAAG;YAClB1B,SAAS;gBACPC,IAAI;gBACJkB,QAAQ;YACV;YACAC,SAAS,CAAC,EAAEC,KAAK,EAAE,EAAE,EAAEC,KAAKC,GAAG,EAAE,GAAK;oBAACA,IAAIF;iBAAO;QACpD;IACF;IAEA,IACEjC,QAAQ6B,MAAM,CAAC,CAAC,EAAEtB,UAAU,EAAEP,QAAQuC,aAAa,CAAC,CAAC,CAAC,IACrD,CAAA,CAACjC,UAAUkC,OAAOC,IAAI,CAAC3B,SAASF,OAAO,EAAE8B,MAAM,GAAG,CAAA,GACnD;QACAjC,OAAOE,IAAI,CAACG,QAAQ,GAAGA;IACzB;IAEA,OAAOL;AACT,EAAC"}
@@ -4,8 +4,9 @@ type Args = {
4
4
  adapter: DrizzleAdapter;
5
5
  fields: Field[];
6
6
  tableName: string;
7
+ versions?: boolean;
7
8
  } & Omit<FindArgs, 'collection'>;
8
- export declare const findMany: ({ adapter, fields, joins: joinQuery, limit: limitArg, locale, page, pagination, req, skip, sort, tableName, where: whereArg, }: Args) => Promise<{
9
+ export declare const findMany: ({ adapter, fields, joins: joinQuery, limit: limitArg, locale, page, pagination, req, select, skip, sort, tableName, versions, where: whereArg, }: Args) => Promise<{
9
10
  docs: any;
10
11
  hasNextPage: boolean;
11
12
  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,mIAalB,IAAI;;;;;;;;;;;EA6IN,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;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAEhC,eAAO,MAAM,QAAQ,qJAelB,IAAI;;;;;;;;;;;EA+IN,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, joins: joinQuery, 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 = {}, select, skip, sort, tableName, versions, where: whereArg }) {
7
7
  const db = adapter.sessions[await req.transactionID]?.db || adapter.drizzle;
8
8
  let limit = limitArg;
9
9
  let totalDocs;
@@ -26,10 +26,10 @@ export const findMany = async function find({ adapter, fields, joins: joinQuery,
26
26
  const orderedIDMap = {};
27
27
  let orderedIDs;
28
28
  const selectDistinctMethods = [];
29
- if (orderBy?.order && orderBy?.column) {
29
+ if (orderBy) {
30
30
  selectDistinctMethods.push({
31
31
  args: [
32
- orderBy.order(orderBy.column)
32
+ ()=>orderBy.map(({ column, order })=>order(column))
33
33
  ],
34
34
  method: 'orderBy'
35
35
  });
@@ -40,7 +40,9 @@ export const findMany = async function find({ adapter, fields, joins: joinQuery,
40
40
  fields,
41
41
  joinQuery,
42
42
  joins,
43
- tableName
43
+ select,
44
+ tableName,
45
+ versions
44
46
  });
45
47
  selectDistinctMethods.push({
46
48
  args: [
@@ -88,7 +90,7 @@ export const findMany = async function find({ adapter, fields, joins: joinQuery,
88
90
  } else {
89
91
  findManyArgs.limit = limit;
90
92
  findManyArgs.offset = offset;
91
- findManyArgs.orderBy = orderBy.order(orderBy.column);
93
+ findManyArgs.orderBy = ()=>orderBy.map(({ column, order })=>order(column));
92
94
  if (where) {
93
95
  findManyArgs.where = where;
94
96
  }
@@ -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 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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"}
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 versions?: boolean\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 select,\n skip,\n sort,\n tableName,\n versions,\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) {\n selectDistinctMethods.push({\n args: [() => orderBy.map(({ column, order }) => order(column))],\n method: 'orderBy',\n })\n }\n\n const findManyArgs = buildFindManyArgs({\n adapter,\n depth: 0,\n fields,\n joinQuery,\n joins,\n select,\n tableName,\n versions,\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.map(({ column, order }) => order(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","select","skip","sort","tableName","versions","where","whereArg","db","sessions","transactionID","drizzle","totalDocs","totalPages","hasPrevPage","hasNextPage","pagingCounter","offset","undefined","orderBy","selectFields","orderedIDMap","orderedIDs","selectDistinctMethods","push","args","map","column","order","method","findManyArgs","depth","selectDistinctResult","chainedMethods","length","docs","nextPage","prevPage","forEach","id","i","Object","keys","tables","findPromise","query","countDistinct","Math","ceil","rawDocs","a","b","data","config","payload"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Field, JoinQuery } from 'payload';
1
+ import type { Field, JoinQuery, SelectMode, SelectType, TabAsField } from 'payload';
2
2
  import type { BuildQueryJoinAliases, DrizzleAdapter } from '../types.js';
3
3
  import type { Result } from './buildFindManyArgs.js';
4
4
  type TraverseFieldArgs = {
@@ -7,15 +7,25 @@ type TraverseFieldArgs = {
7
7
  currentArgs: Result;
8
8
  currentTableName: string;
9
9
  depth?: number;
10
- fields: Field[];
10
+ fields: (Field | TabAsField)[];
11
11
  joinQuery: JoinQuery;
12
12
  joins?: BuildQueryJoinAliases;
13
13
  locale?: string;
14
14
  path: string;
15
+ select?: SelectType;
16
+ selectAllOnCurrentLevel?: boolean;
17
+ selectMode?: SelectMode;
15
18
  tablePath: string;
16
19
  topLevelArgs: Record<string, unknown>;
17
20
  topLevelTableName: string;
21
+ versions?: boolean;
22
+ withinLocalizedField?: boolean;
23
+ withTabledFields: {
24
+ numbers?: boolean;
25
+ rels?: boolean;
26
+ texts?: boolean;
27
+ };
18
28
  };
19
- export declare const traverseFields: ({ _locales, adapter, currentArgs, currentTableName, depth, fields, joinQuery, joins, locale, path, tablePath, topLevelArgs, topLevelTableName, }: TraverseFieldArgs) => Record<string, unknown>;
29
+ export declare const traverseFields: ({ _locales, adapter, currentArgs, currentTableName, depth, fields, joinQuery, joins, locale, path, select, selectAllOnCurrentLevel, selectMode, tablePath, topLevelArgs, topLevelTableName, versions, withinLocalizedField, withTabledFields, }: TraverseFieldArgs) => Record<string, unknown>;
20
30
  export {};
21
31
  //# sourceMappingURL=traverseFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/find/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAK/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAKpD,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,cAAc,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,qJAcxB,iBAAiB,4BA+PnB,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/find/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAOnF,OAAO,KAAK,EAAE,qBAAqB,EAAkB,cAAc,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAKpD,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,cAAc,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gBAAgB,EAAE;QAChB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc,oPAoBxB,iBAAiB,4BAqjBnB,CAAA"}