Files
klz-cables.com/.pnpm-store/v10/files/5f/d6f5cfb9b99ef782536cfde5aed27a6d5e6e86f35faaf01656c2c7129039ad06fced343be93469fe961a03efdfcbf77aaec1f1aaa28df4813fbc69c667de56
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

96 lines
2.6 KiB
Plaintext

import { getSelectMode } from 'payload/shared';
import { traverseFields } from './traverseFields.js';
// Generate the Drizzle query for findMany based on
// a collection field structure
export const buildFindManyArgs = ({ adapter, collectionSlug, depth, draftsEnabled, fields, joinQuery, joins = [], locale, select, tableName, versions })=>{
const result = {
extras: {},
with: {}
};
if (select) {
result.columns = {
id: true
};
}
const _locales = {
columns: select ? {
_locale: true
} : {
id: false,
_parentID: false
},
extras: {},
with: {}
};
const withTabledFields = select ? {} : {
numbers: true,
rels: true,
texts: true
};
traverseFields({
_locales,
adapter,
collectionSlug,
currentArgs: result,
currentTableName: tableName,
depth,
draftsEnabled,
fields,
joinQuery,
joins,
locale,
path: '',
select,
selectMode: select ? getSelectMode(select) : undefined,
tablePath: '',
topLevelArgs: result,
topLevelTableName: tableName,
versions,
withTabledFields
});
if (adapter.tables[`${tableName}_texts`] && withTabledFields.texts) {
result.with._texts = {
columns: {
id: false,
parent: false
},
orderBy: ({ order }, { asc: ASC })=>[
ASC(order)
]
};
}
if (adapter.tables[`${tableName}_numbers`] && withTabledFields.numbers) {
result.with._numbers = {
columns: {
id: false,
parent: false
},
orderBy: ({ order }, { asc: ASC })=>[
ASC(order)
]
};
}
if (adapter.tables[`${tableName}${adapter.relationshipsSuffix}`] && withTabledFields.rels) {
result.with._rels = {
columns: {
id: false,
parent: false
},
orderBy: ({ order }, { asc: ASC })=>[
ASC(order)
]
};
}
if (adapter.tables[`${tableName}${adapter.localesSuffix}`] && (!select || Object.keys(_locales.columns).length > 1)) {
result.with._locales = _locales;
}
// Delete properties that are empty
for (const key of Object.keys(result)){
if (!Object.keys(result[key]).length) {
delete result[key];
}
}
return result;
};
//# sourceMappingURL=buildFindManyArgs.js.map