payload 3.0.0-beta.125 → 3.0.0-beta.127
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/RichText.d.ts +3 -1
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/bin/index.js +1 -1
- package/dist/bin/index.js.map +1 -1
- package/dist/collections/operations/create.d.ts +2 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +2 -10
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/delete.d.ts +2 -1
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +2 -1
- package/dist/collections/operations/delete.js.map +1 -1
- package/dist/collections/operations/deleteByID.d.ts +2 -1
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +2 -1
- package/dist/collections/operations/deleteByID.js.map +1 -1
- package/dist/collections/operations/duplicate.d.ts +2 -1
- package/dist/collections/operations/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/duplicate.js +2 -1
- package/dist/collections/operations/duplicate.js.map +1 -1
- package/dist/collections/operations/find.d.ts +2 -1
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +2 -1
- package/dist/collections/operations/find.js.map +1 -1
- package/dist/collections/operations/findByID.d.ts +2 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +2 -1
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts +2 -1
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +2 -1
- package/dist/collections/operations/findVersionByID.js.map +1 -1
- package/dist/collections/operations/findVersions.d.ts +2 -1
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +2 -1
- package/dist/collections/operations/findVersions.js.map +1 -1
- package/dist/collections/operations/local/create.d.ts +2 -1
- package/dist/collections/operations/local/create.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js +2 -1
- package/dist/collections/operations/local/create.js.map +1 -1
- package/dist/collections/operations/local/delete.d.ts +2 -1
- 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/duplicate.d.ts +2 -1
- package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/local/duplicate.js +2 -1
- package/dist/collections/operations/local/duplicate.js.map +1 -1
- package/dist/collections/operations/local/find.d.ts +3 -2
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js +2 -2
- package/dist/collections/operations/local/find.js.map +1 -1
- package/dist/collections/operations/local/findByID.d.ts +3 -2
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js +2 -1
- package/dist/collections/operations/local/findByID.js.map +1 -1
- package/dist/collections/operations/local/findVersionByID.d.ts +2 -1
- package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersionByID.js +2 -1
- package/dist/collections/operations/local/findVersionByID.js.map +1 -1
- package/dist/collections/operations/local/findVersions.d.ts +2 -1
- package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersions.js +2 -1
- package/dist/collections/operations/local/findVersions.js.map +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +2 -1
- package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/local/restoreVersion.js +2 -1
- package/dist/collections/operations/local/restoreVersion.js.map +1 -1
- package/dist/collections/operations/local/update.d.ts +2 -1
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js +2 -1
- package/dist/collections/operations/local/update.js.map +1 -1
- package/dist/collections/operations/restoreVersion.d.ts +2 -1
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +2 -1
- package/dist/collections/operations/restoreVersion.js.map +1 -1
- package/dist/collections/operations/update.d.ts +2 -1
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +2 -1
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.d.ts +2 -1
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +8 -6
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
- package/dist/database/migrations/migrateRefresh.js +47 -47
- package/dist/database/migrations/migrateRefresh.js.map +1 -1
- package/dist/database/sanitizeJoinQuery.d.ts +3 -3
- package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts +2 -1
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js +2 -1
- package/dist/fields/hooks/afterRead/index.js.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts +3 -2
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +12 -1
- package/dist/fields/hooks/afterRead/promise.js.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +3 -2
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +7 -3
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +3 -2
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +2 -1
- package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts +2 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +2 -1
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/findVersionByID.d.ts +2 -1
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +2 -1
- package/dist/globals/operations/findVersionByID.js.map +1 -1
- package/dist/globals/operations/findVersions.d.ts +2 -1
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +2 -1
- package/dist/globals/operations/findVersions.js.map +1 -1
- package/dist/globals/operations/local/findOne.d.ts +2 -1
- 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/findVersionByID.d.ts +2 -1
- package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersionByID.js +2 -1
- package/dist/globals/operations/local/findVersionByID.js.map +1 -1
- package/dist/globals/operations/local/findVersions.d.ts +2 -1
- package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersions.js +2 -1
- package/dist/globals/operations/local/findVersions.js.map +1 -1
- package/dist/globals/operations/local/restoreVersion.d.ts +2 -1
- package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/local/restoreVersion.js +2 -1
- package/dist/globals/operations/local/restoreVersion.js.map +1 -1
- package/dist/globals/operations/local/update.d.ts +2 -1
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js +2 -1
- package/dist/globals/operations/local/update.js.map +1 -1
- package/dist/globals/operations/restoreVersion.d.ts +2 -1
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +2 -1
- package/dist/globals/operations/restoreVersion.js.map +1 -1
- package/dist/globals/operations/update.d.ts +2 -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.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/queues/config/jobsCollection.d.ts.map +1 -1
- package/dist/queues/config/jobsCollection.js +15 -13
- package/dist/queues/config/jobsCollection.js.map +1 -1
- package/dist/queues/config/types/index.d.ts +1 -1
- package/dist/queues/config/types/index.d.ts.map +1 -1
- package/dist/queues/config/types/index.js.map +1 -1
- package/dist/queues/operations/runJobs/index.js +1 -1
- package/dist/queues/operations/runJobs/index.js.map +1 -1
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +35 -0
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findVersions.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/findVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"findVersions.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/findVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,KAAK,EACN,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAMnE,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,IAAI;IAClD,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,GAAG,WAAW,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,wBAA8B,iBAAiB,CAAC,KAAK,SAAS,cAAc,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAmCxE"}
|
|
@@ -2,7 +2,7 @@ import { APIError } from '../../../errors/index.js';
|
|
|
2
2
|
import { createLocalReq } from '../../../utilities/createLocalReq.js';
|
|
3
3
|
import { findVersionsOperation } from '../findVersions.js';
|
|
4
4
|
export default async function findVersionsLocal(payload, options) {
|
|
5
|
-
const { collection: collectionSlug, depth, limit, overrideAccess = true, page, select, showHiddenFields, sort, where } = options;
|
|
5
|
+
const { collection: collectionSlug, depth, limit, overrideAccess = true, page, populate, select, showHiddenFields, sort, where } = options;
|
|
6
6
|
const collection = payload.collections[collectionSlug];
|
|
7
7
|
if (!collection) {
|
|
8
8
|
throw new APIError(`The collection with slug ${String(collectionSlug)} can't be found. Find Versions Operation.`);
|
|
@@ -13,6 +13,7 @@ export default async function findVersionsLocal(payload, options) {
|
|
|
13
13
|
limit,
|
|
14
14
|
overrideAccess,
|
|
15
15
|
page,
|
|
16
|
+
populate,
|
|
16
17
|
req: await createLocalReq(options, payload),
|
|
17
18
|
select,
|
|
18
19
|
showHiddenFields,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/collections/operations/local/findVersions.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../../database/types.js'\nimport type { CollectionSlug, Payload, RequestContext, TypedLocale } from '../../../index.js'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../../src/collections/operations/local/findVersions.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../../database/types.js'\nimport type { CollectionSlug, Payload, RequestContext, TypedLocale } from '../../../index.js'\nimport type {\n Document,\n PayloadRequest,\n PopulateType,\n SelectType,\n Sort,\n Where,\n} from '../../../types/index.js'\nimport type { TypeWithVersion } from '../../../versions/types.js'\nimport type { DataFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { findVersionsOperation } from '../findVersions.js'\n\nexport type Options<TSlug extends CollectionSlug> = {\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n depth?: number\n draft?: boolean\n fallbackLocale?: TypedLocale\n limit?: number\n locale?: 'all' | TypedLocale\n overrideAccess?: boolean\n page?: number\n populate?: PopulateType\n req?: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n sort?: Sort\n user?: Document\n where?: Where\n}\n\nexport default async function findVersionsLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<PaginatedDocs<TypeWithVersion<DataFromCollectionSlug<TSlug>>>> {\n const {\n collection: collectionSlug,\n depth,\n limit,\n overrideAccess = true,\n page,\n populate,\n select,\n showHiddenFields,\n sort,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Find Versions Operation.`,\n )\n }\n\n return findVersionsOperation({\n collection,\n depth,\n limit,\n overrideAccess,\n page,\n populate,\n req: await createLocalReq(options, payload),\n select,\n showHiddenFields,\n sort,\n where,\n })\n}\n"],"names":["APIError","createLocalReq","findVersionsOperation","findVersionsLocal","payload","options","collection","collectionSlug","depth","limit","overrideAccess","page","populate","select","showHiddenFields","sort","where","collections","String","req"],"mappings":"AAaA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,qBAAqB,QAAQ,qBAAoB;AAwB1D,eAAe,eAAeC,kBAC5BC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,IAAI,EACJC,QAAQ,EACRC,MAAM,EACNC,gBAAgB,EAChBC,IAAI,EACJC,KAAK,EACN,GAAGX;IAEJ,MAAMC,aAAaF,QAAQa,WAAW,CAACV,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEkB,OAAOX,gBAAgB,yCAAyC,CAAC;IAEjG;IAEA,OAAOL,sBAAsB;QAC3BI;QACAE;QACAC;QACAC;QACAC;QACAC;QACAO,KAAK,MAAMlB,eAAeI,SAASD;QACnCS;QACAC;QACAC;QACAC;IACF;AACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CollectionSlug, Payload, RequestContext, TypedLocale } from '../../../index.js';
|
|
2
|
-
import type { Document, PayloadRequest, SelectType } from '../../../types/index.js';
|
|
2
|
+
import type { Document, PayloadRequest, PopulateType, SelectType } from '../../../types/index.js';
|
|
3
3
|
import type { DataFromCollectionSlug } from '../../config/types.js';
|
|
4
4
|
export type Options<TSlug extends CollectionSlug> = {
|
|
5
5
|
collection: TSlug;
|
|
@@ -13,6 +13,7 @@ export type Options<TSlug extends CollectionSlug> = {
|
|
|
13
13
|
id: string;
|
|
14
14
|
locale?: TypedLocale;
|
|
15
15
|
overrideAccess?: boolean;
|
|
16
|
+
populate?: PopulateType;
|
|
16
17
|
req?: PayloadRequest;
|
|
17
18
|
select?: SelectType;
|
|
18
19
|
showHiddenFields?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/restoreVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/restoreVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAMnE,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,IAAI;IAClD,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,wBAA8B,mBAAmB,CAAC,KAAK,SAAS,cAAc,EAC5E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAkCxC"}
|
|
@@ -2,7 +2,7 @@ import { APIError } from '../../../errors/index.js';
|
|
|
2
2
|
import { createLocalReq } from '../../../utilities/createLocalReq.js';
|
|
3
3
|
import { restoreVersionOperation } from '../restoreVersion.js';
|
|
4
4
|
export default async function restoreVersionLocal(payload, options) {
|
|
5
|
-
const { id, collection: collectionSlug, depth, overrideAccess = true, select, showHiddenFields } = options;
|
|
5
|
+
const { id, collection: collectionSlug, depth, overrideAccess = true, populate, select, showHiddenFields } = options;
|
|
6
6
|
const collection = payload.collections[collectionSlug];
|
|
7
7
|
if (!collection) {
|
|
8
8
|
throw new APIError(`The collection with slug ${String(collectionSlug)} can't be found. Restore Version Operation.`);
|
|
@@ -13,6 +13,7 @@ export default async function restoreVersionLocal(payload, options) {
|
|
|
13
13
|
depth,
|
|
14
14
|
overrideAccess,
|
|
15
15
|
payload,
|
|
16
|
+
populate,
|
|
16
17
|
req: await createLocalReq(options, payload),
|
|
17
18
|
select,
|
|
18
19
|
showHiddenFields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/collections/operations/local/restoreVersion.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, SelectType } from '../../../types/index.js'\nimport type { DataFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { restoreVersionOperation } from '../restoreVersion.js'\n\nexport type Options<TSlug extends CollectionSlug> = {\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n depth?: number\n draft?: boolean\n fallbackLocale?: TypedLocale\n id: string\n locale?: TypedLocale\n overrideAccess?: boolean\n req?: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport default async function restoreVersionLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<DataFromCollectionSlug<TSlug>> {\n const {\n id,\n collection: collectionSlug,\n depth,\n overrideAccess = true,\n select,\n showHiddenFields,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(\n collectionSlug,\n )} can't be found. Restore Version Operation.`,\n )\n }\n\n const args = {\n id,\n collection,\n depth,\n overrideAccess,\n payload,\n req: await createLocalReq(options, payload),\n select,\n showHiddenFields,\n }\n\n return restoreVersionOperation(args)\n}\n"],"names":["APIError","createLocalReq","restoreVersionOperation","restoreVersionLocal","payload","options","id","collection","collectionSlug","depth","overrideAccess","select","showHiddenFields","collections","String","args","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,uBAAuB,QAAQ,uBAAsB;
|
|
1
|
+
{"version":3,"sources":["../../../../src/collections/operations/local/restoreVersion.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, PopulateType, SelectType } from '../../../types/index.js'\nimport type { DataFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { restoreVersionOperation } from '../restoreVersion.js'\n\nexport type Options<TSlug extends CollectionSlug> = {\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n depth?: number\n draft?: boolean\n fallbackLocale?: TypedLocale\n id: string\n locale?: TypedLocale\n overrideAccess?: boolean\n populate?: PopulateType\n req?: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport default async function restoreVersionLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<DataFromCollectionSlug<TSlug>> {\n const {\n id,\n collection: collectionSlug,\n depth,\n overrideAccess = true,\n populate,\n select,\n showHiddenFields,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(\n collectionSlug,\n )} can't be found. Restore Version Operation.`,\n )\n }\n\n const args = {\n id,\n collection,\n depth,\n overrideAccess,\n payload,\n populate,\n req: await createLocalReq(options, payload),\n select,\n showHiddenFields,\n }\n\n return restoreVersionOperation(args)\n}\n"],"names":["APIError","createLocalReq","restoreVersionOperation","restoreVersionLocal","payload","options","id","collection","collectionSlug","depth","overrideAccess","populate","select","showHiddenFields","collections","String","args","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,uBAAuB,QAAQ,uBAAsB;AAqB9D,eAAe,eAAeC,oBAC5BC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,QAAQ,EACRC,MAAM,EACNC,gBAAgB,EACjB,GAAGR;IAEJ,MAAME,aAAaH,QAAQU,WAAW,CAACN,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIP,SACR,CAAC,yBAAyB,EAAEe,OAC1BP,gBACA,2CAA2C,CAAC;IAElD;IAEA,MAAMQ,OAAO;QACXV;QACAC;QACAE;QACAC;QACAN;QACAO;QACAM,KAAK,MAAMhB,eAAeI,SAASD;QACnCQ;QACAC;IACF;IAEA,OAAOX,wBAAwBc;AACjC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DeepPartial } from 'ts-essentials';
|
|
2
2
|
import type { CollectionSlug, Payload, RequestContext, TypedLocale } from '../../../index.js';
|
|
3
|
-
import type { Document, PayloadRequest, SelectType, TransformCollectionWithSelect, Where } from '../../../types/index.js';
|
|
3
|
+
import type { Document, PayloadRequest, PopulateType, SelectType, TransformCollectionWithSelect, Where } from '../../../types/index.js';
|
|
4
4
|
import type { File } from '../../../uploads/types.js';
|
|
5
5
|
import type { BulkOperationResult, RequiredDataFromCollectionSlug, SelectFromCollectionSlug } from '../../config/types.js';
|
|
6
6
|
export type BaseOptions<TSlug extends CollectionSlug, TSelect extends SelectType> = {
|
|
@@ -21,6 +21,7 @@ export type BaseOptions<TSlug extends CollectionSlug, TSelect extends SelectType
|
|
|
21
21
|
overrideAccess?: boolean;
|
|
22
22
|
overrideLock?: boolean;
|
|
23
23
|
overwriteExistingFiles?: boolean;
|
|
24
|
+
populate?: PopulateType;
|
|
24
25
|
publishSpecificLocale?: string;
|
|
25
26
|
req?: PayloadRequest;
|
|
26
27
|
select?: TSelect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/update.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { createLocalReq } from '../../../utilities/createLocalReq.js';
|
|
|
4
4
|
import { updateOperation } from '../update.js';
|
|
5
5
|
import { updateByIDOperation } from '../updateByID.js';
|
|
6
6
|
async function updateLocal(payload, options) {
|
|
7
|
-
const { id, autosave, collection: collectionSlug, data, depth, disableTransaction, draft, file, filePath, limit, overrideAccess = true, overrideLock, overwriteExistingFiles = false, publishSpecificLocale, select, showHiddenFields, where } = options;
|
|
7
|
+
const { id, autosave, collection: collectionSlug, data, depth, disableTransaction, draft, file, filePath, limit, overrideAccess = true, overrideLock, overwriteExistingFiles = false, populate, publishSpecificLocale, select, showHiddenFields, where } = options;
|
|
8
8
|
const collection = payload.collections[collectionSlug];
|
|
9
9
|
if (!collection) {
|
|
10
10
|
throw new APIError(`The collection with slug ${String(collectionSlug)} can't be found. Update Operation.`);
|
|
@@ -24,6 +24,7 @@ async function updateLocal(payload, options) {
|
|
|
24
24
|
overrideLock,
|
|
25
25
|
overwriteExistingFiles,
|
|
26
26
|
payload,
|
|
27
|
+
populate,
|
|
27
28
|
publishSpecificLocale,
|
|
28
29
|
req,
|
|
29
30
|
select,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/collections/operations/local/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport type { CollectionSlug, Payload, RequestContext, TypedLocale } from '../../../index.js'\nimport type {\n Document,\n PayloadRequest,\n SelectType,\n TransformCollectionWithSelect,\n Where,\n} from '../../../types/index.js'\nimport type { File } from '../../../uploads/types.js'\nimport type {\n BulkOperationResult,\n RequiredDataFromCollectionSlug,\n SelectFromCollectionSlug,\n} from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { getFileByPath } from '../../../uploads/getFileByPath.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { updateOperation } from '../update.js'\nimport { updateByIDOperation } from '../updateByID.js'\n\nexport type BaseOptions<TSlug extends CollectionSlug, TSelect extends SelectType> = {\n autosave?: boolean\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\n depth?: number\n disableTransaction?: boolean\n draft?: boolean\n fallbackLocale?: TypedLocale\n file?: File\n filePath?: string\n locale?: TypedLocale\n overrideAccess?: boolean\n overrideLock?: boolean\n overwriteExistingFiles?: boolean\n publishSpecificLocale?: string\n req?: PayloadRequest\n select?: TSelect\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n> = {\n id: number | string\n limit?: never\n where?: never\n} & BaseOptions<TSlug, TSelect>\n\nexport type ManyOptions<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n> = {\n id?: never\n limit?: number\n where: Where\n} & BaseOptions<TSlug, TSelect>\n\nexport type Options<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n> = ByIDOptions<TSlug, TSelect> | ManyOptions<TSlug, TSelect>\n\nasync function updateLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: ByIDOptions<TSlug, TSelect>,\n): Promise<TransformCollectionWithSelect<TSlug, TSelect>>\nasync function updateLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: ManyOptions<TSlug, TSelect>,\n): Promise<BulkOperationResult<TSlug, TSelect>>\nasync function updateLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: Options<TSlug, TSelect>,\n): Promise<BulkOperationResult<TSlug, TSelect> | TransformCollectionWithSelect<TSlug, TSelect>>\nasync function updateLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: Options<TSlug, TSelect>,\n): Promise<BulkOperationResult<TSlug, TSelect> | TransformCollectionWithSelect<TSlug, TSelect>> {\n const {\n id,\n autosave,\n collection: collectionSlug,\n data,\n depth,\n disableTransaction,\n draft,\n file,\n filePath,\n limit,\n overrideAccess = true,\n overrideLock,\n overwriteExistingFiles = false,\n publishSpecificLocale,\n select,\n showHiddenFields,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Update Operation.`,\n )\n }\n\n const req = await createLocalReq(options, payload)\n req.file = file ?? (await getFileByPath(filePath))\n\n const args = {\n id,\n autosave,\n collection,\n data,\n depth,\n disableTransaction,\n draft,\n limit,\n overrideAccess,\n overrideLock,\n overwriteExistingFiles,\n payload,\n publishSpecificLocale,\n req,\n select,\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return updateByIDOperation<TSlug, TSelect>(args)\n }\n return updateOperation<TSlug, TSelect>(args)\n}\n\nexport default updateLocal\n"],"names":["APIError","getFileByPath","createLocalReq","updateOperation","updateByIDOperation","updateLocal","payload","options","id","autosave","collection","collectionSlug","data","depth","disableTransaction","draft","file","filePath","limit","overrideAccess","overrideLock","overwriteExistingFiles","publishSpecificLocale","select","showHiddenFields","where","collections","String","req","args"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/collections/operations/local/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport type { CollectionSlug, Payload, RequestContext, TypedLocale } from '../../../index.js'\nimport type {\n Document,\n PayloadRequest,\n PopulateType,\n SelectType,\n TransformCollectionWithSelect,\n Where,\n} from '../../../types/index.js'\nimport type { File } from '../../../uploads/types.js'\nimport type {\n BulkOperationResult,\n RequiredDataFromCollectionSlug,\n SelectFromCollectionSlug,\n} from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { getFileByPath } from '../../../uploads/getFileByPath.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { updateOperation } from '../update.js'\nimport { updateByIDOperation } from '../updateByID.js'\n\nexport type BaseOptions<TSlug extends CollectionSlug, TSelect extends SelectType> = {\n autosave?: boolean\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\n depth?: number\n disableTransaction?: boolean\n draft?: boolean\n fallbackLocale?: TypedLocale\n file?: File\n filePath?: string\n locale?: TypedLocale\n overrideAccess?: boolean\n overrideLock?: boolean\n overwriteExistingFiles?: boolean\n populate?: PopulateType\n publishSpecificLocale?: string\n req?: PayloadRequest\n select?: TSelect\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n> = {\n id: number | string\n limit?: never\n where?: never\n} & BaseOptions<TSlug, TSelect>\n\nexport type ManyOptions<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n> = {\n id?: never\n limit?: number\n where: Where\n} & BaseOptions<TSlug, TSelect>\n\nexport type Options<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n> = ByIDOptions<TSlug, TSelect> | ManyOptions<TSlug, TSelect>\n\nasync function updateLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: ByIDOptions<TSlug, TSelect>,\n): Promise<TransformCollectionWithSelect<TSlug, TSelect>>\nasync function updateLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: ManyOptions<TSlug, TSelect>,\n): Promise<BulkOperationResult<TSlug, TSelect>>\nasync function updateLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: Options<TSlug, TSelect>,\n): Promise<BulkOperationResult<TSlug, TSelect> | TransformCollectionWithSelect<TSlug, TSelect>>\nasync function updateLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: Options<TSlug, TSelect>,\n): Promise<BulkOperationResult<TSlug, TSelect> | TransformCollectionWithSelect<TSlug, TSelect>> {\n const {\n id,\n autosave,\n collection: collectionSlug,\n data,\n depth,\n disableTransaction,\n draft,\n file,\n filePath,\n limit,\n overrideAccess = true,\n overrideLock,\n overwriteExistingFiles = false,\n populate,\n publishSpecificLocale,\n select,\n showHiddenFields,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Update Operation.`,\n )\n }\n\n const req = await createLocalReq(options, payload)\n req.file = file ?? (await getFileByPath(filePath))\n\n const args = {\n id,\n autosave,\n collection,\n data,\n depth,\n disableTransaction,\n draft,\n limit,\n overrideAccess,\n overrideLock,\n overwriteExistingFiles,\n payload,\n populate,\n publishSpecificLocale,\n req,\n select,\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return updateByIDOperation<TSlug, TSelect>(args)\n }\n return updateOperation<TSlug, TSelect>(args)\n}\n\nexport default updateLocal\n"],"names":["APIError","getFileByPath","createLocalReq","updateOperation","updateByIDOperation","updateLocal","payload","options","id","autosave","collection","collectionSlug","data","depth","disableTransaction","draft","file","filePath","limit","overrideAccess","overrideLock","overwriteExistingFiles","populate","publishSpecificLocale","select","showHiddenFields","where","collections","String","req","args"],"mappings":"AAkBA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,aAAa,QAAQ,oCAAmC;AACjE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;AAwEtD,eAAeC,YAIbC,OAAgB,EAChBC,OAAgC;IAEhC,MAAM,EACJC,EAAE,EACFC,QAAQ,EACRC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,kBAAkB,EAClBC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,YAAY,EACZC,yBAAyB,KAAK,EAC9BC,QAAQ,EACRC,qBAAqB,EACrBC,MAAM,EACNC,gBAAgB,EAChBC,KAAK,EACN,GAAGnB;IAEJ,MAAMG,aAAaJ,QAAQqB,WAAW,CAAChB,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIV,SACR,CAAC,yBAAyB,EAAE4B,OAAOjB,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMkB,MAAM,MAAM3B,eAAeK,SAASD;IAC1CuB,IAAIb,IAAI,GAAGA,QAAS,MAAMf,cAAcgB;IAExC,MAAMa,OAAO;QACXtB;QACAC;QACAC;QACAE;QACAC;QACAC;QACAC;QACAG;QACAC;QACAC;QACAC;QACAf;QACAgB;QACAC;QACAM;QACAL;QACAC;QACAC;IACF;IAEA,IAAInB,QAAQC,EAAE,EAAE;QACd,OAAOJ,oBAAoC0B;IAC7C;IACA,OAAO3B,gBAAgC2B;AACzC;AAEA,eAAezB,YAAW"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PayloadRequest, SelectType } from '../../types/index.js';
|
|
1
|
+
import type { PayloadRequest, PopulateType, SelectType } from '../../types/index.js';
|
|
2
2
|
import type { Collection, TypeWithID } from '../config/types.js';
|
|
3
3
|
export type Arguments = {
|
|
4
4
|
collection: Collection;
|
|
@@ -8,6 +8,7 @@ export type Arguments = {
|
|
|
8
8
|
draft?: boolean;
|
|
9
9
|
id: number | string;
|
|
10
10
|
overrideAccess?: boolean;
|
|
11
|
+
populate?: PopulateType;
|
|
11
12
|
req: PayloadRequest;
|
|
12
13
|
select?: SelectType;
|
|
13
14
|
showHiddenFields?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/restoreVersion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/restoreVersion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAWhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,KAAK,SAAS,UAAU,cAC9D,SAAS,KACd,OAAO,CAAC,KAAK,CAyLf,CAAA"}
|
|
@@ -8,7 +8,7 @@ import { afterRead } from '../../fields/hooks/afterRead/index.js';
|
|
|
8
8
|
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
9
9
|
import { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js';
|
|
10
10
|
export const restoreVersionOperation = async (args)=>{
|
|
11
|
-
const { id, collection: { config: collectionConfig }, depth, draft, overrideAccess = false, req, req: { fallbackLocale, locale, payload }, select, showHiddenFields } = args;
|
|
11
|
+
const { id, collection: { config: collectionConfig }, depth, draft, overrideAccess = false, populate, req, req: { fallbackLocale, locale, payload }, select, showHiddenFields } = args;
|
|
12
12
|
try {
|
|
13
13
|
if (!id) {
|
|
14
14
|
throw new APIError('Missing ID of version to restore.', httpStatus.BAD_REQUEST);
|
|
@@ -113,6 +113,7 @@ export const restoreVersionOperation = async (args)=>{
|
|
|
113
113
|
global: null,
|
|
114
114
|
locale,
|
|
115
115
|
overrideAccess,
|
|
116
|
+
populate,
|
|
116
117
|
req,
|
|
117
118
|
select,
|
|
118
119
|
showHiddenFields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { PayloadRequest, SelectType } from '../../types/index.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n}\n\nexport const restoreVersionOperation = async <TData extends TypeWithID = any>(\n args: Arguments,\n): Promise<TData> => {\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n draft,\n overrideAccess = false,\n req,\n req: { fallbackLocale, locale, payload },\n select,\n showHiddenFields,\n } = args\n\n try {\n if (!id) {\n throw new APIError('Missing ID of version to restore.', httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Retrieve original raw version\n // /////////////////////////////////////\n\n const { docs: versionDocs } = await req.payload.db.findVersions({\n collection: collectionConfig.slug,\n limit: 1,\n locale,\n pagination: false,\n req,\n where: { id: { equals: id } },\n })\n\n const [rawVersion] = versionDocs\n\n if (!rawVersion) {\n throw new NotFound(req.t)\n }\n\n const parentDocID = rawVersion.parent\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id: parentDocID, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: parentDocID } }, accessResults),\n }\n\n const doc = await req.payload.db.findOne(findOneArgs)\n\n if (!doc && !hasWherePolicy) {\n throw new NotFound(req.t)\n }\n if (!doc && hasWherePolicy) {\n throw new Forbidden(req.t)\n }\n\n // /////////////////////////////////////\n // fetch previousDoc\n // /////////////////////////////////////\n\n const prevDocWithLocales = await getLatestCollectionVersion({\n id: parentDocID,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n let result = await req.payload.db.updateOne({\n id: parentDocID,\n collection: collectionConfig.slug,\n data: rawVersion.version,\n req,\n select,\n })\n\n // /////////////////////////////////////\n // Save `previousDoc` as a version after restoring\n // /////////////////////////////////////\n\n const prevVersion = { ...prevDocWithLocales }\n\n delete prevVersion.id\n\n await payload.db.createVersion({\n autosave: false,\n collectionSlug: collectionConfig.slug,\n createdAt: prevVersion.createdAt,\n parent: parentDocID,\n req,\n updatedAt: new Date().toISOString(),\n versionData: draft ? { ...rawVersion.version, _status: 'draft' } : rawVersion.version,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n select,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data: result,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: prevDocWithLocales,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: prevDocWithLocales,\n req,\n })) || result\n }, Promise.resolve())\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","killTransaction","getLatestCollectionVersion","restoreVersionOperation","args","id","collection","config","collectionConfig","depth","draft","overrideAccess","req","fallbackLocale","locale","payload","select","showHiddenFields","BAD_REQUEST","docs","versionDocs","db","findVersions","slug","limit","pagination","where","equals","rawVersion","t","parentDocID","parent","accessResults","access","update","hasWherePolicy","findOneArgs","doc","findOne","prevDocWithLocales","query","result","updateOne","data","version","prevVersion","createVersion","autosave","collectionSlug","createdAt","updatedAt","Date","toISOString","versionData","_status","context","undefined","global","hooks","reduce","priorHook","hook","Promise","resolve","operation","previousDoc","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { PayloadRequest, PopulateType, SelectType } from '../../types/index.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n populate?: PopulateType\n req: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n}\n\nexport const restoreVersionOperation = async <TData extends TypeWithID = any>(\n args: Arguments,\n): Promise<TData> => {\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n draft,\n overrideAccess = false,\n populate,\n req,\n req: { fallbackLocale, locale, payload },\n select,\n showHiddenFields,\n } = args\n\n try {\n if (!id) {\n throw new APIError('Missing ID of version to restore.', httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Retrieve original raw version\n // /////////////////////////////////////\n\n const { docs: versionDocs } = await req.payload.db.findVersions({\n collection: collectionConfig.slug,\n limit: 1,\n locale,\n pagination: false,\n req,\n where: { id: { equals: id } },\n })\n\n const [rawVersion] = versionDocs\n\n if (!rawVersion) {\n throw new NotFound(req.t)\n }\n\n const parentDocID = rawVersion.parent\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id: parentDocID, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: parentDocID } }, accessResults),\n }\n\n const doc = await req.payload.db.findOne(findOneArgs)\n\n if (!doc && !hasWherePolicy) {\n throw new NotFound(req.t)\n }\n if (!doc && hasWherePolicy) {\n throw new Forbidden(req.t)\n }\n\n // /////////////////////////////////////\n // fetch previousDoc\n // /////////////////////////////////////\n\n const prevDocWithLocales = await getLatestCollectionVersion({\n id: parentDocID,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n let result = await req.payload.db.updateOne({\n id: parentDocID,\n collection: collectionConfig.slug,\n data: rawVersion.version,\n req,\n select,\n })\n\n // /////////////////////////////////////\n // Save `previousDoc` as a version after restoring\n // /////////////////////////////////////\n\n const prevVersion = { ...prevDocWithLocales }\n\n delete prevVersion.id\n\n await payload.db.createVersion({\n autosave: false,\n collectionSlug: collectionConfig.slug,\n createdAt: prevVersion.createdAt,\n parent: parentDocID,\n req,\n updatedAt: new Date().toISOString(),\n versionData: draft ? { ...rawVersion.version, _status: 'draft' } : rawVersion.version,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n populate,\n req,\n select,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data: result,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: prevDocWithLocales,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: prevDocWithLocales,\n req,\n })) || result\n }, Promise.resolve())\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","killTransaction","getLatestCollectionVersion","restoreVersionOperation","args","id","collection","config","collectionConfig","depth","draft","overrideAccess","populate","req","fallbackLocale","locale","payload","select","showHiddenFields","BAD_REQUEST","docs","versionDocs","db","findVersions","slug","limit","pagination","where","equals","rawVersion","t","parentDocID","parent","accessResults","access","update","hasWherePolicy","findOneArgs","doc","findOne","prevDocWithLocales","query","result","updateOne","data","version","prevVersion","createVersion","autosave","collectionSlug","createdAt","updatedAt","Date","toISOString","versionData","_status","context","undefined","global","hooks","reduce","priorHook","hook","Promise","resolve","operation","previousDoc","error"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DeepPartial } from 'ts-essentials';
|
|
2
2
|
import type { CollectionSlug } from '../../index.js';
|
|
3
|
-
import type { PayloadRequest, SelectType, Where } from '../../types/index.js';
|
|
3
|
+
import type { PayloadRequest, PopulateType, SelectType, Where } from '../../types/index.js';
|
|
4
4
|
import type { BulkOperationResult, Collection, RequiredDataFromCollectionSlug, SelectFromCollectionSlug } from '../config/types.js';
|
|
5
5
|
export type Arguments<TSlug extends CollectionSlug> = {
|
|
6
6
|
collection: Collection;
|
|
@@ -13,6 +13,7 @@ export type Arguments<TSlug extends CollectionSlug> = {
|
|
|
13
13
|
overrideAccess?: boolean;
|
|
14
14
|
overrideLock?: boolean;
|
|
15
15
|
overwriteExistingFiles?: boolean;
|
|
16
|
+
populate?: PopulateType;
|
|
16
17
|
req: PayloadRequest;
|
|
17
18
|
select?: SelectType;
|
|
18
19
|
showHiddenFields?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EAEV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAwB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gBAEjC,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAuZ7C,CAAA"}
|
|
@@ -37,7 +37,7 @@ export const updateOperation = async (incomingArgs)=>{
|
|
|
37
37
|
req: args.req
|
|
38
38
|
}) || args;
|
|
39
39
|
}, Promise.resolve());
|
|
40
|
-
const { collection: { config: collectionConfig }, collection, depth, draft: draftArg = false, limit = 0, overrideAccess, overrideLock, overwriteExistingFiles = false, req: { fallbackLocale, locale, payload: { config }, payload }, req, select, showHiddenFields, where } = args;
|
|
40
|
+
const { collection: { config: collectionConfig }, collection, depth, draft: draftArg = false, limit = 0, overrideAccess, overrideLock, overwriteExistingFiles = false, populate, req: { fallbackLocale, locale, payload: { config }, payload }, req, select, showHiddenFields, where } = args;
|
|
41
41
|
if (!where) {
|
|
42
42
|
throw new APIError("Missing 'where' query of documents to update.", httpStatus.BAD_REQUEST);
|
|
43
43
|
}
|
|
@@ -255,6 +255,7 @@ export const updateOperation = async (incomingArgs)=>{
|
|
|
255
255
|
global: null,
|
|
256
256
|
locale,
|
|
257
257
|
overrideAccess,
|
|
258
|
+
populate,
|
|
258
259
|
req,
|
|
259
260
|
select,
|
|
260
261
|
showHiddenFields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, SelectType, Where } from '../../types/index.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n SelectFromCollectionSlug,\n} from '../config/types.js'\n\nimport { ensureUsernameOrEmail } from '../../auth/ensureUsernameOrEmail.js'\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { checkDocumentLockStatus } from '../../utilities/checkDocumentLockStatus.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n collection: Collection\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\n depth?: number\n disableTransaction?: boolean\n disableVerificationEmail?: boolean\n draft?: boolean\n limit?: number\n overrideAccess?: boolean\n overrideLock?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const updateOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments<TSlug>,\n): Promise<BulkOperationResult<TSlug, TSelect>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = !args.disableTransaction && (await initTransaction(args.req))\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n limit = 0,\n overrideAccess,\n overrideLock,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n select,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to update.\", httpStatus.BAD_REQUEST)\n }\n\n const { data: bulkUpdateData } = args\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.update)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const fullWhere = combineQueries(where, accessResult)\n\n let docs\n\n if (collectionConfig.versions?.drafts && shouldSaveDraft) {\n const versionsWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess,\n req,\n versionFields: buildVersionCollectionFields(payload.config, collection.config),\n where: versionsWhere,\n })\n\n const query = await payload.db.queryDrafts<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n limit,\n locale,\n pagination: false,\n req,\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n const { id } = doc\n let data = {\n ...newFileData,\n ...bulkUpdateData,\n }\n\n try {\n // /////////////////////////////////////\n // Handle potentially locked documents\n // /////////////////////////////////////\n\n await checkDocumentLockStatus({\n id,\n collectionSlug: collectionConfig.slug,\n lockErrorMessage: `Document with ID ${id} is currently locked by another user and cannot be updated.`,\n overrideLock,\n req,\n })\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n if (args.collection.config.auth) {\n ensureUsernameOrEmail<TSlug>({\n authOptions: args.collection.config.auth,\n collectionSlug: args.collection.config.slug,\n data: args.data,\n operation: 'update',\n originalDoc,\n req: args.req,\n })\n }\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<DataFromCollectionSlug<TSlug>>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales: doc,\n global: null,\n operation: 'update',\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate &&\n data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: result,\n locale,\n req,\n select,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n select,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: draftArg,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess,\n req,\n select,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'update',\n result,\n })\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","ensureUsernameOrEmail","executeAccess","combineQueries","validateQueryPaths","APIError","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","checkDocumentLockStatus","commitTransaction","initTransaction","killTransaction","buildVersionCollectionFields","appendVersionToQueryKey","saveVersion","buildAfterOperation","updateOperation","incomingArgs","args","shouldCommit","disableTransaction","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","draft","draftArg","limit","overrideAccess","overrideLock","overwriteExistingFiles","fallbackLocale","locale","payload","select","showHiddenFields","where","BAD_REQUEST","data","bulkUpdateData","shouldSaveDraft","Boolean","versions","drafts","accessResult","access","update","fullWhere","docs","versionsWhere","versionFields","query","db","queryDrafts","slug","pagination","find","newFileData","files","filesToUpload","throwOnMissingFile","errors","promises","map","doc","id","collectionSlug","lockErrorMessage","originalDoc","global","overrideDelete","auth","authOptions","upload","disableLocalStorage","result","docWithLocales","skipValidation","validate","_status","updateOne","previousDoc","error","push","message","awaitedDocs","all","filter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, PopulateType, SelectType, Where } from '../../types/index.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n SelectFromCollectionSlug,\n} from '../config/types.js'\n\nimport { ensureUsernameOrEmail } from '../../auth/ensureUsernameOrEmail.js'\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { checkDocumentLockStatus } from '../../utilities/checkDocumentLockStatus.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n collection: Collection\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\n depth?: number\n disableTransaction?: boolean\n disableVerificationEmail?: boolean\n draft?: boolean\n limit?: number\n overrideAccess?: boolean\n overrideLock?: boolean\n overwriteExistingFiles?: boolean\n populate?: PopulateType\n req: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const updateOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments<TSlug>,\n): Promise<BulkOperationResult<TSlug, TSelect>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = !args.disableTransaction && (await initTransaction(args.req))\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n limit = 0,\n overrideAccess,\n overrideLock,\n overwriteExistingFiles = false,\n populate,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n select,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to update.\", httpStatus.BAD_REQUEST)\n }\n\n const { data: bulkUpdateData } = args\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.update)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const fullWhere = combineQueries(where, accessResult)\n\n let docs\n\n if (collectionConfig.versions?.drafts && shouldSaveDraft) {\n const versionsWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess,\n req,\n versionFields: buildVersionCollectionFields(payload.config, collection.config),\n where: versionsWhere,\n })\n\n const query = await payload.db.queryDrafts<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n limit,\n locale,\n pagination: false,\n req,\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n const { id } = doc\n let data = {\n ...newFileData,\n ...bulkUpdateData,\n }\n\n try {\n // /////////////////////////////////////\n // Handle potentially locked documents\n // /////////////////////////////////////\n\n await checkDocumentLockStatus({\n id,\n collectionSlug: collectionConfig.slug,\n lockErrorMessage: `Document with ID ${id} is currently locked by another user and cannot be updated.`,\n overrideLock,\n req,\n })\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n if (args.collection.config.auth) {\n ensureUsernameOrEmail<TSlug>({\n authOptions: args.collection.config.auth,\n collectionSlug: args.collection.config.slug,\n data: args.data,\n operation: 'update',\n originalDoc,\n req: args.req,\n })\n }\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<DataFromCollectionSlug<TSlug>>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales: doc,\n global: null,\n operation: 'update',\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate &&\n data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: result,\n locale,\n req,\n select,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n select,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: draftArg,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess,\n populate,\n req,\n select,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'update',\n result,\n })\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","ensureUsernameOrEmail","executeAccess","combineQueries","validateQueryPaths","APIError","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","checkDocumentLockStatus","commitTransaction","initTransaction","killTransaction","buildVersionCollectionFields","appendVersionToQueryKey","saveVersion","buildAfterOperation","updateOperation","incomingArgs","args","shouldCommit","disableTransaction","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","draft","draftArg","limit","overrideAccess","overrideLock","overwriteExistingFiles","populate","fallbackLocale","locale","payload","select","showHiddenFields","where","BAD_REQUEST","data","bulkUpdateData","shouldSaveDraft","Boolean","versions","drafts","accessResult","access","update","fullWhere","docs","versionsWhere","versionFields","query","db","queryDrafts","slug","pagination","find","newFileData","files","filesToUpload","throwOnMissingFile","errors","promises","map","doc","id","collectionSlug","lockErrorMessage","originalDoc","global","overrideDelete","auth","authOptions","upload","disableLocalStorage","result","docWithLocales","skipValidation","validate","_status","updateOne","previousDoc","error","push","message","awaitedDocs","all","filter"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DeepPartial } from 'ts-essentials';
|
|
2
2
|
import type { CollectionSlug } from '../../index.js';
|
|
3
|
-
import type { PayloadRequest, SelectType, TransformCollectionWithSelect } from '../../types/index.js';
|
|
3
|
+
import type { PayloadRequest, PopulateType, SelectType, TransformCollectionWithSelect } from '../../types/index.js';
|
|
4
4
|
import type { Collection, RequiredDataFromCollectionSlug, SelectFromCollectionSlug } from '../config/types.js';
|
|
5
5
|
export type Arguments<TSlug extends CollectionSlug> = {
|
|
6
6
|
autosave?: boolean;
|
|
@@ -14,6 +14,7 @@ export type Arguments<TSlug extends CollectionSlug> = {
|
|
|
14
14
|
overrideAccess?: boolean;
|
|
15
15
|
overrideLock?: boolean;
|
|
16
16
|
overwriteExistingFiles?: boolean;
|
|
17
|
+
populate?: PopulateType;
|
|
17
18
|
publishSpecificLocale?: string;
|
|
18
19
|
req: PayloadRequest;
|
|
19
20
|
select?: SelectType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAMhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,6BAA6B,EAC9B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACV,UAAU,EAEV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAwB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,6BAEjC,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAMhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,6BAA6B,EAC9B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACV,UAAU,EAEV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAwB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,6BAEjC,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAkavD,CAAA"}
|
|
@@ -40,7 +40,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
|
|
|
40
40
|
if (args.publishSpecificLocale) {
|
|
41
41
|
args.req.locale = args.publishSpecificLocale;
|
|
42
42
|
}
|
|
43
|
-
const { id, autosave = false, collection: { config: collectionConfig }, collection, depth, draft: draftArg = false, overrideAccess, overrideLock, overwriteExistingFiles = false, publishSpecificLocale, req: { fallbackLocale, locale, payload: { config }, payload }, req, select, showHiddenFields } = args;
|
|
43
|
+
const { id, autosave = false, collection: { config: collectionConfig }, collection, depth, draft: draftArg = false, overrideAccess, overrideLock, overwriteExistingFiles = false, populate, publishSpecificLocale, req: { fallbackLocale, locale, payload: { config }, payload }, req, select, showHiddenFields } = args;
|
|
44
44
|
if (!id) {
|
|
45
45
|
throw new APIError('Missing ID of document to update.', httpStatus.BAD_REQUEST);
|
|
46
46
|
}
|
|
@@ -209,7 +209,11 @@ export const updateByIDOperation = async (incomingArgs)=>{
|
|
|
209
209
|
skipValidation: shouldSaveDraft && collectionConfig.versions.drafts && !collectionConfig.versions.drafts.validate && data._status !== 'published'
|
|
210
210
|
};
|
|
211
211
|
if (publishSpecificLocale) {
|
|
212
|
-
|
|
212
|
+
versionSnapshotResult = await beforeChange({
|
|
213
|
+
...beforeChangeArgs,
|
|
214
|
+
docWithLocales
|
|
215
|
+
});
|
|
216
|
+
const lastPublished = await getLatestCollectionVersion({
|
|
213
217
|
id,
|
|
214
218
|
config: collectionConfig,
|
|
215
219
|
payload,
|
|
@@ -217,10 +221,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
|
|
|
217
221
|
query: findOneArgs,
|
|
218
222
|
req
|
|
219
223
|
});
|
|
220
|
-
|
|
221
|
-
...beforeChangeArgs,
|
|
222
|
-
docWithLocales
|
|
223
|
-
});
|
|
224
|
+
publishedDocWithLocales = lastPublished ? lastPublished : {};
|
|
224
225
|
}
|
|
225
226
|
let result = await beforeChange({
|
|
226
227
|
...beforeChangeArgs,
|
|
@@ -286,6 +287,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
|
|
|
286
287
|
global: null,
|
|
287
288
|
locale,
|
|
288
289
|
overrideAccess,
|
|
290
|
+
populate,
|
|
289
291
|
req,
|
|
290
292
|
select,
|
|
291
293
|
showHiddenFields
|