@payloadcms/drizzle 3.59.0-canary.5 → 3.59.0-canary.6
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":"findDistinct.d.ts","sourceRoot":"","sources":["../src/findDistinct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAkD,MAAM,SAAS,CAAA;AAU3F,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"findDistinct.d.ts","sourceRoot":"","sources":["../src/findDistinct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAkD,MAAM,SAAS,CAAA;AAU3F,eAAO,MAAM,YAAY,EAAE,YAsH1B,CAAA"}
|
package/dist/findDistinct.js
CHANGED
|
@@ -53,7 +53,9 @@ export const findDistinct = async function(args) {
|
|
|
53
53
|
where
|
|
54
54
|
});
|
|
55
55
|
const field = getFieldByPath({
|
|
56
|
+
config: this.payload.config,
|
|
56
57
|
fields: collectionConfig.flattenedFields,
|
|
58
|
+
includeRelationships: true,
|
|
57
59
|
path: args.field
|
|
58
60
|
})?.field;
|
|
59
61
|
if (field && 'relationTo' in field && Array.isArray(field.relationTo)) {
|
package/dist/findDistinct.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/findDistinct.ts"],"sourcesContent":["import { type FindDistinct, getFieldByPath, type SanitizedCollectionConfig } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter, GenericColumn } from './types.js'\n\nimport { buildQuery } from './queries/buildQuery.js'\nimport { selectDistinct } from './queries/selectDistinct.js'\nimport { getTransaction } from './utilities/getTransaction.js'\nimport { DistinctSymbol } from './utilities/rawConstraint.js'\n\nexport const findDistinct: FindDistinct = async function (this: DrizzleAdapter, args) {\n const db = await getTransaction(this, args.req)\n const collectionConfig: SanitizedCollectionConfig =\n this.payload.collections[args.collection].config\n const page = args.page || 1\n const offset = args.limit ? (page - 1) * args.limit : undefined\n const tableName = this.tableNameMap.get(toSnakeCase(collectionConfig.slug))\n\n const { joins, orderBy, selectFields, where } = buildQuery({\n adapter: this,\n fields: collectionConfig.flattenedFields,\n locale: args.locale,\n sort: args.sort ?? args.field,\n tableName,\n where: {\n and: [\n args.where ?? {},\n {\n [args.field]: {\n equals: DistinctSymbol,\n },\n },\n ],\n },\n })\n\n orderBy.pop()\n\n const selectDistinctResult = await selectDistinct({\n adapter: this,\n db,\n forceRun: true,\n joins,\n query: ({ query }) => {\n query = query.orderBy(() => orderBy.map(({ column, order }) => order(column)))\n\n if (args.limit) {\n if (offset) {\n query = query.offset(offset)\n }\n\n query = query.limit(args.limit)\n }\n\n return query\n },\n selectFields: {\n _selected: selectFields['_selected'],\n ...(orderBy.length &&\n (orderBy[0].column === selectFields['_selected'] ? {} : { _order: orderBy[0]?.column })),\n } as Record<string, GenericColumn>,\n tableName,\n where,\n })\n\n const field = getFieldByPath({\n fields: collectionConfig.flattenedFields,\n path: args.field,\n })?.field\n\n if (field && 'relationTo' in field && Array.isArray(field.relationTo)) {\n for (const row of selectDistinctResult as any) {\n const json = JSON.parse(row._selected)\n const relationTo = Object.keys(json).find((each) => Boolean(json[each]))\n const value = json[relationTo]\n\n if (!value) {\n row._selected = null\n } else {\n row._selected = { relationTo, value }\n }\n }\n }\n\n const values = selectDistinctResult.map((each) => ({\n [args.field]: (each as Record<string, any>)._selected,\n }))\n\n if (args.limit) {\n const totalDocs = await this.countDistinct({\n column: selectFields['_selected'],\n db,\n joins,\n tableName,\n where,\n })\n\n const totalPages = Math.ceil(totalDocs / args.limit)\n const hasPrevPage = page > 1\n const hasNextPage = totalPages > page\n const pagingCounter = (page - 1) * args.limit + 1\n\n return {\n hasNextPage,\n hasPrevPage,\n limit: args.limit,\n nextPage: hasNextPage ? page + 1 : null,\n page,\n pagingCounter,\n prevPage: hasPrevPage ? page - 1 : null,\n totalDocs,\n totalPages,\n values,\n }\n }\n\n return {\n hasNextPage: false,\n hasPrevPage: false,\n limit: 0,\n page: 1,\n pagingCounter: 1,\n totalDocs: values.length,\n totalPages: 1,\n values,\n }\n}\n"],"names":["getFieldByPath","toSnakeCase","buildQuery","selectDistinct","getTransaction","DistinctSymbol","findDistinct","args","db","req","collectionConfig","payload","collections","collection","config","page","offset","limit","undefined","tableName","tableNameMap","get","slug","joins","orderBy","selectFields","where","adapter","fields","flattenedFields","locale","sort","field","and","equals","pop","selectDistinctResult","forceRun","query","map","column","order","_selected","length","_order","path","Array","isArray","relationTo","row","json","JSON","parse","Object","keys","find","each","Boolean","value","values","totalDocs","countDistinct","totalPages","Math","ceil","hasPrevPage","hasNextPage","pagingCounter","nextPage","prevPage"],"mappings":"AAAA,SAA4BA,cAAc,QAAwC,UAAS;AAC3F,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,UAAU,QAAQ,0BAAyB;AACpD,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,cAAc,QAAQ,+BAA8B;AAE7D,OAAO,MAAMC,eAA6B,eAAsCC,IAAI;IAClF,MAAMC,KAAK,MAAMJ,eAAe,IAAI,EAAEG,KAAKE,GAAG;IAC9C,MAAMC,mBACJ,IAAI,CAACC,OAAO,CAACC,WAAW,CAACL,KAAKM,UAAU,CAAC,CAACC,MAAM;IAClD,MAAMC,OAAOR,KAAKQ,IAAI,IAAI;IAC1B,MAAMC,SAAST,KAAKU,KAAK,GAAG,AAACF,CAAAA,OAAO,CAAA,IAAKR,KAAKU,KAAK,GAAGC;IACtD,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACpB,YAAYS,iBAAiBY,IAAI;IAEzE,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAEC,YAAY,EAAEC,KAAK,EAAE,GAAGxB,WAAW;QACzDyB,SAAS,IAAI;QACbC,QAAQlB,iBAAiBmB,eAAe;QACxCC,QAAQvB,KAAKuB,MAAM;QACnBC,MAAMxB,KAAKwB,IAAI,IAAIxB,KAAKyB,KAAK;QAC7Bb;QACAO,OAAO;YACLO,KAAK;gBACH1B,KAAKmB,KAAK,IAAI,CAAC;gBACf;oBACE,CAACnB,KAAKyB,KAAK,CAAC,EAAE;wBACZE,QAAQ7B;oBACV;gBACF;aACD;QACH;IACF;IAEAmB,QAAQW,GAAG;IAEX,MAAMC,uBAAuB,MAAMjC,eAAe;QAChDwB,SAAS,IAAI;QACbnB;QACA6B,UAAU;QACVd;QACAe,OAAO,CAAC,EAAEA,KAAK,EAAE;YACfA,QAAQA,MAAMd,OAAO,CAAC,IAAMA,QAAQe,GAAG,CAAC,CAAC,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAKA,MAAMD;YAErE,IAAIjC,KAAKU,KAAK,EAAE;gBACd,IAAID,QAAQ;oBACVsB,QAAQA,MAAMtB,MAAM,CAACA;gBACvB;gBAEAsB,QAAQA,MAAMrB,KAAK,CAACV,KAAKU,KAAK;YAChC;YAEA,OAAOqB;QACT;QACAb,cAAc;YACZiB,WAAWjB,YAAY,CAAC,YAAY;YACpC,GAAID,QAAQmB,MAAM,IACfnB,CAAAA,OAAO,CAAC,EAAE,CAACgB,MAAM,KAAKf,YAAY,CAAC,YAAY,GAAG,CAAC,IAAI;gBAAEmB,QAAQpB,OAAO,CAAC,EAAE,EAAEgB;YAAO,CAAA,CAAE;QAC3F;QACArB;QACAO;IACF;IAEA,MAAMM,QAAQhC,eAAe;
|
|
1
|
+
{"version":3,"sources":["../src/findDistinct.ts"],"sourcesContent":["import { type FindDistinct, getFieldByPath, type SanitizedCollectionConfig } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter, GenericColumn } from './types.js'\n\nimport { buildQuery } from './queries/buildQuery.js'\nimport { selectDistinct } from './queries/selectDistinct.js'\nimport { getTransaction } from './utilities/getTransaction.js'\nimport { DistinctSymbol } from './utilities/rawConstraint.js'\n\nexport const findDistinct: FindDistinct = async function (this: DrizzleAdapter, args) {\n const db = await getTransaction(this, args.req)\n const collectionConfig: SanitizedCollectionConfig =\n this.payload.collections[args.collection].config\n const page = args.page || 1\n const offset = args.limit ? (page - 1) * args.limit : undefined\n const tableName = this.tableNameMap.get(toSnakeCase(collectionConfig.slug))\n\n const { joins, orderBy, selectFields, where } = buildQuery({\n adapter: this,\n fields: collectionConfig.flattenedFields,\n locale: args.locale,\n sort: args.sort ?? args.field,\n tableName,\n where: {\n and: [\n args.where ?? {},\n {\n [args.field]: {\n equals: DistinctSymbol,\n },\n },\n ],\n },\n })\n\n orderBy.pop()\n\n const selectDistinctResult = await selectDistinct({\n adapter: this,\n db,\n forceRun: true,\n joins,\n query: ({ query }) => {\n query = query.orderBy(() => orderBy.map(({ column, order }) => order(column)))\n\n if (args.limit) {\n if (offset) {\n query = query.offset(offset)\n }\n\n query = query.limit(args.limit)\n }\n\n return query\n },\n selectFields: {\n _selected: selectFields['_selected'],\n ...(orderBy.length &&\n (orderBy[0].column === selectFields['_selected'] ? {} : { _order: orderBy[0]?.column })),\n } as Record<string, GenericColumn>,\n tableName,\n where,\n })\n\n const field = getFieldByPath({\n config: this.payload.config,\n fields: collectionConfig.flattenedFields,\n includeRelationships: true,\n path: args.field,\n })?.field\n\n if (field && 'relationTo' in field && Array.isArray(field.relationTo)) {\n for (const row of selectDistinctResult as any) {\n const json = JSON.parse(row._selected)\n const relationTo = Object.keys(json).find((each) => Boolean(json[each]))\n const value = json[relationTo]\n\n if (!value) {\n row._selected = null\n } else {\n row._selected = { relationTo, value }\n }\n }\n }\n\n const values = selectDistinctResult.map((each) => ({\n [args.field]: (each as Record<string, any>)._selected,\n }))\n\n if (args.limit) {\n const totalDocs = await this.countDistinct({\n column: selectFields['_selected'],\n db,\n joins,\n tableName,\n where,\n })\n\n const totalPages = Math.ceil(totalDocs / args.limit)\n const hasPrevPage = page > 1\n const hasNextPage = totalPages > page\n const pagingCounter = (page - 1) * args.limit + 1\n\n return {\n hasNextPage,\n hasPrevPage,\n limit: args.limit,\n nextPage: hasNextPage ? page + 1 : null,\n page,\n pagingCounter,\n prevPage: hasPrevPage ? page - 1 : null,\n totalDocs,\n totalPages,\n values,\n }\n }\n\n return {\n hasNextPage: false,\n hasPrevPage: false,\n limit: 0,\n page: 1,\n pagingCounter: 1,\n totalDocs: values.length,\n totalPages: 1,\n values,\n }\n}\n"],"names":["getFieldByPath","toSnakeCase","buildQuery","selectDistinct","getTransaction","DistinctSymbol","findDistinct","args","db","req","collectionConfig","payload","collections","collection","config","page","offset","limit","undefined","tableName","tableNameMap","get","slug","joins","orderBy","selectFields","where","adapter","fields","flattenedFields","locale","sort","field","and","equals","pop","selectDistinctResult","forceRun","query","map","column","order","_selected","length","_order","includeRelationships","path","Array","isArray","relationTo","row","json","JSON","parse","Object","keys","find","each","Boolean","value","values","totalDocs","countDistinct","totalPages","Math","ceil","hasPrevPage","hasNextPage","pagingCounter","nextPage","prevPage"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/drizzle",
|
|
3
|
-
"version": "3.59.0-canary.
|
|
3
|
+
"version": "3.59.0-canary.6",
|
|
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.59.0-canary.
|
|
63
|
+
"payload": "3.59.0-canary.6"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"payload": "3.59.0-canary.
|
|
66
|
+
"payload": "3.59.0-canary.6"
|
|
67
67
|
},
|
|
68
68
|
"scripts": {
|
|
69
69
|
"build": "pnpm build:swc && pnpm build:types",
|