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
26 lines
841 B
Plaintext
26 lines
841 B
Plaintext
import toSnakeCase from 'to-snake-case';
|
|
import { buildQuery } from './queries/buildQuery.js';
|
|
import { getTransaction } from './utilities/getTransaction.js';
|
|
export const count = async function count({ collection, locale, req, where: whereArg }) {
|
|
const collectionConfig = this.payload.collections[collection].config;
|
|
const tableName = this.tableNameMap.get(toSnakeCase(collectionConfig.slug));
|
|
const { joins, where } = buildQuery({
|
|
adapter: this,
|
|
fields: collectionConfig.flattenedFields,
|
|
locale,
|
|
tableName,
|
|
where: whereArg
|
|
});
|
|
const db = await getTransaction(this, req);
|
|
const countResult = await this.countDistinct({
|
|
db,
|
|
joins,
|
|
tableName,
|
|
where
|
|
});
|
|
return {
|
|
totalDocs: countResult
|
|
};
|
|
};
|
|
|
|
//# sourceMappingURL=count.js.map |