@payloadcms/drizzle 3.0.0-canary.5a7fb7d → 3.0.0-canary.67aae47

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 (183) hide show
  1. package/dist/countGlobalVersions.d.ts +3 -0
  2. package/dist/countGlobalVersions.d.ts.map +1 -0
  3. package/dist/countGlobalVersions.js +27 -0
  4. package/dist/countGlobalVersions.js.map +1 -0
  5. package/dist/countVersions.d.ts +3 -0
  6. package/dist/countVersions.d.ts.map +1 -0
  7. package/dist/countVersions.js +27 -0
  8. package/dist/countVersions.js.map +1 -0
  9. package/dist/create.d.ts.map +1 -1
  10. package/dist/create.js +2 -1
  11. package/dist/create.js.map +1 -1
  12. package/dist/createGlobalVersion.d.ts +1 -1
  13. package/dist/createGlobalVersion.d.ts.map +1 -1
  14. package/dist/createGlobalVersion.js +2 -1
  15. package/dist/createGlobalVersion.js.map +1 -1
  16. package/dist/createVersion.d.ts +1 -1
  17. package/dist/createVersion.d.ts.map +1 -1
  18. package/dist/createVersion.js +2 -1
  19. package/dist/createVersion.js.map +1 -1
  20. package/dist/deleteOne.d.ts.map +1 -1
  21. package/dist/deleteOne.js +2 -1
  22. package/dist/deleteOne.js.map +1 -1
  23. package/dist/exports/postgres.d.ts +1 -1
  24. package/dist/exports/postgres.d.ts.map +1 -1
  25. package/dist/exports/postgres.js +1 -1
  26. package/dist/exports/postgres.js.map +1 -1
  27. package/dist/find/buildFindManyArgs.d.ts +4 -2
  28. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  29. package/dist/find/buildFindManyArgs.js +38 -21
  30. package/dist/find/buildFindManyArgs.js.map +1 -1
  31. package/dist/find/findMany.d.ts +2 -1
  32. package/dist/find/findMany.d.ts.map +1 -1
  33. package/dist/find/findMany.js +7 -5
  34. package/dist/find/findMany.js.map +1 -1
  35. package/dist/find/traverseFields.d.ts +13 -3
  36. package/dist/find/traverseFields.d.ts.map +1 -1
  37. package/dist/find/traverseFields.js +287 -128
  38. package/dist/find/traverseFields.js.map +1 -1
  39. package/dist/find.d.ts.map +1 -1
  40. package/dist/find.js +3 -2
  41. package/dist/find.js.map +1 -1
  42. package/dist/findGlobal.d.ts.map +1 -1
  43. package/dist/findGlobal.js +2 -1
  44. package/dist/findGlobal.js.map +1 -1
  45. package/dist/findGlobalVersions.d.ts.map +1 -1
  46. package/dist/findGlobalVersions.js +3 -2
  47. package/dist/findGlobalVersions.js.map +1 -1
  48. package/dist/findOne.d.ts +1 -1
  49. package/dist/findOne.d.ts.map +1 -1
  50. package/dist/findOne.js +2 -1
  51. package/dist/findOne.js.map +1 -1
  52. package/dist/findVersions.d.ts.map +1 -1
  53. package/dist/findVersions.js +3 -2
  54. package/dist/findVersions.js.map +1 -1
  55. package/dist/index.d.ts +3 -0
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +3 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/migrate.d.ts.map +1 -1
  60. package/dist/migrate.js +3 -0
  61. package/dist/migrate.js.map +1 -1
  62. package/dist/migrateFresh.d.ts.map +1 -1
  63. package/dist/migrateFresh.js +3 -0
  64. package/dist/migrateFresh.js.map +1 -1
  65. package/dist/postgres/countDistinct.d.ts.map +1 -1
  66. package/dist/postgres/countDistinct.js +2 -3
  67. package/dist/postgres/countDistinct.js.map +1 -1
  68. package/dist/postgres/createDatabase.d.ts.map +1 -1
  69. package/dist/postgres/createDatabase.js +4 -4
  70. package/dist/postgres/createDatabase.js.map +1 -1
  71. package/dist/postgres/createExtensions.d.ts +3 -0
  72. package/dist/postgres/createExtensions.d.ts.map +1 -0
  73. package/dist/postgres/createExtensions.js +16 -0
  74. package/dist/postgres/createExtensions.js.map +1 -0
  75. package/dist/postgres/createJSONQuery/index.d.ts +2 -9
  76. package/dist/postgres/createJSONQuery/index.d.ts.map +1 -1
  77. package/dist/postgres/createJSONQuery/index.js +34 -46
  78. package/dist/postgres/createJSONQuery/index.js.map +1 -1
  79. package/dist/postgres/defaultSnapshot.d.ts.map +1 -1
  80. package/dist/postgres/defaultSnapshot.js +2 -0
  81. package/dist/postgres/defaultSnapshot.js.map +1 -1
  82. package/dist/postgres/init.d.ts.map +1 -1
  83. package/dist/postgres/init.js +0 -1
  84. package/dist/postgres/init.js.map +1 -1
  85. package/dist/postgres/schema/build.d.ts +2 -3
  86. package/dist/postgres/schema/build.d.ts.map +1 -1
  87. package/dist/postgres/schema/build.js +12 -9
  88. package/dist/postgres/schema/build.js.map +1 -1
  89. package/dist/postgres/schema/createIndex.d.ts +2 -3
  90. package/dist/postgres/schema/createIndex.d.ts.map +1 -1
  91. package/dist/postgres/schema/createIndex.js +3 -3
  92. package/dist/postgres/schema/createIndex.js.map +1 -1
  93. package/dist/postgres/schema/geometryColumn.d.ts +12 -0
  94. package/dist/postgres/schema/geometryColumn.d.ts.map +1 -0
  95. package/dist/postgres/schema/geometryColumn.js +18 -0
  96. package/dist/postgres/schema/geometryColumn.js.map +1 -0
  97. package/dist/postgres/schema/traverseFields.d.ts +2 -3
  98. package/dist/postgres/schema/traverseFields.d.ts.map +1 -1
  99. package/dist/postgres/schema/traverseFields.js +14 -32
  100. package/dist/postgres/schema/traverseFields.js.map +1 -1
  101. package/dist/postgres/schema/withDefault.d.ts.map +1 -1
  102. package/dist/postgres/schema/withDefault.js +3 -0
  103. package/dist/postgres/schema/withDefault.js.map +1 -1
  104. package/dist/postgres/types.d.ts +3 -0
  105. package/dist/postgres/types.d.ts.map +1 -1
  106. package/dist/postgres/types.js.map +1 -1
  107. package/dist/queries/addJoinTable.d.ts +11 -0
  108. package/dist/queries/addJoinTable.d.ts.map +1 -0
  109. package/dist/queries/addJoinTable.js +13 -0
  110. package/dist/queries/addJoinTable.js.map +1 -0
  111. package/dist/queries/buildOrderBy.d.ts +2 -2
  112. package/dist/queries/buildOrderBy.d.ts.map +1 -1
  113. package/dist/queries/buildOrderBy.js +32 -28
  114. package/dist/queries/buildOrderBy.js.map +1 -1
  115. package/dist/queries/buildQuery.d.ts +3 -3
  116. package/dist/queries/buildQuery.d.ts.map +1 -1
  117. package/dist/queries/buildQuery.js.map +1 -1
  118. package/dist/queries/getTableColumnFromPath.d.ts +1 -2
  119. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  120. package/dist/queries/getTableColumnFromPath.js +78 -81
  121. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  122. package/dist/queries/operatorMap.d.ts.map +1 -1
  123. package/dist/queries/operatorMap.js +0 -4
  124. package/dist/queries/operatorMap.js.map +1 -1
  125. package/dist/queries/parseParams.d.ts.map +1 -1
  126. package/dist/queries/parseParams.js +38 -5
  127. package/dist/queries/parseParams.js.map +1 -1
  128. package/dist/queries/sanitizeQueryValue.js +8 -2
  129. package/dist/queries/sanitizeQueryValue.js.map +1 -1
  130. package/dist/queryDrafts.d.ts.map +1 -1
  131. package/dist/queryDrafts.js +4 -1
  132. package/dist/queryDrafts.js.map +1 -1
  133. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  134. package/dist/transform/read/traverseFields.js +1 -1
  135. package/dist/transform/read/traverseFields.js.map +1 -1
  136. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  137. package/dist/transform/write/traverseFields.js +16 -2
  138. package/dist/transform/write/traverseFields.js.map +1 -1
  139. package/dist/types.d.ts +5 -3
  140. package/dist/types.d.ts.map +1 -1
  141. package/dist/types.js.map +1 -1
  142. package/dist/update.d.ts.map +1 -1
  143. package/dist/update.js +2 -1
  144. package/dist/update.js.map +1 -1
  145. package/dist/updateGlobal.d.ts +1 -1
  146. package/dist/updateGlobal.d.ts.map +1 -1
  147. package/dist/updateGlobal.js +2 -1
  148. package/dist/updateGlobal.js.map +1 -1
  149. package/dist/updateGlobalVersion.d.ts +1 -1
  150. package/dist/updateGlobalVersion.d.ts.map +1 -1
  151. package/dist/updateGlobalVersion.js +2 -1
  152. package/dist/updateGlobalVersion.js.map +1 -1
  153. package/dist/updateVersion.d.ts +1 -1
  154. package/dist/updateVersion.d.ts.map +1 -1
  155. package/dist/updateVersion.js +2 -1
  156. package/dist/updateVersion.js.map +1 -1
  157. package/dist/upsertRow/index.d.ts +1 -1
  158. package/dist/upsertRow/index.d.ts.map +1 -1
  159. package/dist/upsertRow/index.js +4 -3
  160. package/dist/upsertRow/index.js.map +1 -1
  161. package/dist/upsertRow/types.d.ts +3 -1
  162. package/dist/upsertRow/types.d.ts.map +1 -1
  163. package/dist/upsertRow/types.js.map +1 -1
  164. package/dist/utilities/buildIndexName.d.ts +7 -0
  165. package/dist/utilities/buildIndexName.d.ts.map +1 -0
  166. package/dist/utilities/buildIndexName.js +14 -0
  167. package/dist/utilities/buildIndexName.js.map +1 -0
  168. package/dist/utilities/getNameFromDrizzleTable.d.ts +3 -0
  169. package/dist/utilities/getNameFromDrizzleTable.d.ts.map +1 -0
  170. package/dist/utilities/getNameFromDrizzleTable.js +6 -0
  171. package/dist/utilities/getNameFromDrizzleTable.js.map +1 -0
  172. package/dist/utilities/pushDevSchema.d.ts.map +1 -1
  173. package/dist/utilities/pushDevSchema.js +5 -0
  174. package/dist/utilities/pushDevSchema.js.map +1 -1
  175. package/package.json +6 -6
  176. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.d.ts +0 -2
  177. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.d.ts.map +0 -1
  178. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.js +0 -16
  179. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.js.map +0 -1
  180. package/dist/postgres/createJSONQuery/formatJSONPathSegment.d.ts +0 -2
  181. package/dist/postgres/createJSONQuery/formatJSONPathSegment.d.ts.map +0 -1
  182. package/dist/postgres/createJSONQuery/formatJSONPathSegment.js +0 -5
  183. package/dist/postgres/createJSONQuery/formatJSONPathSegment.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { Field } from 'payload';
