@payloadcms/ui 3.73.0-internal.f0458fb → 3.73.0-internal.ff401d9
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.
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +5 -1
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +3 -3
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.js +2 -1
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsertPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/upsertPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7E,KAAK,aAAa,CAAC,CAAC,IAAI;IACtB,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CACtB,CAAA;AAED,KAAK,YAAY,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAA;AAQ5E,eAAO,MAAM,cAAc,GAClB,CAAC,OACD,MAAM,WACF,OAAO,UACR,qBAAqB,YACnB,MAAM,KACf,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CA+B5B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,oDAK/E;IACD,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,KAAK,CAAC,CAAA;IACnF,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,EAAE,CAAC,CAAA;CACT,KAAG,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"upsertPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/upsertPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7E,KAAK,aAAa,CAAC,CAAC,IAAI;IACtB,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CACtB,CAAA;AAED,KAAK,YAAY,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAA;AAQ5E,eAAO,MAAM,cAAc,GAClB,CAAC,OACD,MAAM,WACF,OAAO,UACR,qBAAqB,YACnB,MAAM,KACf,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CA+B5B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,oDAK/E;IACD,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,KAAK,CAAC,CAAA;IACnF,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,EAAE,CAAC,CAAA;CACT,KAAG,OAAO,CAAC,CAAC,CA0DZ,CAAA"}
|
|
@@ -46,7 +46,7 @@ export const upsertPreferences = async ({
|
|
|
46
46
|
const existingPrefs = req.user ? await getPreferences(key, req.payload, req.user.id, req.user.collection) : {};
|
|
47
47
|
let newPrefs = existingPrefs?.value;
|
|
48
48
|
if (!existingPrefs?.id) {
|
|
49
|
-
await req.payload.create({
|
|
49
|
+
const createdPrefs = await req.payload.create({
|
|
50
50
|
collection: 'payload-preferences',
|
|
51
51
|
data: {
|
|
52
52
|
key,
|
|
@@ -60,6 +60,7 @@ export const upsertPreferences = async ({
|
|
|
60
60
|
disableTransaction: true,
|
|
61
61
|
user: req.user
|
|
62
62
|
});
|
|
63
|
+
return createdPrefs.value;
|
|
63
64
|
} else {
|
|
64
65
|
let mergedPrefs;
|
|
65
66
|
if (typeof customMerge === 'function') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsertPreferences.js","names":["dequal","cache","removeUndefined","defaultMerge","existingValue","incomingValue","getPreferences","key","payload","userID","userSlug","result","find","collection","depth","limit","pagination","where","and","equals","then","res","docs","upsertPreferences","customMerge","req","value","existingPrefs","user","id","newPrefs","create","data","disableTransaction","mergedPrefs","update"],"sources":["../../src/utilities/upsertPreferences.ts"],"sourcesContent":["import type { DefaultDocumentIDType, Payload, PayloadRequest } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { cache } from 'react'\n\nimport { removeUndefined } from './removeUndefined.js'\n\ntype PreferenceDoc<T> = {\n id: DefaultDocumentIDType | undefined\n value?: T | undefined\n}\n\ntype DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) => T\n\nconst defaultMerge: DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) =>\n ({\n ...(typeof existingValue === 'object' ? existingValue : {}), // Shallow merge existing prefs to acquire any missing keys from incoming value\n ...removeUndefined(incomingValue || {}),\n }) as T\n\nexport const getPreferences = cache(\n async <T>(\n key: string,\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n ): Promise<PreferenceDoc<T>> => {\n const result = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: key,\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n .then((res) => res.docs?.[0])) as { id: DefaultDocumentIDType; value: T }\n\n return result\n },\n)\n\n/**\n * Will update the given preferences by key, creating a new record if it doesn't already exist, or merging existing preferences with the new value.\n * This is not possible to do with the existing `db.upsert` operation because it stores on the `value` key and does not perform a deep merge beyond the first level.\n * I.e. if you have a preferences record with a `value` key, `db.upsert` will overwrite the existing value. In the future if this supported we should use that instead.\n * @param req - The PayloadRequest object\n * @param key - The key of the preferences to update\n * @param value - The new value to merge with the existing preferences\n */\nexport const upsertPreferences = async <T extends Record<string, unknown> | string>({\n customMerge,\n key,\n req,\n value: incomingValue,\n}: {\n customMerge?: (existingValue: T, incomingValue: T, defaultMerge: DefaultMerge) => T\n key: string\n req: PayloadRequest\n value: T\n}): Promise<T> => {\n const existingPrefs: PreferenceDoc<T> = req.user\n ? await getPreferences<T>(key, req.payload, req.user.id, req.user.collection)\n : ({} as PreferenceDoc<T>)\n\n let newPrefs = existingPrefs?.value\n\n if (!existingPrefs?.id) {\n await req.payload.create({\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: incomingValue,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n } else {\n let mergedPrefs: T\n\n if (typeof customMerge === 'function') {\n mergedPrefs = customMerge(existingPrefs.value, incomingValue, defaultMerge)\n } else {\n // Strings are valid JSON, i.e. `locale` saved as a string to the locale preferences\n mergedPrefs =\n typeof incomingValue === 'object'\n ? defaultMerge<T>(existingPrefs.value, incomingValue)\n : incomingValue\n }\n\n if (!dequal(mergedPrefs, existingPrefs.value)) {\n newPrefs = await req.payload\n .update({\n id: existingPrefs.id,\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n ?.then((res) => res.value)\n }\n }\n\n return newPrefs\n}\n"],"mappings":"AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,KAAK,QAAQ;AAEtB,SAASC,eAAe,QAAQ;AAShC,MAAMC,YAAA,GAA6BA,CAAIC,aAAA,EAAkBC,aAAA,MACtD;EACC,IAAI,OAAOD,aAAA,KAAkB,WAAWA,aAAA,GAAgB,CAAC,CAAC;EAC1D,GAAGF,eAAA,CAAgBG,aAAA,IAAiB,CAAC;AACvC;AAEF,OAAO,MAAMC,cAAA,GAAiBL,KAAA,CAC5B,OACEM,GAAA,EACAC,OAAA,EACAC,MAAA,EACAC,QAAA;EAEA,MAAMC,MAAA,GAAU,MAAMH,OAAA,CACnBI,IAAI,CAAC;IACJC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZC,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEX,GAAA,EAAK;UACHY,MAAA,EAAQZ;QACV;MACF,GACA;QACE,mBAAmB;UACjBY,MAAA,EAAQT;QACV;MACF,GACA;QACE,cAAc;UACZS,MAAA,EAAQV;QACV;MACF;IAEJ;EACF,GACCW,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,IAAI,GAAG,EAAE;EAE9B,OAAOX,MAAA;AACT;AAGF;;;;;;;;AAQA,OAAO,MAAMY,iBAAA,GAAoB,MAAAA,CAAmD;EAClFC,WAAW;EACXjB,GAAG;EACHkB,GAAG;EACHC,KAAA,EAAOrB;AAAa,CAMrB;EACC,MAAMsB,aAAA,GAAkCF,GAAA,CAAIG,IAAI,GAC5C,MAAMtB,cAAA,CAAkBC,GAAA,EAAKkB,GAAA,CAAIjB,OAAO,EAAEiB,GAAA,CAAIG,IAAI,CAACC,EAAE,EAAEJ,GAAA,CAAIG,IAAI,CAACf,UAAU,IACzE,CAAC;EAEN,IAAIiB,QAAA,GAAWH,aAAA,EAAeD,KAAA;EAE9B,IAAI,CAACC,aAAA,EAAeE,EAAA,EAAI;IACtB,
|
|
1
|
+
{"version":3,"file":"upsertPreferences.js","names":["dequal","cache","removeUndefined","defaultMerge","existingValue","incomingValue","getPreferences","key","payload","userID","userSlug","result","find","collection","depth","limit","pagination","where","and","equals","then","res","docs","upsertPreferences","customMerge","req","value","existingPrefs","user","id","newPrefs","createdPrefs","create","data","disableTransaction","mergedPrefs","update"],"sources":["../../src/utilities/upsertPreferences.ts"],"sourcesContent":["import type { DefaultDocumentIDType, Payload, PayloadRequest } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { cache } from 'react'\n\nimport { removeUndefined } from './removeUndefined.js'\n\ntype PreferenceDoc<T> = {\n id: DefaultDocumentIDType | undefined\n value?: T | undefined\n}\n\ntype DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) => T\n\nconst defaultMerge: DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) =>\n ({\n ...(typeof existingValue === 'object' ? existingValue : {}), // Shallow merge existing prefs to acquire any missing keys from incoming value\n ...removeUndefined(incomingValue || {}),\n }) as T\n\nexport const getPreferences = cache(\n async <T>(\n key: string,\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n ): Promise<PreferenceDoc<T>> => {\n const result = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: key,\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n .then((res) => res.docs?.[0])) as { id: DefaultDocumentIDType; value: T }\n\n return result\n },\n)\n\n/**\n * Will update the given preferences by key, creating a new record if it doesn't already exist, or merging existing preferences with the new value.\n * This is not possible to do with the existing `db.upsert` operation because it stores on the `value` key and does not perform a deep merge beyond the first level.\n * I.e. if you have a preferences record with a `value` key, `db.upsert` will overwrite the existing value. In the future if this supported we should use that instead.\n * @param req - The PayloadRequest object\n * @param key - The key of the preferences to update\n * @param value - The new value to merge with the existing preferences\n */\nexport const upsertPreferences = async <T extends Record<string, unknown> | string>({\n customMerge,\n key,\n req,\n value: incomingValue,\n}: {\n customMerge?: (existingValue: T, incomingValue: T, defaultMerge: DefaultMerge) => T\n key: string\n req: PayloadRequest\n value: T\n}): Promise<T> => {\n const existingPrefs: PreferenceDoc<T> = req.user\n ? await getPreferences<T>(key, req.payload, req.user.id, req.user.collection)\n : ({} as PreferenceDoc<T>)\n\n let newPrefs = existingPrefs?.value\n\n if (!existingPrefs?.id) {\n const createdPrefs = await req.payload.create({\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: incomingValue,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n return createdPrefs.value\n } else {\n let mergedPrefs: T\n\n if (typeof customMerge === 'function') {\n mergedPrefs = customMerge(existingPrefs.value, incomingValue, defaultMerge)\n } else {\n // Strings are valid JSON, i.e. `locale` saved as a string to the locale preferences\n mergedPrefs =\n typeof incomingValue === 'object'\n ? defaultMerge<T>(existingPrefs.value, incomingValue)\n : incomingValue\n }\n\n if (!dequal(mergedPrefs, existingPrefs.value)) {\n newPrefs = await req.payload\n .update({\n id: existingPrefs.id,\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n ?.then((res) => res.value)\n }\n }\n\n return newPrefs\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.73.0-internal.
|
|
3
|
+
"version": "3.73.0-internal.ff401d9",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"ts-essentials": "10.0.3",
|
|
137
137
|
"use-context-selector": "2.0.0",
|
|
138
138
|
"uuid": "10.0.0",
|
|
139
|
-
"@payloadcms/translations": "3.73.0-internal.
|
|
139
|
+
"@payloadcms/translations": "3.73.0-internal.ff401d9"
|
|
140
140
|
},
|
|
141
141
|
"devDependencies": {
|
|
142
142
|
"@babel/cli": "7.27.2",
|
|
@@ -152,13 +152,13 @@
|
|
|
152
152
|
"esbuild": "0.27.1",
|
|
153
153
|
"esbuild-sass-plugin": "3.3.1",
|
|
154
154
|
"@payloadcms/eslint-config": "3.28.0",
|
|
155
|
-
"payload": "3.73.0-internal.
|
|
155
|
+
"payload": "3.73.0-internal.ff401d9"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
158
|
"next": "^15.2.8 || ^15.3.8 || ^15.4.10 || ^15.5.9 || >=16.1.1-canary.35 <16.2.0 || ^16.2.0",
|
|
159
159
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
160
160
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
161
|
-
"payload": "3.73.0-internal.
|
|
161
|
+
"payload": "3.73.0-internal.ff401d9"
|
|
162
162
|
},
|
|
163
163
|
"engines": {
|
|
164
164
|
"node": "^18.20.2 || >=20.9.0"
|