payload 3.80.0-internal.cee0ccf → 3.80.0
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/auth/endpoints/forgotPassword.d.ts.map +1 -1
- package/dist/auth/endpoints/forgotPassword.js +0 -2
- package/dist/auth/endpoints/forgotPassword.js.map +1 -1
- package/dist/auth/extractJWT.d.ts.map +1 -1
- package/dist/auth/extractJWT.js +18 -4
- package/dist/auth/extractJWT.js.map +1 -1
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +5 -4
- package/dist/auth/operations/forgotPassword.js.map +1 -1
- package/dist/auth/operations/me.js +5 -5
- package/dist/auth/operations/me.js.map +1 -1
- package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.js +5 -4
- package/dist/auth/sendVerificationEmail.js.map +1 -1
- package/dist/collections/operations/update.js +1 -1
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/utilities/update.d.ts.map +1 -1
- package/dist/collections/operations/utilities/update.js +2 -1
- package/dist/collections/operations/utilities/update.js.map +1 -1
- package/dist/config/orderable/index.d.ts +2 -2
- package/dist/config/orderable/index.d.ts.map +1 -1
- package/dist/config/orderable/index.js +60 -34
- package/dist/config/orderable/index.js.map +1 -1
- package/dist/config/orderable/utils/buildJoinScopeWhere.d.ts +10 -0
- package/dist/config/orderable/utils/buildJoinScopeWhere.d.ts.map +1 -0
- package/dist/config/orderable/utils/buildJoinScopeWhere.js +43 -0
- package/dist/config/orderable/utils/buildJoinScopeWhere.js.map +1 -0
- package/dist/config/orderable/utils/getJoinScopeContext.d.ts +16 -0
- package/dist/config/orderable/utils/getJoinScopeContext.d.ts.map +1 -0
- package/dist/config/orderable/utils/getJoinScopeContext.js +42 -0
- package/dist/config/orderable/utils/getJoinScopeContext.js.map +1 -0
- package/dist/config/orderable/utils/getJoinScopeWhereFromDocData.d.ts +12 -0
- package/dist/config/orderable/utils/getJoinScopeWhereFromDocData.d.ts.map +1 -0
- package/dist/config/orderable/utils/getJoinScopeWhereFromDocData.js +18 -0
- package/dist/config/orderable/utils/getJoinScopeWhereFromDocData.js.map +1 -0
- package/dist/config/orderable/utils/getValueAtPath.d.ts +5 -0
- package/dist/config/orderable/utils/getValueAtPath.d.ts.map +1 -0
- package/dist/config/orderable/utils/getValueAtPath.js +18 -0
- package/dist/config/orderable/utils/getValueAtPath.js.map +1 -0
- package/dist/config/orderable/utils/resolvePendingTargetKey.d.ts +13 -0
- package/dist/config/orderable/utils/resolvePendingTargetKey.d.ts.map +1 -0
- package/dist/config/orderable/utils/resolvePendingTargetKey.js +24 -0
- package/dist/config/orderable/utils/resolvePendingTargetKey.js.map +1 -0
- package/dist/config/types.d.ts +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/database/getLocalizedPaths.d.ts.map +1 -1
- package/dist/database/getLocalizedPaths.js +2 -1
- package/dist/database/getLocalizedPaths.js.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +2 -1
- package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
- package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
- package/dist/database/sanitizeJoinQuery.js +6 -0
- package/dist/database/sanitizeJoinQuery.js.map +1 -1
- package/dist/database/types.d.ts +0 -1
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/exports/shared.d.ts +1 -0
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +1 -0
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/baseFields/slug/index.d.ts +7 -0
- package/dist/fields/baseFields/slug/index.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/index.js +2 -2
- package/dist/fields/baseFields/slug/index.js.map +1 -1
- package/dist/fields/validations.js +1 -1
- package/dist/fields/validations.js.map +1 -1
- package/dist/fields/validations.spec.js +25 -0
- package/dist/fields/validations.spec.js.map +1 -1
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +2 -1
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/index.bundled.d.ts +16 -13
- package/dist/index.d.ts +1 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -10
- package/dist/index.js.map +1 -1
- package/dist/queues/localAPI.d.ts +0 -1
- package/dist/queues/localAPI.d.ts.map +1 -1
- package/dist/queues/localAPI.js +0 -4
- package/dist/queues/localAPI.js.map +1 -1
- package/dist/queues/operations/runJobs/index.d.ts +0 -1
- package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/index.js +1 -96
- package/dist/queues/operations/runJobs/index.js.map +1 -1
- package/dist/queues/utilities/updateJob.d.ts +1 -2
- package/dist/queues/utilities/updateJob.d.ts.map +1 -1
- package/dist/queues/utilities/updateJob.js +31 -92
- package/dist/queues/utilities/updateJob.js.map +1 -1
- package/dist/types/constants.d.ts +5 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/constants.js +4 -0
- package/dist/types/constants.js.map +1 -1
- package/dist/uploads/endpoints/getFile.d.ts.map +1 -1
- package/dist/uploads/endpoints/getFile.js +7 -1
- package/dist/uploads/endpoints/getFile.js.map +1 -1
- package/dist/uploads/endpoints/getFileFromURL.d.ts.map +1 -1
- package/dist/uploads/endpoints/getFileFromURL.js +67 -28
- package/dist/uploads/endpoints/getFileFromURL.js.map +1 -1
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.js +3 -0
- package/dist/uploads/getExternalFile.js.map +1 -1
- package/dist/uploads/safeFetch.d.ts +1 -1
- package/dist/uploads/safeFetch.d.ts.map +1 -1
- package/dist/uploads/safeFetch.js.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js +7 -1
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts +7 -3
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +23 -33
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/configToJSONSchema.spec.js +75 -1
- package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
- package/dist/utilities/getRequestOrigin.d.ts +10 -0
- package/dist/utilities/getRequestOrigin.d.ts.map +1 -0
- package/dist/utilities/getRequestOrigin.js +50 -0
- package/dist/utilities/getRequestOrigin.js.map +1 -0
- package/dist/utilities/getRequestOrigin.spec.js +151 -0
- package/dist/utilities/getRequestOrigin.spec.js.map +1 -0
- package/dist/utilities/sanitizeUrl.d.ts +7 -0
- package/dist/utilities/sanitizeUrl.d.ts.map +1 -0
- package/dist/utilities/sanitizeUrl.js +28 -0
- package/dist/utilities/sanitizeUrl.js.map +1 -0
- package/dist/versions/saveVersion.d.ts +1 -0
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +16 -66
- package/dist/versions/saveVersion.js.map +1 -1
- package/dist/versions/updateLatestVersion.d.ts +24 -0
- package/dist/versions/updateLatestVersion.d.ts.map +1 -0
- package/dist/versions/updateLatestVersion.js +64 -0
- package/dist/versions/updateLatestVersion.js.map +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/versions/saveVersion.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { CreateGlobalVersionArgs, CreateVersionArgs, Payload } from '../index.js'\nimport type { JsonObject, PayloadRequest, SelectType } from '../types/index.js'\n\nimport { deepCopyObjectSimple } from '../index.js'\nimport { getVersionsMax } from '../utilities/getVersionsConfig.js'\nimport { sanitizeInternalFields } from '../utilities/sanitizeInternalFields.js'\nimport { getQueryDraftsSelect } from './drafts/getQueryDraftsSelect.js'\nimport { enforceMaxVersions } from './enforceMaxVersions.js'\nimport { saveSnapshot } from './saveSnapshot.js'\n\ntype Args<T extends JsonObject = JsonObject> = {\n autosave?: boolean\n collection?: SanitizedCollectionConfig\n docWithLocales: T\n draft?: boolean\n global?: SanitizedGlobalConfig\n id?: number | string\n operation?: 'create' | 'restoreVersion' | 'update'\n payload: Payload\n publishSpecificLocale?: string\n req?: PayloadRequest\n returning?: boolean\n select?: SelectType\n snapshot?: any\n}\n\nexport async function saveVersion<TData extends JsonObject = JsonObject>(\n args: { returning: false } & Args<TData>,\n): Promise<null>\nexport async function saveVersion<TData extends JsonObject = JsonObject>(\n args: { returning: true } & Args<TData>,\n): Promise<JsonObject>\nexport async function saveVersion<TData extends JsonObject = JsonObject>(\n args: Omit<Args<TData>, 'returning'>,\n): Promise<JsonObject>\nexport async function saveVersion<TData extends JsonObject = JsonObject>({\n id,\n autosave,\n collection,\n docWithLocales,\n draft,\n global,\n operation,\n payload,\n publishSpecificLocale,\n req,\n returning,\n select,\n snapshot,\n}: Args<TData>): Promise<JsonObject | null> {\n let result: JsonObject | undefined\n let createNewVersion = true\n const now = new Date().toISOString()\n const versionData: {\n _status?: 'draft'\n updatedAt?: string\n } & TData = deepCopyObjectSimple(docWithLocales)\n\n if ((collection?.timestamps || global) && draft) {\n versionData.updatedAt = now\n }\n\n if (versionData._id) {\n delete versionData._id\n }\n\n try {\n if (autosave) {\n let docs\n const findVersionArgs = {\n limit: 1,\n pagination: false,\n req,\n sort: '-updatedAt',\n }\n\n if (collection) {\n ;({ docs } = await payload.db.findVersions<TData>({\n ...findVersionArgs,\n collection: collection.slug,\n limit: 1,\n pagination: false,\n req,\n where: {\n parent: {\n equals: id,\n },\n },\n }))\n } else {\n ;({ docs } = await payload.db.findGlobalVersions<TData>({\n ...findVersionArgs,\n global: global!.slug,\n limit: 1,\n pagination: false,\n req,\n }))\n }\n const [latestVersion] = docs\n\n // overwrite the latest version if it's set to autosave\n if (latestVersion && 'autosave' in latestVersion && latestVersion.autosave === true) {\n createNewVersion = false\n\n const updateVersionArgs = {\n id: latestVersion.id,\n req,\n versionData: {\n createdAt: new Date(latestVersion.createdAt).toISOString(),\n latest: true,\n parent: id,\n updatedAt: now,\n version: {\n ...versionData,\n },\n },\n }\n\n if (collection) {\n result = await payload.db.updateVersion<TData>({\n ...updateVersionArgs,\n collection: collection.slug,\n req,\n })\n } else {\n result = await payload.db.updateGlobalVersion<TData>({\n ...updateVersionArgs,\n global: global!.slug,\n req,\n })\n }\n }\n }\n\n if (createNewVersion) {\n const createVersionArgs = {\n autosave: Boolean(autosave),\n collectionSlug: undefined as string | undefined,\n createdAt: operation === 'restoreVersion' ? versionData.createdAt : now,\n globalSlug: undefined as string | undefined,\n parent: collection ? id : undefined,\n publishedLocale: publishSpecificLocale || undefined,\n req,\n returning,\n select: getQueryDraftsSelect({ select }),\n updatedAt: now,\n versionData,\n }\n\n if (collection) {\n createVersionArgs.collectionSlug = collection.slug\n result = await payload.db.createVersion(createVersionArgs as CreateVersionArgs)\n }\n\n if (global) {\n createVersionArgs.globalSlug = global.slug\n result = await payload.db.createGlobalVersion(createVersionArgs as CreateGlobalVersionArgs)\n }\n\n if (snapshot) {\n await saveSnapshot<TData>({\n id,\n autosave,\n collection,\n data: snapshot,\n global,\n payload,\n publishSpecificLocale,\n req,\n select,\n })\n }\n }\n } catch (err) {\n let errorMessage: string | undefined\n\n if (collection) {\n errorMessage = `There was an error while saving a version for the ${typeof collection.labels.singular === 'string' ? collection.labels.singular : collection.slug} with ID ${id}.`\n }\n if (global) {\n errorMessage = `There was an error while saving a version for the global ${typeof global.label === 'string' ? global.label : global.slug}.`\n }\n payload.logger.error({ err, msg: errorMessage })\n return undefined!\n }\n\n const max = getVersionsMax(collection || global!)\n\n if (createNewVersion && max > 0) {\n await enforceMaxVersions({\n id,\n collection,\n global,\n max,\n payload,\n req,\n })\n }\n if (returning === false) {\n return null\n }\n\n let createdVersion = (result as any).version\n\n createdVersion = sanitizeInternalFields(createdVersion)\n createdVersion.id = (result as any).parent\n\n return createdVersion\n}\n"],"names":["deepCopyObjectSimple","getVersionsMax","sanitizeInternalFields","getQueryDraftsSelect","enforceMaxVersions","saveSnapshot","saveVersion","id","autosave","collection","docWithLocales","draft","global","operation","payload","publishSpecificLocale","req","returning","select","snapshot","result","createNewVersion","now","Date","toISOString","versionData","timestamps","updatedAt","_id","docs","findVersionArgs","limit","pagination","sort","db","findVersions","slug","where","parent","equals","findGlobalVersions","latestVersion","updateVersionArgs","createdAt","latest","version","updateVersion","updateGlobalVersion","createVersionArgs","Boolean","collectionSlug","undefined","globalSlug","publishedLocale","createVersion","createGlobalVersion","data","err","errorMessage","labels","singular","label","logger","error","msg","max","createdVersion"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/versions/saveVersion.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { CreateGlobalVersionArgs, CreateVersionArgs, Payload } from '../index.js'\nimport type { JsonObject, PayloadRequest, SelectType } from '../types/index.js'\n\nimport { deepCopyObjectSimple } from '../index.js'\nimport { getVersionsMax } from '../utilities/getVersionsConfig.js'\nimport { sanitizeInternalFields } from '../utilities/sanitizeInternalFields.js'\nimport { getQueryDraftsSelect } from './drafts/getQueryDraftsSelect.js'\nimport { enforceMaxVersions } from './enforceMaxVersions.js'\nimport { saveSnapshot } from './saveSnapshot.js'\nimport { updateLatestVersion } from './updateLatestVersion.js'\n\ntype Args<T extends JsonObject = JsonObject> = {\n autosave?: boolean\n collection?: SanitizedCollectionConfig\n docWithLocales: T\n draft?: boolean\n global?: SanitizedGlobalConfig\n id?: number | string\n operation?: 'create' | 'restoreVersion' | 'update'\n payload: Payload\n publishSpecificLocale?: string\n req?: PayloadRequest\n returning?: boolean\n select?: SelectType\n snapshot?: any\n unpublish?: boolean\n}\n\nexport async function saveVersion<TData extends JsonObject = JsonObject>(\n args: { returning: false } & Args<TData>,\n): Promise<null>\nexport async function saveVersion<TData extends JsonObject = JsonObject>(\n args: { returning: true } & Args<TData>,\n): Promise<JsonObject>\nexport async function saveVersion<TData extends JsonObject = JsonObject>(\n args: Omit<Args<TData>, 'returning'>,\n): Promise<JsonObject>\nexport async function saveVersion<TData extends JsonObject = JsonObject>({\n id,\n autosave,\n collection,\n docWithLocales,\n draft,\n global,\n operation,\n payload,\n publishSpecificLocale,\n req,\n returning,\n select,\n snapshot,\n unpublish,\n}: Args<TData>): Promise<JsonObject | null> {\n let result: JsonObject | undefined\n let createdNewVersion = false\n const now = new Date().toISOString()\n const versionData: {\n _status?: 'draft'\n updatedAt?: string\n } & TData = deepCopyObjectSimple(docWithLocales)\n\n if ((collection?.timestamps || global) && draft) {\n versionData.updatedAt = now\n }\n\n if (versionData._id) {\n delete versionData._id\n }\n\n try {\n if (unpublish || autosave) {\n result = await updateLatestVersion({\n id,\n collection,\n global,\n now,\n payload,\n req,\n shouldUpdate: autosave ? (v) => 'autosave' in v && v.autosave === true : undefined,\n versionData,\n })\n }\n\n if (!result) {\n createdNewVersion = true\n\n const createVersionArgs = {\n autosave: Boolean(autosave),\n collectionSlug: undefined as string | undefined,\n createdAt: operation === 'restoreVersion' ? versionData.createdAt : now,\n globalSlug: undefined as string | undefined,\n parent: collection ? id : undefined,\n publishedLocale: publishSpecificLocale || undefined,\n req,\n returning,\n select: getQueryDraftsSelect({ select }),\n updatedAt: now,\n versionData,\n }\n\n if (collection) {\n createVersionArgs.collectionSlug = collection.slug\n result = await payload.db.createVersion(createVersionArgs as CreateVersionArgs)\n }\n\n if (global) {\n createVersionArgs.globalSlug = global.slug\n result = await payload.db.createGlobalVersion(createVersionArgs as CreateGlobalVersionArgs)\n }\n\n if (snapshot) {\n await saveSnapshot<TData>({\n id,\n autosave,\n collection,\n data: snapshot,\n global,\n payload,\n publishSpecificLocale,\n req,\n select,\n })\n }\n }\n } catch (err) {\n let errorMessage: string | undefined\n\n if (collection) {\n errorMessage = `There was an error while saving a version for the ${typeof collection.labels.singular === 'string' ? collection.labels.singular : collection.slug} with ID ${id}.`\n }\n if (global) {\n errorMessage = `There was an error while saving a version for the global ${typeof global.label === 'string' ? global.label : global.slug}.`\n }\n payload.logger.error({ err, msg: errorMessage })\n return undefined!\n }\n\n const max = getVersionsMax(collection || global!)\n\n if (createdNewVersion && max > 0) {\n await enforceMaxVersions({\n id,\n collection,\n global,\n max,\n payload,\n req,\n })\n }\n if (returning === false) {\n return null\n }\n\n let createdVersion = (result as any).version\n\n createdVersion = sanitizeInternalFields(createdVersion)\n createdVersion.id = (result as any).parent\n\n return createdVersion\n}\n"],"names":["deepCopyObjectSimple","getVersionsMax","sanitizeInternalFields","getQueryDraftsSelect","enforceMaxVersions","saveSnapshot","updateLatestVersion","saveVersion","id","autosave","collection","docWithLocales","draft","global","operation","payload","publishSpecificLocale","req","returning","select","snapshot","unpublish","result","createdNewVersion","now","Date","toISOString","versionData","timestamps","updatedAt","_id","shouldUpdate","v","undefined","createVersionArgs","Boolean","collectionSlug","createdAt","globalSlug","parent","publishedLocale","slug","db","createVersion","createGlobalVersion","data","err","errorMessage","labels","singular","label","logger","error","msg","max","createdVersion","version"],"mappings":"AAKA,SAASA,oBAAoB,QAAQ,cAAa;AAClD,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,sBAAsB,QAAQ,yCAAwC;AAC/E,SAASC,oBAAoB,QAAQ,mCAAkC;AACvE,SAASC,kBAAkB,QAAQ,0BAAyB;AAC5D,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,mBAAmB,QAAQ,2BAA0B;AA4B9D,OAAO,eAAeC,YAAmD,EACvEC,EAAE,EACFC,QAAQ,EACRC,UAAU,EACVC,cAAc,EACdC,KAAK,EACLC,MAAM,EACNC,SAAS,EACTC,OAAO,EACPC,qBAAqB,EACrBC,GAAG,EACHC,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,SAAS,EACG;IACZ,IAAIC;IACJ,IAAIC,oBAAoB;IACxB,MAAMC,MAAM,IAAIC,OAAOC,WAAW;IAClC,MAAMC,cAGM3B,qBAAqBW;IAEjC,IAAI,AAACD,CAAAA,YAAYkB,cAAcf,MAAK,KAAMD,OAAO;QAC/Ce,YAAYE,SAAS,GAAGL;IAC1B;IAEA,IAAIG,YAAYG,GAAG,EAAE;QACnB,OAAOH,YAAYG,GAAG;IACxB;IAEA,IAAI;QACF,IAAIT,aAAaZ,UAAU;YACzBa,SAAS,MAAMhB,oBAAoB;gBACjCE;gBACAE;gBACAG;gBACAW;gBACAT;gBACAE;gBACAc,cAActB,WAAW,CAACuB,IAAM,cAAcA,KAAKA,EAAEvB,QAAQ,KAAK,OAAOwB;gBACzEN;YACF;QACF;QAEA,IAAI,CAACL,QAAQ;YACXC,oBAAoB;YAEpB,MAAMW,oBAAoB;gBACxBzB,UAAU0B,QAAQ1B;gBAClB2B,gBAAgBH;gBAChBI,WAAWvB,cAAc,mBAAmBa,YAAYU,SAAS,GAAGb;gBACpEc,YAAYL;gBACZM,QAAQ7B,aAAaF,KAAKyB;gBAC1BO,iBAAiBxB,yBAAyBiB;gBAC1ChB;gBACAC;gBACAC,QAAQhB,qBAAqB;oBAAEgB;gBAAO;gBACtCU,WAAWL;gBACXG;YACF;YAEA,IAAIjB,YAAY;gBACdwB,kBAAkBE,cAAc,GAAG1B,WAAW+B,IAAI;gBAClDnB,SAAS,MAAMP,QAAQ2B,EAAE,CAACC,aAAa,CAACT;YAC1C;YAEA,IAAIrB,QAAQ;gBACVqB,kBAAkBI,UAAU,GAAGzB,OAAO4B,IAAI;gBAC1CnB,SAAS,MAAMP,QAAQ2B,EAAE,CAACE,mBAAmB,CAACV;YAChD;YAEA,IAAId,UAAU;gBACZ,MAAMf,aAAoB;oBACxBG;oBACAC;oBACAC;oBACAmC,MAAMzB;oBACNP;oBACAE;oBACAC;oBACAC;oBACAE;gBACF;YACF;QACF;IACF,EAAE,OAAO2B,KAAK;QACZ,IAAIC;QAEJ,IAAIrC,YAAY;YACdqC,eAAe,CAAC,kDAAkD,EAAE,OAAOrC,WAAWsC,MAAM,CAACC,QAAQ,KAAK,WAAWvC,WAAWsC,MAAM,CAACC,QAAQ,GAAGvC,WAAW+B,IAAI,CAAC,SAAS,EAAEjC,GAAG,CAAC,CAAC;QACpL;QACA,IAAIK,QAAQ;YACVkC,eAAe,CAAC,yDAAyD,EAAE,OAAOlC,OAAOqC,KAAK,KAAK,WAAWrC,OAAOqC,KAAK,GAAGrC,OAAO4B,IAAI,CAAC,CAAC,CAAC;QAC7I;QACA1B,QAAQoC,MAAM,CAACC,KAAK,CAAC;YAAEN;YAAKO,KAAKN;QAAa;QAC9C,OAAOd;IACT;IAEA,MAAMqB,MAAMrD,eAAeS,cAAcG;IAEzC,IAAIU,qBAAqB+B,MAAM,GAAG;QAChC,MAAMlD,mBAAmB;YACvBI;YACAE;YACAG;YACAyC;YACAvC;YACAE;QACF;IACF;IACA,IAAIC,cAAc,OAAO;QACvB,OAAO;IACT;IAEA,IAAIqC,iBAAiB,AAACjC,OAAekC,OAAO;IAE5CD,iBAAiBrD,uBAAuBqD;IACxCA,eAAe/C,EAAE,GAAG,AAACc,OAAeiB,MAAM;IAE1C,OAAOgB;AACT"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SanitizedCollectionConfig } from '../collections/config/types.js';
|
|
2
|
+
import type { SanitizedGlobalConfig } from '../globals/config/types.js';
|
|
3
|
+
import type { Payload } from '../index.js';
|
|
4
|
+
import type { JsonObject, PayloadRequest } from '../types/index.js';
|
|
5
|
+
type Args<TData extends JsonObject> = {
|
|
6
|
+
collection?: SanitizedCollectionConfig;
|
|
7
|
+
global?: SanitizedGlobalConfig;
|
|
8
|
+
id?: number | string;
|
|
9
|
+
now: string;
|
|
10
|
+
payload: Payload;
|
|
11
|
+
req?: PayloadRequest;
|
|
12
|
+
shouldUpdate?: (latestVersion: JsonObject) => boolean;
|
|
13
|
+
versionData: TData;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Finds the latest version and updates it in place if `shouldUpdate` returns true.
|
|
17
|
+
* Used by both the unpublish and autosave paths in `saveVersion` to avoid creating
|
|
18
|
+
* a redundant new version.
|
|
19
|
+
*
|
|
20
|
+
* Returns the updated version result, or `undefined` if no update was performed.
|
|
21
|
+
*/
|
|
22
|
+
export declare function updateLatestVersion<TData extends JsonObject>({ id, collection, global, now, payload, req, shouldUpdate, versionData, }: Args<TData>): Promise<JsonObject | undefined>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=updateLatestVersion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateLatestVersion.d.ts","sourceRoot":"","sources":["../../src/versions/updateLatestVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEnE,KAAK,IAAI,CAAC,KAAK,SAAS,UAAU,IAAI;IACpC,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,KAAK,OAAO,CAAA;IACrD,WAAW,EAAE,KAAK,CAAA;CACnB,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,SAAS,UAAU,EAAE,EAClE,EAAE,EACF,UAAU,EACV,MAAM,EACN,GAAG,EACH,OAAO,EACP,GAAG,EACH,YAAyB,EACzB,WAAW,GACZ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CA2D/C"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds the latest version and updates it in place if `shouldUpdate` returns true.
|
|
3
|
+
* Used by both the unpublish and autosave paths in `saveVersion` to avoid creating
|
|
4
|
+
* a redundant new version.
|
|
5
|
+
*
|
|
6
|
+
* Returns the updated version result, or `undefined` if no update was performed.
|
|
7
|
+
*/ export async function updateLatestVersion({ id, collection, global, now, payload, req, shouldUpdate = ()=>true, versionData }) {
|
|
8
|
+
let docs;
|
|
9
|
+
const findVersionArgs = {
|
|
10
|
+
limit: 1,
|
|
11
|
+
pagination: false,
|
|
12
|
+
req,
|
|
13
|
+
sort: '-updatedAt'
|
|
14
|
+
};
|
|
15
|
+
if (collection) {
|
|
16
|
+
;
|
|
17
|
+
({ docs } = await payload.db.findVersions({
|
|
18
|
+
...findVersionArgs,
|
|
19
|
+
collection: collection.slug,
|
|
20
|
+
where: {
|
|
21
|
+
parent: {
|
|
22
|
+
equals: id
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
} else {
|
|
27
|
+
;
|
|
28
|
+
({ docs } = await payload.db.findGlobalVersions({
|
|
29
|
+
...findVersionArgs,
|
|
30
|
+
global: global.slug
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
const [latestVersion] = docs;
|
|
34
|
+
if (!latestVersion || !shouldUpdate(latestVersion)) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const updateVersionArgs = {
|
|
38
|
+
id: latestVersion.id,
|
|
39
|
+
req,
|
|
40
|
+
versionData: {
|
|
41
|
+
createdAt: new Date(latestVersion.createdAt).toISOString(),
|
|
42
|
+
latest: true,
|
|
43
|
+
parent: id,
|
|
44
|
+
updatedAt: now,
|
|
45
|
+
version: {
|
|
46
|
+
...versionData
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
if (collection) {
|
|
51
|
+
return await payload.db.updateVersion({
|
|
52
|
+
...updateVersionArgs,
|
|
53
|
+
collection: collection.slug,
|
|
54
|
+
req
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return await payload.db.updateGlobalVersion({
|
|
58
|
+
...updateVersionArgs,
|
|
59
|
+
global: global.slug,
|
|
60
|
+
req
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=updateLatestVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/versions/updateLatestVersion.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { JsonObject, PayloadRequest } from '../types/index.js'\n\ntype Args<TData extends JsonObject> = {\n collection?: SanitizedCollectionConfig\n global?: SanitizedGlobalConfig\n id?: number | string\n now: string\n payload: Payload\n req?: PayloadRequest\n shouldUpdate?: (latestVersion: JsonObject) => boolean\n versionData: TData\n}\n\n/**\n * Finds the latest version and updates it in place if `shouldUpdate` returns true.\n * Used by both the unpublish and autosave paths in `saveVersion` to avoid creating\n * a redundant new version.\n *\n * Returns the updated version result, or `undefined` if no update was performed.\n */\nexport async function updateLatestVersion<TData extends JsonObject>({\n id,\n collection,\n global,\n now,\n payload,\n req,\n shouldUpdate = () => true,\n versionData,\n}: Args<TData>): Promise<JsonObject | undefined> {\n let docs\n const findVersionArgs = {\n limit: 1,\n pagination: false,\n req,\n sort: '-updatedAt',\n }\n\n if (collection) {\n ;({ docs } = await payload.db.findVersions<TData>({\n ...findVersionArgs,\n collection: collection.slug,\n where: {\n parent: {\n equals: id,\n },\n },\n }))\n } else {\n ;({ docs } = await payload.db.findGlobalVersions<TData>({\n ...findVersionArgs,\n global: global!.slug,\n }))\n }\n\n const [latestVersion] = docs\n\n if (!latestVersion || !shouldUpdate(latestVersion)) {\n return undefined\n }\n\n const updateVersionArgs = {\n id: latestVersion.id,\n req,\n versionData: {\n createdAt: new Date(latestVersion.createdAt).toISOString(),\n latest: true,\n parent: id,\n updatedAt: now,\n version: {\n ...versionData,\n },\n },\n }\n\n if (collection) {\n return await payload.db.updateVersion<TData>({\n ...updateVersionArgs,\n collection: collection.slug,\n req,\n })\n }\n\n return await payload.db.updateGlobalVersion<TData>({\n ...updateVersionArgs,\n global: global!.slug,\n req,\n })\n}\n"],"names":["updateLatestVersion","id","collection","global","now","payload","req","shouldUpdate","versionData","docs","findVersionArgs","limit","pagination","sort","db","findVersions","slug","where","parent","equals","findGlobalVersions","latestVersion","undefined","updateVersionArgs","createdAt","Date","toISOString","latest","updatedAt","version","updateVersion","updateGlobalVersion"],"mappings":"AAgBA;;;;;;CAMC,GACD,OAAO,eAAeA,oBAA8C,EAClEC,EAAE,EACFC,UAAU,EACVC,MAAM,EACNC,GAAG,EACHC,OAAO,EACPC,GAAG,EACHC,eAAe,IAAM,IAAI,EACzBC,WAAW,EACC;IACZ,IAAIC;IACJ,MAAMC,kBAAkB;QACtBC,OAAO;QACPC,YAAY;QACZN;QACAO,MAAM;IACR;IAEA,IAAIX,YAAY;;QACZ,CAAA,EAAEO,IAAI,EAAE,GAAG,MAAMJ,QAAQS,EAAE,CAACC,YAAY,CAAQ;YAChD,GAAGL,eAAe;YAClBR,YAAYA,WAAWc,IAAI;YAC3BC,OAAO;gBACLC,QAAQ;oBACNC,QAAQlB;gBACV;YACF;QACF,EAAC;IACH,OAAO;;QACH,CAAA,EAAEQ,IAAI,EAAE,GAAG,MAAMJ,QAAQS,EAAE,CAACM,kBAAkB,CAAQ;YACtD,GAAGV,eAAe;YAClBP,QAAQA,OAAQa,IAAI;QACtB,EAAC;IACH;IAEA,MAAM,CAACK,cAAc,GAAGZ;IAExB,IAAI,CAACY,iBAAiB,CAACd,aAAac,gBAAgB;QAClD,OAAOC;IACT;IAEA,MAAMC,oBAAoB;QACxBtB,IAAIoB,cAAcpB,EAAE;QACpBK;QACAE,aAAa;YACXgB,WAAW,IAAIC,KAAKJ,cAAcG,SAAS,EAAEE,WAAW;YACxDC,QAAQ;YACRT,QAAQjB;YACR2B,WAAWxB;YACXyB,SAAS;gBACP,GAAGrB,WAAW;YAChB;QACF;IACF;IAEA,IAAIN,YAAY;QACd,OAAO,MAAMG,QAAQS,EAAE,CAACgB,aAAa,CAAQ;YAC3C,GAAGP,iBAAiB;YACpBrB,YAAYA,WAAWc,IAAI;YAC3BV;QACF;IACF;IAEA,OAAO,MAAMD,QAAQS,EAAE,CAACiB,mBAAmB,CAAQ;QACjD,GAAGR,iBAAiB;QACpBpB,QAAQA,OAAQa,IAAI;QACpBV;IACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload",
|
|
3
|
-
"version": "3.80.0
|
|
3
|
+
"version": "3.80.0",
|
|
4
4
|
"description": "Node, React, Headless CMS and Application Framework built on Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"admin panel",
|
|
@@ -112,10 +112,10 @@
|
|
|
112
112
|
"sanitize-filename": "1.6.3",
|
|
113
113
|
"ts-essentials": "10.0.3",
|
|
114
114
|
"tsx": "4.21.0",
|
|
115
|
-
"undici": "7.
|
|
115
|
+
"undici": "7.24.4",
|
|
116
116
|
"uuid": "10.0.0",
|
|
117
117
|
"ws": "^8.16.0",
|
|
118
|
-
"@payloadcms/translations": "3.80.0
|
|
118
|
+
"@payloadcms/translations": "3.80.0"
|
|
119
119
|
},
|
|
120
120
|
"devDependencies": {
|
|
121
121
|
"@hyrious/esbuild-plugin-commonjs": "0.2.6",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"graphql-http": "^1.22.0",
|
|
134
134
|
"react-datepicker": "7.6.0",
|
|
135
135
|
"rimraf": "6.0.1",
|
|
136
|
-
"rollup": "4.
|
|
136
|
+
"rollup": "4.59.0",
|
|
137
137
|
"rollup-plugin-dts": "6.2.3",
|
|
138
138
|
"sharp": "0.32.6",
|
|
139
139
|
"@payloadcms/eslint-config": "3.28.0"
|