1
+ import type { Field, Sort } from 'payload';
2
2
  import type { DrizzleAdapter, GenericColumn } from '../types.js';
3
3
  import type { BuildQueryJoinAliases, BuildQueryResult } from './buildQuery.js';
4
4
  type Args = {
@@ -7,7 +7,7 @@ type Args = {
7
7
  joins: BuildQueryJoinAliases;
8
8
  locale?: string;
9
9
  selectFields: Record<string, GenericColumn>;
10
- sort?: string;
10
+ sort?: Sort;
11
11
  tableName: string;
12
12
  };
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"buildOrderBy.d.ts","sourceRoot":"","sources":["../../src/queries/buildOrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAI9E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,uEAQtB,IAAI,KAAG,gBAAgB,CAAC,SAAS,CAoDnC,CAAA"}
1
+ {"version":3,"file":"buildOrderBy.d.ts","sourceRoot":"","sources":["../../src/queries/buildOrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAI9E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,uEAQtB,IAAI,KAAG,gBAAgB,CAAC,SAAS,CAoDnC,CAAA"}
@@ -3,49 +3,53 @@ import { getTableColumnFromPath } from './getTableColumnFromPath.js';
3
3
  /**
4
4
  * Gets the order by column and direction constructed from the sort argument adds the column to the select fields and joins if necessary
5
5
  */ export const buildOrderBy = ({ adapter, fields, joins, locale, selectFields, sort, tableName })=>{
6
- const orderBy = {
7
- column: null,
8
- order: null
9
- };
10
- if (sort) {
11
- let sortPath;
12
- if (sort[0] === '-') {
13
- sortPath = sort.substring(1);
14
- orderBy.order = desc;
6
+ const orderBy = [];
7
+ if (!sort) {
8
+ const createdAt = adapter.tables[tableName]?.createdAt;
9
+ if (createdAt) {
10
+ sort = '-createdAt';
11
+ } else {
12
+ sort = '-id';
13
+ }
14
+ }
15
+ if (typeof sort === 'string') {
16
+ sort = [
17
+ sort
18
+ ];
19
+ }
20
+ for (const sortItem of sort){
21
+ let sortProperty;
22
+ let sortDirection;
23
+ if (sortItem[0] === '-') {
24
+ sortProperty = sortItem.substring(1);
25
+ sortDirection = 'desc';
15
26
  } else {
16
- sortPath = sort;
17
- orderBy.order = asc;
27
+ sortProperty = sortItem;
28
+ sortDirection = 'asc';
18
29
  }
19
30
  try {
20
31
  const { columnName: sortTableColumnName, table: sortTable } = getTableColumnFromPath({
21
32
  adapter,
22
- collectionPath: sortPath,
33
+ collectionPath: sortProperty,
23
34
  fields,
24
35
  joins,
25
36
  locale,
26
- pathSegments: sortPath.replace(/__/g, '.').split('.'),
37
+ pathSegments: sortProperty.replace(/__/g, '.').split('.'),
27
38
  selectFields,
28
39
  tableName,
29
- useAlias: true,
30
- value: sortPath
40
+ value: sortProperty
31
41
  });
32
- orderBy.column = sortTable?.[sortTableColumnName];
42
+ if (sortTable?.[sortTableColumnName]) {
43
+ orderBy.push({
44
+ column: sortTable[sortTableColumnName],
45
+ order: sortDirection === 'asc' ? asc : desc
46
+ });
47
+ selectFields[sortTableColumnName] = sortTable[sortTableColumnName];
48
+ }
33
49
  } catch (err) {
34
50
  // continue
35
51
  }
36
52
  }
37
- if (!orderBy?.column) {
38
- orderBy.order = desc;
39
- const createdAt = adapter.tables[tableName]?.createdAt;
40
- if (createdAt) {
41
- orderBy.column = createdAt;
42
- } else {
43
- orderBy.column = adapter.tables[tableName].id;
44
- }
45
- }
46
- if (orderBy.column) {
47
- selectFields.sort = orderBy.column;
48
- }
49
53
  return orderBy;
50
54
  };
51
55
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/queries/buildOrderBy.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nimport { asc, desc } from 'drizzle-orm'\n\nimport type { DrizzleAdapter, GenericColumn } from '../types.js'\nimport type { BuildQueryJoinAliases, BuildQueryResult } from './buildQuery.js'\n\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n fields: Field[]\n joins: BuildQueryJoinAliases\n locale?: string\n selectFields: Record<string, GenericColumn>\n sort?: string\n tableName: string\n}\n\n/**\n * Gets the order by column and direction constructed from the sort argument adds the column to the select fields and joins if necessary\n */\nexport const buildOrderBy = ({\n adapter,\n fields,\n joins,\n locale,\n selectFields,\n sort,\n tableName,\n}: Args): BuildQueryResult['orderBy'] => {\n const orderBy: BuildQueryResult['orderBy'] = {\n column: null,\n order: null,\n }\n\n if (sort) {\n let sortPath\n\n if (sort[0] === '-') {\n sortPath = sort.substring(1)\n orderBy.order = desc\n } else {\n sortPath = sort\n orderBy.order = asc\n }\n\n try {\n const { columnName: sortTableColumnName, table: sortTable } = getTableColumnFromPath({\n adapter,\n collectionPath: sortPath,\n fields,\n joins,\n locale,\n pathSegments: sortPath.replace(/__/g, '.').split('.'),\n selectFields,\n tableName,\n useAlias: true,\n value: sortPath,\n })\n orderBy.column = sortTable?.[sortTableColumnName]\n } catch (err) {\n // continue\n }\n }\n\n if (!orderBy?.column) {\n orderBy.order = desc\n const createdAt = adapter.tables[tableName]?.createdAt\n\n if (createdAt) {\n orderBy.column = createdAt\n } else {\n orderBy.column = adapter.tables[tableName].id\n }\n }\n\n if (orderBy.column) {\n selectFields.sort = orderBy.column\n }\n\n return orderBy\n}\n"],"names":["asc","desc","getTableColumnFromPath","buildOrderBy","adapter","fields","joins","locale","selectFields","sort","tableName","orderBy","column","order","sortPath","substring","columnName","sortTableColumnName","table","sortTable","collectionPath","pathSegments","replace","split","useAlias","value","err","createdAt","tables","id"],"mappings":"AAEA,SAASA,GAAG,EAAEC,IAAI,QAAQ,cAAa;AAKvC,SAASC,sBAAsB,QAAQ,8BAA6B;AAYpE;;CAEC,GACD,OAAO,MAAMC,eAAe,CAAC,EAC3BC,OAAO,EACPC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,YAAY,EACZC,IAAI,EACJC,SAAS,EACJ;IACL,MAAMC,UAAuC;QAC3CC,QAAQ;QACRC,OAAO;IACT;IAEA,IAAIJ,MAAM;QACR,IAAIK;QAEJ,IAAIL,IAAI,CAAC,EAAE,KAAK,KAAK;YACnBK,WAAWL,KAAKM,SAAS,CAAC;YAC1BJ,QAAQE,KAAK,GAAGZ;QAClB,OAAO;YACLa,WAAWL;YACXE,QAAQE,KAAK,GAAGb;QAClB;QAEA,IAAI;YACF,MAAM,EAAEgB,YAAYC,mBAAmB,EAAEC,OAAOC,SAAS,EAAE,GAAGjB,uBAAuB;gBACnFE;gBACAgB,gBAAgBN;gBAChBT;gBACAC;gBACAC;gBACAc,cAAcP,SAASQ,OAAO,CAAC,OAAO,KAAKC,KAAK,CAAC;gBACjDf;gBACAE;gBACAc,UAAU;gBACVC,OAAOX;YACT;YACAH,QAAQC,MAAM,GAAGO,WAAW,CAACF,oBAAoB;QACnD,EAAE,OAAOS,KAAK;QACZ,WAAW;QACb;IACF;IAEA,IAAI,CAACf,SAASC,QAAQ;QACpBD,QAAQE,KAAK,GAAGZ;QAChB,MAAM0B,YAAYvB,QAAQwB,MAAM,CAAClB,UAAU,EAAEiB;QAE7C,IAAIA,WAAW;YACbhB,QAAQC,MAAM,GAAGe;QACnB,OAAO;YACLhB,QAAQC,MAAM,GAAGR,QAAQwB,MAAM,CAAClB,UAAU,CAACmB,EAAE;QAC/C;IACF;IAEA,IAAIlB,QAAQC,MAAM,EAAE;QAClBJ,aAAaC,IAAI,GAAGE,QAAQC,MAAM;IACpC;IAEA,OAAOD;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/queries/buildOrderBy.ts"],"sourcesContent":["import type { Field, Sort } from 'payload'\n\nimport { asc, desc } from 'drizzle-orm'\n\nimport type { DrizzleAdapter, GenericColumn } from '../types.js'\nimport type { BuildQueryJoinAliases, BuildQueryResult } from './buildQuery.js'\n\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n fields: Field[]\n joins: BuildQueryJoinAliases\n locale?: string\n selectFields: Record<string, GenericColumn>\n sort?: Sort\n tableName: string\n}\n\n/**\n * Gets the order by column and direction constructed from the sort argument adds the column to the select fields and joins if necessary\n */\nexport const buildOrderBy = ({\n adapter,\n fields,\n joins,\n locale,\n selectFields,\n sort,\n tableName,\n}: Args): BuildQueryResult['orderBy'] => {\n const orderBy: BuildQueryResult['orderBy'] = []\n\n if (!sort) {\n const createdAt = adapter.tables[tableName]?.createdAt\n if (createdAt) {\n sort = '-createdAt'\n } else {\n sort = '-id'\n }\n }\n\n if (typeof sort === 'string') {\n sort = [sort]\n }\n\n for (const sortItem of sort) {\n let sortProperty: string\n let sortDirection: 'asc' | 'desc'\n if (sortItem[0] === '-') {\n sortProperty = sortItem.substring(1)\n sortDirection = 'desc'\n } else {\n sortProperty = sortItem\n sortDirection = 'asc'\n }\n try {\n const { columnName: sortTableColumnName, table: sortTable } = getTableColumnFromPath({\n adapter,\n collectionPath: sortProperty,\n fields,\n joins,\n locale,\n pathSegments: sortProperty.replace(/__/g, '.').split('.'),\n selectFields,\n tableName,\n value: sortProperty,\n })\n if (sortTable?.[sortTableColumnName]) {\n orderBy.push({\n column: sortTable[sortTableColumnName],\n order: sortDirection === 'asc' ? asc : desc,\n })\n\n selectFields[sortTableColumnName] = sortTable[sortTableColumnName]\n }\n } catch (err) {\n // continue\n }\n }\n\n return orderBy\n}\n"],"names":["asc","desc","getTableColumnFromPath","buildOrderBy","adapter","fields","joins","locale","selectFields","sort","tableName","orderBy","createdAt","tables","sortItem","sortProperty","sortDirection","substring","columnName","sortTableColumnName","table","sortTable","collectionPath","pathSegments","replace","split","value","push","column","order","err"],"mappings":"AAEA,SAASA,GAAG,EAAEC,IAAI,QAAQ,cAAa;AAKvC,SAASC,sBAAsB,QAAQ,8BAA6B;AAYpE;;CAEC,GACD,OAAO,MAAMC,eAAe,CAAC,EAC3BC,OAAO,EACPC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,YAAY,EACZC,IAAI,EACJC,SAAS,EACJ;IACL,MAAMC,UAAuC,EAAE;IAE/C,IAAI,CAACF,MAAM;QACT,MAAMG,YAAYR,QAAQS,MAAM,CAACH,UAAU,EAAEE;QAC7C,IAAIA,WAAW;YACbH,OAAO;QACT,OAAO;YACLA,OAAO;QACT;IACF;IAEA,IAAI,OAAOA,SAAS,UAAU;QAC5BA,OAAO;YAACA;SAAK;IACf;IAEA,KAAK,MAAMK,YAAYL,KAAM;QAC3B,IAAIM;QACJ,IAAIC;QACJ,IAAIF,QAAQ,CAAC,EAAE,KAAK,KAAK;YACvBC,eAAeD,SAASG,SAAS,CAAC;YAClCD,gBAAgB;QAClB,OAAO;YACLD,eAAeD;YACfE,gBAAgB;QAClB;QACA,IAAI;YACF,MAAM,EAAEE,YAAYC,mBAAmB,EAAEC,OAAOC,SAAS,EAAE,GAAGnB,uBAAuB;gBACnFE;gBACAkB,gBAAgBP;gBAChBV;gBACAC;gBACAC;gBACAgB,cAAcR,aAAaS,OAAO,CAAC,OAAO,KAAKC,KAAK,CAAC;gBACrDjB;gBACAE;gBACAgB,OAAOX;YACT;YACA,IAAIM,WAAW,CAACF,oBAAoB,EAAE;gBACpCR,QAAQgB,IAAI,CAAC;oBACXC,QAAQP,SAAS,CAACF,oBAAoB;oBACtCU,OAAOb,kBAAkB,QAAQhB,MAAMC;gBACzC;gBAEAO,YAAY,CAACW,oBAAoB,GAAGE,SAAS,CAACF,oBAAoB;YACpE;QACF,EAAE,OAAOW,KAAK;QACZ,WAAW;QACb;IACF;IAEA,OAAOnB;AACT,EAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { asc, desc, SQL } from 'drizzle-orm';
2
2
  import type { PgTableWithColumns } from 'drizzle-orm/pg-core';
3
- import type { Field, Where } from 'payload';
3
+ import type { Field, Sort, Where } from 'payload';
4
4
  import type { DrizzleAdapter, GenericColumn, GenericTable } from '../types.js';
5
5
  export type BuildQueryJoinAliases = {
6
6
  condition: SQL;
@@ -12,7 +12,7 @@ type BuildQueryArgs = {
12
12
  fields: Field[];
13
13
  joins?: BuildQueryJoinAliases;
14
14
  locale?: string;
15
- sort?: string;
15
+ sort?: Sort;
16
16
  tableName: string;
17
17
  where: Where;
18
18
  };
@@ -21,7 +21,7 @@ export type BuildQueryResult = {
21
21
  orderBy: {
22
22
  column: GenericColumn;
23
23
  order: typeof asc | typeof desc;
24
- };
24
+ }[];
25
25
  selectFields: Record<string, GenericColumn>;
26
26
  where: SQL;
27
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../src/queries/buildQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK9E,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,GAAG,CAAA;IACd,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,CAAA;CAC9C,EAAE,CAAA;AAEH,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,qBAAqB,CAAA;IAC5B,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAA;QACrB,KAAK,EAAE,OAAO,GAAG,GAAG,OAAO,IAAI,CAAA;KAChC,CAAA;IACD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AACD,QAAA,MAAM,UAAU,+EAQb,cAAc,KAAG,gBAmCnB,CAAA;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../src/queries/buildQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK9E,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,GAAG,CAAA;IACd,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,CAAA;CAC9C,EAAE,CAAA;AAEH,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,qBAAqB,CAAA;IAC5B,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAA;QACrB,KAAK,EAAE,OAAO,GAAG,GAAG,OAAO,IAAI,CAAA;KAChC,EAAE,CAAA;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AACD,QAAA,MAAM,UAAU,+EAQb,cAAc,KAAG,gBAmCnB,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/queries/buildQuery.ts"],"sourcesContent":["import type { asc, desc, SQL } from 'drizzle-orm'\nimport type { PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport type { Field, Where } from 'payload'\n\nimport type { DrizzleAdapter, GenericColumn, GenericTable } from '../types.js'\n\nimport { buildOrderBy } from './buildOrderBy.js'\nimport { parseParams } from './parseParams.js'\n\nexport type BuildQueryJoinAliases = {\n condition: SQL\n table: GenericTable | PgTableWithColumns<any>\n type?: 'innerJoin' | 'leftJoin' | 'rightJoin'\n}[]\n\ntype BuildQueryArgs = {\n adapter: DrizzleAdapter\n fields: Field[]\n joins?: BuildQueryJoinAliases\n locale?: string\n sort?: string\n tableName: string\n where: Where\n}\n\nexport type BuildQueryResult = {\n joins: BuildQueryJoinAliases\n orderBy: {\n column: GenericColumn\n order: typeof asc | typeof desc\n }\n selectFields: Record<string, GenericColumn>\n where: SQL\n}\nconst buildQuery = function buildQuery({\n adapter,\n fields,\n joins = [],\n locale,\n sort,\n tableName,\n where: incomingWhere,\n}: BuildQueryArgs): BuildQueryResult {\n const selectFields: Record<string, GenericColumn> = {\n id: adapter.tables[tableName].id,\n }\n\n const orderBy = buildOrderBy({\n adapter,\n fields,\n joins,\n locale,\n selectFields,\n sort,\n tableName,\n })\n\n let where: SQL\n\n if (incomingWhere && Object.keys(incomingWhere).length > 0) {\n where = parseParams({\n adapter,\n fields,\n joins,\n locale,\n selectFields,\n tableName,\n where: incomingWhere,\n })\n }\n\n return {\n joins,\n orderBy,\n selectFields,\n where,\n }\n}\n\nexport default buildQuery\n"],"names":["buildOrderBy","parseParams","buildQuery","adapter","fields","joins","locale","sort","tableName","where","incomingWhere","selectFields","id","tables","orderBy","Object","keys","length"],"mappings":"AAMA,SAASA,YAAY,QAAQ,oBAAmB;AAChD,SAASC,WAAW,QAAQ,mBAAkB;AA2B9C,MAAMC,aAAa,SAASA,WAAW,EACrCC,OAAO,EACPC,MAAM,EACNC,QAAQ,EAAE,EACVC,MAAM,EACNC,IAAI,EACJC,SAAS,EACTC,OAAOC,aAAa,EACL;IACf,MAAMC,eAA8C;QAClDC,IAAIT,QAAQU,MAAM,CAACL,UAAU,CAACI,EAAE;IAClC;IAEA,MAAME,UAAUd,aAAa;QAC3BG;QACAC;QACAC;QACAC;QACAK;QACAJ;QACAC;IACF;IAEA,IAAIC;IAEJ,IAAIC,iBAAiBK,OAAOC,IAAI,CAACN,eAAeO,MAAM,GAAG,GAAG;QAC1DR,QAAQR,YAAY;YAClBE;YACAC;YACAC;YACAC;YACAK;YACAH;YACAC,OAAOC;QACT;IACF;IAEA,OAAO;QACLL;QACAS;QACAH;QACAF;IACF;AACF;AAEA,eAAeP,WAAU"}
1
+ {"version":3,"sources":["../../src/queries/buildQuery.ts"],"sourcesContent":["import type { asc, desc, SQL } from 'drizzle-orm'\nimport type { PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport type { Field, Sort, Where } from 'payload'\n\nimport type { DrizzleAdapter, GenericColumn, GenericTable } from '../types.js'\n\nimport { buildOrderBy } from './buildOrderBy.js'\nimport { parseParams } from './parseParams.js'\n\nexport type BuildQueryJoinAliases = {\n condition: SQL\n table: GenericTable | PgTableWithColumns<any>\n type?: 'innerJoin' | 'leftJoin' | 'rightJoin'\n}[]\n\ntype BuildQueryArgs = {\n adapter: DrizzleAdapter\n fields: Field[]\n joins?: BuildQueryJoinAliases\n locale?: string\n sort?: Sort\n tableName: string\n where: Where\n}\n\nexport type BuildQueryResult = {\n joins: BuildQueryJoinAliases\n orderBy: {\n column: GenericColumn\n order: typeof asc | typeof desc\n }[]\n selectFields: Record<string, GenericColumn>\n where: SQL\n}\nconst buildQuery = function buildQuery({\n adapter,\n fields,\n joins = [],\n locale,\n sort,\n tableName,\n where: incomingWhere,\n}: BuildQueryArgs): BuildQueryResult {\n const selectFields: Record<string, GenericColumn> = {\n id: adapter.tables[tableName].id,\n }\n\n const orderBy = buildOrderBy({\n adapter,\n fields,\n joins,\n locale,\n selectFields,\n sort,\n tableName,\n })\n\n let where: SQL\n\n if (incomingWhere && Object.keys(incomingWhere).length > 0) {\n where = parseParams({\n adapter,\n fields,\n joins,\n locale,\n selectFields,\n tableName,\n where: incomingWhere,\n })\n }\n\n return {\n joins,\n orderBy,\n selectFields,\n where,\n }\n}\n\nexport default buildQuery\n"],"names":["buildOrderBy","parseParams","buildQuery","adapter","fields","joins","locale","sort","tableName","where","incomingWhere","selectFields","id","tables","orderBy","Object","keys","length"],"mappings":"AAMA,SAASA,YAAY,QAAQ,oBAAmB;AAChD,SAASC,WAAW,QAAQ,mBAAkB;AA2B9C,MAAMC,aAAa,SAASA,WAAW,EACrCC,OAAO,EACPC,MAAM,EACNC,QAAQ,EAAE,EACVC,MAAM,EACNC,IAAI,EACJC,SAAS,EACTC,OAAOC,aAAa,EACL;IACf,MAAMC,eAA8C;QAClDC,IAAIT,QAAQU,MAAM,CAACL,UAAU,CAACI,EAAE;IAClC;IAEA,MAAME,UAAUd,aAAa;QAC3BG;QACAC;QACAC;QACAC;QACAK;QACAJ;QACAC;IACF;IAEA,IAAIC;IAEJ,IAAIC,iBAAiBK,OAAOC,IAAI,CAACN,eAAeO,MAAM,GAAG,GAAG;QAC1DR,QAAQR,YAAY;YAClBE;YACAC;YACAC;YACAC;YACAK;YACAH;YACAC,OAAOC;QACT;IACF;IAEA,OAAO;QACLL;QACAS;QACAH;QACAF;IACF;AACF;AAEA,eAAeP,WAAU"}
@@ -40,7 +40,6 @@ type Args = {
40
40
  * If creating a new table name for arrays and blocks, this suffix should be appended to the table name
41
41
  */
42
42
  tableNameSuffix?: string;
43
- useAlias?: boolean;
44
43
  /**
45
44
  * The raw value of the query before sanitization
46
45
  */
@@ -51,6 +50,6 @@ type Args = {
51
50
  * Adds tables to `join`
52
51
  * @returns TableColumn
53
52
  */
54
- export declare const getTableColumnFromPath: ({ adapter, aliasTable, collectionPath, columnPrefix, constraintPath: incomingConstraintPath, constraints, fields, joins, locale: incomingLocale, pathSegments: incomingSegments, rootTableName: incomingRootTableName, selectFields, tableName, tableNameSuffix, useAlias, value, }: Args) => TableColumn;
53
+ export declare const getTableColumnFromPath: ({ adapter, aliasTable, collectionPath, columnPrefix, constraintPath: incomingConstraintPath, constraints, fields, joins, locale: incomingLocale, pathSegments: incomingSegments, rootTableName: incomingRootTableName, selectFields, tableName, tableNameSuffix, value, }: Args) => TableColumn;
55
54
  export {};
56
55
  //# sourceMappingURL=getTableColumnFromPath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTableColumnFromPath.d.ts","sourceRoot":"","sources":["../../src/queries/getTableColumnFromPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAe,UAAU,EAAa,MAAM,SAAS,CAAA;AAG5F,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAK5D,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAC5D,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;QAClC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;KACxB,EAAE,CAAA;IACH,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,kBAAkB,CAAA;IACzB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;CAC7D,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAClE,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,wRAiBhC,IAAI,KAAG,WA+pBT,CAAA"}
1
+ {"version":3,"file":"getTableColumnFromPath.d.ts","sourceRoot":"","sources":["../../src/queries/getTableColumnFromPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAe,UAAU,EAAa,MAAM,SAAS,CAAA;AAG5F,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAM5D,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAC5D,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;QAClC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;KACxB,EAAE,CAAA;IACH,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,kBAAkB,CAAA;IACzB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;CAC7D,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAClE,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,8QAgBhC,IAAI,KAAG,WAopBT,CAAA"}
@@ -4,12 +4,13 @@ import { fieldAffectsData, tabHasName } from 'payload/shared';
4
4
  import toSnakeCase from 'to-snake-case';
5
5
  import { validate as uuidValidate } from 'uuid';
6
6
  import { isPolymorphicRelationship } from '../utilities/isPolymorphicRelationship.js';
7
+ import { addJoinTable } from './addJoinTable.js';
7
8
  import { getTableAlias } from './getTableAlias.js';
8
9
  /**
9
10
  * Transforms path to table and column name or to a list of OR columns
10
11
  * Adds tables to `join`
11
12
  * @returns TableColumn
12
- */ export const getTableColumnFromPath = ({ adapter, aliasTable, collectionPath, columnPrefix = '', constraintPath: incomingConstraintPath, constraints = [], fields, joins, locale: incomingLocale, pathSegments: incomingSegments, rootTableName: incomingRootTableName, selectFields, tableName, tableNameSuffix = '', useAlias, value })=>{
13
+ */ export const getTableColumnFromPath = ({ adapter, aliasTable, collectionPath, columnPrefix = '', constraintPath: incomingConstraintPath, constraints = [], fields, joins, locale: incomingLocale, pathSegments: incomingSegments, rootTableName: incomingRootTableName, selectFields, tableName, tableNameSuffix = '', value })=>{
13
14
  const fieldPath = incomingSegments[0];
14
15
  let locale = incomingLocale;
15
16
  const rootTableName = incomingRootTableName || tableName;
@@ -62,7 +63,6 @@ import { getTableAlias } from './getTableAlias.js';
62
63
  selectFields,
63
64
  tableName: newTableName,
64
65
  tableNameSuffix,
65
- useAlias,
66
66
  value
67
67
  });
68
68
  }
@@ -84,7 +84,6 @@ import { getTableAlias } from './getTableAlias.js';
84
84
  selectFields,
85
85
  tableName: newTableName,
86
86
  tableNameSuffix: `${tableNameSuffix}${toSnakeCase(field.name)}_`,
87
- useAlias,
88
87
  value
89
88
  });
90
89
  }
@@ -103,7 +102,6 @@ import { getTableAlias } from './getTableAlias.js';
103
102
  selectFields,
104
103
  tableName: newTableName,
105
104
  tableNameSuffix,
106
- useAlias,
107
105
  value
108
106
  });
109
107
  }
@@ -111,17 +109,15 @@ import { getTableAlias } from './getTableAlias.js';
111
109
  {
112
110
  if (locale && field.localized && adapter.payload.config.localization) {
113
111
  newTableName = `${tableName}${adapter.localesSuffix}`;
114
- joins.push({
115
- condition: eq(adapter.tables[tableName].id, adapter.tables[newTableName]._parentID),
116
- table: adapter.tables[newTableName]
117
- });
112
+ let condition = eq(adapter.tables[tableName].id, adapter.tables[newTableName]._parentID);
118
113
  if (locale !== 'all') {
119
- constraints.push({
120
- columnName: '_locale',
121
- table: adapter.tables[newTableName],
122
- value: locale
123
- });
114
+ condition = and(condition, eq(adapter.tables[newTableName]._locale, locale));
124
115
  }
116
+ addJoinTable({
117
+ condition,
118
+ joins,
119
+ table: adapter.tables[newTableName]
120
+ });
125
121
  }
126
122
  return getTableColumnFromPath({
127
123
  adapter,
@@ -138,7 +134,6 @@ import { getTableAlias } from './getTableAlias.js';
138
134
  selectFields,
139
135
  tableName: newTableName,
140
136
  tableNameSuffix: `${tableNameSuffix}${toSnakeCase(field.name)}_`,
141
- useAlias,
142
137
  value
143
138
  });
144
139
  }
@@ -147,20 +142,22 @@ import { getTableAlias } from './getTableAlias.js';
147
142
  if (field.hasMany) {
148
143
  const newTableName = adapter.tableNameMap.get(`${tableName}_${tableNameSuffix}${toSnakeCase(field.name)}`);
149
144
  if (locale && field.localized && adapter.payload.config.localization) {
150
- joins.push({
151
- condition: and(eq(adapter.tables[tableName].id, adapter.tables[newTableName].parent), eq(adapter.tables[newTableName]._locale, locale)),
152
- table: adapter.tables[newTableName]
153
- });
145
+ const conditions = [
146
+ eq(adapter.tables[tableName].id, adapter.tables[newTableName].parent),
147
+ eq(adapter.tables[newTableName]._locale, locale)
148
+ ];
154
149
  if (locale !== 'all') {
155
- constraints.push({
156
- columnName: '_locale',
157
- table: adapter.tables[newTableName],
158
- value: locale
159
- });
150
+ conditions.push(eq(adapter.tables[newTableName]._locale, locale));
160
151
  }
152
+ addJoinTable({
153
+ condition: and(...conditions),
154
+ joins,
155
+ table: adapter.tables[newTableName]
156
+ });
161
157
  } else {
162
- joins.push({
158
+ addJoinTable({
163
159
  condition: eq(adapter.tables[tableName].id, adapter.tables[newTableName].parent),
160
+ joins,
164
161
  table: adapter.tables[newTableName]
165
162
  });
166
163
  }
@@ -189,20 +186,21 @@ import { getTableAlias } from './getTableAlias.js';
189
186
  like(adapter.tables[newTableName].path, `${constraintPath}${field.name}`)
190
187
  ];
191
188
  if (locale && field.localized && adapter.payload.config.localization) {
192
- joins.push({
193
- condition: and(...joinConstraints, eq(adapter.tables[newTableName]._locale, locale)),
194
- table: adapter.tables[newTableName]
195
- });
189
+ const conditions = [
190
+ ...joinConstraints
191
+ ];
196
192
  if (locale !== 'all') {
197
- constraints.push({
198
- columnName: 'locale',
199
- table: adapter.tables[newTableName],
200
- value: locale
201
- });
193
+ conditions.push(eq(adapter.tables[newTableName]._locale, locale));
202
194
  }
195
+ addJoinTable({
196
+ condition: and(...conditions),
197
+ joins,
198
+ table: adapter.tables[newTableName]
199
+ });
203
200
  } else {
204
- joins.push({
201
+ addJoinTable({
205
202
  condition: and(...joinConstraints),
203
+ joins,
206
204
  table: adapter.tables[newTableName]
207
205
  });
208
206
  }
@@ -221,20 +219,21 @@ import { getTableAlias } from './getTableAlias.js';
221
219
  const arrayParentTable = aliasTable || adapter.tables[tableName];
222
220
  constraintPath = `${constraintPath}${field.name}.%.`;
223
221
  if (locale && field.localized && adapter.payload.config.localization) {
224
- joins.push({
225
- condition: and(eq(arrayParentTable.id, adapter.tables[newTableName]._parentID), eq(adapter.tables[newTableName]._locale, locale)),
226
- table: adapter.tables[newTableName]
227
- });
222
+ const conditions = [
223
+ eq(arrayParentTable.id, adapter.tables[newTableName]._parentID)
224
+ ];
228
225
  if (locale !== 'all') {
229
- constraints.push({
230
- columnName: '_locale',
231
- table: adapter.tables[newTableName],
232
- value: locale
233
- });
226
+ conditions.push(eq(adapter.tables[newTableName]._locale, locale));
234
227
  }
228
+ addJoinTable({
229
+ condition: and(...conditions),
230
+ joins,
231
+ table: adapter.tables[newTableName]
232
+ });
235
233
  } else {
236
- joins.push({
234
+ addJoinTable({
237
235
  condition: eq(arrayParentTable.id, adapter.tables[newTableName]._parentID),
236
+ joins,
238
237
  table: adapter.tables[newTableName]
239
238
  });
240
239
  }
@@ -250,7 +249,6 @@ import { getTableAlias } from './getTableAlias.js';
250
249
  rootTableName,
251
250
  selectFields,
252
251
  tableName: newTableName,
253
- useAlias,
254
252
  value
255
253
  });
256
254
  }
@@ -307,7 +305,6 @@ import { getTableAlias } from './getTableAlias.js';
307
305
  rootTableName,
308
306
  selectFields: blockSelectFields,
309
307
  tableName: newTableName,
310
- useAlias,
311
308
  value
312
309
  });
313
310
  } catch (error) {
@@ -323,17 +320,16 @@ import { getTableAlias } from './getTableAlias.js';
323
320
  ...blockSelectFields
324
321
  };
325
322
  if (field.localized && adapter.payload.config.localization) {
323
+ const conditions = [
324
+ eq((aliasTable || adapter.tables[tableName]).id, adapter.tables[newTableName]._parentID)
325
+ ];
326
+ if (locale !== 'all') {
327
+ conditions.push(eq(adapter.tables[newTableName]._locale, locale));
328
+ }
326
329
  joins.push({
327
- condition: and(eq((aliasTable || adapter.tables[tableName]).id, adapter.tables[newTableName]._parentID), eq(adapter.tables[newTableName]._locale, locale)),
330
+ condition: and(...conditions),
328
331
  table: adapter.tables[newTableName]
329
332
  });
330
- if (locale) {
331
- constraints.push({
332
- columnName: '_locale',
333
- table: adapter.tables[newTableName],
334
- value: locale
335
- });
336
- }
337
333
  } else {
338
334
  joins.push({
339
335
  condition: eq((aliasTable || adapter.tables[tableName]).id, adapter.tables[newTableName]._parentID),
@@ -367,17 +363,17 @@ import { getTableAlias } from './getTableAlias.js';
367
363
  });
368
364
  // Join in the relationships table
369
365
  if (locale && field.localized && adapter.payload.config.localization) {
366
+ const conditions = [
367
+ eq((aliasTable || adapter.tables[rootTableName]).id, aliasRelationshipTable.parent),
368
+ like(aliasRelationshipTable.path, `${constraintPath}${field.name}`)
369
+ ];
370
+ if (locale !== 'all') {
371
+ conditions.push(eq(aliasRelationshipTable.locale, locale));
372
+ }
370
373
  joins.push({
371
- condition: and(eq((aliasTable || adapter.tables[rootTableName]).id, aliasRelationshipTable.parent), eq(aliasRelationshipTable.locale, locale), like(aliasRelationshipTable.path, `${constraintPath}${field.name}`)),
374
+ condition: and(...conditions),
372
375
  table: aliasRelationshipTable
373
376
  });
374
- if (locale !== 'all') {
375
- constraints.push({
376
- columnName: 'locale',
377
- table: aliasRelationshipTable,
378
- value: locale
379
- });
380
- }
381
377
  } else {
382
378
  // Join in the relationships table
383
379
  joins.push({
@@ -488,7 +484,6 @@ import { getTableAlias } from './getTableAlias.js';
488
484
  rootTableName: newTableName,
489
485
  selectFields,
490
486
  tableName: newTableName,
491
- useAlias,
492
487
  value
493
488
  });
494
489
  } else if (pathSegments.length > 1 && !(pathSegments.length === 2 && pathSegments[1] === 'id')) {
@@ -504,12 +499,20 @@ import { getTableAlias } from './getTableAlias.js';
504
499
  adapter,
505
500
  tableName: `${rootTableName}${adapter.localesSuffix}`
506
501
  });
507
- joins.push({
508
- condition: and(eq(aliasLocaleTable._parentID, adapter.tables[rootTableName].id), eq(aliasLocaleTable._locale, locale)),
509
- table: aliasLocaleTable
502
+ const condtions = [
503
+ eq(aliasLocaleTable._parentID, adapter.tables[rootTableName].id)
504
+ ];
505
+ if (locale !== 'all') {
506
+ condtions.push(eq(aliasLocaleTable._locale, locale));
507
+ }
508
+ const localesTable = adapter.tables[`${rootTableName}${adapter.localesSuffix}`];
509
+ addJoinTable({
510
+ condition: and(...condtions),
511
+ joins,
512
+ table: localesTable
510
513
  });
511
514
  joins.push({
512
- condition: eq(aliasLocaleTable[columnName], newAliasTable.id),
515
+ condition: eq(localesTable[columnName], newAliasTable.id),
513
516
  table: newAliasTable
514
517
  });
515
518
  } else {
@@ -530,7 +533,6 @@ import { getTableAlias } from './getTableAlias.js';
530
533
  pathSegments: pathSegments.slice(1),
531
534
  selectFields,
532
535
  tableName: newTableName,
533
- useAlias,
534
536
  value
535
537
  });
536
538
  }
@@ -548,22 +550,17 @@ import { getTableAlias } from './getTableAlias.js';
548
550
  // so it is not picked up below to be used as targetTable
549
551
  const parentTable = aliasTable || adapter.tables[tableName];
550
552
  newTableName = `${tableName}${adapter.localesSuffix}`;
551
- newTable = useAlias ? getTableAlias({
552
- adapter,
553
- tableName: newTableName
554
- }).newAliasTable : adapter.tables[newTableName];
555
- joins.push({
556
- condition: eq(parentTable.id, newTable._parentID),
553
+ newTable = adapter.tables[newTableName];
554
+ let condition = eq(parentTable.id, newTable._parentID);
555
+ if (locale !== 'all') {
556
+ condition = and(condition, eq(newTable._locale, locale));
557
+ }
558
+ addJoinTable({
559
+ condition,
560
+ joins,
557
561
  table: newTable
558
562
  });
559
563
  aliasTable = undefined;
560
- if (locale !== 'all') {
561
- constraints.push({
562
- columnName: '_locale',
563
- table: newTable,
564
- value: locale
565
- });
566
- }
567
564
  }
568
565
  const targetTable = aliasTable || newTable;
569
566
  selectFields[`${newTableName}.${columnPrefix}${field.name}`] = targetTable[`${columnPrefix}${field.name}`];