payload 3.80.0-internal.cdd7ef7 → 3.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/elements/Nav.d.ts +0 -13
- package/dist/admin/elements/Nav.d.ts.map +1 -1
- package/dist/admin/elements/Nav.js.map +1 -1
- package/dist/admin/functions/index.d.ts +38 -1
- package/dist/admin/functions/index.d.ts.map +1 -1
- package/dist/admin/functions/index.js.map +1 -1
- package/dist/admin/types.d.ts +4 -5
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/admin/views/folderList.d.ts +56 -0
- package/dist/admin/views/folderList.d.ts.map +1 -0
- package/dist/admin/views/folderList.js +3 -0
- package/dist/admin/views/folderList.js.map +1 -0
- package/dist/admin/views/index.d.ts +3 -1
- package/dist/admin/views/index.d.ts.map +1 -1
- package/dist/admin/views/index.js.map +1 -1
- package/dist/admin/views/list.d.ts +2 -43
- package/dist/admin/views/list.d.ts.map +1 -1
- package/dist/admin/views/list.js.map +1 -1
- package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateCollections.js +0 -1
- package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.js +0 -7
- package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
- package/dist/collections/config/client.d.ts +1 -3
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +0 -11
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/defaults.js +1 -1
- package/dist/collections/config/defaults.js.map +1 -1
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +7 -3
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/types.d.ts +7 -29
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/operations/create.js +17 -17
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/findByID.js +3 -3
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/update.js +1 -1
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/utilities/update.d.ts.map +1 -1
- package/dist/collections/operations/utilities/update.js +6 -6
- package/dist/collections/operations/utilities/update.js.map +1 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +10 -0
- package/dist/config/client.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +15 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +26 -3
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/types.d.ts +12 -26
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/exports/shared.d.ts +3 -2
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +2 -1
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/baseFields/slug/index.d.ts +7 -0
- package/dist/fields/baseFields/slug/index.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/index.js +2 -2
- package/dist/fields/baseFields/slug/index.js.map +1 -1
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +0 -4
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
- package/dist/fields/config/sanitizeJoinField.js +0 -3
- package/dist/fields/config/sanitizeJoinField.js.map +1 -1
- package/dist/folders/addFolderCollection.d.ts +10 -0
- package/dist/folders/addFolderCollection.d.ts.map +1 -0
- package/dist/folders/addFolderCollection.js +26 -0
- package/dist/folders/addFolderCollection.js.map +1 -0
- package/dist/folders/addFolderFieldToCollection.d.ts +8 -0
- package/dist/folders/addFolderFieldToCollection.d.ts.map +1 -0
- package/dist/folders/addFolderFieldToCollection.js +20 -0
- package/dist/folders/addFolderFieldToCollection.js.map +1 -0
- package/dist/folders/buildFolderField.d.ts +8 -0
- package/dist/folders/buildFolderField.d.ts.map +1 -0
- package/dist/folders/buildFolderField.js +87 -0
- package/dist/folders/buildFolderField.js.map +1 -0
- package/dist/folders/constants.d.ts +3 -0
- package/dist/folders/constants.d.ts.map +1 -0
- package/dist/folders/constants.js +4 -0
- package/dist/folders/constants.js.map +1 -0
- package/dist/folders/createFolderCollection.d.ts +11 -0
- package/dist/folders/createFolderCollection.d.ts.map +1 -0
- package/dist/folders/createFolderCollection.js +115 -0
- package/dist/folders/createFolderCollection.js.map +1 -0
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.d.ts +8 -0
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.d.ts.map +1 -0
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.js +15 -0
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.js.map +1 -0
- package/dist/folders/hooks/dissasociateAfterDelete.d.ts +8 -0
- package/dist/folders/hooks/dissasociateAfterDelete.d.ts.map +1 -0
- package/dist/folders/hooks/dissasociateAfterDelete.js +20 -0
- package/dist/folders/hooks/dissasociateAfterDelete.js.map +1 -0
- package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts +5 -0
- package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts.map +1 -0
- package/dist/folders/hooks/ensureSafeCollectionsChange.js +107 -0
- package/dist/folders/hooks/ensureSafeCollectionsChange.js.map +1 -0
- package/dist/folders/hooks/reparentChildFolder.d.ts +24 -0
- package/dist/folders/hooks/reparentChildFolder.d.ts.map +1 -0
- package/dist/folders/hooks/reparentChildFolder.js +72 -0
- package/dist/folders/hooks/reparentChildFolder.js.map +1 -0
- package/dist/folders/types.d.ts +118 -0
- package/dist/folders/types.d.ts.map +1 -0
- package/dist/folders/types.js +3 -0
- package/dist/folders/types.js.map +1 -0
- package/dist/folders/utils/buildFolderWhereConstraints.d.ts +13 -0
- package/dist/folders/utils/buildFolderWhereConstraints.d.ts.map +1 -0
- package/dist/folders/utils/buildFolderWhereConstraints.js +45 -0
- package/dist/folders/utils/buildFolderWhereConstraints.js.map +1 -0
- package/dist/folders/utils/formatFolderOrDocumentItem.d.ts +12 -0
- package/dist/folders/utils/formatFolderOrDocumentItem.d.ts.map +1 -0
- package/dist/folders/utils/formatFolderOrDocumentItem.js +30 -0
- package/dist/folders/utils/formatFolderOrDocumentItem.js.map +1 -0
- package/dist/folders/utils/getFolderBreadcrumbs.d.ts +14 -0
- package/dist/folders/utils/getFolderBreadcrumbs.d.ts.map +1 -0
- package/dist/folders/utils/getFolderBreadcrumbs.js +45 -0
- package/dist/folders/utils/getFolderBreadcrumbs.js.map +1 -0
- package/dist/folders/utils/getFolderData.d.ts +33 -0
- package/dist/folders/utils/getFolderData.d.ts.map +1 -0
- package/dist/folders/utils/getFolderData.js +88 -0
- package/dist/folders/utils/getFolderData.js.map +1 -0
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts +24 -0
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts.map +1 -0
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js +66 -0
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js.map +1 -0
- package/dist/folders/utils/getOrphanedDocs.d.ts +15 -0
- package/dist/folders/utils/getOrphanedDocs.d.ts.map +1 -0
- package/dist/folders/utils/getOrphanedDocs.js +40 -0
- package/dist/folders/utils/getOrphanedDocs.js.map +1 -0
- package/dist/globals/config/types.d.ts +0 -4
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +2 -1
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/index.bundled.d.ts +288 -577
- package/dist/index.d.ts +9 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -13
- package/dist/index.js.map +1 -1
- package/dist/preferences/keys.d.ts +4 -8
- package/dist/preferences/keys.d.ts.map +1 -1
- package/dist/preferences/keys.js +4 -7
- package/dist/preferences/keys.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js +7 -1
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/extractID.js +1 -1
- package/dist/utilities/extractID.js.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts +2 -13
- package/dist/utilities/formatAdminURL.d.ts.map +1 -1
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/versions/saveVersion.d.ts +1 -0
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +16 -66
- package/dist/versions/saveVersion.js.map +1 -1
- package/dist/versions/updateLatestVersion.d.ts +24 -0
- package/dist/versions/updateLatestVersion.d.ts.map +1 -0
- package/dist/versions/updateLatestVersion.js +64 -0
- package/dist/versions/updateLatestVersion.js.map +1 -0
- package/package.json +4 -4
- package/dist/admin/views/hierarchyList.d.ts +0 -9
- package/dist/admin/views/hierarchyList.d.ts.map +0 -1
- package/dist/admin/views/hierarchyList.js +0 -3
- package/dist/admin/views/hierarchyList.js.map +0 -1
- package/dist/hierarchy/addHierarchyToCollection.d.ts +0 -8
- package/dist/hierarchy/addHierarchyToCollection.d.ts.map +0 -1
- package/dist/hierarchy/addHierarchyToCollection.js +0 -62
- package/dist/hierarchy/addHierarchyToCollection.js.map +0 -1
- package/dist/hierarchy/buildParentField.d.ts +0 -11
- package/dist/hierarchy/buildParentField.d.ts.map +0 -1
- package/dist/hierarchy/buildParentField.js +0 -42
- package/dist/hierarchy/buildParentField.js.map +0 -1
- package/dist/hierarchy/constants.d.ts +0 -15
- package/dist/hierarchy/constants.d.ts.map +0 -1
- package/dist/hierarchy/constants.js +0 -11
- package/dist/hierarchy/constants.js.map +0 -1
- package/dist/hierarchy/createFolderField.d.ts +0 -39
- package/dist/hierarchy/createFolderField.d.ts.map +0 -1
- package/dist/hierarchy/createFolderField.js +0 -54
- package/dist/hierarchy/createFolderField.js.map +0 -1
- package/dist/hierarchy/createFoldersCollection.d.ts +0 -57
- package/dist/hierarchy/createFoldersCollection.d.ts.map +0 -1
- package/dist/hierarchy/createFoldersCollection.js +0 -63
- package/dist/hierarchy/createFoldersCollection.js.map +0 -1
- package/dist/hierarchy/createTagField.d.ts +0 -44
- package/dist/hierarchy/createTagField.d.ts.map +0 -1
- package/dist/hierarchy/createTagField.js +0 -48
- package/dist/hierarchy/createTagField.js.map +0 -1
- package/dist/hierarchy/createTagsCollection.d.ts +0 -54
- package/dist/hierarchy/createTagsCollection.d.ts.map +0 -1
- package/dist/hierarchy/createTagsCollection.js +0 -56
- package/dist/hierarchy/createTagsCollection.js.map +0 -1
- package/dist/hierarchy/getInitialTreeData.d.ts +0 -27
- package/dist/hierarchy/getInitialTreeData.d.ts.map +0 -1
- package/dist/hierarchy/getInitialTreeData.js +0 -125
- package/dist/hierarchy/getInitialTreeData.js.map +0 -1
- package/dist/hierarchy/hooks/collectionAfterDelete.d.ts +0 -14
- package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +0 -1
- package/dist/hierarchy/hooks/collectionAfterDelete.js +0 -21
- package/dist/hierarchy/hooks/collectionAfterDelete.js.map +0 -1
- package/dist/hierarchy/hooks/collectionAfterRead.d.ts +0 -27
- package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +0 -1
- package/dist/hierarchy/hooks/collectionAfterRead.js +0 -64
- package/dist/hierarchy/hooks/collectionAfterRead.js.map +0 -1
- package/dist/hierarchy/hooks/collectionBeforeChange.d.ts +0 -19
- package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +0 -1
- package/dist/hierarchy/hooks/collectionBeforeChange.js +0 -90
- package/dist/hierarchy/hooks/collectionBeforeChange.js.map +0 -1
- package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts +0 -15
- package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +0 -1
- package/dist/hierarchy/hooks/collectionBeforeDelete.js +0 -20
- package/dist/hierarchy/hooks/collectionBeforeDelete.js.map +0 -1
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts +0 -8
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +0 -1
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.js +0 -108
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.js.map +0 -1
- package/dist/hierarchy/injectHierarchyButton.d.ts +0 -14
- package/dist/hierarchy/injectHierarchyButton.d.ts.map +0 -1
- package/dist/hierarchy/injectHierarchyButton.js +0 -37
- package/dist/hierarchy/injectHierarchyButton.js.map +0 -1
- package/dist/hierarchy/resolveHierarchyCollections.d.ts +0 -23
- package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +0 -1
- package/dist/hierarchy/resolveHierarchyCollections.js +0 -312
- package/dist/hierarchy/resolveHierarchyCollections.js.map +0 -1
- package/dist/hierarchy/sanitizeHierarchyCollection.d.ts +0 -14
- package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +0 -1
- package/dist/hierarchy/sanitizeHierarchyCollection.js +0 -112
- package/dist/hierarchy/sanitizeHierarchyCollection.js.map +0 -1
- package/dist/hierarchy/types.d.ts +0 -137
- package/dist/hierarchy/types.d.ts.map +0 -1
- package/dist/hierarchy/types.js +0 -6
- package/dist/hierarchy/types.js.map +0 -1
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.d.ts +0 -71
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.d.ts.map +0 -1
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.js +0 -65
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.js.map +0 -1
- package/dist/hierarchy/utils/computePaths.d.ts +0 -31
- package/dist/hierarchy/utils/computePaths.d.ts.map +0 -1
- package/dist/hierarchy/utils/computePaths.js +0 -371
- package/dist/hierarchy/utils/computePaths.js.map +0 -1
- package/dist/hierarchy/utils/findUseAsTitle.d.ts +0 -6
- package/dist/hierarchy/utils/findUseAsTitle.d.ts.map +0 -1
- package/dist/hierarchy/utils/findUseAsTitle.js +0 -72
- package/dist/hierarchy/utils/findUseAsTitle.js.map +0 -1
- package/dist/hierarchy/utils/getAncestors.d.ts +0 -34
- package/dist/hierarchy/utils/getAncestors.d.ts.map +0 -1
- package/dist/hierarchy/utils/getAncestors.js +0 -94
- package/dist/hierarchy/utils/getAncestors.js.map +0 -1
- package/dist/hierarchy/utils/getLocalizedValue.d.ts +0 -30
- package/dist/hierarchy/utils/getLocalizedValue.d.ts.map +0 -1
- package/dist/hierarchy/utils/getLocalizedValue.js +0 -46
- package/dist/hierarchy/utils/getLocalizedValue.js.map +0 -1
- package/dist/hierarchy/utils/getLocalizedValue.spec.js +0 -250
- package/dist/hierarchy/utils/getLocalizedValue.spec.js.map +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds breadcrumbs up from child folder
|
|
3
|
+
* all the way up to root folder
|
|
4
|
+
*/ export const getFolderBreadcrumbs = async ({ breadcrumbs = [], folderID, req })=>{
|
|
5
|
+
const { payload, user } = req;
|
|
6
|
+
if (folderID && payload.config.folders) {
|
|
7
|
+
const folderFieldName = payload.config.folders.fieldName;
|
|
8
|
+
const folderQuery = await payload.find({
|
|
9
|
+
collection: payload.config.folders.slug,
|
|
10
|
+
depth: 0,
|
|
11
|
+
limit: 1,
|
|
12
|
+
overrideAccess: false,
|
|
13
|
+
req,
|
|
14
|
+
select: {
|
|
15
|
+
name: true,
|
|
16
|
+
[folderFieldName]: true,
|
|
17
|
+
folderType: true
|
|
18
|
+
},
|
|
19
|
+
user,
|
|
20
|
+
where: {
|
|
21
|
+
id: {
|
|
22
|
+
equals: folderID
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const folder = folderQuery.docs[0];
|
|
27
|
+
if (folder) {
|
|
28
|
+
breadcrumbs.push({
|
|
29
|
+
id: folder.id,
|
|
30
|
+
name: folder.name,
|
|
31
|
+
folderType: folder.folderType
|
|
32
|
+
});
|
|
33
|
+
if (folder[folderFieldName]) {
|
|
34
|
+
return getFolderBreadcrumbs({
|
|
35
|
+
breadcrumbs,
|
|
36
|
+
folderID: typeof folder[folderFieldName] === 'number' || typeof folder[folderFieldName] === 'string' ? folder[folderFieldName] : folder[folderFieldName].id,
|
|
37
|
+
req
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return breadcrumbs.reverse();
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=getFolderBreadcrumbs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/folders/utils/getFolderBreadcrumbs.ts"],"sourcesContent":["import type { Document, PayloadRequest } from '../../types/index.js'\nimport type { FolderBreadcrumb } from '../types.js'\n\ntype GetFolderBreadcrumbsArgs = {\n breadcrumbs?: FolderBreadcrumb[]\n folderID?: number | string\n req: PayloadRequest\n}\n/**\n * Builds breadcrumbs up from child folder\n * all the way up to root folder\n */\nexport const getFolderBreadcrumbs = async ({\n breadcrumbs = [],\n folderID,\n req,\n}: GetFolderBreadcrumbsArgs): Promise<FolderBreadcrumb[] | null> => {\n const { payload, user } = req\n if (folderID && payload.config.folders) {\n const folderFieldName: string = payload.config.folders.fieldName\n const folderQuery = await payload.find({\n collection: payload.config.folders.slug,\n depth: 0,\n limit: 1,\n overrideAccess: false,\n req,\n select: {\n name: true,\n [folderFieldName]: true,\n folderType: true,\n },\n user,\n where: {\n id: {\n equals: folderID,\n },\n },\n })\n\n const folder = folderQuery.docs[0] as Document\n\n if (folder) {\n breadcrumbs.push({\n id: folder.id,\n name: folder.name,\n folderType: folder.folderType,\n })\n if (folder[folderFieldName]) {\n return getFolderBreadcrumbs({\n breadcrumbs,\n folderID:\n typeof folder[folderFieldName] === 'number' ||\n typeof folder[folderFieldName] === 'string'\n ? folder[folderFieldName]\n : folder[folderFieldName].id,\n req,\n })\n }\n }\n }\n\n return breadcrumbs.reverse()\n}\n"],"names":["getFolderBreadcrumbs","breadcrumbs","folderID","req","payload","user","config","folders","folderFieldName","fieldName","folderQuery","find","collection","slug","depth","limit","overrideAccess","select","name","folderType","where","id","equals","folder","docs","push","reverse"],"mappings":"AAQA;;;CAGC,GACD,OAAO,MAAMA,uBAAuB,OAAO,EACzCC,cAAc,EAAE,EAChBC,QAAQ,EACRC,GAAG,EACsB;IACzB,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGF;IAC1B,IAAID,YAAYE,QAAQE,MAAM,CAACC,OAAO,EAAE;QACtC,MAAMC,kBAA0BJ,QAAQE,MAAM,CAACC,OAAO,CAACE,SAAS;QAChE,MAAMC,cAAc,MAAMN,QAAQO,IAAI,CAAC;YACrCC,YAAYR,QAAQE,MAAM,CAACC,OAAO,CAACM,IAAI;YACvCC,OAAO;YACPC,OAAO;YACPC,gBAAgB;YAChBb;YACAc,QAAQ;gBACNC,MAAM;gBACN,CAACV,gBAAgB,EAAE;gBACnBW,YAAY;YACd;YACAd;YACAe,OAAO;gBACLC,IAAI;oBACFC,QAAQpB;gBACV;YACF;QACF;QAEA,MAAMqB,SAASb,YAAYc,IAAI,CAAC,EAAE;QAElC,IAAID,QAAQ;YACVtB,YAAYwB,IAAI,CAAC;gBACfJ,IAAIE,OAAOF,EAAE;gBACbH,MAAMK,OAAOL,IAAI;gBACjBC,YAAYI,OAAOJ,UAAU;YAC/B;YACA,IAAII,MAAM,CAACf,gBAAgB,EAAE;gBAC3B,OAAOR,qBAAqB;oBAC1BC;oBACAC,UACE,OAAOqB,MAAM,CAACf,gBAAgB,KAAK,YACnC,OAAOe,MAAM,CAACf,gBAAgB,KAAK,WAC/Be,MAAM,CAACf,gBAAgB,GACvBe,MAAM,CAACf,gBAAgB,CAACa,EAAE;oBAChClB;gBACF;YACF;QACF;IACF;IAEA,OAAOF,YAAYyB,OAAO;AAC5B,EAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { CollectionSlug } from '../../index.js';
|
|
2
|
+
import type { PayloadRequest, Where } from '../../types/index.js';
|
|
3
|
+
import type { FolderSortKeys, GetFolderDataResult } from '../types.js';
|
|
4
|
+
type Args = {
|
|
5
|
+
/**
|
|
6
|
+
* Specify to query documents from a specific collection
|
|
7
|
+
* @default undefined
|
|
8
|
+
* @example 'posts'
|
|
9
|
+
*/
|
|
10
|
+
collectionSlug?: CollectionSlug;
|
|
11
|
+
/**
|
|
12
|
+
* Optional where clause to filter documents by
|
|
13
|
+
* @default undefined
|
|
14
|
+
*/
|
|
15
|
+
documentWhere?: Where;
|
|
16
|
+
/**
|
|
17
|
+
* The ID of the folder to query documents from
|
|
18
|
+
* @default undefined
|
|
19
|
+
*/
|
|
20
|
+
folderID?: number | string;
|
|
21
|
+
/** Optional where clause to filter subfolders by
|
|
22
|
+
* @default undefined
|
|
23
|
+
*/
|
|
24
|
+
folderWhere?: Where;
|
|
25
|
+
req: PayloadRequest;
|
|
26
|
+
sort: FolderSortKeys;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Query for documents, subfolders and breadcrumbs for a given folder
|
|
30
|
+
*/
|
|
31
|
+
export declare const getFolderData: ({ collectionSlug, documentWhere, folderID: _folderID, folderWhere, req, sort, }: Args) => Promise<GetFolderDataResult>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=getFolderData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFolderData.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/getFolderData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAoB,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAOxF,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;CACrB,CAAA;AACD;;GAEG;AACH,eAAO,MAAM,aAAa,oFAOvB,IAAI,KAAG,OAAO,CAAC,mBAAmB,CAqDpC,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { parseDocumentID } from '../../index.js';
|
|
2
|
+
import { getFolderBreadcrumbs } from './getFolderBreadcrumbs.js';
|
|
3
|
+
import { queryDocumentsAndFoldersFromJoin } from './getFoldersAndDocumentsFromJoin.js';
|
|
4
|
+
import { getOrphanedDocs } from './getOrphanedDocs.js';
|
|
5
|
+
/**
|
|
6
|
+
* Query for documents, subfolders and breadcrumbs for a given folder
|
|
7
|
+
*/ export const getFolderData = async ({ collectionSlug, documentWhere, folderID: _folderID, folderWhere, req, sort = 'name' })=>{
|
|
8
|
+
const { payload } = req;
|
|
9
|
+
if (payload.config.folders === false) {
|
|
10
|
+
throw new Error('Folders are not enabled');
|
|
11
|
+
}
|
|
12
|
+
const parentFolderID = parseDocumentID({
|
|
13
|
+
id: _folderID,
|
|
14
|
+
collectionSlug: payload.config.folders.slug,
|
|
15
|
+
payload
|
|
16
|
+
});
|
|
17
|
+
const breadcrumbsPromise = getFolderBreadcrumbs({
|
|
18
|
+
folderID: parentFolderID,
|
|
19
|
+
req
|
|
20
|
+
});
|
|
21
|
+
if (parentFolderID) {
|
|
22
|
+
// subfolders and documents are queried together
|
|
23
|
+
const documentAndSubfolderPromise = queryDocumentsAndFoldersFromJoin({
|
|
24
|
+
documentWhere,
|
|
25
|
+
folderWhere,
|
|
26
|
+
parentFolderID,
|
|
27
|
+
req
|
|
28
|
+
});
|
|
29
|
+
const [breadcrumbs, result] = await Promise.all([
|
|
30
|
+
breadcrumbsPromise,
|
|
31
|
+
documentAndSubfolderPromise
|
|
32
|
+
]);
|
|
33
|
+
return {
|
|
34
|
+
breadcrumbs,
|
|
35
|
+
documents: sortDocs({
|
|
36
|
+
docs: result.documents,
|
|
37
|
+
sort
|
|
38
|
+
}),
|
|
39
|
+
folderAssignedCollections: result.folderAssignedCollections,
|
|
40
|
+
subfolders: sortDocs({
|
|
41
|
+
docs: result.subfolders,
|
|
42
|
+
sort
|
|
43
|
+
})
|
|
44
|
+
};
|
|
45
|
+
} else {
|
|
46
|
+
const subfoldersPromise = getOrphanedDocs({
|
|
47
|
+
collectionSlug: payload.config.folders.slug,
|
|
48
|
+
folderFieldName: payload.config.folders.fieldName,
|
|
49
|
+
req,
|
|
50
|
+
where: folderWhere
|
|
51
|
+
});
|
|
52
|
+
const [breadcrumbs, subfolders] = await Promise.all([
|
|
53
|
+
breadcrumbsPromise,
|
|
54
|
+
subfoldersPromise
|
|
55
|
+
]);
|
|
56
|
+
return {
|
|
57
|
+
breadcrumbs,
|
|
58
|
+
documents: [],
|
|
59
|
+
folderAssignedCollections: collectionSlug ? [
|
|
60
|
+
collectionSlug
|
|
61
|
+
] : undefined,
|
|
62
|
+
subfolders: sortDocs({
|
|
63
|
+
docs: subfolders,
|
|
64
|
+
sort
|
|
65
|
+
})
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
function sortDocs({ docs, sort }) {
|
|
70
|
+
if (!sort) {
|
|
71
|
+
return docs;
|
|
72
|
+
}
|
|
73
|
+
const isDesc = typeof sort === 'string' && sort.startsWith('-');
|
|
74
|
+
const sortKey = isDesc ? sort.slice(1) : sort;
|
|
75
|
+
return docs.sort((a, b)=>{
|
|
76
|
+
let result = 0;
|
|
77
|
+
if (sortKey === 'name') {
|
|
78
|
+
result = a.value._folderOrDocumentTitle.localeCompare(b.value._folderOrDocumentTitle);
|
|
79
|
+
} else if (sortKey === 'createdAt') {
|
|
80
|
+
result = new Date(a.value.createdAt || '').getTime() - new Date(b.value.createdAt || '').getTime();
|
|
81
|
+
} else if (sortKey === 'updatedAt') {
|
|
82
|
+
result = new Date(a.value.updatedAt || '').getTime() - new Date(b.value.updatedAt || '').getTime();
|
|
83
|
+
}
|
|
84
|
+
return isDesc ? -result : result;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=getFolderData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/folders/utils/getFolderData.ts"],"sourcesContent":["import type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { FolderOrDocument, FolderSortKeys, GetFolderDataResult } from '../types.js'\n\nimport { parseDocumentID } from '../../index.js'\nimport { getFolderBreadcrumbs } from './getFolderBreadcrumbs.js'\nimport { queryDocumentsAndFoldersFromJoin } from './getFoldersAndDocumentsFromJoin.js'\nimport { getOrphanedDocs } from './getOrphanedDocs.js'\n\ntype Args = {\n /**\n * Specify to query documents from a specific collection\n * @default undefined\n * @example 'posts'\n */\n collectionSlug?: CollectionSlug\n /**\n * Optional where clause to filter documents by\n * @default undefined\n */\n documentWhere?: Where\n /**\n * The ID of the folder to query documents from\n * @default undefined\n */\n folderID?: number | string\n /** Optional where clause to filter subfolders by\n * @default undefined\n */\n folderWhere?: Where\n req: PayloadRequest\n sort: FolderSortKeys\n}\n/**\n * Query for documents, subfolders and breadcrumbs for a given folder\n */\nexport const getFolderData = async ({\n collectionSlug,\n documentWhere,\n folderID: _folderID,\n folderWhere,\n req,\n sort = 'name',\n}: Args): Promise<GetFolderDataResult> => {\n const { payload } = req\n\n if (payload.config.folders === false) {\n throw new Error('Folders are not enabled')\n }\n\n const parentFolderID = parseDocumentID({\n id: _folderID,\n collectionSlug: payload.config.folders.slug,\n payload,\n })\n\n const breadcrumbsPromise = getFolderBreadcrumbs({\n folderID: parentFolderID,\n req,\n })\n\n if (parentFolderID) {\n // subfolders and documents are queried together\n const documentAndSubfolderPromise = queryDocumentsAndFoldersFromJoin({\n documentWhere,\n folderWhere,\n parentFolderID,\n req,\n })\n const [breadcrumbs, result] = await Promise.all([\n breadcrumbsPromise,\n documentAndSubfolderPromise,\n ])\n\n return {\n breadcrumbs,\n documents: sortDocs({ docs: result.documents, sort }),\n folderAssignedCollections: result.folderAssignedCollections,\n subfolders: sortDocs({ docs: result.subfolders, sort }),\n }\n } else {\n const subfoldersPromise = getOrphanedDocs({\n collectionSlug: payload.config.folders.slug,\n folderFieldName: payload.config.folders.fieldName,\n req,\n where: folderWhere,\n })\n const [breadcrumbs, subfolders] = await Promise.all([breadcrumbsPromise, subfoldersPromise])\n\n return {\n breadcrumbs,\n documents: [],\n folderAssignedCollections: collectionSlug ? [collectionSlug] : undefined,\n subfolders: sortDocs({ docs: subfolders, sort }),\n }\n }\n}\n\nfunction sortDocs({\n docs,\n sort,\n}: {\n docs: FolderOrDocument[]\n sort?: FolderSortKeys\n}): FolderOrDocument[] {\n if (!sort) {\n return docs\n }\n const isDesc = typeof sort === 'string' && sort.startsWith('-')\n const sortKey = (isDesc ? sort.slice(1) : sort) as FolderSortKeys\n\n return docs.sort((a, b) => {\n let result = 0\n if (sortKey === 'name') {\n result = a.value._folderOrDocumentTitle.localeCompare(b.value._folderOrDocumentTitle)\n } else if (sortKey === 'createdAt') {\n result =\n new Date(a.value.createdAt || '').getTime() - new Date(b.value.createdAt || '').getTime()\n } else if (sortKey === 'updatedAt') {\n result =\n new Date(a.value.updatedAt || '').getTime() - new Date(b.value.updatedAt || '').getTime()\n }\n return isDesc ? -result : result\n })\n}\n"],"names":["parseDocumentID","getFolderBreadcrumbs","queryDocumentsAndFoldersFromJoin","getOrphanedDocs","getFolderData","collectionSlug","documentWhere","folderID","_folderID","folderWhere","req","sort","payload","config","folders","Error","parentFolderID","id","slug","breadcrumbsPromise","documentAndSubfolderPromise","breadcrumbs","result","Promise","all","documents","sortDocs","docs","folderAssignedCollections","subfolders","subfoldersPromise","folderFieldName","fieldName","where","undefined","isDesc","startsWith","sortKey","slice","a","b","value","_folderOrDocumentTitle","localeCompare","Date","createdAt","getTime","updatedAt"],"mappings":"AAIA,SAASA,eAAe,QAAQ,iBAAgB;AAChD,SAASC,oBAAoB,QAAQ,4BAA2B;AAChE,SAASC,gCAAgC,QAAQ,sCAAqC;AACtF,SAASC,eAAe,QAAQ,uBAAsB;AA0BtD;;CAEC,GACD,OAAO,MAAMC,gBAAgB,OAAO,EAClCC,cAAc,EACdC,aAAa,EACbC,UAAUC,SAAS,EACnBC,WAAW,EACXC,GAAG,EACHC,OAAO,MAAM,EACR;IACL,MAAM,EAAEC,OAAO,EAAE,GAAGF;IAEpB,IAAIE,QAAQC,MAAM,CAACC,OAAO,KAAK,OAAO;QACpC,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,iBAAiBhB,gBAAgB;QACrCiB,IAAIT;QACJH,gBAAgBO,QAAQC,MAAM,CAACC,OAAO,CAACI,IAAI;QAC3CN;IACF;IAEA,MAAMO,qBAAqBlB,qBAAqB;QAC9CM,UAAUS;QACVN;IACF;IAEA,IAAIM,gBAAgB;QAClB,gDAAgD;QAChD,MAAMI,8BAA8BlB,iCAAiC;YACnEI;YACAG;YACAO;YACAN;QACF;QACA,MAAM,CAACW,aAAaC,OAAO,GAAG,MAAMC,QAAQC,GAAG,CAAC;YAC9CL;YACAC;SACD;QAED,OAAO;YACLC;YACAI,WAAWC,SAAS;gBAAEC,MAAML,OAAOG,SAAS;gBAAEd;YAAK;YACnDiB,2BAA2BN,OAAOM,yBAAyB;YAC3DC,YAAYH,SAAS;gBAAEC,MAAML,OAAOO,UAAU;gBAAElB;YAAK;QACvD;IACF,OAAO;QACL,MAAMmB,oBAAoB3B,gBAAgB;YACxCE,gBAAgBO,QAAQC,MAAM,CAACC,OAAO,CAACI,IAAI;YAC3Ca,iBAAiBnB,QAAQC,MAAM,CAACC,OAAO,CAACkB,SAAS;YACjDtB;YACAuB,OAAOxB;QACT;QACA,MAAM,CAACY,aAAaQ,WAAW,GAAG,MAAMN,QAAQC,GAAG,CAAC;YAACL;YAAoBW;SAAkB;QAE3F,OAAO;YACLT;YACAI,WAAW,EAAE;YACbG,2BAA2BvB,iBAAiB;gBAACA;aAAe,GAAG6B;YAC/DL,YAAYH,SAAS;gBAAEC,MAAME;gBAAYlB;YAAK;QAChD;IACF;AACF,EAAC;AAED,SAASe,SAAS,EAChBC,IAAI,EACJhB,IAAI,EAIL;IACC,IAAI,CAACA,MAAM;QACT,OAAOgB;IACT;IACA,MAAMQ,SAAS,OAAOxB,SAAS,YAAYA,KAAKyB,UAAU,CAAC;IAC3D,MAAMC,UAAWF,SAASxB,KAAK2B,KAAK,CAAC,KAAK3B;IAE1C,OAAOgB,KAAKhB,IAAI,CAAC,CAAC4B,GAAGC;QACnB,IAAIlB,SAAS;QACb,IAAIe,YAAY,QAAQ;YACtBf,SAASiB,EAAEE,KAAK,CAACC,sBAAsB,CAACC,aAAa,CAACH,EAAEC,KAAK,CAACC,sBAAsB;QACtF,OAAO,IAAIL,YAAY,aAAa;YAClCf,SACE,IAAIsB,KAAKL,EAAEE,KAAK,CAACI,SAAS,IAAI,IAAIC,OAAO,KAAK,IAAIF,KAAKJ,EAAEC,KAAK,CAACI,SAAS,IAAI,IAAIC,OAAO;QAC3F,OAAO,IAAIT,YAAY,aAAa;YAClCf,SACE,IAAIsB,KAAKL,EAAEE,KAAK,CAACM,SAAS,IAAI,IAAID,OAAO,KAAK,IAAIF,KAAKJ,EAAEC,KAAK,CAACM,SAAS,IAAI,IAAID,OAAO;QAC3F;QACA,OAAOX,SAAS,CAACb,SAASA;IAC5B;AACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CollectionSlug } from '../../index.js';
|
|
2
|
+
import type { PayloadRequest, Where } from '../../types/index.js';
|
|
3
|
+
import type { FolderOrDocument } from '../types.js';
|
|
4
|
+
type QueryDocumentsAndFoldersResults = {
|
|
5
|
+
documents: FolderOrDocument[];
|
|
6
|
+
folderAssignedCollections: CollectionSlug[];
|
|
7
|
+
subfolders: FolderOrDocument[];
|
|
8
|
+
};
|
|
9
|
+
type QueryDocumentsAndFoldersArgs = {
|
|
10
|
+
/**
|
|
11
|
+
* Optional where clause to filter documents by
|
|
12
|
+
* @default undefined
|
|
13
|
+
*/
|
|
14
|
+
documentWhere?: Where;
|
|
15
|
+
/** Optional where clause to filter subfolders by
|
|
16
|
+
* @default undefined
|
|
17
|
+
*/
|
|
18
|
+
folderWhere?: Where;
|
|
19
|
+
parentFolderID: number | string;
|
|
20
|
+
req: PayloadRequest;
|
|
21
|
+
};
|
|
22
|
+
export declare function queryDocumentsAndFoldersFromJoin({ documentWhere, folderWhere, parentFolderID, req, }: QueryDocumentsAndFoldersArgs): Promise<QueryDocumentsAndFoldersResults>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=getFoldersAndDocumentsFromJoin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFoldersAndDocumentsFromJoin.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/getFoldersAndDocumentsFromJoin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMnD,KAAK,+BAA+B,GAAG;IACrC,SAAS,EAAE,gBAAgB,EAAE,CAAA;IAC7B,yBAAyB,EAAE,cAAc,EAAE,CAAA;IAC3C,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B,CAAA;AACD,KAAK,4BAA4B,GAAG;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAA;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD,wBAAsB,gCAAgC,CAAC,EACrD,aAAa,EACb,WAAW,EACX,cAAc,EACd,GAAG,GACJ,EAAE,4BAA4B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAmEzE"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { APIError } from '../../errors/APIError.js';
|
|
2
|
+
import { combineWhereConstraints } from '../../utilities/combineWhereConstraints.js';
|
|
3
|
+
import { formatFolderOrDocumentItem } from './formatFolderOrDocumentItem.js';
|
|
4
|
+
export async function queryDocumentsAndFoldersFromJoin({ documentWhere, folderWhere, parentFolderID, req }) {
|
|
5
|
+
const { payload, user } = req;
|
|
6
|
+
if (payload.config.folders === false) {
|
|
7
|
+
throw new APIError('Folders are not enabled', 500);
|
|
8
|
+
}
|
|
9
|
+
const subfolderDoc = await payload.find({
|
|
10
|
+
collection: payload.config.folders.slug,
|
|
11
|
+
depth: 1,
|
|
12
|
+
joins: {
|
|
13
|
+
documentsAndFolders: {
|
|
14
|
+
limit: 100_000_000,
|
|
15
|
+
sort: 'name',
|
|
16
|
+
where: combineWhereConstraints([
|
|
17
|
+
folderWhere,
|
|
18
|
+
documentWhere
|
|
19
|
+
], 'or')
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
limit: 1,
|
|
23
|
+
overrideAccess: false,
|
|
24
|
+
req,
|
|
25
|
+
select: {
|
|
26
|
+
documentsAndFolders: true,
|
|
27
|
+
folderType: true
|
|
28
|
+
},
|
|
29
|
+
user,
|
|
30
|
+
where: {
|
|
31
|
+
id: {
|
|
32
|
+
equals: parentFolderID
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const childrenDocs = subfolderDoc?.docs[0]?.documentsAndFolders?.docs || [];
|
|
37
|
+
const results = childrenDocs.reduce((acc, doc)=>{
|
|
38
|
+
if (!payload.config.folders) {
|
|
39
|
+
return acc;
|
|
40
|
+
}
|
|
41
|
+
const { relationTo, value } = doc;
|
|
42
|
+
const item = formatFolderOrDocumentItem({
|
|
43
|
+
folderFieldName: payload.config.folders.fieldName,
|
|
44
|
+
isUpload: Boolean(payload.collections[relationTo].config.upload),
|
|
45
|
+
relationTo,
|
|
46
|
+
useAsTitle: payload.collections[relationTo].config.admin?.useAsTitle,
|
|
47
|
+
value
|
|
48
|
+
});
|
|
49
|
+
if (relationTo === payload.config.folders.slug) {
|
|
50
|
+
acc.subfolders.push(item);
|
|
51
|
+
} else {
|
|
52
|
+
acc.documents.push(item);
|
|
53
|
+
}
|
|
54
|
+
return acc;
|
|
55
|
+
}, {
|
|
56
|
+
documents: [],
|
|
57
|
+
subfolders: []
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
documents: results.documents,
|
|
61
|
+
folderAssignedCollections: subfolderDoc?.docs[0]?.folderType || [],
|
|
62
|
+
subfolders: results.subfolders
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=getFoldersAndDocumentsFromJoin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/folders/utils/getFoldersAndDocumentsFromJoin.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { Document, PayloadRequest, Where } from '../../types/index.js'\nimport type { FolderOrDocument } from '../types.js'\n\nimport { APIError } from '../../errors/APIError.js'\nimport { combineWhereConstraints } from '../../utilities/combineWhereConstraints.js'\nimport { formatFolderOrDocumentItem } from './formatFolderOrDocumentItem.js'\n\ntype QueryDocumentsAndFoldersResults = {\n documents: FolderOrDocument[]\n folderAssignedCollections: CollectionSlug[]\n subfolders: FolderOrDocument[]\n}\ntype QueryDocumentsAndFoldersArgs = {\n /**\n * Optional where clause to filter documents by\n * @default undefined\n */\n documentWhere?: Where\n /** Optional where clause to filter subfolders by\n * @default undefined\n */\n folderWhere?: Where\n parentFolderID: number | string\n req: PayloadRequest\n}\nexport async function queryDocumentsAndFoldersFromJoin({\n documentWhere,\n folderWhere,\n parentFolderID,\n req,\n}: QueryDocumentsAndFoldersArgs): Promise<QueryDocumentsAndFoldersResults> {\n const { payload, user } = req\n\n if (payload.config.folders === false) {\n throw new APIError('Folders are not enabled', 500)\n }\n\n const subfolderDoc = (await payload.find({\n collection: payload.config.folders.slug,\n depth: 1,\n joins: {\n documentsAndFolders: {\n limit: 100_000_000,\n sort: 'name',\n where: combineWhereConstraints([folderWhere, documentWhere], 'or'),\n },\n },\n limit: 1,\n overrideAccess: false,\n req,\n select: {\n documentsAndFolders: true,\n folderType: true,\n },\n user,\n where: {\n id: {\n equals: parentFolderID,\n },\n },\n })) as PaginatedDocs<Document>\n\n const childrenDocs = subfolderDoc?.docs[0]?.documentsAndFolders?.docs || []\n\n const results: QueryDocumentsAndFoldersResults = childrenDocs.reduce(\n (acc: QueryDocumentsAndFoldersResults, doc: Document) => {\n if (!payload.config.folders) {\n return acc\n }\n const { relationTo, value } = doc\n const item = formatFolderOrDocumentItem({\n folderFieldName: payload.config.folders.fieldName,\n isUpload: Boolean(payload.collections[relationTo]!.config.upload),\n relationTo,\n useAsTitle: payload.collections[relationTo]!.config.admin?.useAsTitle,\n value,\n })\n\n if (relationTo === payload.config.folders.slug) {\n acc.subfolders.push(item)\n } else {\n acc.documents.push(item)\n }\n\n return acc\n },\n {\n documents: [],\n subfolders: [],\n },\n )\n\n return {\n documents: results.documents,\n folderAssignedCollections: subfolderDoc?.docs[0]?.folderType || [],\n subfolders: results.subfolders,\n }\n}\n"],"names":["APIError","combineWhereConstraints","formatFolderOrDocumentItem","queryDocumentsAndFoldersFromJoin","documentWhere","folderWhere","parentFolderID","req","payload","user","config","folders","subfolderDoc","find","collection","slug","depth","joins","documentsAndFolders","limit","sort","where","overrideAccess","select","folderType","id","equals","childrenDocs","docs","results","reduce","acc","doc","relationTo","value","item","folderFieldName","fieldName","isUpload","Boolean","collections","upload","useAsTitle","admin","subfolders","push","documents","folderAssignedCollections"],"mappings":"AAKA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,uBAAuB,QAAQ,6CAA4C;AACpF,SAASC,0BAA0B,QAAQ,kCAAiC;AAoB5E,OAAO,eAAeC,iCAAiC,EACrDC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,GAAG,EAC0B;IAC7B,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGF;IAE1B,IAAIC,QAAQE,MAAM,CAACC,OAAO,KAAK,OAAO;QACpC,MAAM,IAAIX,SAAS,2BAA2B;IAChD;IAEA,MAAMY,eAAgB,MAAMJ,QAAQK,IAAI,CAAC;QACvCC,YAAYN,QAAQE,MAAM,CAACC,OAAO,CAACI,IAAI;QACvCC,OAAO;QACPC,OAAO;YACLC,qBAAqB;gBACnBC,OAAO;gBACPC,MAAM;gBACNC,OAAOpB,wBAAwB;oBAACI;oBAAaD;iBAAc,EAAE;YAC/D;QACF;QACAe,OAAO;QACPG,gBAAgB;QAChBf;QACAgB,QAAQ;YACNL,qBAAqB;YACrBM,YAAY;QACd;QACAf;QACAY,OAAO;YACLI,IAAI;gBACFC,QAAQpB;YACV;QACF;IACF;IAEA,MAAMqB,eAAef,cAAcgB,IAAI,CAAC,EAAE,EAAEV,qBAAqBU,QAAQ,EAAE;IAE3E,MAAMC,UAA2CF,aAAaG,MAAM,CAClE,CAACC,KAAsCC;QACrC,IAAI,CAACxB,QAAQE,MAAM,CAACC,OAAO,EAAE;YAC3B,OAAOoB;QACT;QACA,MAAM,EAAEE,UAAU,EAAEC,KAAK,EAAE,GAAGF;QAC9B,MAAMG,OAAOjC,2BAA2B;YACtCkC,iBAAiB5B,QAAQE,MAAM,CAACC,OAAO,CAAC0B,SAAS;YACjDC,UAAUC,QAAQ/B,QAAQgC,WAAW,CAACP,WAAW,CAAEvB,MAAM,CAAC+B,MAAM;YAChER;YACAS,YAAYlC,QAAQgC,WAAW,CAACP,WAAW,CAAEvB,MAAM,CAACiC,KAAK,EAAED;YAC3DR;QACF;QAEA,IAAID,eAAezB,QAAQE,MAAM,CAACC,OAAO,CAACI,IAAI,EAAE;YAC9CgB,IAAIa,UAAU,CAACC,IAAI,CAACV;QACtB,OAAO;YACLJ,IAAIe,SAAS,CAACD,IAAI,CAACV;QACrB;QAEA,OAAOJ;IACT,GACA;QACEe,WAAW,EAAE;QACbF,YAAY,EAAE;IAChB;IAGF,OAAO;QACLE,WAAWjB,QAAQiB,SAAS;QAC5BC,2BAA2BnC,cAAcgB,IAAI,CAAC,EAAE,EAAEJ,cAAc,EAAE;QAClEoB,YAAYf,QAAQe,UAAU;IAChC;AACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CollectionSlug, PayloadRequest, Where } from '../../index.js';
|
|
2
|
+
import type { FolderOrDocument } from '../types.js';
|
|
3
|
+
type Args = {
|
|
4
|
+
collectionSlug: CollectionSlug;
|
|
5
|
+
folderFieldName: string;
|
|
6
|
+
req: PayloadRequest;
|
|
7
|
+
/**
|
|
8
|
+
* Optional where clause to filter documents by
|
|
9
|
+
* @default undefined
|
|
10
|
+
*/
|
|
11
|
+
where?: Where;
|
|
12
|
+
};
|
|
13
|
+
export declare function getOrphanedDocs({ collectionSlug, folderFieldName, req, where, }: Args): Promise<FolderOrDocument[]>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=getOrphanedDocs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOrphanedDocs.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/getOrphanedDocs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKnD,KAAK,IAAI,GAAG;IACV,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AACD,wBAAsB,eAAe,CAAC,EACpC,cAAc,EACd,eAAe,EACf,GAAG,EACH,KAAK,GACN,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAwCpC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { combineWhereConstraints } from '../../utilities/combineWhereConstraints.js';
|
|
2
|
+
import { formatFolderOrDocumentItem } from './formatFolderOrDocumentItem.js';
|
|
3
|
+
export async function getOrphanedDocs({ collectionSlug, folderFieldName, req, where }) {
|
|
4
|
+
const { payload, user } = req;
|
|
5
|
+
const noParentFolderConstraint = {
|
|
6
|
+
or: [
|
|
7
|
+
{
|
|
8
|
+
[folderFieldName]: {
|
|
9
|
+
exists: false
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
[folderFieldName]: {
|
|
14
|
+
equals: null
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
};
|
|
19
|
+
const orphanedFolders = await payload.find({
|
|
20
|
+
collection: collectionSlug,
|
|
21
|
+
limit: 0,
|
|
22
|
+
overrideAccess: false,
|
|
23
|
+
req,
|
|
24
|
+
sort: payload.collections[collectionSlug]?.config.admin.useAsTitle,
|
|
25
|
+
user,
|
|
26
|
+
where: where ? combineWhereConstraints([
|
|
27
|
+
noParentFolderConstraint,
|
|
28
|
+
where
|
|
29
|
+
]) : noParentFolderConstraint
|
|
30
|
+
});
|
|
31
|
+
return orphanedFolders?.docs.map((doc)=>formatFolderOrDocumentItem({
|
|
32
|
+
folderFieldName,
|
|
33
|
+
isUpload: Boolean(payload.collections[collectionSlug]?.config.upload),
|
|
34
|
+
relationTo: collectionSlug,
|
|
35
|
+
useAsTitle: payload.collections[collectionSlug]?.config.admin.useAsTitle,
|
|
36
|
+
value: doc
|
|
37
|
+
})) || [];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=getOrphanedDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/folders/utils/getOrphanedDocs.ts"],"sourcesContent":["import type { CollectionSlug, PayloadRequest, Where } from '../../index.js'\nimport type { FolderOrDocument } from '../types.js'\n\nimport { combineWhereConstraints } from '../../utilities/combineWhereConstraints.js'\nimport { formatFolderOrDocumentItem } from './formatFolderOrDocumentItem.js'\n\ntype Args = {\n collectionSlug: CollectionSlug\n folderFieldName: string\n req: PayloadRequest\n /**\n * Optional where clause to filter documents by\n * @default undefined\n */\n where?: Where\n}\nexport async function getOrphanedDocs({\n collectionSlug,\n folderFieldName,\n req,\n where,\n}: Args): Promise<FolderOrDocument[]> {\n const { payload, user } = req\n const noParentFolderConstraint: Where = {\n or: [\n {\n [folderFieldName]: {\n exists: false,\n },\n },\n {\n [folderFieldName]: {\n equals: null,\n },\n },\n ],\n }\n\n const orphanedFolders = await payload.find({\n collection: collectionSlug,\n limit: 0,\n overrideAccess: false,\n req,\n sort: payload.collections[collectionSlug]?.config.admin.useAsTitle,\n user,\n where: where\n ? combineWhereConstraints([noParentFolderConstraint, where])\n : noParentFolderConstraint,\n })\n\n return (\n orphanedFolders?.docs.map((doc) =>\n formatFolderOrDocumentItem({\n folderFieldName,\n isUpload: Boolean(payload.collections[collectionSlug]?.config.upload),\n relationTo: collectionSlug,\n useAsTitle: payload.collections[collectionSlug]?.config.admin.useAsTitle,\n value: doc,\n }),\n ) || []\n )\n}\n"],"names":["combineWhereConstraints","formatFolderOrDocumentItem","getOrphanedDocs","collectionSlug","folderFieldName","req","where","payload","user","noParentFolderConstraint","or","exists","equals","orphanedFolders","find","collection","limit","overrideAccess","sort","collections","config","admin","useAsTitle","docs","map","doc","isUpload","Boolean","upload","relationTo","value"],"mappings":"AAGA,SAASA,uBAAuB,QAAQ,6CAA4C;AACpF,SAASC,0BAA0B,QAAQ,kCAAiC;AAY5E,OAAO,eAAeC,gBAAgB,EACpCC,cAAc,EACdC,eAAe,EACfC,GAAG,EACHC,KAAK,EACA;IACL,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGH;IAC1B,MAAMI,2BAAkC;QACtCC,IAAI;YACF;gBACE,CAACN,gBAAgB,EAAE;oBACjBO,QAAQ;gBACV;YACF;YACA;gBACE,CAACP,gBAAgB,EAAE;oBACjBQ,QAAQ;gBACV;YACF;SACD;IACH;IAEA,MAAMC,kBAAkB,MAAMN,QAAQO,IAAI,CAAC;QACzCC,YAAYZ;QACZa,OAAO;QACPC,gBAAgB;QAChBZ;QACAa,MAAMX,QAAQY,WAAW,CAAChB,eAAe,EAAEiB,OAAOC,MAAMC;QACxDd;QACAF,OAAOA,QACHN,wBAAwB;YAACS;YAA0BH;SAAM,IACzDG;IACN;IAEA,OACEI,iBAAiBU,KAAKC,IAAI,CAACC,MACzBxB,2BAA2B;YACzBG;YACAsB,UAAUC,QAAQpB,QAAQY,WAAW,CAAChB,eAAe,EAAEiB,OAAOQ;YAC9DC,YAAY1B;YACZmB,YAAYf,QAAQY,WAAW,CAAChB,eAAe,EAAEiB,OAAOC,MAAMC;YAC9DQ,OAAOL;QACT,OACG,EAAE;AAEX"}
|
|
@@ -129,10 +129,6 @@ export type GlobalAdminOptions = {
|
|
|
129
129
|
* Inject custom components before the document controls
|
|
130
130
|
*/
|
|
131
131
|
beforeDocumentControls?: CustomComponent[];
|
|
132
|
-
/**
|
|
133
|
-
* Inject custom components before the document metadata (left of status/timestamps)
|
|
134
|
-
*/
|
|
135
|
-
BeforeDocumentMeta?: CustomComponent[];
|
|
136
132
|
Description?: EntityDescriptionComponent;
|
|
137
133
|
/**
|
|
138
134
|
* Replaces the "Preview" button
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/globals/config/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/globals/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/globals/config/types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired, IsAny } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n CustomStatus,\n PublishButtonClientProps,\n PublishButtonServerProps,\n UnpublishButtonClientProps,\n UnpublishButtonServerProps,\n} from '../../admin/types.js'\nimport type {\n Access,\n CustomComponent,\n EditConfig,\n Endpoint,\n EntityDescription,\n EntityDescriptionComponent,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n MetaConfig,\n PayloadComponent,\n StaticLabel,\n} from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type { Field, FlattenedField } from '../../fields/config/types.js'\nimport type {\n GeneratedTypes,\n GlobalAdminCustom,\n GlobalCustom,\n GlobalSlug,\n RequestContext,\n TypedGlobal,\n TypedGlobalSelect,\n} from '../../index.js'\nimport type { PayloadRequest, SelectIncludeType, Where } from '../../types/index.js'\nimport type { IncomingGlobalVersions, SanitizedGlobalVersions } from '../../versions/types.js'\n\nexport type DataFromGlobalSlug<TSlug extends GlobalSlug> = TypedGlobal[TSlug]\n\nexport type SelectFromGlobalSlug<TSlug extends GlobalSlug> = TypedGlobalSelect[TSlug]\n\n/**\n * Global slugs that do not have drafts enabled.\n * Detects globals without drafts by checking for the absence of the `_status` field.\n */\nexport type GlobalsWithoutDrafts = {\n [TSlug in GlobalSlug]: DataFromGlobalSlug<TSlug> extends { _status?: any } ? never : TSlug\n}[GlobalSlug]\n\n/**\n * Conditionally allows or forbids the `draft` property based on global configuration.\n * When `strictDraftTypes` is enabled, the `draft` property is forbidden on globals without drafts.\n */\nexport type DraftFlagFromGlobalSlug<TSlug extends GlobalSlug> = GeneratedTypes extends {\n strictDraftTypes: true\n}\n ? TSlug extends GlobalsWithoutDrafts\n ? {\n /**\n * The `draft` property is not allowed because this global does not have `versions.drafts` enabled.\n */\n draft?: never\n }\n : {\n /**\n * Whether the global should be queried from the versions table/collection or not. [More](https://payloadcms.com/docs/versions/drafts#draft-api)\n */\n draft?: boolean\n }\n : {\n /**\n * Whether the global should be queried from the versions table/collection or not. [More](https://payloadcms.com/docs/versions/drafts#draft-api)\n */\n draft?: boolean\n }\n\nexport type BeforeValidateHook = (args: {\n context: RequestContext\n data?: any\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n originalDoc?: any\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook = (args: {\n context: RequestContext\n data: any\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n originalDoc?: any\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook = (args: {\n context: RequestContext\n data: any\n doc: any\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n previousDoc: any\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook = (args: {\n context: RequestContext\n doc: any\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook = (args: {\n context: RequestContext\n doc: any\n findMany?: boolean\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n query?: Where\n req: PayloadRequest\n}) => any\n\nexport type HookOperationType = 'countVersions' | 'read' | 'restoreVersion' | 'update'\n\nexport type BeforeOperationHook = (args: {\n args?: any\n context: RequestContext\n /**\n * The Global which this hook is being run on\n * */\n global: SanitizedGlobalConfig\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n req: PayloadRequest\n}) => any\n\nexport type GlobalAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n elements?: {\n /**\n * Inject custom components before the document controls\n */\n beforeDocumentControls?: CustomComponent[]\n /**\n * Inject custom components before the document metadata (left of status/timestamps)\n */\n BeforeDocumentMeta?: CustomComponent[]\n Description?: EntityDescriptionComponent\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: PayloadComponent<PublishButtonServerProps, PublishButtonClientProps>\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n /**\n * Replaces the \"Status\" section\n */\n Status?: CustomStatus\n /**\n * Replaces the \"Unpublish\" button\n * + drafts must be enabled\n */\n UnpublishButton?: PayloadComponent<UnpublishButtonServerProps, UnpublishButtonClientProps>\n }\n views?: {\n /**\n * Set to a React component to replace the entire Edit View, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n edit?: EditConfig\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: GlobalAdminCustom\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n /**\n * Specify a navigational group for globals in the admin sidebar.\n * - Provide a string to place the entity in a custom group.\n * - Provide a record to define localized group names.\n * - Set to `false` to exclude the entity from the sidebar / dashboard without disabling its routes.\n */\n group?: false | Record<string, string> | string\n /**\n * Exclude the global from the admin nav and routes\n */\n hidden?: ((args: { user: PayloadRequest['user'] }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit View\n */\n hideAPIURL?: boolean\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n meta?: MetaConfig\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n}\n\nexport type GlobalConfig<TSlug extends GlobalSlug = any> = {\n /**\n * Do not set this property manually. This is set to true during sanitization, to avoid\n * sanitizing the same global multiple times.\n */\n _sanitized?: boolean\n access?: {\n read?: Access\n readVersions?: Access\n update?: Access\n }\n admin?: GlobalAdminOptions\n /** Extension point to add your custom data. Server only. */\n custom?: GlobalCustom\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n endpoints?: false | Omit<Endpoint, 'root'>[]\n fields: Field[]\n /**\n * Specify which fields should be selected always, regardless of the `select` query which can be useful that the field exists for access control / hooks\n */\n forceSelect?: IsAny<SelectFromGlobalSlug<TSlug>> extends true\n ? SelectIncludeType\n : SelectFromGlobalSlug<TSlug>\n graphQL?:\n | {\n disableMutations?: true\n disableQueries?: true\n name?: string\n }\n | false\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterRead?: AfterReadHook[]\n beforeChange?: BeforeChangeHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n label?: LabelFunction | StaticLabel\n /**\n * Enables / Disables the ability to lock documents while editing\n * @default true\n */\n lockDocuments?:\n | {\n duration: number\n }\n | false\n slug: string\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n versions?: boolean | IncomingGlobalVersions\n}\n\nexport interface SanitizedGlobalConfig\n extends Omit<DeepRequired<GlobalConfig>, 'endpoints' | 'fields' | 'slug' | 'versions'> {\n endpoints: Endpoint[] | false\n fields: Field[]\n /**\n * Fields in the database schema structure\n * Rows / collapsible / tabs w/o name `fields` merged to top, UIs are excluded\n */\n flattenedFields: FlattenedField[]\n slug: GlobalSlug\n versions?: SanitizedGlobalVersions\n}\n\nexport type Globals = {\n config: SanitizedGlobalConfig[]\n graphQL?:\n | {\n [slug: string]: {\n mutationInputType: GraphQLNonNull<any>\n type: GraphQLObjectType\n versionType?: GraphQLObjectType\n }\n }\n | false\n}\n"],"names":[],"mappings":"AAAA,qDAAqD,GAyUrD,WAWC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/globals/config/types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired, IsAny } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n CustomStatus,\n PublishButtonClientProps,\n PublishButtonServerProps,\n UnpublishButtonClientProps,\n UnpublishButtonServerProps,\n} from '../../admin/types.js'\nimport type {\n Access,\n CustomComponent,\n EditConfig,\n Endpoint,\n EntityDescription,\n EntityDescriptionComponent,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n MetaConfig,\n PayloadComponent,\n StaticLabel,\n} from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type { Field, FlattenedField } from '../../fields/config/types.js'\nimport type {\n GeneratedTypes,\n GlobalAdminCustom,\n GlobalCustom,\n GlobalSlug,\n RequestContext,\n TypedGlobal,\n TypedGlobalSelect,\n} from '../../index.js'\nimport type { PayloadRequest, SelectIncludeType, Where } from '../../types/index.js'\nimport type { IncomingGlobalVersions, SanitizedGlobalVersions } from '../../versions/types.js'\n\nexport type DataFromGlobalSlug<TSlug extends GlobalSlug> = TypedGlobal[TSlug]\n\nexport type SelectFromGlobalSlug<TSlug extends GlobalSlug> = TypedGlobalSelect[TSlug]\n\n/**\n * Global slugs that do not have drafts enabled.\n * Detects globals without drafts by checking for the absence of the `_status` field.\n */\nexport type GlobalsWithoutDrafts = {\n [TSlug in GlobalSlug]: DataFromGlobalSlug<TSlug> extends { _status?: any } ? never : TSlug\n}[GlobalSlug]\n\n/**\n * Conditionally allows or forbids the `draft` property based on global configuration.\n * When `strictDraftTypes` is enabled, the `draft` property is forbidden on globals without drafts.\n */\nexport type DraftFlagFromGlobalSlug<TSlug extends GlobalSlug> = GeneratedTypes extends {\n strictDraftTypes: true\n}\n ? TSlug extends GlobalsWithoutDrafts\n ? {\n /**\n * The `draft` property is not allowed because this global does not have `versions.drafts` enabled.\n */\n draft?: never\n }\n : {\n /**\n * Whether the global should be queried from the versions table/collection or not. [More](https://payloadcms.com/docs/versions/drafts#draft-api)\n */\n draft?: boolean\n }\n : {\n /**\n * Whether the global should be queried from the versions table/collection or not. [More](https://payloadcms.com/docs/versions/drafts#draft-api)\n */\n draft?: boolean\n }\n\nexport type BeforeValidateHook = (args: {\n context: RequestContext\n data?: any\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n originalDoc?: any\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook = (args: {\n context: RequestContext\n data: any\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n originalDoc?: any\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook = (args: {\n context: RequestContext\n data: any\n doc: any\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n previousDoc: any\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook = (args: {\n context: RequestContext\n doc: any\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook = (args: {\n context: RequestContext\n doc: any\n findMany?: boolean\n /** The global which this hook is being run on */\n global: SanitizedGlobalConfig\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n query?: Where\n req: PayloadRequest\n}) => any\n\nexport type HookOperationType = 'countVersions' | 'read' | 'restoreVersion' | 'update'\n\nexport type BeforeOperationHook = (args: {\n args?: any\n context: RequestContext\n /**\n * The Global which this hook is being run on\n * */\n global: SanitizedGlobalConfig\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n /**\n * Whether access control is being overridden for this operation\n */\n overrideAccess?: boolean\n req: PayloadRequest\n}) => any\n\nexport type GlobalAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n elements?: {\n /**\n * Inject custom components before the document controls\n */\n beforeDocumentControls?: CustomComponent[]\n Description?: EntityDescriptionComponent\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: PayloadComponent<PublishButtonServerProps, PublishButtonClientProps>\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n /**\n * Replaces the \"Status\" section\n */\n Status?: CustomStatus\n /**\n * Replaces the \"Unpublish\" button\n * + drafts must be enabled\n */\n UnpublishButton?: PayloadComponent<UnpublishButtonServerProps, UnpublishButtonClientProps>\n }\n views?: {\n /**\n * Set to a React component to replace the entire Edit View, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n edit?: EditConfig\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: GlobalAdminCustom\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n /**\n * Specify a navigational group for globals in the admin sidebar.\n * - Provide a string to place the entity in a custom group.\n * - Provide a record to define localized group names.\n * - Set to `false` to exclude the entity from the sidebar / dashboard without disabling its routes.\n */\n group?: false | Record<string, string> | string\n /**\n * Exclude the global from the admin nav and routes\n */\n hidden?: ((args: { user: PayloadRequest['user'] }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit View\n */\n hideAPIURL?: boolean\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n meta?: MetaConfig\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n}\n\nexport type GlobalConfig<TSlug extends GlobalSlug = any> = {\n /**\n * Do not set this property manually. This is set to true during sanitization, to avoid\n * sanitizing the same global multiple times.\n */\n _sanitized?: boolean\n access?: {\n read?: Access\n readVersions?: Access\n update?: Access\n }\n admin?: GlobalAdminOptions\n /** Extension point to add your custom data. Server only. */\n custom?: GlobalCustom\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n endpoints?: false | Omit<Endpoint, 'root'>[]\n fields: Field[]\n /**\n * Specify which fields should be selected always, regardless of the `select` query which can be useful that the field exists for access control / hooks\n */\n forceSelect?: IsAny<SelectFromGlobalSlug<TSlug>> extends true\n ? SelectIncludeType\n : SelectFromGlobalSlug<TSlug>\n graphQL?:\n | {\n disableMutations?: true\n disableQueries?: true\n name?: string\n }\n | false\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterRead?: AfterReadHook[]\n beforeChange?: BeforeChangeHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n label?: LabelFunction | StaticLabel\n /**\n * Enables / Disables the ability to lock documents while editing\n * @default true\n */\n lockDocuments?:\n | {\n duration: number\n }\n | false\n slug: string\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n versions?: boolean | IncomingGlobalVersions\n}\n\nexport interface SanitizedGlobalConfig\n extends Omit<DeepRequired<GlobalConfig>, 'endpoints' | 'fields' | 'slug' | 'versions'> {\n endpoints: Endpoint[] | false\n fields: Field[]\n /**\n * Fields in the database schema structure\n * Rows / collapsible / tabs w/o name `fields` merged to top, UIs are excluded\n */\n flattenedFields: FlattenedField[]\n slug: GlobalSlug\n versions?: SanitizedGlobalVersions\n}\n\nexport type Globals = {\n config: SanitizedGlobalConfig[]\n graphQL?:\n | {\n [slug: string]: {\n mutationInputType: GraphQLNonNull<any>\n type: GraphQLObjectType\n versionType?: GraphQLObjectType\n }\n }\n | false\n}\n"],"names":[],"mappings":"AAAA,qDAAqD,GAqUrD,WAWC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/globals/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,gBAAgB,CAAA;AAC5D,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,yBAAyB,EAE1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAsB3B,KAAK,IAAI,CAAC,KAAK,SAAS,UAAU,IAAI;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,qBAAqB,CAAA;IACnC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;AAEnD,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,UAAU,EACxB,OAAO,SAAS,oBAAoB,CAAC,KAAK,CAAC,QAErC,IAAI,CAAC,KAAK,CAAC,KAChB,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/globals/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,gBAAgB,CAAA;AAC5D,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,yBAAyB,EAE1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAsB3B,KAAK,IAAI,CAAC,KAAK,SAAS,UAAU,IAAI;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,qBAAqB,CAAA;IACnC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;AAEnD,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,UAAU,EACxB,OAAO,SAAS,oBAAoB,CAAC,KAAK,CAAC,QAErC,IAAI,CAAC,KAAK,CAAC,KAChB,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CA0anD,CAAA"}
|