@payloadcms/drizzle 3.80.0-internal-debug.4c84b90 → 3.80.0-internal.21e9c47

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.
@@ -1 +1 @@
1
- {"version":3,"file":"buildOrderBy.d.ts","sourceRoot":"","sources":["../../src/queries/buildOrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAK9E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,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,+GAWtB,IAAI,KAAG,gBAAgB,CAAC,SAAS,CA2EnC,CAAA"}
1
+ {"version":3,"file":"buildOrderBy.d.ts","sourceRoot":"","sources":["../../src/queries/buildOrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAK9E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,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,+GAWtB,IAAI,KAAG,gBAAgB,CAAC,SAAS,CAgFnC,CAAA"}
@@ -59,7 +59,12 @@ import { getTableColumnFromPath } from './getTableColumnFromPath.js';
59
59
  column: aliasTable && tableName === getNameFromDrizzleTable(sortTable) ? aliasTable[sortTableColumnName] : sortTable[sortTableColumnName],
60
60
  order
61
61
  });
62
- selectFields[sortTableColumnName] = sortTable[sortTableColumnName];
62
+ // Only add to selectFields if not already present (avoid duplicates from getTableColumnFromPath)
63
+ const columnToAdd = sortTable[sortTableColumnName];
64
+ const alreadyExists = Object.values(selectFields).some((col)=>col === columnToAdd);
65
+ if (!alreadyExists) {
66
+ selectFields[sortTableColumnName] = columnToAdd;
67
+ }
63
68
  }
