payload 3.0.0-beta.107 → 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/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/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +2 -0
- package/dist/config/sanitize.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/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 +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -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/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 +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAY5E,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,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,KAAK,SAAS,cAAc,gBAChD,SAAS,KACtB,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CA4QtD,CAAA"}
|
|
@@ -23,7 +23,7 @@ export const findOperation = async (incomingArgs)=>{
|
|
|
23
23
|
req: args.req
|
|
24
24
|
}) || args;
|
|
25
25
|
}, Promise.resolve());
|
|
26
|
-
const { collection: { config: collectionConfig }, collection, currentDepth, depth, disableErrors, draft: draftsEnabled, limit, overrideAccess, page, pagination = true, req: { fallbackLocale, locale, payload }, req, showHiddenFields, sort, where } = args;
|
|
26
|
+
const { collection: { config: collectionConfig }, collection, currentDepth, depth, disableErrors, draft: draftsEnabled, includeLockStatus, joins, limit, overrideAccess, page, pagination = true, req: { fallbackLocale, locale, payload }, req, showHiddenFields, sort, where } = args;
|
|
27
27
|
// /////////////////////////////////////
|
|
28
28
|
// Access
|
|
29
29
|
// /////////////////////////////////////
|
|
@@ -63,7 +63,7 @@ export const findOperation = async (incomingArgs)=>{
|
|
|
63
63
|
collectionConfig: collection.config,
|
|
64
64
|
overrideAccess,
|
|
65
65
|
req,
|
|
66
|
-
versionFields: buildVersionCollectionFields(collection.config),
|
|
66
|
+
versionFields: buildVersionCollectionFields(payload.config, collection.config),
|
|
67
67
|
where: fullWhere
|
|
68
68
|
});
|
|
69
69
|
result = await payload.db.queryDrafts({
|
|
@@ -85,6 +85,7 @@ export const findOperation = async (incomingArgs)=>{
|
|
|
85
85
|
});
|
|
86
86
|
result = await payload.db.find({
|
|
87
87
|
collection: collectionConfig.slug,
|
|
88
|
+
joins: req.payloadAPI === 'GraphQL' ? false : joins,
|
|
88
89
|
limit: sanitizedLimit,
|
|
89
90
|
locale,
|
|
90
91
|
page: sanitizedPage,
|
|
@@ -94,6 +95,46 @@ export const findOperation = async (incomingArgs)=>{
|
|
|
94
95
|
where: fullWhere
|
|
95
96
|
});
|
|
96
97
|
}
|
|
98
|
+
if (includeLockStatus) {
|
|
99
|
+
try {
|
|
100
|
+
const lockedDocuments = await payload.find({
|
|
101
|
+
collection: 'payload-locked-documents',
|
|
102
|
+
depth: 1,
|
|
103
|
+
limit: sanitizedLimit,
|
|
104
|
+
pagination: false,
|
|
105
|
+
req,
|
|
106
|
+
where: {
|
|
107
|
+
and: [
|
|
108
|
+
{
|
|
109
|
+
'document.relationTo': {
|
|
110
|
+
equals: collectionConfig.slug
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
'document.value': {
|
|
115
|
+
in: result.docs.map((doc)=>doc.id)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
const lockedDocs = Array.isArray(lockedDocuments?.docs) ? lockedDocuments.docs : [];
|
|
122
|
+
result.docs = result.docs.map((doc)=>{
|
|
123
|
+
const lockedDoc = lockedDocs.find((lock)=>lock?.document?.value === doc.id);
|
|
124
|
+
return {
|
|
125
|
+
...doc,
|
|
126
|
+
_isLocked: !!lockedDoc,
|
|
127
|
+
_userEditing: lockedDoc ? lockedDoc?.user?.value : null
|
|
128
|
+
};
|
|
129
|
+
});
|
|
130
|
+
} catch (error) {
|
|
131
|
+
result.docs = result.docs.map((doc)=>({
|
|
132
|
+
...doc,
|
|
133
|
+
_isLocked: false,
|
|
134
|
+
_userEditing: null
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
97
138
|
// /////////////////////////////////////
|
|
98
139
|
// beforeRead - Collection
|
|
99
140
|
// /////////////////////////////////////
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/find.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { PaginatedDocs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { getQueryDraftsSort } from '../../versions/drafts/getQueryDraftsSort.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n limit?: number\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: string\n where?: Where\n}\n\nexport const findOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<PaginatedDocs<DataFromCollectionSlug<TSlug>>> => {\n let args = incomingArgs\n\n try {\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: 'read',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n collection,\n currentDepth,\n depth,\n disableErrors,\n draft: draftsEnabled,\n limit,\n overrideAccess,\n page,\n pagination = true,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n sort,\n where,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ disableErrors, req }, collectionConfig.access.read)\n\n // If errors are disabled, and access returns false, return empty results\n if (accessResult === false) {\n return {\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit,\n nextPage: null,\n page: 1,\n pagingCounter: 1,\n prevPage: null,\n totalDocs: 0,\n totalPages: 1,\n }\n }\n }\n\n // /////////////////////////////////////\n // Find\n // /////////////////////////////////////\n\n const usePagination = pagination && limit !== 0\n const sanitizedLimit = limit ?? (usePagination ? 10 : 0)\n const sanitizedPage = page || 1\n\n let result: PaginatedDocs<DataFromCollectionSlug<TSlug>>\n\n let fullWhere = combineQueries(where, accessResult)\n\n if (collectionConfig.versions?.drafts && draftsEnabled) {\n fullWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess,\n req,\n versionFields: buildVersionCollectionFields(collection.config),\n where: fullWhere,\n })\n\n result = await payload.db.queryDrafts<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n limit: sanitizedLimit,\n locale,\n page: sanitizedPage,\n pagination: usePagination,\n req,\n sort: getQueryDraftsSort(sort),\n where: fullWhere,\n })\n } else {\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n result = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n limit: sanitizedLimit,\n locale,\n page: sanitizedPage,\n pagination,\n req,\n sort,\n where: fullWhere,\n })\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) => {\n let docRef = doc\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: docRef,\n query: fullWhere,\n req,\n })) || docRef\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) =>\n afterRead<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc,\n draft: draftsEnabled,\n fallbackLocale,\n findMany: true,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n }),\n ),\n ),\n }\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) => {\n let docRef = doc\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: docRef,\n findMany: true,\n query: fullWhere,\n req,\n })) || doc\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'find',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","afterRead","killTransaction","buildVersionCollectionFields","appendVersionToQueryKey","getQueryDraftsSort","buildAfterOperation","findOperation","incomingArgs","args","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","req","operation","Promise","resolve","collectionConfig","currentDepth","depth","disableErrors","draft","draftsEnabled","limit","overrideAccess","page","pagination","fallbackLocale","locale","payload","showHiddenFields","sort","where","accessResult","access","read","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","usePagination","sanitizedLimit","sanitizedPage","result","fullWhere","versions","drafts","versionFields","db","queryDrafts","slug","find","all","map","doc","docRef","beforeRead","query","findMany","global","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/find.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { PaginatedDocs } from '../../database/types.js'\nimport type { CollectionSlug, JoinQuery } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { getQueryDraftsSort } from '../../versions/drafts/getQueryDraftsSort.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n includeLockStatus?: boolean\n joins?: JoinQuery\n limit?: number\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: string\n where?: Where\n}\n\nexport const findOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<PaginatedDocs<DataFromCollectionSlug<TSlug>>> => {\n let args = incomingArgs\n\n try {\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: 'read',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n collection,\n currentDepth,\n depth,\n disableErrors,\n draft: draftsEnabled,\n includeLockStatus,\n joins,\n limit,\n overrideAccess,\n page,\n pagination = true,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n sort,\n where,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ disableErrors, req }, collectionConfig.access.read)\n\n // If errors are disabled, and access returns false, return empty results\n if (accessResult === false) {\n return {\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit,\n nextPage: null,\n page: 1,\n pagingCounter: 1,\n prevPage: null,\n totalDocs: 0,\n totalPages: 1,\n }\n }\n }\n\n // /////////////////////////////////////\n // Find\n // /////////////////////////////////////\n\n const usePagination = pagination && limit !== 0\n const sanitizedLimit = limit ?? (usePagination ? 10 : 0)\n const sanitizedPage = page || 1\n\n let result: PaginatedDocs<DataFromCollectionSlug<TSlug>>\n\n let fullWhere = combineQueries(where, accessResult)\n\n if (collectionConfig.versions?.drafts && draftsEnabled) {\n fullWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess,\n req,\n versionFields: buildVersionCollectionFields(payload.config, collection.config),\n where: fullWhere,\n })\n\n result = await payload.db.queryDrafts<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n limit: sanitizedLimit,\n locale,\n page: sanitizedPage,\n pagination: usePagination,\n req,\n sort: getQueryDraftsSort(sort),\n where: fullWhere,\n })\n } else {\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n result = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n joins: req.payloadAPI === 'GraphQL' ? false : joins,\n limit: sanitizedLimit,\n locale,\n page: sanitizedPage,\n pagination,\n req,\n sort,\n where: fullWhere,\n })\n }\n\n if (includeLockStatus) {\n try {\n const lockedDocuments = await payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: sanitizedLimit,\n pagination: false,\n req,\n where: {\n and: [\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n {\n 'document.value': {\n in: result.docs.map((doc) => doc.id),\n },\n },\n ],\n },\n })\n\n const lockedDocs = Array.isArray(lockedDocuments?.docs) ? lockedDocuments.docs : []\n\n result.docs = result.docs.map((doc) => {\n const lockedDoc = lockedDocs.find((lock) => lock?.document?.value === doc.id)\n return {\n ...doc,\n _isLocked: !!lockedDoc,\n _userEditing: lockedDoc ? lockedDoc?.user?.value : null,\n }\n })\n } catch (error) {\n result.docs = result.docs.map((doc) => ({\n ...doc,\n _isLocked: false,\n _userEditing: null,\n }))\n }\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) => {\n let docRef = doc\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: docRef,\n query: fullWhere,\n req,\n })) || docRef\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) =>\n afterRead<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc,\n draft: draftsEnabled,\n fallbackLocale,\n findMany: true,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n }),\n ),\n ),\n }\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) => {\n let docRef = doc\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: docRef,\n findMany: true,\n query: fullWhere,\n req,\n })) || doc\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'find',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","afterRead","killTransaction","buildVersionCollectionFields","appendVersionToQueryKey","getQueryDraftsSort","buildAfterOperation","findOperation","incomingArgs","args","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","req","operation","Promise","resolve","collectionConfig","currentDepth","depth","disableErrors","draft","draftsEnabled","includeLockStatus","joins","limit","overrideAccess","page","pagination","fallbackLocale","locale","payload","showHiddenFields","sort","where","accessResult","access","read","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","usePagination","sanitizedLimit","sanitizedPage","result","fullWhere","versions","drafts","versionFields","db","queryDrafts","slug","find","payloadAPI","lockedDocuments","and","equals","in","map","doc","id","lockedDocs","Array","isArray","lockedDoc","lock","document","value","_isLocked","_userEditing","user","error","all","docRef","beforeRead","query","findMany","global"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CollectionSlug } from '../../index.js';
|
|
1
|
+
import type { CollectionSlug, JoinQuery } from '../../index.js';
|
|
2
2
|
import type { PayloadRequest } from '../../types/index.js';
|
|
3
3
|
import type { Collection, DataFromCollectionSlug } from '../config/types.js';
|
|
4
4
|
export type Arguments = {
|
|
@@ -8,6 +8,8 @@ export type Arguments = {
|
|
|
8
8
|
disableErrors?: boolean;
|
|
9
9
|
draft?: boolean;
|
|
10
10
|
id: number | string;
|
|
11
|
+
includeLockStatus?: boolean;
|
|
12
|
+
joins?: JoinQuery;
|
|
11
13
|
overrideAccess?: boolean;
|
|
12
14
|
req: PayloadRequest;
|
|
13
15
|
showHiddenFields?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAU5E,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,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,KAAK,SAAS,cAAc,gBACpD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CA8MvC,CAAA"}
|
|
@@ -21,7 +21,7 @@ export const findByIDOperation = async (incomingArgs)=>{
|
|
|
21
21
|
req: args.req
|
|
22
22
|
}) || args;
|
|
23
23
|
}, Promise.resolve());
|
|
24
|
-
const { id, collection: { config: collectionConfig }, currentDepth, depth, disableErrors, draft: draftEnabled = false, overrideAccess = false, req: { fallbackLocale, locale, t }, req, showHiddenFields } = args;
|
|
24
|
+
const { id, collection: { config: collectionConfig }, currentDepth, depth, disableErrors, draft: draftEnabled = false, includeLockStatus, joins, overrideAccess = false, req: { fallbackLocale, locale, t }, req, showHiddenFields } = args;
|
|
25
25
|
// /////////////////////////////////////
|
|
26
26
|
// Access
|
|
27
27
|
// /////////////////////////////////////
|
|
@@ -36,6 +36,7 @@ export const findByIDOperation = async (incomingArgs)=>{
|
|
|
36
36
|
}
|
|
37
37
|
const findOneArgs = {
|
|
38
38
|
collection: collectionConfig.slug,
|
|
39
|
+
joins: req.payloadAPI === 'GraphQL' ? false : joins,
|
|
39
40
|
locale,
|
|
40
41
|
req: {
|
|
41
42
|
transactionID: req.transactionID
|
|
@@ -60,6 +61,42 @@ export const findByIDOperation = async (incomingArgs)=>{
|
|
|
60
61
|
return null;
|
|
61
62
|
}
|
|
62
63
|
// /////////////////////////////////////
|
|
64
|
+
// Include Lock Status if required
|
|
65
|
+
// /////////////////////////////////////
|
|
66
|
+
if (includeLockStatus && id) {
|
|
67
|
+
let lockStatus = null;
|
|
68
|
+
try {
|
|
69
|
+
const lockedDocument = await req.payload.find({
|
|
70
|
+
collection: 'payload-locked-documents',
|
|
71
|
+
depth: 1,
|
|
72
|
+
limit: 1,
|
|
73
|
+
pagination: false,
|
|
74
|
+
req,
|
|
75
|
+
where: {
|
|
76
|
+
and: [
|
|
77
|
+
{
|
|
78
|
+
'document.relationTo': {
|
|
79
|
+
equals: collectionConfig.slug
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
'document.value': {
|
|
84
|
+
equals: id
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
if (lockedDocument && lockedDocument.docs.length > 0) {
|
|
91
|
+
lockStatus = lockedDocument.docs[0];
|
|
92
|
+
}
|
|
93
|
+
} catch {
|
|
94
|
+
// swallow error
|
|
95
|
+
}
|
|
96
|
+
result._isLocked = !!lockStatus;
|
|
97
|
+
result._userEditing = lockStatus?.user?.value ?? null;
|
|
98
|
+
}
|
|
99
|
+
// /////////////////////////////////////
|
|
63
100
|
// Replace document with draft if available
|
|
64
101
|
// /////////////////////////////////////
|
|
65
102
|
if (collectionConfig.versions?.drafts && draftEnabled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/findByID.ts"],"sourcesContent":["import type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport replaceWithDraftIfAvailable from '../../versions/drafts/replaceWithDraftIfAvailable.js'\nimport { buildAfterOperation } from './utils.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 showHiddenFields?: boolean\n}\n\nexport const findByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\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: 'read',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n draft: draftEnabled = false,\n overrideAccess = false,\n req: { fallbackLocale, locale, t },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResult = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.read)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResult === false) {\n return null\n }\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req: {\n transactionID: req.transactionID,\n } as PayloadRequest,\n where: combineQueries({ id: { equals: id } }, accessResult),\n }\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n if (!findOneArgs.where.and[0].id) {\n throw new NotFound(t)\n }\n\n let result: DataFromCollectionSlug<TSlug> = await req.payload.db.findOne(findOneArgs)\n\n if (!result) {\n if (!disableErrors) {\n throw new NotFound(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // Replace document with draft if available\n // /////////////////////////////////////\n\n if (collectionConfig.versions?.drafts && draftEnabled) {\n result = await replaceWithDraftIfAvailable({\n accessResult,\n doc: result,\n entity: collectionConfig,\n entityType: 'collection',\n overrideAccess,\n req,\n })\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result,\n draft: draftEnabled,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\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 query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'findByID',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","NotFound","afterRead","killTransaction","replaceWithDraftIfAvailable","buildAfterOperation","findByIDOperation","incomingArgs","args","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","req","operation","Promise","resolve","id","collectionConfig","currentDepth","depth","disableErrors","draft","draftEnabled","overrideAccess","fallbackLocale","locale","t","showHiddenFields","accessResult","access","read","findOneArgs","slug","transactionID","where","equals","and","result","payload","db","findOne","versions","drafts","doc","entity","entityType","beforeRead","query","global","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/findByID.ts"],"sourcesContent":["import type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug, JoinQuery } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport replaceWithDraftIfAvailable from '../../versions/drafts/replaceWithDraftIfAvailable.js'\nimport { buildAfterOperation } from './utils.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 includeLockStatus?: boolean\n joins?: JoinQuery\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\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: 'read',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n draft: draftEnabled = false,\n includeLockStatus,\n joins,\n overrideAccess = false,\n req: { fallbackLocale, locale, t },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResult = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.read)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResult === false) {\n return null\n }\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n joins: req.payloadAPI === 'GraphQL' ? false : joins,\n locale,\n req: {\n transactionID: req.transactionID,\n } as PayloadRequest,\n where: combineQueries({ id: { equals: id } }, accessResult),\n }\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n if (!findOneArgs.where.and[0].id) {\n throw new NotFound(t)\n }\n\n let result: DataFromCollectionSlug<TSlug> = await req.payload.db.findOne(findOneArgs)\n\n if (!result) {\n if (!disableErrors) {\n throw new NotFound(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // Include Lock Status if required\n // /////////////////////////////////////\n\n if (includeLockStatus && id) {\n let lockStatus = null\n\n try {\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n pagination: false,\n req,\n where: {\n and: [\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n {\n 'document.value': {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (lockedDocument && lockedDocument.docs.length > 0) {\n lockStatus = lockedDocument.docs[0]\n }\n } catch {\n // swallow error\n }\n\n result._isLocked = !!lockStatus\n result._userEditing = lockStatus?.user?.value ?? null\n }\n\n // /////////////////////////////////////\n // Replace document with draft if available\n // /////////////////////////////////////\n\n if (collectionConfig.versions?.drafts && draftEnabled) {\n result = await replaceWithDraftIfAvailable({\n accessResult,\n doc: result,\n entity: collectionConfig,\n entityType: 'collection',\n overrideAccess,\n req,\n })\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result,\n draft: draftEnabled,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\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 query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'findByID',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","NotFound","afterRead","killTransaction","replaceWithDraftIfAvailable","buildAfterOperation","findByIDOperation","incomingArgs","args","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","req","operation","Promise","resolve","id","collectionConfig","currentDepth","depth","disableErrors","draft","draftEnabled","includeLockStatus","joins","overrideAccess","fallbackLocale","locale","t","showHiddenFields","accessResult","access","read","findOneArgs","slug","payloadAPI","transactionID","where","equals","and","result","payload","db","findOne","lockStatus","lockedDocument","find","limit","pagination","docs","length","_isLocked","_userEditing","user","value","versions","drafts","doc","entity","entityType","beforeRead","query","global","error"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export const findVersionsOperation = async (args)=>{
|
|
|
17
17
|
req
|
|
18
18
|
}, collectionConfig.access.readVersions);
|
|
19
19
|
}
|
|
20
|
-
const versionFields = buildVersionCollectionFields(collectionConfig);
|
|
20
|
+
const versionFields = buildVersionCollectionFields(payload.config, collectionConfig);
|
|
21
21
|
await validateQueryPaths({
|
|
22
22
|
collectionConfig,
|
|
23
23
|
overrideAccess,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/findVersions.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../database/types.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n limit?: number\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: string\n where?: Where\n}\n\nexport const findVersionsOperation = async <TData extends TypeWithVersion<TData>>(\n args: Arguments,\n): Promise<PaginatedDocs<TData>> => {\n const {\n collection: { config: collectionConfig },\n depth,\n limit,\n overrideAccess,\n page,\n pagination = true,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n sort,\n where,\n } = args\n\n try {\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResults\n\n if (!overrideAccess) {\n accessResults = await executeAccess({ req }, collectionConfig.access.readVersions)\n }\n\n const versionFields = buildVersionCollectionFields(collectionConfig)\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n versionFields,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResults)\n\n // /////////////////////////////////////\n // Find\n // /////////////////////////////////////\n\n const paginatedDocs = await payload.db.findVersions<TData>({\n collection: collectionConfig.slug,\n limit: limit ?? 10,\n locale,\n page: page || 1,\n pagination,\n req,\n sort,\n where: fullWhere,\n })\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n let result = {\n ...paginatedDocs,\n docs: await Promise.all(\n paginatedDocs.docs.map(async (doc) => {\n const docRef = doc\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: docRef.version,\n query: fullWhere,\n req,\n })) || docRef.version\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n } as PaginatedDocs<TData>\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (data) => ({\n ...data,\n version: await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: data.version,\n draft: undefined,\n fallbackLocale,\n findMany: true,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n }),\n })),\n ),\n }\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) => {\n const docRef = doc\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: doc.version,\n findMany: true,\n query: fullWhere,\n req,\n })) || doc.version\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n }\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: result.docs.map((doc) => sanitizeInternalFields<TData>(doc)),\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","afterRead","killTransaction","sanitizeInternalFields","buildVersionCollectionFields","findVersionsOperation","args","collection","config","collectionConfig","depth","limit","overrideAccess","page","pagination","req","fallbackLocale","locale","payload","showHiddenFields","sort","where","accessResults","access","readVersions","versionFields","fullWhere","paginatedDocs","db","findVersions","slug","result","docs","Promise","all","map","doc","docRef","hooks","beforeRead","reduce","priorHook","hook","version","context","query","resolve","data","draft","undefined","findMany","global","error"],"mappings":"AAKA,OAAOA,mBAAmB,8BAA6B;AACvD,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,kBAAkB,QAAQ,uDAAsD;AACzF,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,OAAOC,4BAA4B,4CAA2C;AAC9E,SAASC,4BAA4B,QAAQ,0CAAyC;AAetF,OAAO,MAAMC,wBAAwB,OACnCC;IAEA,MAAM,EACJC,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCC,KAAK,EACLC,KAAK,EACLC,cAAc,EACdC,IAAI,EACJC,aAAa,IAAI,EACjBC,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,OAAO,EAAE,EACxCH,GAAG,EACHI,gBAAgB,EAChBC,IAAI,EACJC,KAAK,EACN,GAAGf;IAEJ,IAAI;QACF,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAIgB;QAEJ,IAAI,CAACV,gBAAgB;YACnBU,gBAAgB,MAAMxB,cAAc;gBAAEiB;YAAI,GAAGN,iBAAiBc,MAAM,CAACC,YAAY;QACnF;QAEA,MAAMC,gBAAgBrB,
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/findVersions.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../database/types.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n limit?: number\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: string\n where?: Where\n}\n\nexport const findVersionsOperation = async <TData extends TypeWithVersion<TData>>(\n args: Arguments,\n): Promise<PaginatedDocs<TData>> => {\n const {\n collection: { config: collectionConfig },\n depth,\n limit,\n overrideAccess,\n page,\n pagination = true,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n sort,\n where,\n } = args\n\n try {\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResults\n\n if (!overrideAccess) {\n accessResults = await executeAccess({ req }, collectionConfig.access.readVersions)\n }\n\n const versionFields = buildVersionCollectionFields(payload.config, collectionConfig)\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n versionFields,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResults)\n\n // /////////////////////////////////////\n // Find\n // /////////////////////////////////////\n\n const paginatedDocs = await payload.db.findVersions<TData>({\n collection: collectionConfig.slug,\n limit: limit ?? 10,\n locale,\n page: page || 1,\n pagination,\n req,\n sort,\n where: fullWhere,\n })\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n let result = {\n ...paginatedDocs,\n docs: await Promise.all(\n paginatedDocs.docs.map(async (doc) => {\n const docRef = doc\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: docRef.version,\n query: fullWhere,\n req,\n })) || docRef.version\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n } as PaginatedDocs<TData>\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (data) => ({\n ...data,\n version: await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: data.version,\n draft: undefined,\n fallbackLocale,\n findMany: true,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n }),\n })),\n ),\n }\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) => {\n const docRef = doc\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: doc.version,\n findMany: true,\n query: fullWhere,\n req,\n })) || doc.version\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n }\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: result.docs.map((doc) => sanitizeInternalFields<TData>(doc)),\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","afterRead","killTransaction","sanitizeInternalFields","buildVersionCollectionFields","findVersionsOperation","args","collection","config","collectionConfig","depth","limit","overrideAccess","page","pagination","req","fallbackLocale","locale","payload","showHiddenFields","sort","where","accessResults","access","readVersions","versionFields","fullWhere","paginatedDocs","db","findVersions","slug","result","docs","Promise","all","map","doc","docRef","hooks","beforeRead","reduce","priorHook","hook","version","context","query","resolve","data","draft","undefined","findMany","global","error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAOxF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAE3F,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;AACzC,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAOxF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAE3F,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;AACzC,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;AAwCtE,eAAe,WAAW,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { createLocalReq } from '../../../utilities/createLocalReq.js';
|
|
|
3
3
|
import { deleteOperation } from '../delete.js';
|
|
4
4
|
import { deleteByIDOperation } from '../deleteByID.js';
|
|
5
5
|
async function deleteLocal(payload, options) {
|
|
6
|
-
const { id, collection: collectionSlug, depth, overrideAccess = true, showHiddenFields, where } = options;
|
|
6
|
+
const { id, collection: collectionSlug, depth, overrideAccess = true, overrideLock, showHiddenFields, where } = options;
|
|
7
7
|
const collection = payload.collections[collectionSlug];
|
|
8
8
|
if (!collection) {
|
|
9
9
|
throw new APIError(`The collection with slug ${String(collectionSlug)} can't be found. Delete Operation.`);
|
|
@@ -13,6 +13,7 @@ async function deleteLocal(payload, options) {
|
|
|
13
13
|
collection,
|
|
14
14
|
depth,
|
|
15
15
|
overrideAccess,
|
|
16
|
+
overrideLock,
|
|
16
17
|
req: await createLocalReq(options, payload),
|
|
17
18
|
showHiddenFields,
|
|
18
19
|
where
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/collections/operations/local/delete.ts"],"sourcesContent":["import type { CollectionSlug, Payload, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext, Where } from '../../../types/index.js'\nimport type { BulkOperationResult, DataFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { deleteOperation } from '../delete.js'\nimport { deleteByIDOperation } from '../deleteByID.js'\n\nexport type BaseOptions<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 fallbackLocale?: TypedLocale\n locale?: TypedLocale\n overrideAccess?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<TSlug extends CollectionSlug> = {\n id: number | string\n where?: never\n} & BaseOptions<TSlug>\n\nexport type ManyOptions<TSlug extends CollectionSlug> = {\n id?: never\n where: Where\n} & BaseOptions<TSlug>\n\nexport type Options<TSlug extends CollectionSlug> = ByIDOptions<TSlug> | ManyOptions<TSlug>\n\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: ByIDOptions<TSlug>,\n): Promise<DataFromCollectionSlug<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: ManyOptions<TSlug>,\n): Promise<BulkOperationResult<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | DataFromCollectionSlug<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | DataFromCollectionSlug<TSlug>> {\n const {\n id,\n collection: collectionSlug,\n depth,\n overrideAccess = true,\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. Delete Operation.`,\n )\n }\n\n const args = {\n id,\n collection,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return deleteByIDOperation<TSlug>(args)\n }\n return deleteOperation<TSlug>(args)\n}\n\nexport default deleteLocal\n"],"names":["APIError","createLocalReq","deleteOperation","deleteByIDOperation","deleteLocal","payload","options","id","collection","collectionSlug","depth","overrideAccess","showHiddenFields","where","collections","String","args","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;
|
|
1
|
+
{"version":3,"sources":["../../../../src/collections/operations/local/delete.ts"],"sourcesContent":["import type { CollectionSlug, Payload, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext, Where } from '../../../types/index.js'\nimport type { BulkOperationResult, DataFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { deleteOperation } from '../delete.js'\nimport { deleteByIDOperation } from '../deleteByID.js'\n\nexport type BaseOptions<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 fallbackLocale?: TypedLocale\n locale?: TypedLocale\n overrideAccess?: boolean\n overrideLock?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<TSlug extends CollectionSlug> = {\n id: number | string\n where?: never\n} & BaseOptions<TSlug>\n\nexport type ManyOptions<TSlug extends CollectionSlug> = {\n id?: never\n where: Where\n} & BaseOptions<TSlug>\n\nexport type Options<TSlug extends CollectionSlug> = ByIDOptions<TSlug> | ManyOptions<TSlug>\n\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: ByIDOptions<TSlug>,\n): Promise<DataFromCollectionSlug<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: ManyOptions<TSlug>,\n): Promise<BulkOperationResult<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | DataFromCollectionSlug<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | DataFromCollectionSlug<TSlug>> {\n const {\n id,\n collection: collectionSlug,\n depth,\n overrideAccess = true,\n overrideLock,\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. Delete Operation.`,\n )\n }\n\n const args = {\n id,\n collection,\n depth,\n overrideAccess,\n overrideLock,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return deleteByIDOperation<TSlug>(args)\n }\n return deleteOperation<TSlug>(args)\n}\n\nexport default deleteLocal\n"],"names":["APIError","createLocalReq","deleteOperation","deleteByIDOperation","deleteLocal","payload","options","id","collection","collectionSlug","depth","overrideAccess","overrideLock","showHiddenFields","where","collections","String","args","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;AA0CtD,eAAeC,YACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,YAAY,EACZC,gBAAgB,EAChBC,KAAK,EACN,GAAGR;IAEJ,MAAME,aAAaH,QAAQU,WAAW,CAACN,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIR,SACR,CAAC,yBAAyB,EAAEgB,OAAOP,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMQ,OAAO;QACXV;QACAC;QACAE;QACAC;QACAC;QACAM,KAAK,MAAMjB,eAAeK,SAASD;QACnCQ;QACAC;IACF;IAEA,IAAIR,QAAQC,EAAE,EAAE;QACd,OAAOJ,oBAA2Bc;IACpC;IACA,OAAOf,gBAAuBe;AAChC;AAEA,eAAeb,YAAW"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PaginatedDocs } from '../../../database/types.js';
|
|
2
|
-
import type { CollectionSlug, Payload, TypedLocale } from '../../../index.js';
|
|
2
|
+
import type { CollectionSlug, JoinQuery, Payload, TypedLocale } from '../../../index.js';
|
|
3
3
|
import type { Document, PayloadRequest, RequestContext, Where } from '../../../types/index.js';
|
|
4
4
|
import type { DataFromCollectionSlug } from '../../config/types.js';
|
|
5
5
|
export type Options<TSlug extends CollectionSlug> = {
|
|
@@ -13,6 +13,8 @@ export type Options<TSlug extends CollectionSlug> = {
|
|
|
13
13
|
disableErrors?: boolean;
|
|
14
14
|
draft?: boolean;
|
|
15
15
|
fallbackLocale?: TypedLocale;
|
|
16
|
+
includeLockStatus?: boolean;
|
|
17
|
+
joins?: JoinQuery;
|
|
16
18
|
limit?: number;
|
|
17
19
|
locale?: 'all' | TypedLocale;
|
|
18
20
|
overrideAccess?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC9F,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,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,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,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,wBAAsB,SAAS,CAAC,KAAK,SAAS,cAAc,EAC1D,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CA2CvD"}
|
|
@@ -2,7 +2,7 @@ import { APIError } from '../../../errors/index.js';
|
|
|
2
2
|
import { createLocalReq } from '../../../utilities/createLocalReq.js';
|
|
3
3
|
import { findOperation } from '../find.js';
|
|
4
4
|
export async function findLocal(payload, options) {
|
|
5
|
-
const { collection: collectionSlug, currentDepth, depth, disableErrors, draft = false, limit, overrideAccess = true, page, pagination = true, showHiddenFields, sort, where } = options;
|
|
5
|
+
const { collection: collectionSlug, currentDepth, depth, disableErrors, draft = false, includeLockStatus, joins, limit, overrideAccess = true, page, pagination = true, 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 Operation.`);
|
|
@@ -13,6 +13,8 @@ export async function findLocal(payload, options) {
|
|
|
13
13
|
depth,
|
|
14
14
|
disableErrors,
|
|
15
15
|
draft,
|
|
16
|
+
includeLockStatus,
|
|
17
|
+
joins,
|
|
16
18
|
limit,
|
|
17
19
|
overrideAccess,
|
|
18
20
|
page,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/collections/operations/local/find.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../../database/types.js'\nimport type { CollectionSlug, Payload, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext, Where } 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 { findOperation } from '../find.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 currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n fallbackLocale?: TypedLocale\n limit?: number\n locale?: 'all' | TypedLocale\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: string\n user?: Document\n where?: Where\n}\n\nexport async function findLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<PaginatedDocs<DataFromCollectionSlug<TSlug>>> {\n const {\n collection: collectionSlug,\n currentDepth,\n depth,\n disableErrors,\n draft = false,\n limit,\n overrideAccess = true,\n page,\n pagination = true,\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 Operation.`,\n )\n }\n\n return findOperation<TSlug>({\n collection,\n currentDepth,\n depth,\n disableErrors,\n draft,\n limit,\n overrideAccess,\n page,\n pagination,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n sort,\n where,\n })\n}\n"],"names":["APIError","createLocalReq","findOperation","findLocal","payload","options","collection","collectionSlug","currentDepth","depth","disableErrors","draft","limit","overrideAccess","page","pagination","showHiddenFields","sort","where","collections","String","req"],"mappings":"AAKA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,aAAa,QAAQ,aAAY;
|
|
1
|
+
{"version":3,"sources":["../../../../src/collections/operations/local/find.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../../database/types.js'\nimport type { CollectionSlug, JoinQuery, Payload, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext, Where } 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 { findOperation } from '../find.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 currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n fallbackLocale?: TypedLocale\n includeLockStatus?: boolean\n joins?: JoinQuery\n limit?: number\n locale?: 'all' | TypedLocale\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: string\n user?: Document\n where?: Where\n}\n\nexport async function findLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<PaginatedDocs<DataFromCollectionSlug<TSlug>>> {\n const {\n collection: collectionSlug,\n currentDepth,\n depth,\n disableErrors,\n draft = false,\n includeLockStatus,\n joins,\n limit,\n overrideAccess = true,\n page,\n pagination = true,\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 Operation.`,\n )\n }\n\n return findOperation<TSlug>({\n collection,\n currentDepth,\n depth,\n disableErrors,\n draft,\n includeLockStatus,\n joins,\n limit,\n overrideAccess,\n page,\n pagination,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n sort,\n where,\n })\n}\n"],"names":["APIError","createLocalReq","findOperation","findLocal","payload","options","collection","collectionSlug","currentDepth","depth","disableErrors","draft","includeLockStatus","joins","limit","overrideAccess","page","pagination","showHiddenFields","sort","where","collections","String","req"],"mappings":"AAKA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,aAAa,QAAQ,aAAY;AA2B1C,OAAO,eAAeC,UACpBC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,YAAY,EACZC,KAAK,EACLC,aAAa,EACbC,QAAQ,KAAK,EACbC,iBAAiB,EACjBC,KAAK,EACLC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,IAAI,EACJC,aAAa,IAAI,EACjBC,gBAAgB,EAChBC,IAAI,EACJC,KAAK,EACN,GAAGf;IAEJ,MAAMC,aAAaF,QAAQiB,WAAW,CAACd,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEsB,OAAOf,gBAAgB,gCAAgC,CAAC;IAExF;IAEA,OAAOL,cAAqB;QAC1BI;QACAE;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAM,KAAK,MAAMtB,eAAeI,SAASD;QACnCc;QACAC;QACAC;IACF;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CollectionSlug, Payload, TypedLocale } from '../../../index.js';
|
|
1
|
+
import type { CollectionSlug, JoinQuery, Payload, TypedLocale } from '../../../index.js';
|
|
2
2
|
import type { Document, PayloadRequest, RequestContext } from '../../../types/index.js';
|
|
3
3
|
import type { DataFromCollectionSlug } from '../../config/types.js';
|
|
4
|
-
export type Options<TSlug extends CollectionSlug> = {
|
|
4
|
+
export type Options<TSlug extends CollectionSlug = CollectionSlug> = {
|
|
5
5
|
collection: TSlug;
|
|
6
6
|
/**
|
|
7
7
|
* context, which will then be passed to req.context, which can be read by hooks
|
|
@@ -13,11 +13,13 @@ export type Options<TSlug extends CollectionSlug> = {
|
|
|
13
13
|
draft?: boolean;
|
|
14
14
|
fallbackLocale?: TypedLocale;
|
|
15
15
|
id: number | string;
|
|
16
|
+
includeLockStatus?: boolean;
|
|
17
|
+
joins?: JoinQuery;
|
|
16
18
|
locale?: 'all' | TypedLocale;
|
|
17
19
|
overrideAccess?: boolean;
|
|
18
20
|
req?: PayloadRequest;
|
|
19
21
|
showHiddenFields?: boolean;
|
|
20
22
|
user?: Document;
|
|
21
23
|
};
|
|
22
|
-
export default function findByIDLocal<
|
|
24
|
+
export default function findByIDLocal<TOptions extends Options>(payload: Payload, options: TOptions): Promise<TOptions['disableErrors'] extends true ? DataFromCollectionSlug<TOptions['collection']> | null : DataFromCollectionSlug<TOptions['collection']>>;
|
|
23
25
|
//# sourceMappingURL=findByID.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/findByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/findByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAMnE,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,GAAG,cAAc,IAAI;IACnE,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,WAAW,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,wBAA8B,aAAa,CAAC,QAAQ,SAAS,OAAO,EAClE,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,QAAQ,GAChB,OAAO,CACR,QAAQ,CAAC,eAAe,CAAC,SAAS,IAAI,GAClC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,GACrD,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CACnD,CAmCA"}
|
|
@@ -2,7 +2,7 @@ import { APIError } from '../../../errors/index.js';
|
|
|
2
2
|
import { createLocalReq } from '../../../utilities/createLocalReq.js';
|
|
3
3
|
import { findByIDOperation } from '../findByID.js';
|
|
4
4
|
export default async function findByIDLocal(payload, options) {
|
|
5
|
-
const { id, collection: collectionSlug, currentDepth, depth, disableErrors = false, draft = false, overrideAccess = true, showHiddenFields } = options;
|
|
5
|
+
const { id, collection: collectionSlug, currentDepth, depth, disableErrors = false, draft = false, includeLockStatus, joins, overrideAccess = true, 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. Find By ID Operation.`);
|
|
@@ -14,6 +14,8 @@ export default async function findByIDLocal(payload, options) {
|
|
|
14
14
|
depth,
|
|
15
15
|
disableErrors,
|
|
16
16
|
draft,
|
|
17
|
+
includeLockStatus,
|
|
18
|
+
joins,
|
|
17
19
|
overrideAccess,
|
|
18
20
|
req: await createLocalReq(options, payload),
|
|
19
21
|
showHiddenFields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/collections/operations/local/findByID.ts"],"sourcesContent":["import type { CollectionSlug, Payload, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext } 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 { findByIDOperation } from '../findByID.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 currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n fallbackLocale?: TypedLocale\n id: number | string\n locale?: 'all' | TypedLocale\n overrideAccess?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport default async function findByIDLocal<
|
|
1
|
+
{"version":3,"sources":["../../../../src/collections/operations/local/findByID.ts"],"sourcesContent":["import type { CollectionSlug, JoinQuery, Payload, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext } 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 { findByIDOperation } from '../findByID.js'\n\nexport type Options<TSlug extends CollectionSlug = 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 currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n fallbackLocale?: TypedLocale\n id: number | string\n includeLockStatus?: boolean\n joins?: JoinQuery\n locale?: 'all' | TypedLocale\n overrideAccess?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport default async function findByIDLocal<TOptions extends Options>(\n payload: Payload,\n options: TOptions,\n): Promise<\n TOptions['disableErrors'] extends true\n ? DataFromCollectionSlug<TOptions['collection']> | null\n : DataFromCollectionSlug<TOptions['collection']>\n> {\n const {\n id,\n collection: collectionSlug,\n currentDepth,\n depth,\n disableErrors = false,\n draft = false,\n includeLockStatus,\n joins,\n overrideAccess = true,\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(collectionSlug)} can't be found. Find By ID Operation.`,\n )\n }\n\n return findByIDOperation<TOptions['collection']>({\n id,\n collection,\n currentDepth,\n depth,\n disableErrors,\n draft,\n includeLockStatus,\n joins,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n })\n}\n"],"names":["APIError","createLocalReq","findByIDOperation","findByIDLocal","payload","options","id","collection","collectionSlug","currentDepth","depth","disableErrors","draft","includeLockStatus","joins","overrideAccess","showHiddenFields","collections","String","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,iBAAiB,QAAQ,iBAAgB;AAuBlD,eAAe,eAAeC,cAC5BC,OAAgB,EAChBC,OAAiB;IAMjB,MAAM,EACJC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,YAAY,EACZC,KAAK,EACLC,gBAAgB,KAAK,EACrBC,QAAQ,KAAK,EACbC,iBAAiB,EACjBC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EACjB,GAAGX;IAEJ,MAAME,aAAaH,QAAQa,WAAW,CAACT,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIP,SACR,CAAC,yBAAyB,EAAEkB,OAAOV,gBAAgB,sCAAsC,CAAC;IAE9F;IAEA,OAAON,kBAA0C;QAC/CI;QACAC;QACAE;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAI,KAAK,MAAMlB,eAAeI,SAASD;QACnCY;IACF;AACF"}
|
|
@@ -18,7 +18,9 @@ export type BaseOptions<TSlug extends CollectionSlug> = {
|
|
|
18
18
|
filePath?: string;
|
|
19
19
|
locale?: TypedLocale;
|
|
20
20
|
overrideAccess?: boolean;
|
|
21
|
+
overrideLock?: boolean;
|
|
21
22
|
overwriteExistingFiles?: boolean;
|
|
23
|
+
publishSpecificLocale?: string;
|
|
22
24
|
req?: PayloadRequest;
|
|
23
25
|
showHiddenFields?: boolean;
|
|
24
26
|
user?: Document;
|