payload 3.0.0-beta.106 → 3.0.0-beta.108
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/admin/fields/Join.d.ts +18 -0
- package/dist/admin/fields/Join.d.ts.map +1 -0
- package/dist/admin/fields/Join.js +3 -0
- package/dist/admin/fields/Join.js.map +1 -0
- package/dist/admin/types.d.ts +1 -0
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +1 -0
- package/dist/auth/operations/login.js.map +1 -1
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js +1 -1
- package/dist/auth/operations/me.js.map +1 -1
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js +1 -0
- package/dist/auth/operations/refresh.js.map +1 -1
- package/dist/auth/types.d.ts +7 -3
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.js +4 -1
- package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
- package/dist/bin/loadEnv.d.ts.map +1 -1
- package/dist/bin/loadEnv.js +9 -6
- package/dist/bin/loadEnv.js.map +1 -1
- package/dist/checkPayloadDependencies.d.ts.map +1 -1
- package/dist/checkPayloadDependencies.js +1 -44
- package/dist/checkPayloadDependencies.js.map +1 -1
- package/dist/collections/config/client.d.ts +2 -2
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +6 -1
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/types.d.ts +26 -1
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/operations/delete.d.ts +1 -0
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +12 -1
- package/dist/collections/operations/delete.js.map +1 -1
- package/dist/collections/operations/deleteByID.d.ts +1 -0
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +12 -1
- package/dist/collections/operations/deleteByID.js.map +1 -1
- package/dist/collections/operations/find.d.ts +3 -1
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +43 -2
- package/dist/collections/operations/find.js.map +1 -1
- package/dist/collections/operations/findByID.d.ts +3 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +38 -1
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/findVersions.js +1 -1
- package/dist/collections/operations/findVersions.js.map +1 -1
- package/dist/collections/operations/local/delete.d.ts +1 -0
- package/dist/collections/operations/local/delete.d.ts.map +1 -1
- package/dist/collections/operations/local/delete.js +2 -1
- package/dist/collections/operations/local/delete.js.map +1 -1
- package/dist/collections/operations/local/find.d.ts +3 -1
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js +3 -1
- package/dist/collections/operations/local/find.js.map +1 -1
- package/dist/collections/operations/local/findByID.d.ts +5 -3
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js +3 -1
- package/dist/collections/operations/local/findByID.js.map +1 -1
- package/dist/collections/operations/local/update.d.ts +2 -0
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js +3 -1
- package/dist/collections/operations/local/update.js.map +1 -1
- package/dist/collections/operations/update.d.ts +1 -0
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +13 -2
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.d.ts +2 -0
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +44 -5
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/config/client.d.ts +1 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +2 -1
- package/dist/config/client.js.map +1 -1
- package/dist/config/find.d.ts +4 -0
- package/dist/config/find.d.ts.map +1 -1
- package/dist/config/find.js +18 -25
- package/dist/config/find.js.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +2 -0
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/types.d.ts +4 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +6 -1
- package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
- package/dist/database/types.d.ts +12 -2
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/errors/InvalidFieldJoin.d.ts +6 -0
- package/dist/errors/InvalidFieldJoin.d.ts.map +1 -0
- package/dist/errors/InvalidFieldJoin.js +8 -0
- package/dist/errors/InvalidFieldJoin.js.map +1 -0
- package/dist/errors/Locked.d.ts +5 -0
- package/dist/errors/Locked.d.ts.map +1 -0
- package/dist/errors/Locked.js +9 -0
- package/dist/errors/Locked.js.map +1 -0
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +1 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/exports/shared.d.ts +1 -1
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +1 -1
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/config/client.d.ts +1 -1
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/sanitize.d.ts +7 -2
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +27 -5
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/sanitizeJoinField.d.ts +10 -0
- package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -0
- package/dist/fields/config/sanitizeJoinField.js +65 -0
- package/dist/fields/config/sanitizeJoinField.js.map +1 -0
- package/dist/fields/config/types.d.ts +107 -47
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +4 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +1 -1
- package/dist/fields/hooks/afterRead/promise.js.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +16 -9
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts +1 -2
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.js.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +1 -1
- package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/promise.js +31 -30
- package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
- package/dist/fields/validations.d.ts +11 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js.map +1 -1
- package/dist/globals/config/types.d.ts +7 -0
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts +1 -0
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +28 -1
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/findVersions.js +1 -1
- package/dist/globals/operations/findVersions.js.map +1 -1
- package/dist/globals/operations/local/findOne.d.ts +1 -0
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js +2 -1
- package/dist/globals/operations/local/findOne.js.map +1 -1
- package/dist/globals/operations/local/update.d.ts +2 -0
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js +3 -1
- package/dist/globals/operations/local/update.js.map +1 -1
- package/dist/globals/operations/update.d.ts +2 -0
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +47 -7
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/index.d.ts +13 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -10
- package/dist/index.js.map +1 -1
- package/dist/lockedDocuments/lockedDocumentsCollection.d.ts +4 -0
- package/dist/lockedDocuments/lockedDocumentsCollection.d.ts.map +1 -0
- package/dist/lockedDocuments/lockedDocumentsCollection.js +31 -0
- package/dist/lockedDocuments/lockedDocumentsCollection.js.map +1 -0
- package/dist/types/index.d.ts +11 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utilities/checkDocumentLockStatus.d.ts +13 -0
- package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -0
- package/dist/utilities/checkDocumentLockStatus.js +66 -0
- package/dist/utilities/checkDocumentLockStatus.js.map +1 -0
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +26 -0
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -1
- package/dist/utilities/dependencies/getDependencies.js +23 -22
- package/dist/utilities/dependencies/getDependencies.js.map +1 -1
- package/dist/utilities/findUp.d.ts +19 -0
- package/dist/utilities/findUp.d.ts.map +1 -0
- package/dist/utilities/findUp.js +102 -0
- package/dist/utilities/findUp.js.map +1 -0
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.js +9 -10
- package/dist/utilities/telemetry/index.js.map +1 -1
- package/dist/utilities/traverseFields.d.ts +36 -0
- package/dist/utilities/traverseFields.d.ts.map +1 -0
- package/dist/utilities/traverseFields.js +81 -0
- package/dist/utilities/traverseFields.js.map +1 -0
- package/dist/versions/baseFields.d.ts +1 -0
- package/dist/versions/baseFields.d.ts.map +1 -1
- package/dist/versions/baseFields.js +14 -0
- package/dist/versions/baseFields.js.map +1 -1
- package/dist/versions/buildCollectionFields.d.ts +2 -1
- package/dist/versions/buildCollectionFields.d.ts.map +1 -1
- package/dist/versions/buildCollectionFields.js +27 -8
- package/dist/versions/buildCollectionFields.js.map +1 -1
- package/dist/versions/buildGlobalFields.d.ts +2 -1
- package/dist/versions/buildGlobalFields.d.ts.map +1 -1
- package/dist/versions/buildGlobalFields.js +27 -8
- package/dist/versions/buildGlobalFields.js.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -3
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts +2 -1
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.js +38 -13
- package/dist/versions/getLatestCollectionVersion.js.map +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts +2 -1
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.js +12 -4
- package/dist/versions/getLatestGlobalVersion.js.map +1 -1
- package/dist/versions/saveVersion.d.ts +3 -1
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +44 -20
- package/dist/versions/saveVersion.js.map +1 -1
- package/dist/versions/types.d.ts +1 -0
- package/dist/versions/types.d.ts.map +1 -1
- package/dist/versions/types.js.map +1 -1
- package/package.json +4 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { deepCopyObjectSimple } from '../index.js';
|
|
2
2
|
import sanitizeInternalFields from '../utilities/sanitizeInternalFields.js';
|
|
3
3
|
import { enforceMaxVersions } from './enforceMaxVersions.js';
|
|
4
|
-
export const saveVersion = async ({ id, autosave, collection, docWithLocales: doc, draft, global, payload, req })=>{
|
|
4
|
+
export const saveVersion = async ({ id, autosave, collection, docWithLocales: doc, draft, global, payload, publishSpecificLocale, req, snapshot })=>{
|
|
5
5
|
let result;
|
|
6
6
|
let createNewVersion = true;
|
|
7
7
|
const now = new Date().toISOString();
|
|
@@ -25,6 +25,8 @@ export const saveVersion = async ({ id, autosave, collection, docWithLocales: do
|
|
|
25
25
|
({ docs } = await payload.db.findVersions({
|
|
26
26
|
...findVersionArgs,
|
|
27
27
|
collection: collection.slug,
|
|
28
|
+
limit: 1,
|
|
29
|
+
pagination: false,
|
|
28
30
|
req,
|
|
29
31
|
where: {
|
|
30
32
|
parent: {
|
|
@@ -36,6 +38,8 @@ export const saveVersion = async ({ id, autosave, collection, docWithLocales: do
|
|
|
36
38
|
({ docs } = await payload.db.findGlobalVersions({
|
|
37
39
|
...findVersionArgs,
|
|
38
40
|
global: global.slug,
|
|
41
|
+
limit: 1,
|
|
42
|
+
pagination: false,
|
|
39
43
|
req
|
|
40
44
|
}));
|
|
41
45
|
}
|
|
@@ -46,7 +50,9 @@ export const saveVersion = async ({ id, autosave, collection, docWithLocales: do
|
|
|
46
50
|
const data = {
|
|
47
51
|
createdAt: new Date(latestVersion.createdAt).toISOString(),
|
|
48
52
|
updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),
|
|
49
|
-
version:
|
|
53
|
+
version: {
|
|
54
|
+
...versionData
|
|
55
|
+
}
|
|
50
56
|
};
|
|
51
57
|
const updateVersionArgs = {
|
|
52
58
|
id: latestVersion.id,
|
|
@@ -69,27 +75,45 @@ export const saveVersion = async ({ id, autosave, collection, docWithLocales: do
|
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
77
|
if (createNewVersion) {
|
|
78
|
+
const createVersionArgs = {
|
|
79
|
+
autosave: Boolean(autosave),
|
|
80
|
+
collectionSlug: undefined,
|
|
81
|
+
createdAt: doc?.createdAt ? new Date(doc.createdAt).toISOString() : now,
|
|
82
|
+
globalSlug: undefined,
|
|
83
|
+
parent: collection ? id : undefined,
|
|
84
|
+
publishedLocale: publishSpecificLocale || undefined,
|
|
85
|
+
req,
|
|
86
|
+
updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),
|
|
87
|
+
versionData
|
|
88
|
+
};
|
|
72
89
|
if (collection) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
collectionSlug: collection.slug,
|
|
76
|
-
createdAt: doc?.createdAt ? new Date(doc.createdAt).toISOString() : now,
|
|
77
|
-
parent: collection ? id : undefined,
|
|
78
|
-
req,
|
|
79
|
-
updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),
|
|
80
|
-
versionData
|
|
81
|
-
});
|
|
90
|
+
createVersionArgs.collectionSlug = collection.slug;
|
|
91
|
+
result = await payload.db.createVersion(createVersionArgs);
|
|
82
92
|
}
|
|
83
93
|
if (global) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
createVersionArgs.globalSlug = global.slug;
|
|
95
|
+
result = await payload.db.createGlobalVersion(createVersionArgs);
|
|
96
|
+
}
|
|
97
|
+
if (publishSpecificLocale && snapshot) {
|
|
98
|
+
const snapshotData = deepCopyObjectSimple(snapshot);
|
|
99
|
+
if (snapshotData._id) {
|
|
100
|
+
delete snapshotData._id;
|
|
101
|
+
}
|
|
102
|
+
snapshotData._status = 'draft';
|
|
103
|
+
const snapshotDate = new Date().toISOString();
|
|
104
|
+
const updatedArgs = {
|
|
105
|
+
...createVersionArgs,
|
|
106
|
+
createdAt: snapshotDate,
|
|
107
|
+
snapshot: true,
|
|
108
|
+
updatedAt: snapshotDate,
|
|
109
|
+
versionData: snapshotData
|
|
110
|
+
};
|
|
111
|
+
if (collection) {
|
|
112
|
+
await payload.db.createVersion(updatedArgs);
|
|
113
|
+
}
|
|
114
|
+
if (global) {
|
|
115
|
+
await payload.db.createGlobalVersion(updatedArgs);
|
|
116
|
+
}
|
|
93
117
|
}
|
|
94
118
|
}
|
|
95
119
|
} catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/versions/saveVersion.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { deepCopyObjectSimple } from '../index.js'\nimport sanitizeInternalFields from '../utilities/sanitizeInternalFields.js'\nimport { enforceMaxVersions } from './enforceMaxVersions.js'\n\ntype Args = {\n autosave?: boolean\n collection?: SanitizedCollectionConfig\n docWithLocales: any\n draft?: boolean\n global?: SanitizedGlobalConfig\n id?: number | string\n payload: Payload\n req?: PayloadRequest\n}\n\nexport const saveVersion = async ({\n id,\n autosave,\n collection,\n docWithLocales: doc,\n draft,\n global,\n payload,\n req,\n}: Args): Promise<TypeWithID> => {\n let result\n let createNewVersion = true\n const now = new Date().toISOString()\n const versionData = deepCopyObjectSimple(doc)\n if (draft) {\n versionData._status = 'draft'\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 if (collection) {\n ;({ docs } = await payload.db.findVersions({\n ...findVersionArgs,\n collection: collection.slug,\n req,\n where: {\n parent: {\n equals: id,\n },\n },\n }))\n } else {\n ;({ docs } = await payload.db.findGlobalVersions({\n ...findVersionArgs,\n global: global.slug,\n req,\n }))\n }\n const [latestVersion] = docs\n\n // overwrite the latest version if it's set to autosave\n if (latestVersion?.autosave === true) {\n createNewVersion = false\n\n const data: Record<string, unknown> = {\n createdAt: new Date(latestVersion.createdAt).toISOString(),\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n version: versionData,\n }\n\n const updateVersionArgs = {\n id: latestVersion.id,\n req,\n versionData: data as TypeWithID,\n }\n\n if (collection) {\n result = await payload.db.updateVersion({\n ...updateVersionArgs,\n collection: collection.slug,\n req,\n })\n } else {\n result = await payload.db.updateGlobalVersion({\n ...updateVersionArgs,\n global: global.slug,\n req,\n })\n }\n }\n }\n\n if (createNewVersion) {\n
|
|
1
|
+
{"version":3,"sources":["../../src/versions/saveVersion.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { deepCopyObjectSimple } from '../index.js'\nimport sanitizeInternalFields from '../utilities/sanitizeInternalFields.js'\nimport { enforceMaxVersions } from './enforceMaxVersions.js'\n\ntype Args = {\n autosave?: boolean\n collection?: SanitizedCollectionConfig\n docWithLocales: any\n draft?: boolean\n global?: SanitizedGlobalConfig\n id?: number | string\n payload: Payload\n publishSpecificLocale?: string\n req?: PayloadRequest\n snapshot?: any\n}\n\nexport const saveVersion = async ({\n id,\n autosave,\n collection,\n docWithLocales: doc,\n draft,\n global,\n payload,\n publishSpecificLocale,\n req,\n snapshot,\n}: Args): Promise<TypeWithID> => {\n let result\n let createNewVersion = true\n const now = new Date().toISOString()\n const versionData = deepCopyObjectSimple(doc)\n if (draft) {\n versionData._status = 'draft'\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 if (collection) {\n ;({ docs } = await payload.db.findVersions({\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({\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 === true) {\n createNewVersion = false\n\n const data: Record<string, unknown> = {\n createdAt: new Date(latestVersion.createdAt).toISOString(),\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n version: {\n ...versionData,\n },\n }\n\n const updateVersionArgs = {\n id: latestVersion.id,\n req,\n versionData: data as TypeWithID,\n }\n\n if (collection) {\n result = await payload.db.updateVersion({\n ...updateVersionArgs,\n collection: collection.slug,\n req,\n })\n } else {\n result = await payload.db.updateGlobalVersion({\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,\n createdAt: doc?.createdAt ? new Date(doc.createdAt).toISOString() : now,\n globalSlug: undefined,\n parent: collection ? id : undefined,\n publishedLocale: publishSpecificLocale || undefined,\n req,\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n versionData,\n }\n\n if (collection) {\n createVersionArgs.collectionSlug = collection.slug\n result = await payload.db.createVersion(createVersionArgs)\n }\n\n if (global) {\n createVersionArgs.globalSlug = global.slug\n result = await payload.db.createGlobalVersion(createVersionArgs)\n }\n\n if (publishSpecificLocale && snapshot) {\n const snapshotData = deepCopyObjectSimple(snapshot)\n if (snapshotData._id) {\n delete snapshotData._id\n }\n\n snapshotData._status = 'draft'\n\n const snapshotDate = new Date().toISOString()\n\n const updatedArgs = {\n ...createVersionArgs,\n createdAt: snapshotDate,\n snapshot: true,\n updatedAt: snapshotDate,\n versionData: snapshotData,\n } as any\n\n if (collection) {\n await payload.db.createVersion(updatedArgs)\n }\n if (global) {\n await payload.db.createGlobalVersion(updatedArgs)\n }\n }\n }\n } catch (err) {\n let errorMessage: string\n\n if (collection) {\n errorMessage = `There was an error while saving a version for the ${collection.labels.singular} with ID ${id}.`\n }\n if (global) {\n errorMessage = `There was an error while saving a version for the global ${global.label}.`\n }\n payload.logger.error(errorMessage)\n payload.logger.error(err)\n return\n }\n\n let max = 100\n\n if (collection && typeof collection.versions.maxPerDoc === 'number') {\n max = collection.versions.maxPerDoc\n }\n if (global && typeof global.versions.max === 'number') {\n max = global.versions.max\n }\n\n if (createNewVersion && max > 0) {\n await enforceMaxVersions({\n id,\n collection,\n global,\n max,\n payload,\n req,\n })\n }\n\n let createdVersion = result.version\n createdVersion.createdAt = result.createdAt\n createdVersion.updatedAt = result.updatedAt\n\n createdVersion = sanitizeInternalFields(createdVersion)\n createdVersion.id = result.parent\n\n return createdVersion\n}\n"],"names":["deepCopyObjectSimple","sanitizeInternalFields","enforceMaxVersions","saveVersion","id","autosave","collection","docWithLocales","doc","draft","global","payload","publishSpecificLocale","req","snapshot","result","createNewVersion","now","Date","toISOString","versionData","_status","_id","docs","findVersionArgs","limit","pagination","sort","db","findVersions","slug","where","parent","equals","findGlobalVersions","latestVersion","data","createdAt","updatedAt","version","updateVersionArgs","updateVersion","updateGlobalVersion","createVersionArgs","Boolean","collectionSlug","undefined","globalSlug","publishedLocale","createVersion","createGlobalVersion","snapshotData","snapshotDate","updatedArgs","err","errorMessage","labels","singular","label","logger","error","max","versions","maxPerDoc","createdVersion"],"mappings":"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"}
|
package/dist/versions/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/versions/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CAAC,0BAA0B,EAAE,QAAQ,CAAC;IAC7F,MAAM,EAAE,KAAK,GAAG,eAAe,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAA;IACjC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,KAAK,GAAG,eAAe,CAAA;IAC/B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,CAAC,CAAA;CACX,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/versions/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CAAC,0BAA0B,EAAE,QAAQ,CAAC;IAC7F,MAAM,EAAE,KAAK,GAAG,eAAe,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAA;IACjC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,KAAK,GAAG,eAAe,CAAA;IAC/B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,CAAC,CAAA;CACX,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/versions/types.ts"],"sourcesContent":["export type Autosave = {\n interval?: number\n}\n\nexport type IncomingDrafts = {\n autosave?: Autosave | boolean\n validate?: boolean\n}\n\nexport type SanitizedDrafts = {\n autosave: Autosave | false\n validate: boolean\n}\n\nexport type IncomingCollectionVersions = {\n drafts?: boolean | IncomingDrafts\n maxPerDoc?: number\n}\n\nexport interface SanitizedCollectionVersions extends Omit<IncomingCollectionVersions, 'drafts'> {\n drafts: false | SanitizedDrafts\n maxPerDoc?: number\n}\n\nexport type IncomingGlobalVersions = {\n drafts?: boolean | IncomingDrafts\n max?: number\n}\n\nexport type SanitizedGlobalVersions = {\n drafts: false | SanitizedDrafts\n max: number\n}\n\nexport type TypeWithVersion<T> = {\n createdAt: string\n id: string\n parent: number | string\n updatedAt: string\n version: T\n}\n"],"names":[],"mappings":"AAkCA,
|
|
1
|
+
{"version":3,"sources":["../../src/versions/types.ts"],"sourcesContent":["export type Autosave = {\n interval?: number\n}\n\nexport type IncomingDrafts = {\n autosave?: Autosave | boolean\n validate?: boolean\n}\n\nexport type SanitizedDrafts = {\n autosave: Autosave | false\n validate: boolean\n}\n\nexport type IncomingCollectionVersions = {\n drafts?: boolean | IncomingDrafts\n maxPerDoc?: number\n}\n\nexport interface SanitizedCollectionVersions extends Omit<IncomingCollectionVersions, 'drafts'> {\n drafts: false | SanitizedDrafts\n maxPerDoc?: number\n}\n\nexport type IncomingGlobalVersions = {\n drafts?: boolean | IncomingDrafts\n max?: number\n}\n\nexport type SanitizedGlobalVersions = {\n drafts: false | SanitizedDrafts\n max: number\n}\n\nexport type TypeWithVersion<T> = {\n createdAt: string\n id: string\n parent: number | string\n snapshot?: boolean\n updatedAt: string\n version: T\n}\n"],"names":[],"mappings":"AAkCA,WAOC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.108",
|
|
4
4
|
"description": "Node, React, Headless CMS and Application Framework built on Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"admin panel",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
],
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"@monaco-editor/react": "4.6.0",
|
|
75
|
-
"@next/env": "^15.0.0-canary.
|
|
75
|
+
"@next/env": "^15.0.0-canary.160",
|
|
76
76
|
"@types/busboy": "1.5.4",
|
|
77
77
|
"ajv": "8.17.1",
|
|
78
78
|
"bson-objectid": "2.0.4",
|
|
@@ -80,8 +80,7 @@
|
|
|
80
80
|
"console-table-printer": "2.11.2",
|
|
81
81
|
"dataloader": "2.2.2",
|
|
82
82
|
"deepmerge": "4.3.1",
|
|
83
|
-
"file-type": "
|
|
84
|
-
"find-up": "7.0.0",
|
|
83
|
+
"file-type": "19.3.0",
|
|
85
84
|
"get-tsconfig": "^4.7.2",
|
|
86
85
|
"http-status": "1.6.2",
|
|
87
86
|
"image-size": "^1.1.1",
|
|
@@ -96,7 +95,7 @@
|
|
|
96
95
|
"ts-essentials": "10.0.2",
|
|
97
96
|
"tsx": "4.19.1",
|
|
98
97
|
"uuid": "10.0.0",
|
|
99
|
-
"@payloadcms/translations": "3.0.0-beta.
|
|
98
|
+
"@payloadcms/translations": "3.0.0-beta.108"
|
|
100
99
|
},
|
|
101
100
|
"devDependencies": {
|
|
102
101
|
"@hyrious/esbuild-plugin-commonjs": "^0.2.4",
|