64
69
  } catch (_) {
65
70
  // continue
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/queries/buildOrderBy.ts"],"sourcesContent":["import type { SQL, Table } from 'drizzle-orm'\nimport type { FlattenedField, 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 { getNameFromDrizzleTable } from '../utilities/getNameFromDrizzleTable.js'\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n aliasTable?: Table\n fields: FlattenedField[]\n joins: BuildQueryJoinAliases\n locale?: string\n parentIsLocalized: boolean\n rawSort?: SQL\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 aliasTable,\n fields,\n joins,\n locale,\n parentIsLocalized,\n rawSort,\n selectFields,\n sort,\n tableName,\n}: Args): BuildQueryResult['orderBy'] => {\n const orderBy: BuildQueryResult['orderBy'] = []\n\n const createdAt = adapter.tables[tableName]?.createdAt\n\n if (!sort) {\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 // In the case of Mongo, when sorting by a field that is not unique, the results are not guaranteed to be in the same order each time.\n // So we add a fallback sort to ensure that the results are always in the same order.\n let fallbackSort = '-id'\n\n if (createdAt) {\n fallbackSort = '-createdAt'\n }\n\n if (!(sort.includes(fallbackSort) || sort.includes(fallbackSort.replace('-', '')))) {\n sort.push(fallbackSort)\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 parentIsLocalized,\n pathSegments: sortProperty.replace(/__/g, '.').split('.'),\n selectFields,\n tableName,\n value: sortProperty,\n })\n if (sortTable?.[sortTableColumnName]) {\n let order = sortDirection === 'asc' ? asc : desc\n\n if (rawSort) {\n order = () => rawSort\n }\n\n orderBy.push({\n column:\n aliasTable && tableName === getNameFromDrizzleTable(sortTable)\n ? aliasTable[sortTableColumnName]\n : sortTable[sortTableColumnName],\n order,\n })\n\n selectFields[sortTableColumnName] = sortTable[sortTableColumnName]\n }\n } catch (_) {\n // continue\n }\n }\n\n return orderBy\n}\n"],"names":["asc","desc","getNameFromDrizzleTable","getTableColumnFromPath","buildOrderBy","adapter","aliasTable","fields","joins","locale","parentIsLocalized","rawSort","selectFields","sort","tableName","orderBy","createdAt","tables","fallbackSort","includes","replace","push","sortItem","sortProperty","sortDirection","substring","columnName","sortTableColumnName","table","sortTable","collectionPath","pathSegments","split","value","order","column","_"],"mappings":"AAGA,SAASA,GAAG,EAAEC,IAAI,QAAQ,cAAa;AAKvC,SAASC,uBAAuB,QAAQ,0CAAyC;AACjF,SAASC,sBAAsB,QAAQ,8BAA6B;AAepE;;CAEC,GACD,OAAO,MAAMC,eAAe,CAAC,EAC3BC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,iBAAiB,EACjBC,OAAO,EACPC,YAAY,EACZC,IAAI,EACJC,SAAS,EACJ;IACL,MAAMC,UAAuC,EAAE;IAE/C,MAAMC,YAAYX,QAAQY,MAAM,CAACH,UAAU,EAAEE;IAE7C,IAAI,CAACH,MAAM;QACT,IAAIG,WAAW;YACbH,OAAO;QACT,OAAO;YACLA,OAAO;QACT;IACF;IAEA,IAAI,OAAOA,SAAS,UAAU;QAC5BA,OAAO;YAACA;SAAK;IACf;IAEA,sIAAsI;IACtI,qFAAqF;IACrF,IAAIK,eAAe;IAEnB,IAAIF,WAAW;QACbE,eAAe;IACjB;IAEA,IAAI,CAAEL,CAAAA,KAAKM,QAAQ,CAACD,iBAAiBL,KAAKM,QAAQ,CAACD,aAAaE,OAAO,CAAC,KAAK,IAAG,GAAI;QAClFP,KAAKQ,IAAI,CAACH;IACZ;IAEA,KAAK,MAAMI,YAAYT,KAAM;QAC3B,IAAIU;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,GAAG1B,uBAAuB;gBACnFE;gBACAyB,gBAAgBP;gBAChBhB;gBACAC;gBACAC;gBACAC;gBACAqB,cAAcR,aAAaH,OAAO,CAAC,OAAO,KAAKY,KAAK,CAAC;gBACrDpB;gBACAE;gBACAmB,OAAOV;YACT;YACA,IAAIM,WAAW,CAACF,oBAAoB,EAAE;gBACpC,IAAIO,QAAQV,kBAAkB,QAAQxB,MAAMC;gBAE5C,IAAIU,SAAS;oBACXuB,QAAQ,IAAMvB;gBAChB;gBAEAI,QAAQM,IAAI,CAAC;oBACXc,QACE7B,cAAcQ,cAAcZ,wBAAwB2B,aAChDvB,UAAU,CAACqB,oBAAoB,GAC/BE,SAAS,CAACF,oBAAoB;oBACpCO;gBACF;gBAEAtB,YAAY,CAACe,oBAAoB,GAAGE,SAAS,CAACF,oBAAoB;YACpE;QACF,EAAE,OAAOS,GAAG;QACV,WAAW;QACb;IACF;IAEA,OAAOrB;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/queries/buildOrderBy.ts"],"sourcesContent":["import type { SQL, Table } from 'drizzle-orm'\nimport type { FlattenedField, 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 { getNameFromDrizzleTable } from '../utilities/getNameFromDrizzleTable.js'\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n aliasTable?: Table\n fields: FlattenedField[]\n joins: BuildQueryJoinAliases\n locale?: string\n parentIsLocalized: boolean\n rawSort?: SQL\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 aliasTable,\n fields,\n joins,\n locale,\n parentIsLocalized,\n rawSort,\n selectFields,\n sort,\n tableName,\n}: Args): BuildQueryResult['orderBy'] => {\n const orderBy: BuildQueryResult['orderBy'] = []\n\n const createdAt = adapter.tables[tableName]?.createdAt\n\n if (!sort) {\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 // In the case of Mongo, when sorting by a field that is not unique, the results are not guaranteed to be in the same order each time.\n // So we add a fallback sort to ensure that the results are always in the same order.\n let fallbackSort = '-id'\n\n if (createdAt) {\n fallbackSort = '-createdAt'\n }\n\n if (!(sort.includes(fallbackSort) || sort.includes(fallbackSort.replace('-', '')))) {\n sort.push(fallbackSort)\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 parentIsLocalized,\n pathSegments: sortProperty.replace(/__/g, '.').split('.'),\n selectFields,\n tableName,\n value: sortProperty,\n })\n if (sortTable?.[sortTableColumnName]) {\n let order = sortDirection === 'asc' ? asc : desc\n\n if (rawSort) {\n order = () => rawSort\n }\n\n orderBy.push({\n column:\n aliasTable && tableName === getNameFromDrizzleTable(sortTable)\n ? aliasTable[sortTableColumnName]\n : sortTable[sortTableColumnName],\n order,\n })\n\n // Only add to selectFields if not already present (avoid duplicates from getTableColumnFromPath)\n const columnToAdd = sortTable[sortTableColumnName]\n const alreadyExists = Object.values(selectFields).some((col) => col === columnToAdd)\n if (!alreadyExists) {\n selectFields[sortTableColumnName] = columnToAdd\n }\n }\n } catch (_) {\n // continue\n }\n }\n\n return orderBy\n}\n"],"names":["asc","desc","getNameFromDrizzleTable","getTableColumnFromPath","buildOrderBy","adapter","aliasTable","fields","joins","locale","parentIsLocalized","rawSort","selectFields","sort","tableName","orderBy","createdAt","tables","fallbackSort","includes","replace","push","sortItem","sortProperty","sortDirection","substring","columnName","sortTableColumnName","table","sortTable","collectionPath","pathSegments","split","value","order","column","columnToAdd","alreadyExists","Object","values","some","col","_"],"mappings":"AAGA,SAASA,GAAG,EAAEC,IAAI,QAAQ,cAAa;AAKvC,SAASC,uBAAuB,QAAQ,0CAAyC;AACjF,SAASC,sBAAsB,QAAQ,8BAA6B;AAepE;;CAEC,GACD,OAAO,MAAMC,eAAe,CAAC,EAC3BC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,iBAAiB,EACjBC,OAAO,EACPC,YAAY,EACZC,IAAI,EACJC,SAAS,EACJ;IACL,MAAMC,UAAuC,EAAE;IAE/C,MAAMC,YAAYX,QAAQY,MAAM,CAACH,UAAU,EAAEE;IAE7C,IAAI,CAACH,MAAM;QACT,IAAIG,WAAW;YACbH,OAAO;QACT,OAAO;YACLA,OAAO;QACT;IACF;IAEA,IAAI,OAAOA,SAAS,UAAU;QAC5BA,OAAO;YAACA;SAAK;IACf;IAEA,sIAAsI;IACtI,qFAAqF;IACrF,IAAIK,eAAe;IAEnB,IAAIF,WAAW;QACbE,eAAe;IACjB;IAEA,IAAI,CAAEL,CAAAA,KAAKM,QAAQ,CAACD,iBAAiBL,KAAKM,QAAQ,CAACD,aAAaE,OAAO,CAAC,KAAK,IAAG,GAAI;QAClFP,KAAKQ,IAAI,CAACH;IACZ;IAEA,KAAK,MAAMI,YAAYT,KAAM;QAC3B,IAAIU;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,GAAG1B,uBAAuB;gBACnFE;gBACAyB,gBAAgBP;gBAChBhB;gBACAC;gBACAC;gBACAC;gBACAqB,cAAcR,aAAaH,OAAO,CAAC,OAAO,KAAKY,KAAK,CAAC;gBACrDpB;gBACAE;gBACAmB,OAAOV;YACT;YACA,IAAIM,WAAW,CAACF,oBAAoB,EAAE;gBACpC,IAAIO,QAAQV,kBAAkB,QAAQxB,MAAMC;gBAE5C,IAAIU,SAAS;oBACXuB,QAAQ,IAAMvB;gBAChB;gBAEAI,QAAQM,IAAI,CAAC;oBACXc,QACE7B,cAAcQ,cAAcZ,wBAAwB2B,aAChDvB,UAAU,CAACqB,oBAAoB,GAC/BE,SAAS,CAACF,oBAAoB;oBACpCO;gBACF;gBAEA,iGAAiG;gBACjG,MAAME,cAAcP,SAAS,CAACF,oBAAoB;gBAClD,MAAMU,gBAAgBC,OAAOC,MAAM,CAAC3B,cAAc4B,IAAI,CAAC,CAACC,MAAQA,QAAQL;gBACxE,IAAI,CAACC,eAAe;oBAClBzB,YAAY,CAACe,oBAAoB,GAAGS;gBACtC;YACF;QACF,EAAE,OAAOM,GAAG;QACV,WAAW;QACb;IACF;IAEA,OAAO3B;AACT,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/drizzle",
3
- "version": "3.80.0-internal-debug.4c84b90",
3
+ "version": "3.80.0-internal.21e9c47",
4
4
  "description": "A library of shared functions used by different payload database adapters",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -60,10 +60,10 @@
60
60
  "@types/pg": "8.10.2",
61
61
  "@types/to-snake-case": "1.0.0",
62
62
  "@payloadcms/eslint-config": "3.28.0",
63
- "payload": "3.80.0-internal-debug.4c84b90"
63
+ "payload": "3.80.0-internal.21e9c47"
64
64
  },
65
65
  "peerDependencies": {
66
- "payload": "3.80.0-internal-debug.4c84b90"
66
+ "payload": "3.80.0-internal.21e9c47"
67
67
  },
68
68
  "scripts": {
69
69
  "build": "pnpm build:swc && pnpm build:types",