payload 4.0.0-internal.5b1e7cd → 4.0.0-internal.5f0cd13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/RichText.d.ts +3 -16
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/admin/adapters/cookies.d.ts +21 -0
- package/dist/admin/adapters/cookies.d.ts.map +1 -0
- package/dist/admin/adapters/cookies.js +3 -0
- package/dist/admin/adapters/cookies.js.map +1 -0
- package/dist/admin/adapters/index.d.ts +4 -0
- package/dist/admin/adapters/index.d.ts.map +1 -0
- package/dist/admin/adapters/index.js +3 -0
- package/dist/admin/adapters/index.js.map +1 -0
- package/dist/admin/adapters/router.d.ts +56 -0
- package/dist/admin/adapters/router.d.ts.map +1 -0
- package/dist/admin/adapters/router.js +3 -0
- package/dist/admin/adapters/router.js.map +1 -0
- package/dist/admin/adapters/server.d.ts +23 -0
- package/dist/admin/adapters/server.d.ts.map +1 -0
- package/dist/admin/adapters/server.js +6 -0
- package/dist/admin/adapters/server.js.map +1 -0
- package/dist/admin/elements/Nav.d.ts +13 -0
- package/dist/admin/elements/Nav.d.ts.map +1 -1
- package/dist/admin/elements/Nav.js.map +1 -1
- package/dist/admin/elements/Table.d.ts +1 -0
- package/dist/admin/elements/Table.d.ts.map +1 -1
- package/dist/admin/elements/Table.js.map +1 -1
- package/dist/admin/functions/index.d.ts +1 -38
- 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 +5 -4
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/admin/views/hierarchyList.d.ts +10 -0
- package/dist/admin/views/hierarchyList.d.ts.map +1 -0
- package/dist/admin/views/hierarchyList.js +3 -0
- package/dist/admin/views/hierarchyList.js.map +1 -0
- package/dist/admin/views/index.d.ts +1 -3
- 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 +47 -2
- package/dist/admin/views/list.d.ts.map +1 -1
- package/dist/admin/views/list.js.map +1 -1
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/defaultAccess.d.ts.map +1 -1
- package/dist/auth/ensureUsernameOrEmail.d.ts.map +1 -1
- package/dist/auth/executeAccess.d.ts.map +1 -1
- package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
- package/dist/auth/extractAccessFromPermission.d.ts.map +1 -1
- package/dist/auth/extractJWT.d.ts.map +1 -1
- package/dist/auth/getAuthFields.d.ts.map +1 -1
- package/dist/auth/getFieldsToSign.d.ts.map +1 -1
- package/dist/auth/getLoginOptions.d.ts.map +1 -1
- package/dist/auth/isUserLocked.d.ts.map +1 -1
- package/dist/auth/jwt.d.ts.map +1 -1
- package/dist/auth/operations/access.d.ts.map +1 -1
- package/dist/auth/operations/auth.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/init.d.ts.map +1 -1
- package/dist/auth/operations/local/auth.d.ts.map +1 -1
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/logout.d.ts.map +1 -1
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/strategies/apiKey.d.ts.map +1 -1
- package/dist/auth/strategies/apiKey.js +6 -17
- package/dist/auth/strategies/apiKey.js.map +1 -1
- package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
- package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/register.d.ts.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateCollections.js +1 -0
- 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 +7 -0
- package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
- package/dist/bin/generateImportMap/iterateFields.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateFields.js +4 -1
- package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
- package/dist/bin/generateImportMap/iterateGlobals.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateGlobals.js +20 -8
- package/dist/bin/generateImportMap/iterateGlobals.js.map +1 -1
- package/dist/bin/generateImportMap/utilities/getFromImportMap.d.ts.map +1 -1
- package/dist/bin/generateTypes.d.ts.map +1 -1
- package/dist/bin/generateTypes.js +7 -1
- package/dist/bin/generateTypes.js.map +1 -1
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +1 -3
- package/dist/bin/index.js.map +1 -1
- package/dist/bin/migrate.d.ts.map +1 -1
- package/dist/collections/config/client.d.ts +4 -2
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +13 -1
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/defaults.d.ts.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 +10 -1
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +51 -10
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
- package/dist/collections/config/types.d.ts +76 -91
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/config/useAsTitle.d.ts.map +1 -1
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/operations/count.d.ts.map +1 -1
- package/dist/collections/operations/countVersions.d.ts.map +1 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +24 -19
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +7 -2
- package/dist/collections/operations/delete.js.map +1 -1
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +7 -2
- package/dist/collections/operations/deleteByID.js.map +1 -1
- package/dist/collections/operations/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +7 -2
- package/dist/collections/operations/find.js.map +1 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +10 -5
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/findDistinct.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +6 -4
- package/dist/collections/operations/findVersionByID.js.map +1 -1
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +6 -4
- package/dist/collections/operations/findVersions.js.map +1 -1
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +7 -2
- package/dist/collections/operations/restoreVersion.js.map +1 -1
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +7 -2
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +7 -2
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -1
- package/dist/collections/operations/utilities/sanitizeSortQuery.d.ts.map +1 -1
- package/dist/collections/operations/utilities/update.d.ts.map +1 -1
- package/dist/collections/operations/utilities/update.js +5 -4
- package/dist/collections/operations/utilities/update.js.map +1 -1
- package/dist/config/build.d.ts.map +1 -1
- package/dist/config/build.js +8 -0
- package/dist/config/build.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 -11
- package/dist/config/client.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +0 -15
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/orderable/index.d.ts.map +1 -1
- package/dist/config/orderable/index.js +0 -4
- package/dist/config/orderable/index.js.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +6 -53
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/types.d.ts +188 -32
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/database/combineQueries.d.ts.map +1 -1
- package/dist/database/migrations/findMigrationDir.d.ts.map +1 -1
- package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/templates/localizeStatus.d.ts.map +1 -1
- package/dist/database/migrations/writeMigrationIndex.d.ts.map +1 -1
- package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
- package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
- package/dist/duplicateDocument/index.d.ts.map +1 -1
- package/dist/email/getStringifiedToAddress.d.ts.map +1 -1
- package/dist/exports/shared.d.ts +6 -3
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +4 -2
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/baseFields/slug/countVersions.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/index.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/index.js +7 -5
- package/dist/fields/baseFields/slug/index.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 +4 -3
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +13 -20
- 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 +3 -0
- package/dist/fields/config/sanitizeJoinField.js.map +1 -1
- package/dist/fields/config/types.d.ts +44 -118
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +12 -2
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/getDefaultValue.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/isFieldDisabled.d.ts +12 -0
- package/dist/fields/isFieldDisabled.d.ts.map +1 -0
- package/dist/fields/isFieldDisabled.js +15 -0
- package/dist/fields/isFieldDisabled.js.map +1 -0
- package/dist/fields/isFieldDisabled.spec.js +134 -0
- package/dist/fields/isFieldDisabled.spec.js.map +1 -0
- package/dist/fields/mergeBaseFields.d.ts.map +1 -1
- package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
- package/dist/fields/validations.js +1 -1
- package/dist/fields/validations.js.map +1 -1
- package/dist/globals/config/client.d.ts +1 -1
- package/dist/globals/config/client.d.ts.map +1 -1
- package/dist/globals/config/client.js +2 -1
- package/dist/globals/config/client.js.map +1 -1
- package/dist/globals/config/sanitize.d.ts +6 -1
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +6 -2
- package/dist/globals/config/sanitize.js.map +1 -1
- package/dist/globals/config/types.d.ts +4 -57
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
- package/dist/globals/operations/docAccess.d.ts.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +7 -2
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +6 -4
- package/dist/globals/operations/findVersionByID.js.map +1 -1
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +6 -4
- package/dist/globals/operations/findVersions.js.map +1 -1
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +7 -2
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/hierarchy/addHierarchyToCollection.d.ts +9 -0
- package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -0
- package/dist/hierarchy/addHierarchyToCollection.js +76 -0
- package/dist/hierarchy/addHierarchyToCollection.js.map +1 -0
- package/dist/hierarchy/buildParentField.d.ts +11 -0
- package/dist/hierarchy/buildParentField.d.ts.map +1 -0
- package/dist/hierarchy/buildParentField.js +42 -0
- package/dist/hierarchy/buildParentField.js.map +1 -0
- package/dist/hierarchy/constants.d.ts +15 -0
- package/dist/hierarchy/constants.d.ts.map +1 -0
- package/dist/hierarchy/constants.js +11 -0
- package/dist/hierarchy/constants.js.map +1 -0
- package/dist/hierarchy/createFolderField.d.ts +39 -0
- package/dist/hierarchy/createFolderField.d.ts.map +1 -0
- package/dist/hierarchy/createFolderField.js +54 -0
- package/dist/hierarchy/createFolderField.js.map +1 -0
- package/dist/hierarchy/createTagField.d.ts +44 -0
- package/dist/hierarchy/createTagField.d.ts.map +1 -0
- package/dist/hierarchy/createTagField.js +48 -0
- package/dist/hierarchy/createTagField.js.map +1 -0
- package/dist/hierarchy/getInitialTreeData.d.ts +27 -0
- package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -0
- package/dist/hierarchy/getInitialTreeData.js +125 -0
- package/dist/hierarchy/getInitialTreeData.js.map +1 -0
- package/dist/hierarchy/hooks/collectionAfterDelete.d.ts +14 -0
- package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionAfterDelete.js +21 -0
- package/dist/hierarchy/hooks/collectionAfterDelete.js.map +1 -0
- package/dist/hierarchy/hooks/collectionAfterRead.d.ts +27 -0
- package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionAfterRead.js +72 -0
- package/dist/hierarchy/hooks/collectionAfterRead.js.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeChange.d.ts +19 -0
- package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeChange.js +90 -0
- package/dist/hierarchy/hooks/collectionBeforeChange.js.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts +15 -0
- package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeDelete.js +20 -0
- package/dist/hierarchy/hooks/collectionBeforeDelete.js.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts +33 -0
- package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeOperation.js +66 -0
- package/dist/hierarchy/hooks/collectionBeforeOperation.js.map +1 -0
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts +8 -0
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -0
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.js +108 -0
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.js.map +1 -0
- package/dist/hierarchy/injectHierarchyButton.d.ts +14 -0
- package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -0
- package/dist/hierarchy/injectHierarchyButton.js +37 -0
- package/dist/hierarchy/injectHierarchyButton.js.map +1 -0
- package/dist/hierarchy/presets.d.ts +13 -0
- package/dist/hierarchy/presets.d.ts.map +1 -0
- package/dist/hierarchy/presets.js +52 -0
- package/dist/hierarchy/presets.js.map +1 -0
- package/dist/hierarchy/resolveHierarchyCollections.d.ts +23 -0
- package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -0
- package/dist/hierarchy/resolveHierarchyCollections.js +321 -0
- package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -0
- package/dist/hierarchy/sanitizeHierarchyCollection.d.ts +14 -0
- package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -0
- package/dist/hierarchy/sanitizeHierarchyCollection.js +119 -0
- package/dist/hierarchy/sanitizeHierarchyCollection.js.map +1 -0
- package/dist/hierarchy/types.d.ts +162 -0
- package/dist/hierarchy/types.d.ts.map +1 -0
- package/dist/hierarchy/types.js +6 -0
- package/dist/hierarchy/types.js.map +1 -0
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.d.ts +77 -0
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.d.ts.map +1 -0
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.js +77 -0
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.js.map +1 -0
- package/dist/hierarchy/utils/computePaths.d.ts +31 -0
- package/dist/hierarchy/utils/computePaths.d.ts.map +1 -0
- package/dist/hierarchy/utils/computePaths.js +445 -0
- package/dist/hierarchy/utils/computePaths.js.map +1 -0
- package/dist/hierarchy/utils/findUseAsTitle.d.ts +14 -0
- package/dist/hierarchy/utils/findUseAsTitle.d.ts.map +1 -0
- package/dist/hierarchy/utils/findUseAsTitle.js +89 -0
- package/dist/hierarchy/utils/findUseAsTitle.js.map +1 -0
- package/dist/hierarchy/utils/getAncestors.d.ts +34 -0
- package/dist/hierarchy/utils/getAncestors.d.ts.map +1 -0
- package/dist/hierarchy/utils/getAncestors.js +94 -0
- package/dist/hierarchy/utils/getAncestors.js.map +1 -0
- package/dist/hierarchy/utils/getLocalizedValue.d.ts +30 -0
- package/dist/hierarchy/utils/getLocalizedValue.d.ts.map +1 -0
- package/dist/hierarchy/utils/getLocalizedValue.js +46 -0
- package/dist/hierarchy/utils/getLocalizedValue.js.map +1 -0
- package/dist/hierarchy/utils/getLocalizedValue.spec.js +250 -0
- package/dist/hierarchy/utils/getLocalizedValue.spec.js.map +1 -0
- package/dist/index.bundled.d.ts +1017 -672
- package/dist/index.d.ts +32 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -8
- package/dist/index.js.map +1 -1
- package/dist/kv/adapters/DatabaseKVAdapter.d.ts.map +1 -1
- package/dist/locked-documents/config.d.ts.map +1 -1
- package/dist/preferences/config.d.ts.map +1 -1
- package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
- package/dist/preferences/keys.d.ts +8 -4
- package/dist/preferences/keys.d.ts.map +1 -1
- package/dist/preferences/keys.js +7 -4
- package/dist/preferences/keys.js.map +1 -1
- package/dist/preferences/types.d.ts +1 -1
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js.map +1 -1
- package/dist/query-presets/access.d.ts.map +1 -1
- package/dist/query-presets/config.d.ts.map +1 -1
- package/dist/query-presets/config.js +11 -7
- package/dist/query-presets/config.js.map +1 -1
- package/dist/query-presets/constraints.d.ts.map +1 -1
- package/dist/query-presets/constraints.js +1 -1
- package/dist/query-presets/constraints.js.map +1 -1
- package/dist/queues/config/generateJobsJSONSchemas.d.ts +1 -1
- package/dist/queues/config/generateJobsJSONSchemas.d.ts.map +1 -1
- package/dist/queues/config/generateJobsJSONSchemas.js +31 -10
- package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
- package/dist/queues/config/types/index.d.ts +0 -21
- package/dist/queues/config/types/index.d.ts.map +1 -1
- package/dist/queues/config/types/index.js.map +1 -1
- package/dist/queues/config/types/taskTypes.d.ts +0 -20
- package/dist/queues/config/types/taskTypes.d.ts.map +1 -1
- package/dist/queues/config/types/taskTypes.js.map +1 -1
- package/dist/queues/endpoints/run.d.ts.map +1 -1
- package/dist/queues/errors/handleWorkflowError.d.ts.map +1 -1
- package/dist/queues/errors/handleWorkflowError.js +9 -1
- package/dist/queues/errors/handleWorkflowError.js.map +1 -1
- package/dist/queues/localAPI.d.ts.map +1 -1
- package/dist/queues/localAPI.js +26 -67
- package/dist/queues/localAPI.js.map +1 -1
- package/dist/queues/operations/handleSchedules/getQueuesWithSchedules.d.ts.map +1 -1
- package/dist/queues/operations/handleSchedules/index.d.ts.map +1 -1
- package/dist/queues/operations/handleSchedules/index.js +1 -4
- package/dist/queues/operations/handleSchedules/index.js.map +1 -1
- package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/index.js +40 -37
- package/dist/queues/operations/runJobs/index.js.map +1 -1
- package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +3 -22
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js +0 -2
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
- package/dist/queues/utilities/getJobTaskStatus.d.ts.map +1 -1
- package/dist/queues/utilities/updateJob.d.ts +1 -3
- package/dist/queues/utilities/updateJob.d.ts.map +1 -1
- package/dist/queues/utilities/updateJob.js +2 -18
- package/dist/queues/utilities/updateJob.js.map +1 -1
- package/dist/translations/getLocalI18n.d.ts.map +1 -1
- package/dist/types/index.d.ts +54 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/uploads/checkFileAccess.d.ts.map +1 -1
- package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
- package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
- package/dist/uploads/endpoints/getFileFromURL.d.ts.map +1 -1
- package/dist/uploads/endpoints/getFileFromURL.js +9 -5
- package/dist/uploads/endpoints/getFileFromURL.js.map +1 -1
- package/dist/uploads/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -1
- package/dist/uploads/fetchAPI-multipart/processNested.d.ts.map +1 -1
- package/dist/uploads/fetchAPI-multipart/utilities.d.ts.map +1 -1
- package/dist/uploads/fileExists.d.ts.map +1 -1
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.js +24 -70
- package/dist/uploads/getBaseFields.js.map +1 -1
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileTypeFallback.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.d.ts +9 -4
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.js +5 -5
- package/dist/uploads/getSafeFilename.js.map +1 -1
- package/dist/uploads/image-resizing/createImageSize.d.ts.map +1 -1
- package/dist/uploads/image-resizing/generateImageSizeFilename.d.ts.map +1 -1
- package/dist/uploads/image-resizing/getImageResizeAction.d.ts.map +1 -1
- package/dist/uploads/image-resizing/parseFilename.d.ts.map +1 -1
- package/dist/uploads/image-resizing/sanitizeResizeConfig.d.ts.map +1 -1
- package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
- package/dist/uploads/safeFetch.d.ts +1 -1
- package/dist/uploads/safeFetch.d.ts.map +1 -1
- package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
- package/dist/uploads/tempFile.d.ts.map +1 -1
- package/dist/uploads/types.d.ts +12 -29
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/uploads/uploadFiles.d.ts.map +1 -1
- package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
- package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
- package/dist/utilities/appendDateTimezoneSelectFields.d.ts +13 -0
- package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -0
- package/dist/utilities/appendDateTimezoneSelectFields.js +47 -0
- package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -0
- package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
- package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
- package/dist/utilities/appendUploadSelectFields.js +3 -0
- package/dist/utilities/appendUploadSelectFields.js.map +1 -1
- package/dist/utilities/canAccessAdmin.d.ts.map +1 -1
- package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts +34 -16
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +127 -52
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/configToJSONSchema.spec.js +94 -65
- package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/deepCopyObject.d.ts.map +1 -1
- package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -1
- package/dist/utilities/escapeRegExp.d.ts.map +1 -1
- package/dist/utilities/extractID.d.ts.map +1 -1
- package/dist/utilities/extractID.js +1 -1
- package/dist/utilities/extractID.js.map +1 -1
- package/dist/utilities/flattenAllFields.d.ts.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts +13 -2
- package/dist/utilities/formatAdminURL.d.ts.map +1 -1
- package/dist/utilities/formatAdminURL.js +3 -15
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/utilities/formatAdminURL.spec.js +1 -90
- package/dist/utilities/formatAdminURL.spec.js.map +1 -1
- package/dist/utilities/formatErrors.d.ts.map +1 -1
- package/dist/utilities/formatLabels.d.ts.map +1 -1
- package/dist/utilities/getBestFitFromSizes.d.ts.map +1 -1
- package/dist/utilities/getBlockSelect.d.ts.map +1 -1
- package/dist/utilities/getDataByPath.d.ts.map +1 -1
- package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts.map +1 -1
- package/dist/utilities/getFieldByPath.d.ts.map +1 -1
- package/dist/utilities/getFieldPermissions.d.ts.map +1 -1
- package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
- package/dist/utilities/getRequestEntity.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestOrigin.d.ts.map +1 -1
- package/dist/utilities/getSafeRedirect.d.ts.map +1 -1
- package/dist/utilities/getSelectMode.d.ts.map +1 -1
- package/dist/utilities/getSiblingData.d.ts.map +1 -1
- package/dist/utilities/getTranslatedLabel.d.ts.map +1 -1
- package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
- package/dist/utilities/handleEndpoints.d.ts.map +1 -1
- package/dist/utilities/handleEndpoints.js +2 -6
- package/dist/utilities/handleEndpoints.js.map +1 -1
- package/dist/utilities/headersWithCors.d.ts.map +1 -1
- package/dist/utilities/isEntityHidden.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.d.ts.map +1 -1
- package/dist/utilities/isValidID.d.ts.map +1 -1
- package/dist/utilities/logError.d.ts.map +1 -1
- package/dist/utilities/logger.d.ts.map +1 -1
- package/dist/utilities/mergeHeaders.d.ts.map +1 -1
- package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -1
- package/dist/utilities/optionsAreEqual.d.ts.map +1 -1
- package/dist/utilities/parseBooleanString.d.ts.map +1 -1
- package/dist/utilities/parseCookies.d.ts.map +1 -1
- package/dist/utilities/parseParams/index.d.ts.map +1 -1
- package/dist/utilities/profiling.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
- package/dist/utilities/resolveSelect.d.ts +16 -0
- package/dist/utilities/resolveSelect.d.ts.map +1 -0
- package/dist/utilities/resolveSelect.js +19 -0
- package/dist/utilities/resolveSelect.js.map +1 -0
- package/dist/utilities/routeError.d.ts.map +1 -1
- package/dist/utilities/sanitizeFallbackLocale.d.ts.map +1 -1
- package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
- package/dist/utilities/sanitizeJoinParams.d.ts.map +1 -1
- package/dist/utilities/sanitizePopulateParam.d.ts.map +1 -1
- package/dist/utilities/sanitizeSelect.d.ts +1 -2
- package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
- package/dist/utilities/sanitizeSelect.js +19 -25
- package/dist/utilities/sanitizeSelect.js.map +1 -1
- package/dist/utilities/sanitizeSelectParam.d.ts.map +1 -1
- package/dist/utilities/sanitizeSortParams.d.ts.map +1 -1
- package/dist/utilities/setsAreEqual.d.ts.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/stripUnselectedFields.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
- package/dist/utilities/timestamp.d.ts.map +1 -1
- package/dist/utilities/toKebabCase.d.ts.map +1 -1
- package/dist/utilities/transformColumnPreferences.d.ts.map +1 -1
- package/dist/utilities/transformWhereQuery.d.ts.map +1 -1
- package/dist/utilities/traverseFields.d.ts.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
- package/dist/utilities/unflatten.d.ts.map +1 -1
- package/dist/utilities/validateMimeType.d.ts.map +1 -1
- package/dist/utilities/validateTimezones.d.ts.map +1 -1
- package/dist/utilities/validateWhereQuery.d.ts.map +1 -1
- package/dist/utilities/wordBoundariesRegex.d.ts.map +1 -1
- package/dist/utilities/wrapInternalEndpoints.d.ts.map +1 -1
- package/dist/versions/baseFields.d.ts.map +1 -1
- package/dist/versions/baseFields.js +3 -2
- package/dist/versions/baseFields.js.map +1 -1
- package/dist/versions/buildCollectionFields.d.ts.map +1 -1
- package/dist/versions/buildCollectionFields.js +0 -1
- package/dist/versions/buildCollectionFields.js.map +1 -1
- package/dist/versions/buildGlobalFields.d.ts.map +1 -1
- package/dist/versions/buildGlobalFields.js +0 -1
- package/dist/versions/buildGlobalFields.js.map +1 -1
- package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
- package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
- package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
- package/dist/versions/drafts/getQueryDraftsSelect.d.ts.map +1 -1
- package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/migrations/localizeStatus/shared.d.ts.map +1 -1
- package/dist/versions/payloadPackageList.d.ts.map +1 -1
- package/dist/versions/payloadPackageList.js +0 -1
- package/dist/versions/payloadPackageList.js.map +1 -1
- package/dist/versions/saveSnapshot.d.ts.map +1 -1
- package/dist/versions/schedule/job.d.ts.map +1 -1
- package/package.json +20 -20
- package/dist/admin/views/folderList.d.ts +0 -56
- package/dist/admin/views/folderList.d.ts.map +0 -1
- package/dist/admin/views/folderList.js +0 -3
- package/dist/admin/views/folderList.js.map +0 -1
- package/dist/folders/addFolderCollection.d.ts +0 -10
- package/dist/folders/addFolderCollection.d.ts.map +0 -1
- package/dist/folders/addFolderCollection.js +0 -26
- package/dist/folders/addFolderCollection.js.map +0 -1
- package/dist/folders/addFolderFieldToCollection.d.ts +0 -8
- package/dist/folders/addFolderFieldToCollection.d.ts.map +0 -1
- package/dist/folders/addFolderFieldToCollection.js +0 -20
- package/dist/folders/addFolderFieldToCollection.js.map +0 -1
- package/dist/folders/buildFolderField.d.ts +0 -8
- package/dist/folders/buildFolderField.d.ts.map +0 -1
- package/dist/folders/buildFolderField.js +0 -87
- package/dist/folders/buildFolderField.js.map +0 -1
- package/dist/folders/constants.d.ts +0 -3
- package/dist/folders/constants.d.ts.map +0 -1
- package/dist/folders/constants.js +0 -4
- package/dist/folders/constants.js.map +0 -1
- package/dist/folders/createFolderCollection.d.ts +0 -11
- package/dist/folders/createFolderCollection.d.ts.map +0 -1
- package/dist/folders/createFolderCollection.js +0 -115
- package/dist/folders/createFolderCollection.js.map +0 -1
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.d.ts +0 -8
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.d.ts.map +0 -1
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.js +0 -15
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.js.map +0 -1
- package/dist/folders/hooks/dissasociateAfterDelete.d.ts +0 -8
- package/dist/folders/hooks/dissasociateAfterDelete.d.ts.map +0 -1
- package/dist/folders/hooks/dissasociateAfterDelete.js +0 -20
- package/dist/folders/hooks/dissasociateAfterDelete.js.map +0 -1
- package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts +0 -5
- package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts.map +0 -1
- package/dist/folders/hooks/ensureSafeCollectionsChange.js +0 -107
- package/dist/folders/hooks/ensureSafeCollectionsChange.js.map +0 -1
- package/dist/folders/hooks/reparentChildFolder.d.ts +0 -24
- package/dist/folders/hooks/reparentChildFolder.d.ts.map +0 -1
- package/dist/folders/hooks/reparentChildFolder.js +0 -72
- package/dist/folders/hooks/reparentChildFolder.js.map +0 -1
- package/dist/folders/types.d.ts +0 -118
- package/dist/folders/types.d.ts.map +0 -1
- package/dist/folders/types.js +0 -3
- package/dist/folders/types.js.map +0 -1
- package/dist/folders/utils/buildFolderWhereConstraints.d.ts +0 -13
- package/dist/folders/utils/buildFolderWhereConstraints.d.ts.map +0 -1
- package/dist/folders/utils/buildFolderWhereConstraints.js +0 -45
- package/dist/folders/utils/buildFolderWhereConstraints.js.map +0 -1
- package/dist/folders/utils/formatFolderOrDocumentItem.d.ts +0 -12
- package/dist/folders/utils/formatFolderOrDocumentItem.d.ts.map +0 -1
- package/dist/folders/utils/formatFolderOrDocumentItem.js +0 -30
- package/dist/folders/utils/formatFolderOrDocumentItem.js.map +0 -1
- package/dist/folders/utils/getFolderBreadcrumbs.d.ts +0 -14
- package/dist/folders/utils/getFolderBreadcrumbs.d.ts.map +0 -1
- package/dist/folders/utils/getFolderBreadcrumbs.js +0 -45
- package/dist/folders/utils/getFolderBreadcrumbs.js.map +0 -1
- package/dist/folders/utils/getFolderData.d.ts +0 -33
- package/dist/folders/utils/getFolderData.d.ts.map +0 -1
- package/dist/folders/utils/getFolderData.js +0 -88
- package/dist/folders/utils/getFolderData.js.map +0 -1
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts +0 -24
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts.map +0 -1
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js +0 -66
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js.map +0 -1
- package/dist/folders/utils/getOrphanedDocs.d.ts +0 -15
- package/dist/folders/utils/getOrphanedDocs.d.ts.map +0 -1
- package/dist/folders/utils/getOrphanedDocs.js +0 -40
- package/dist/folders/utils/getOrphanedDocs.js.map +0 -1
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { defaultAccess } from '../auth/defaultAccess.js';
|
|
2
|
-
import { buildFolderField } from './buildFolderField.js';
|
|
3
|
-
import { deleteSubfoldersBeforeDelete } from './hooks/deleteSubfoldersAfterDelete.js';
|
|
4
|
-
import { dissasociateAfterDelete } from './hooks/dissasociateAfterDelete.js';
|
|
5
|
-
import { ensureSafeCollectionsChange } from './hooks/ensureSafeCollectionsChange.js';
|
|
6
|
-
import { reparentChildFolder } from './hooks/reparentChildFolder.js';
|
|
7
|
-
export const createFolderCollection = ({ slug, collectionSpecific, debug, folderEnabledCollections, folderFieldName })=>{
|
|
8
|
-
const { collectionOptions, collectionSlugs } = folderEnabledCollections.reduce((acc, collection)=>{
|
|
9
|
-
acc.collectionSlugs.push(collection.slug);
|
|
10
|
-
acc.collectionOptions.push({
|
|
11
|
-
label: collection.labels?.plural || collection.slug,
|
|
12
|
-
value: collection.slug
|
|
13
|
-
});
|
|
14
|
-
return acc;
|
|
15
|
-
}, {
|
|
16
|
-
collectionOptions: [],
|
|
17
|
-
collectionSlugs: []
|
|
18
|
-
});
|
|
19
|
-
return {
|
|
20
|
-
slug,
|
|
21
|
-
access: {
|
|
22
|
-
create: defaultAccess,
|
|
23
|
-
delete: defaultAccess,
|
|
24
|
-
read: defaultAccess,
|
|
25
|
-
readVersions: defaultAccess,
|
|
26
|
-
update: defaultAccess
|
|
27
|
-
},
|
|
28
|
-
admin: {
|
|
29
|
-
hidden: !debug,
|
|
30
|
-
useAsTitle: 'name'
|
|
31
|
-
},
|
|
32
|
-
fields: [
|
|
33
|
-
{
|
|
34
|
-
name: 'name',
|
|
35
|
-
type: 'text',
|
|
36
|
-
index: true,
|
|
37
|
-
required: true
|
|
38
|
-
},
|
|
39
|
-
buildFolderField({
|
|
40
|
-
collectionSpecific,
|
|
41
|
-
folderFieldName,
|
|
42
|
-
folderSlug: slug,
|
|
43
|
-
overrides: {
|
|
44
|
-
admin: {
|
|
45
|
-
hidden: !debug
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}),
|
|
49
|
-
{
|
|
50
|
-
name: 'documentsAndFolders',
|
|
51
|
-
type: 'join',
|
|
52
|
-
admin: {
|
|
53
|
-
hidden: !debug
|
|
54
|
-
},
|
|
55
|
-
collection: [
|
|
56
|
-
slug,
|
|
57
|
-
...collectionSlugs
|
|
58
|
-
],
|
|
59
|
-
hasMany: true,
|
|
60
|
-
on: folderFieldName
|
|
61
|
-
},
|
|
62
|
-
...collectionSpecific ? [
|
|
63
|
-
{
|
|
64
|
-
name: 'folderType',
|
|
65
|
-
type: 'select',
|
|
66
|
-
admin: {
|
|
67
|
-
components: {
|
|
68
|
-
Field: {
|
|
69
|
-
path: '@payloadcms/next/client#FolderTypeField'
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
position: 'sidebar'
|
|
73
|
-
},
|
|
74
|
-
hasMany: true,
|
|
75
|
-
options: collectionOptions
|
|
76
|
-
}
|
|
77
|
-
] : []
|
|
78
|
-
],
|
|
79
|
-
hooks: {
|
|
80
|
-
afterChange: [
|
|
81
|
-
reparentChildFolder({
|
|
82
|
-
folderFieldName
|
|
83
|
-
})
|
|
84
|
-
],
|
|
85
|
-
afterDelete: [
|
|
86
|
-
dissasociateAfterDelete({
|
|
87
|
-
collectionSlugs,
|
|
88
|
-
folderFieldName
|
|
89
|
-
})
|
|
90
|
-
],
|
|
91
|
-
beforeDelete: [
|
|
92
|
-
deleteSubfoldersBeforeDelete({
|
|
93
|
-
folderFieldName,
|
|
94
|
-
folderSlug: slug
|
|
95
|
-
})
|
|
96
|
-
],
|
|
97
|
-
beforeValidate: [
|
|
98
|
-
...collectionSpecific ? [
|
|
99
|
-
ensureSafeCollectionsChange({
|
|
100
|
-
foldersSlug: slug
|
|
101
|
-
})
|
|
102
|
-
] : []
|
|
103
|
-
]
|
|
104
|
-
},
|
|
105
|
-
labels: {
|
|
106
|
-
plural: 'Folders',
|
|
107
|
-
singular: 'Folder'
|
|
108
|
-
},
|
|
109
|
-
typescript: {
|
|
110
|
-
interface: 'FolderInterface'
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
//# sourceMappingURL=createFolderCollection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/folders/createFolderCollection.ts"],"sourcesContent":["import type { CollectionConfig } from '../collections/config/types.js'\nimport type { Field, Option, SelectField } from '../fields/config/types.js'\n\nimport { defaultAccess } from '../auth/defaultAccess.js'\nimport { buildFolderField } from './buildFolderField.js'\nimport { deleteSubfoldersBeforeDelete } from './hooks/deleteSubfoldersAfterDelete.js'\nimport { dissasociateAfterDelete } from './hooks/dissasociateAfterDelete.js'\nimport { ensureSafeCollectionsChange } from './hooks/ensureSafeCollectionsChange.js'\nimport { reparentChildFolder } from './hooks/reparentChildFolder.js'\n\ntype CreateFolderCollectionArgs = {\n collectionSpecific: boolean\n debug?: boolean\n folderEnabledCollections: CollectionConfig[]\n folderFieldName: string\n slug: string\n}\nexport const createFolderCollection = ({\n slug,\n collectionSpecific,\n debug,\n folderEnabledCollections,\n folderFieldName,\n}: CreateFolderCollectionArgs): CollectionConfig => {\n const { collectionOptions, collectionSlugs } = folderEnabledCollections.reduce(\n (acc, collection: CollectionConfig) => {\n acc.collectionSlugs.push(collection.slug)\n acc.collectionOptions.push({\n label: collection.labels?.plural || collection.slug,\n value: collection.slug,\n })\n\n return acc\n },\n {\n collectionOptions: [] as Option[],\n collectionSlugs: [] as string[],\n },\n )\n\n return {\n slug,\n access: {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n readVersions: defaultAccess,\n update: defaultAccess,\n },\n admin: {\n hidden: !debug,\n useAsTitle: 'name',\n },\n fields: [\n {\n name: 'name',\n type: 'text',\n index: true,\n required: true,\n },\n buildFolderField({\n collectionSpecific,\n folderFieldName,\n folderSlug: slug,\n overrides: {\n admin: {\n hidden: !debug,\n },\n },\n }),\n {\n name: 'documentsAndFolders',\n type: 'join',\n admin: {\n hidden: !debug,\n },\n collection: [slug, ...collectionSlugs],\n hasMany: true,\n on: folderFieldName,\n },\n ...(collectionSpecific\n ? [\n {\n name: 'folderType',\n type: 'select',\n admin: {\n components: {\n Field: {\n path: '@payloadcms/next/client#FolderTypeField',\n },\n },\n position: 'sidebar',\n },\n hasMany: true,\n options: collectionOptions,\n } satisfies SelectField,\n ]\n : ([] as Field[])),\n ],\n hooks: {\n afterChange: [\n reparentChildFolder({\n folderFieldName,\n }),\n ],\n afterDelete: [\n dissasociateAfterDelete({\n collectionSlugs,\n folderFieldName,\n }),\n ],\n beforeDelete: [deleteSubfoldersBeforeDelete({ folderFieldName, folderSlug: slug })],\n beforeValidate: [\n ...(collectionSpecific ? [ensureSafeCollectionsChange({ foldersSlug: slug })] : []),\n ],\n },\n labels: {\n plural: 'Folders',\n singular: 'Folder',\n },\n typescript: {\n interface: 'FolderInterface',\n },\n }\n}\n"],"names":["defaultAccess","buildFolderField","deleteSubfoldersBeforeDelete","dissasociateAfterDelete","ensureSafeCollectionsChange","reparentChildFolder","createFolderCollection","slug","collectionSpecific","debug","folderEnabledCollections","folderFieldName","collectionOptions","collectionSlugs","reduce","acc","collection","push","label","labels","plural","value","access","create","delete","read","readVersions","update","admin","hidden","useAsTitle","fields","name","type","index","required","folderSlug","overrides","hasMany","on","components","Field","path","position","options","hooks","afterChange","afterDelete","beforeDelete","beforeValidate","foldersSlug","singular","typescript","interface"],"mappings":"AAGA,SAASA,aAAa,QAAQ,2BAA0B;AACxD,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,4BAA4B,QAAQ,yCAAwC;AACrF,SAASC,uBAAuB,QAAQ,qCAAoC;AAC5E,SAASC,2BAA2B,QAAQ,yCAAwC;AACpF,SAASC,mBAAmB,QAAQ,iCAAgC;AASpE,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,IAAI,EACJC,kBAAkB,EAClBC,KAAK,EACLC,wBAAwB,EACxBC,eAAe,EACY;IAC3B,MAAM,EAAEC,iBAAiB,EAAEC,eAAe,EAAE,GAAGH,yBAAyBI,MAAM,CAC5E,CAACC,KAAKC;QACJD,IAAIF,eAAe,CAACI,IAAI,CAACD,WAAWT,IAAI;QACxCQ,IAAIH,iBAAiB,CAACK,IAAI,CAAC;YACzBC,OAAOF,WAAWG,MAAM,EAAEC,UAAUJ,WAAWT,IAAI;YACnDc,OAAOL,WAAWT,IAAI;QACxB;QAEA,OAAOQ;IACT,GACA;QACEH,mBAAmB,EAAE;QACrBC,iBAAiB,EAAE;IACrB;IAGF,OAAO;QACLN;QACAe,QAAQ;YACNC,QAAQvB;YACRwB,QAAQxB;YACRyB,MAAMzB;YACN0B,cAAc1B;YACd2B,QAAQ3B;QACV;QACA4B,OAAO;YACLC,QAAQ,CAACpB;YACTqB,YAAY;QACd;QACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,MAAM;gBACNC,OAAO;gBACPC,UAAU;YACZ;YACAlC,iBAAiB;gBACfO;gBACAG;gBACAyB,YAAY7B;gBACZ8B,WAAW;oBACTT,OAAO;wBACLC,QAAQ,CAACpB;oBACX;gBACF;YACF;YACA;gBACEuB,MAAM;gBACNC,MAAM;gBACNL,OAAO;oBACLC,QAAQ,CAACpB;gBACX;gBACAO,YAAY;oBAACT;uBAASM;iBAAgB;gBACtCyB,SAAS;gBACTC,IAAI5B;YACN;eACIH,qBACA;gBACE;oBACEwB,MAAM;oBACNC,MAAM;oBACNL,OAAO;wBACLY,YAAY;4BACVC,OAAO;gCACLC,MAAM;4BACR;wBACF;wBACAC,UAAU;oBACZ;oBACAL,SAAS;oBACTM,SAAShC;gBACX;aACD,GACA,EAAE;SACR;QACDiC,OAAO;YACLC,aAAa;gBACXzC,oBAAoB;oBAClBM;gBACF;aACD;YACDoC,aAAa;gBACX5C,wBAAwB;oBACtBU;oBACAF;gBACF;aACD;YACDqC,cAAc;gBAAC9C,6BAA6B;oBAAES;oBAAiByB,YAAY7B;gBAAK;aAAG;YACnF0C,gBAAgB;mBACVzC,qBAAqB;oBAACJ,4BAA4B;wBAAE8C,aAAa3C;oBAAK;iBAAG,GAAG,EAAE;aACnF;QACH;QACAY,QAAQ;YACNC,QAAQ;YACR+B,UAAU;QACZ;QACAC,YAAY;YACVC,WAAW;QACb;IACF;AACF,EAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { CollectionBeforeDeleteHook } from '../../index.js';
|
|
2
|
-
type Args = {
|
|
3
|
-
folderFieldName: string;
|
|
4
|
-
folderSlug: string;
|
|
5
|
-
};
|
|
6
|
-
export declare const deleteSubfoldersBeforeDelete: ({ folderFieldName, folderSlug, }: Args) => CollectionBeforeDeleteHook;
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=deleteSubfoldersAfterDelete.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deleteSubfoldersAfterDelete.d.ts","sourceRoot":"","sources":["../../../src/folders/hooks/deleteSubfoldersAfterDelete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAEhE,KAAK,IAAI,GAAG;IACV,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,eAAO,MAAM,4BAA4B,qCAGtC,IAAI,KAAG,0BAYT,CAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const deleteSubfoldersBeforeDelete = ({ folderFieldName, folderSlug })=>{
|
|
2
|
-
return async ({ id, req })=>{
|
|
3
|
-
await req.payload.delete({
|
|
4
|
-
collection: folderSlug,
|
|
5
|
-
req,
|
|
6
|
-
where: {
|
|
7
|
-
[folderFieldName]: {
|
|
8
|
-
equals: id
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=deleteSubfoldersAfterDelete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/folders/hooks/deleteSubfoldersAfterDelete.ts"],"sourcesContent":["import type { CollectionBeforeDeleteHook } from '../../index.js'\n\ntype Args = {\n folderFieldName: string\n folderSlug: string\n}\nexport const deleteSubfoldersBeforeDelete = ({\n folderFieldName,\n folderSlug,\n}: Args): CollectionBeforeDeleteHook => {\n return async ({ id, req }) => {\n await req.payload.delete({\n collection: folderSlug,\n req,\n where: {\n [folderFieldName]: {\n equals: id,\n },\n },\n })\n }\n}\n"],"names":["deleteSubfoldersBeforeDelete","folderFieldName","folderSlug","id","req","payload","delete","collection","where","equals"],"mappings":"AAMA,OAAO,MAAMA,+BAA+B,CAAC,EAC3CC,eAAe,EACfC,UAAU,EACL;IACL,OAAO,OAAO,EAAEC,EAAE,EAAEC,GAAG,EAAE;QACvB,MAAMA,IAAIC,OAAO,CAACC,MAAM,CAAC;YACvBC,YAAYL;YACZE;YACAI,OAAO;gBACL,CAACP,gBAAgB,EAAE;oBACjBQ,QAAQN;gBACV;YACF;QACF;IACF;AACF,EAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { CollectionAfterDeleteHook } from '../../index.js';
|
|
2
|
-
type Args = {
|
|
3
|
-
collectionSlugs: string[];
|
|
4
|
-
folderFieldName: string;
|
|
5
|
-
};
|
|
6
|
-
export declare const dissasociateAfterDelete: ({ collectionSlugs, folderFieldName, }: Args) => CollectionAfterDeleteHook;
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=dissasociateAfterDelete.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dissasociateAfterDelete.d.ts","sourceRoot":"","sources":["../../../src/folders/hooks/dissasociateAfterDelete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,KAAK,IAAI,GAAG;IACV,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AACD,eAAO,MAAM,uBAAuB,0CAGjC,IAAI,KAAG,yBAiBT,CAAA"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export const dissasociateAfterDelete = ({ collectionSlugs, folderFieldName })=>{
|
|
2
|
-
return async ({ id, req })=>{
|
|
3
|
-
for (const collectionSlug of collectionSlugs){
|
|
4
|
-
await req.payload.update({
|
|
5
|
-
collection: collectionSlug,
|
|
6
|
-
data: {
|
|
7
|
-
[folderFieldName]: null
|
|
8
|
-
},
|
|
9
|
-
req,
|
|
10
|
-
where: {
|
|
11
|
-
[folderFieldName]: {
|
|
12
|
-
equals: id
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=dissasociateAfterDelete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/folders/hooks/dissasociateAfterDelete.ts"],"sourcesContent":["import type { CollectionAfterDeleteHook } from '../../index.js'\n\ntype Args = {\n collectionSlugs: string[]\n folderFieldName: string\n}\nexport const dissasociateAfterDelete = ({\n collectionSlugs,\n folderFieldName,\n}: Args): CollectionAfterDeleteHook => {\n return async ({ id, req }) => {\n for (const collectionSlug of collectionSlugs) {\n await req.payload.update({\n collection: collectionSlug,\n data: {\n [folderFieldName]: null,\n },\n req,\n where: {\n [folderFieldName]: {\n equals: id,\n },\n },\n })\n }\n }\n}\n"],"names":["dissasociateAfterDelete","collectionSlugs","folderFieldName","id","req","collectionSlug","payload","update","collection","data","where","equals"],"mappings":"AAMA,OAAO,MAAMA,0BAA0B,CAAC,EACtCC,eAAe,EACfC,eAAe,EACV;IACL,OAAO,OAAO,EAAEC,EAAE,EAAEC,GAAG,EAAE;QACvB,KAAK,MAAMC,kBAAkBJ,gBAAiB;YAC5C,MAAMG,IAAIE,OAAO,CAACC,MAAM,CAAC;gBACvBC,YAAYH;gBACZI,MAAM;oBACJ,CAACP,gBAAgB,EAAE;gBACrB;gBACAE;gBACAM,OAAO;oBACL,CAACR,gBAAgB,EAAE;wBACjBS,QAAQR;oBACV;gBACF;YACF;QACF;IACF;AACF,EAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type CollectionBeforeValidateHook, type CollectionSlug } from '../../index.js';
|
|
2
|
-
export declare const ensureSafeCollectionsChange: ({ foldersSlug }: {
|
|
3
|
-
foldersSlug: CollectionSlug;
|
|
4
|
-
}) => CollectionBeforeValidateHook;
|
|
5
|
-
//# sourceMappingURL=ensureSafeCollectionsChange.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureSafeCollectionsChange.d.ts","sourceRoot":"","sources":["../../../src/folders/hooks/ensureSafeCollectionsChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,4BAA4B,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIjG,eAAO,MAAM,2BAA2B,oBACpB;IAAE,WAAW,EAAE,cAAc,CAAA;CAAE,KAAG,4BA0InD,CAAA"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { APIError } from '../../index.js';
|
|
2
|
-
import { extractID } from '../../utilities/extractID.js';
|
|
3
|
-
import { getTranslatedLabel } from '../../utilities/getTranslatedLabel.js';
|
|
4
|
-
export const ensureSafeCollectionsChange = ({ foldersSlug })=>async ({ data, originalDoc, req })=>{
|
|
5
|
-
const currentFolderID = extractID(originalDoc || {});
|
|
6
|
-
const parentFolderID = extractID(data?.folder || originalDoc?.folder || {});
|
|
7
|
-
if (Array.isArray(data?.folderType) && data.folderType.length > 0) {
|
|
8
|
-
const folderType = data.folderType;
|
|
9
|
-
const currentlyAssignedCollections = Array.isArray(originalDoc?.folderType) && originalDoc.folderType.length > 0 ? originalDoc.folderType : undefined;
|
|
10
|
-
/**
|
|
11
|
-
* Check if the assigned collections have changed.
|
|
12
|
-
* example:
|
|
13
|
-
* - originalAssignedCollections: ['posts', 'pages']
|
|
14
|
-
* - folderType: ['posts']
|
|
15
|
-
*
|
|
16
|
-
* The user is narrowing the types of documents that can be associated with this folder.
|
|
17
|
-
* If the user is only expanding the types of documents that can be associated with this folder,
|
|
18
|
-
* we do not need to do anything.
|
|
19
|
-
*/ const newCollections = currentlyAssignedCollections ? currentlyAssignedCollections.filter((c)=>!folderType.includes(c)) : folderType;
|
|
20
|
-
if (newCollections && newCollections.length > 0) {
|
|
21
|
-
let hasDependentDocuments = false;
|
|
22
|
-
if (typeof currentFolderID === 'string' || typeof currentFolderID === 'number') {
|
|
23
|
-
const childDocumentsResult = await req.payload.findByID({
|
|
24
|
-
id: currentFolderID,
|
|
25
|
-
collection: foldersSlug,
|
|
26
|
-
joins: {
|
|
27
|
-
documentsAndFolders: {
|
|
28
|
-
limit: 100_000_000,
|
|
29
|
-
where: {
|
|
30
|
-
or: [
|
|
31
|
-
{
|
|
32
|
-
relationTo: {
|
|
33
|
-
in: newCollections
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
]
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
overrideAccess: true,
|
|
41
|
-
req
|
|
42
|
-
});
|
|
43
|
-
hasDependentDocuments = childDocumentsResult.documentsAndFolders.docs.length > 0;
|
|
44
|
-
}
|
|
45
|
-
// matches folders that are directly related to the removed collections
|
|
46
|
-
let hasDependentFolders = false;
|
|
47
|
-
if (!hasDependentDocuments && (typeof currentFolderID === 'string' || typeof currentFolderID === 'number')) {
|
|
48
|
-
const childFoldersResult = await req.payload.find({
|
|
49
|
-
collection: foldersSlug,
|
|
50
|
-
limit: 1,
|
|
51
|
-
req,
|
|
52
|
-
where: {
|
|
53
|
-
and: [
|
|
54
|
-
{
|
|
55
|
-
folderType: {
|
|
56
|
-
in: newCollections
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
folder: {
|
|
61
|
-
equals: currentFolderID
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
hasDependentFolders = childFoldersResult.totalDocs > 0;
|
|
68
|
-
}
|
|
69
|
-
if (hasDependentDocuments || hasDependentFolders) {
|
|
70
|
-
const translatedLabels = newCollections.map((collectionSlug)=>{
|
|
71
|
-
if (req.payload.collections[collectionSlug]?.config.labels.singular) {
|
|
72
|
-
return getTranslatedLabel(req.payload.collections[collectionSlug]?.config.labels.plural, req.i18n);
|
|
73
|
-
}
|
|
74
|
-
return collectionSlug;
|
|
75
|
-
});
|
|
76
|
-
throw new APIError(`The folder "${data.name || originalDoc.name}" contains ${hasDependentDocuments ? 'documents' : 'folders'} that still belong to the following collections: ${translatedLabels.join(', ')}`, 400);
|
|
77
|
-
}
|
|
78
|
-
return data;
|
|
79
|
-
}
|
|
80
|
-
} else if ((data?.folderType === null || Array.isArray(data?.folderType) && data?.folderType.length === 0) && parentFolderID) {
|
|
81
|
-
// attempting to set the folderType to catch-all, so we need to ensure that the parent allows this
|
|
82
|
-
let parentFolder;
|
|
83
|
-
if (typeof parentFolderID === 'string' || typeof parentFolderID === 'number') {
|
|
84
|
-
try {
|
|
85
|
-
parentFolder = await req.payload.findByID({
|
|
86
|
-
id: parentFolderID,
|
|
87
|
-
collection: foldersSlug,
|
|
88
|
-
overrideAccess: true,
|
|
89
|
-
req,
|
|
90
|
-
select: {
|
|
91
|
-
name: true,
|
|
92
|
-
folderType: true
|
|
93
|
-
},
|
|
94
|
-
user: req.user
|
|
95
|
-
});
|
|
96
|
-
} catch (_) {
|
|
97
|
-
// parent folder does not exist
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (parentFolder && parentFolder?.folderType && Array.isArray(parentFolder.folderType) && parentFolder.folderType.length > 0) {
|
|
101
|
-
throw new APIError(`The folder "${data?.name || originalDoc.name}" must have folder-type set since its parent folder ${parentFolder?.name ? `"${parentFolder?.name}" ` : ''}has a folder-type set.`, 400);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return data;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
//# sourceMappingURL=ensureSafeCollectionsChange.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/folders/hooks/ensureSafeCollectionsChange.ts"],"sourcesContent":["import { APIError, type CollectionBeforeValidateHook, type CollectionSlug } from '../../index.js'\nimport { extractID } from '../../utilities/extractID.js'\nimport { getTranslatedLabel } from '../../utilities/getTranslatedLabel.js'\n\nexport const ensureSafeCollectionsChange =\n ({ foldersSlug }: { foldersSlug: CollectionSlug }): CollectionBeforeValidateHook =>\n async ({ data, originalDoc, req }) => {\n const currentFolderID = extractID(originalDoc || {})\n const parentFolderID = extractID(data?.folder || originalDoc?.folder || {})\n if (Array.isArray(data?.folderType) && data.folderType.length > 0) {\n const folderType = data.folderType as string[]\n const currentlyAssignedCollections: string[] | undefined =\n Array.isArray(originalDoc?.folderType) && originalDoc.folderType.length > 0\n ? originalDoc.folderType\n : undefined\n /**\n * Check if the assigned collections have changed.\n * example:\n * - originalAssignedCollections: ['posts', 'pages']\n * - folderType: ['posts']\n *\n * The user is narrowing the types of documents that can be associated with this folder.\n * If the user is only expanding the types of documents that can be associated with this folder,\n * we do not need to do anything.\n */\n const newCollections = currentlyAssignedCollections\n ? // user is narrowing the current scope of the folder\n currentlyAssignedCollections.filter((c) => !folderType.includes(c))\n : // user is adding a scope to the folder\n folderType\n\n if (newCollections && newCollections.length > 0) {\n let hasDependentDocuments = false\n if (typeof currentFolderID === 'string' || typeof currentFolderID === 'number') {\n const childDocumentsResult = await req.payload.findByID({\n id: currentFolderID,\n collection: foldersSlug,\n joins: {\n documentsAndFolders: {\n limit: 100_000_000,\n where: {\n or: [\n {\n relationTo: {\n in: newCollections,\n },\n },\n ],\n },\n },\n },\n overrideAccess: true,\n req,\n })\n\n hasDependentDocuments = childDocumentsResult.documentsAndFolders.docs.length > 0\n }\n\n // matches folders that are directly related to the removed collections\n let hasDependentFolders = false\n if (\n !hasDependentDocuments &&\n (typeof currentFolderID === 'string' || typeof currentFolderID === 'number')\n ) {\n const childFoldersResult = await req.payload.find({\n collection: foldersSlug,\n limit: 1,\n req,\n where: {\n and: [\n {\n folderType: {\n in: newCollections,\n },\n },\n {\n folder: {\n equals: currentFolderID,\n },\n },\n ],\n },\n })\n hasDependentFolders = childFoldersResult.totalDocs > 0\n }\n\n if (hasDependentDocuments || hasDependentFolders) {\n const translatedLabels = newCollections.map((collectionSlug) => {\n if (req.payload.collections[collectionSlug]?.config.labels.singular) {\n return getTranslatedLabel(\n req.payload.collections[collectionSlug]?.config.labels.plural,\n req.i18n,\n )\n }\n return collectionSlug\n })\n\n throw new APIError(\n `The folder \"${data.name || originalDoc.name}\" contains ${hasDependentDocuments ? 'documents' : 'folders'} that still belong to the following collections: ${translatedLabels.join(', ')}`,\n 400,\n )\n }\n return data\n }\n } else if (\n (data?.folderType === null ||\n (Array.isArray(data?.folderType) && data?.folderType.length === 0)) &&\n parentFolderID\n ) {\n // attempting to set the folderType to catch-all, so we need to ensure that the parent allows this\n let parentFolder\n if (typeof parentFolderID === 'string' || typeof parentFolderID === 'number') {\n try {\n parentFolder = await req.payload.findByID({\n id: parentFolderID,\n collection: foldersSlug,\n overrideAccess: true,\n req,\n select: {\n name: true,\n folderType: true,\n },\n user: req.user,\n })\n } catch (_) {\n // parent folder does not exist\n }\n }\n\n if (\n parentFolder &&\n parentFolder?.folderType &&\n Array.isArray(parentFolder.folderType) &&\n parentFolder.folderType.length > 0\n ) {\n throw new APIError(\n `The folder \"${data?.name || originalDoc.name}\" must have folder-type set since its parent folder ${parentFolder?.name ? `\"${parentFolder?.name}\" ` : ''}has a folder-type set.`,\n 400,\n )\n }\n }\n\n return data\n }\n"],"names":["APIError","extractID","getTranslatedLabel","ensureSafeCollectionsChange","foldersSlug","data","originalDoc","req","currentFolderID","parentFolderID","folder","Array","isArray","folderType","length","currentlyAssignedCollections","undefined","newCollections","filter","c","includes","hasDependentDocuments","childDocumentsResult","payload","findByID","id","collection","joins","documentsAndFolders","limit","where","or","relationTo","in","overrideAccess","docs","hasDependentFolders","childFoldersResult","find","and","equals","totalDocs","translatedLabels","map","collectionSlug","collections","config","labels","singular","plural","i18n","name","join","parentFolder","select","user","_"],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { CollectionAfterChangeHook } from '../../index.js';
|
|
2
|
-
/**
|
|
3
|
-
* If a parent is moved into a child folder, we need to re-parent the child
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
*
|
|
7
|
-
* ```ts
|
|
8
|
-
→ F1
|
|
9
|
-
→ F2
|
|
10
|
-
→ F2A
|
|
11
|
-
→ F3
|
|
12
|
-
|
|
13
|
-
Moving F1 → F2A becomes:
|
|
14
|
-
|
|
15
|
-
→ F2A
|
|
16
|
-
→ F1
|
|
17
|
-
→ F2
|
|
18
|
-
→ F3
|
|
19
|
-
```
|
|
20
|
-
*/
|
|
21
|
-
export declare const reparentChildFolder: ({ folderFieldName, }: {
|
|
22
|
-
folderFieldName: string;
|
|
23
|
-
}) => CollectionAfterChangeHook;
|
|
24
|
-
//# sourceMappingURL=reparentChildFolder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reparentChildFolder.d.ts","sourceRoot":"","sources":["../../../src/folders/hooks/reparentChildFolder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAW,MAAM,gBAAgB,CAAA;AAmDxE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,yBAE7B;IACD,eAAe,EAAE,MAAM,CAAA;CACxB,KAAG,yBAkCH,CAAA"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { extractID } from '../../utilities/extractID.js';
|
|
2
|
-
/**
|
|
3
|
-
* Determines if a child folder belongs to a parent folder by
|
|
4
|
-
* recursively checking upwards through the folder hierarchy.
|
|
5
|
-
*/ async function isChildOfFolder({ folderCollectionSlug, folderFieldName, folderID, parentIDToFind, payload }) {
|
|
6
|
-
const parentFolder = await payload.findByID({
|
|
7
|
-
id: folderID,
|
|
8
|
-
collection: folderCollectionSlug
|
|
9
|
-
});
|
|
10
|
-
const parentFolderID = parentFolder[folderFieldName] ? extractID(parentFolder[folderFieldName]) : undefined;
|
|
11
|
-
if (!parentFolderID) {
|
|
12
|
-
// made it to the root
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
if (parentFolderID === parentIDToFind) {
|
|
16
|
-
// found match, would be cyclic
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
return isChildOfFolder({
|
|
20
|
-
folderCollectionSlug,
|
|
21
|
-
folderFieldName,
|
|
22
|
-
folderID: parentFolderID,
|
|
23
|
-
parentIDToFind,
|
|
24
|
-
payload
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* If a parent is moved into a child folder, we need to re-parent the child
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
*
|
|
32
|
-
* ```ts
|
|
33
|
-
→ F1
|
|
34
|
-
→ F2
|
|
35
|
-
→ F2A
|
|
36
|
-
→ F3
|
|
37
|
-
|
|
38
|
-
Moving F1 → F2A becomes:
|
|
39
|
-
|
|
40
|
-
→ F2A
|
|
41
|
-
→ F1
|
|
42
|
-
→ F2
|
|
43
|
-
→ F3
|
|
44
|
-
```
|
|
45
|
-
*/ export const reparentChildFolder = ({ folderFieldName })=>{
|
|
46
|
-
return async ({ doc, previousDoc, req })=>{
|
|
47
|
-
if (previousDoc[folderFieldName] !== doc[folderFieldName] && doc[folderFieldName] && req.payload.config.folders) {
|
|
48
|
-
const newParentFolderID = extractID(doc[folderFieldName]);
|
|
49
|
-
const isMovingToChild = newParentFolderID ? await isChildOfFolder({
|
|
50
|
-
folderCollectionSlug: req.payload.config.folders.slug,
|
|
51
|
-
folderFieldName,
|
|
52
|
-
folderID: newParentFolderID,
|
|
53
|
-
parentIDToFind: doc.id,
|
|
54
|
-
payload: req.payload
|
|
55
|
-
}) : false;
|
|
56
|
-
if (isMovingToChild) {
|
|
57
|
-
// if the folder was moved into a child folder, the child folder needs
|
|
58
|
-
// to be re-parented with the parent of the folder that was moved
|
|
59
|
-
await req.payload.update({
|
|
60
|
-
id: newParentFolderID,
|
|
61
|
-
collection: req.payload.config.folders.slug,
|
|
62
|
-
data: {
|
|
63
|
-
[folderFieldName]: previousDoc[folderFieldName] ? extractID(previousDoc[folderFieldName]) : null
|
|
64
|
-
},
|
|
65
|
-
req
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
//# sourceMappingURL=reparentChildFolder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/folders/hooks/reparentChildFolder.ts"],"sourcesContent":["import type { CollectionAfterChangeHook, Payload } from '../../index.js'\n\nimport { extractID } from '../../utilities/extractID.js'\n\ntype Args = {\n folderCollectionSlug: string\n folderFieldName: string\n folderID: number | string\n parentIDToFind: number | string\n payload: Payload\n}\n\n/**\n * Determines if a child folder belongs to a parent folder by\n * recursively checking upwards through the folder hierarchy.\n */\nasync function isChildOfFolder({\n folderCollectionSlug,\n folderFieldName,\n folderID,\n parentIDToFind,\n payload,\n}: Args): Promise<boolean> {\n const parentFolder = await payload.findByID({\n id: folderID,\n collection: folderCollectionSlug,\n })\n\n const parentFolderID = parentFolder[folderFieldName]\n ? extractID(parentFolder[folderFieldName])\n : undefined\n\n if (!parentFolderID) {\n // made it to the root\n return false\n }\n\n if (parentFolderID === parentIDToFind) {\n // found match, would be cyclic\n return true\n }\n\n return isChildOfFolder({\n folderCollectionSlug,\n folderFieldName,\n folderID: parentFolderID,\n parentIDToFind,\n payload,\n })\n}\n\n/**\n * If a parent is moved into a child folder, we need to re-parent the child\n * \n * @example\n * \n * ```ts\n → F1\n → F2\n → F2A\n → F3\n\n Moving F1 → F2A becomes:\n\n → F2A\n → F1\n → F2\n → F3\n ```\n */\nexport const reparentChildFolder = ({\n folderFieldName,\n}: {\n folderFieldName: string\n}): CollectionAfterChangeHook => {\n return async ({ doc, previousDoc, req }) => {\n if (\n previousDoc[folderFieldName] !== doc[folderFieldName] &&\n doc[folderFieldName] &&\n req.payload.config.folders\n ) {\n const newParentFolderID = extractID(doc[folderFieldName])\n const isMovingToChild = newParentFolderID\n ? await isChildOfFolder({\n folderCollectionSlug: req.payload.config.folders.slug,\n folderFieldName,\n folderID: newParentFolderID,\n parentIDToFind: doc.id,\n payload: req.payload,\n })\n : false\n\n if (isMovingToChild) {\n // if the folder was moved into a child folder, the child folder needs\n // to be re-parented with the parent of the folder that was moved\n await req.payload.update({\n id: newParentFolderID,\n collection: req.payload.config.folders.slug,\n data: {\n [folderFieldName]: previousDoc[folderFieldName]\n ? extractID(previousDoc[folderFieldName])\n : null,\n },\n req,\n })\n }\n }\n }\n}\n"],"names":["extractID","isChildOfFolder","folderCollectionSlug","folderFieldName","folderID","parentIDToFind","payload","parentFolder","findByID","id","collection","parentFolderID","undefined","reparentChildFolder","doc","previousDoc","req","config","folders","newParentFolderID","isMovingToChild","slug","update","data"],"mappings":"AAEA,SAASA,SAAS,QAAQ,+BAA8B;AAUxD;;;CAGC,GACD,eAAeC,gBAAgB,EAC7BC,oBAAoB,EACpBC,eAAe,EACfC,QAAQ,EACRC,cAAc,EACdC,OAAO,EACF;IACL,MAAMC,eAAe,MAAMD,QAAQE,QAAQ,CAAC;QAC1CC,IAAIL;QACJM,YAAYR;IACd;IAEA,MAAMS,iBAAiBJ,YAAY,CAACJ,gBAAgB,GAChDH,UAAUO,YAAY,CAACJ,gBAAgB,IACvCS;IAEJ,IAAI,CAACD,gBAAgB;QACnB,sBAAsB;QACtB,OAAO;IACT;IAEA,IAAIA,mBAAmBN,gBAAgB;QACrC,+BAA+B;QAC/B,OAAO;IACT;IAEA,OAAOJ,gBAAgB;QACrBC;QACAC;QACAC,UAAUO;QACVN;QACAC;IACF;AACF;AAEA;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,MAAMO,sBAAsB,CAAC,EAClCV,eAAe,EAGhB;IACC,OAAO,OAAO,EAAEW,GAAG,EAAEC,WAAW,EAAEC,GAAG,EAAE;QACrC,IACED,WAAW,CAACZ,gBAAgB,KAAKW,GAAG,CAACX,gBAAgB,IACrDW,GAAG,CAACX,gBAAgB,IACpBa,IAAIV,OAAO,CAACW,MAAM,CAACC,OAAO,EAC1B;YACA,MAAMC,oBAAoBnB,UAAUc,GAAG,CAACX,gBAAgB;YACxD,MAAMiB,kBAAkBD,oBACpB,MAAMlB,gBAAgB;gBACpBC,sBAAsBc,IAAIV,OAAO,CAACW,MAAM,CAACC,OAAO,CAACG,IAAI;gBACrDlB;gBACAC,UAAUe;gBACVd,gBAAgBS,IAAIL,EAAE;gBACtBH,SAASU,IAAIV,OAAO;YACtB,KACA;YAEJ,IAAIc,iBAAiB;gBACnB,sEAAsE;gBACtE,iEAAiE;gBACjE,MAAMJ,IAAIV,OAAO,CAACgB,MAAM,CAAC;oBACvBb,IAAIU;oBACJT,YAAYM,IAAIV,OAAO,CAACW,MAAM,CAACC,OAAO,CAACG,IAAI;oBAC3CE,MAAM;wBACJ,CAACpB,gBAAgB,EAAEY,WAAW,CAACZ,gBAAgB,GAC3CH,UAAUe,WAAW,CAACZ,gBAAgB,IACtC;oBACN;oBACAa;gBACF;YACF;QACF;IACF;AACF,EAAC"}
|
package/dist/folders/types.d.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import type { CollectionConfig, TypeWithID } from '../collections/config/types.js';
|
|
2
|
-
import type { CollectionSlug, SanitizedCollectionConfig } from '../index.js';
|
|
3
|
-
import type { Document } from '../types/index.js';
|
|
4
|
-
export type FolderInterface = {
|
|
5
|
-
documentsAndFolders?: {
|
|
6
|
-
docs: {
|
|
7
|
-
relationTo: CollectionSlug;
|
|
8
|
-
value: Document;
|
|
9
|
-
}[];
|
|
10
|
-
};
|
|
11
|
-
folder?: FolderInterface | (number | string | undefined);
|
|
12
|
-
folderType: CollectionSlug[];
|
|
13
|
-
name: string;
|
|
14
|
-
} & TypeWithID;
|
|
15
|
-
export type FolderBreadcrumb = {
|
|
16
|
-
folderType?: CollectionSlug[];
|
|
17
|
-
id: null | number | string;
|
|
18
|
-
name: string;
|
|
19
|
-
};
|
|
20
|
-
export type Subfolder = {
|
|
21
|
-
fileCount: number;
|
|
22
|
-
hasSubfolders: boolean;
|
|
23
|
-
id: number | string;
|
|
24
|
-
name: string;
|
|
25
|
-
subfolderCount: number;
|
|
26
|
-
};
|
|
27
|
-
export type FolderEnabledColection = {
|
|
28
|
-
admin: {
|
|
29
|
-
custom: {
|
|
30
|
-
folderCollectionSlug: CollectionSlug;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
slug: CollectionSlug;
|
|
34
|
-
} & SanitizedCollectionConfig;
|
|
35
|
-
/**
|
|
36
|
-
* `${relationTo}-${id}` is used as a key for the item
|
|
37
|
-
*/
|
|
38
|
-
export type FolderDocumentItemKey = `${string}-${number | string}`;
|
|
39
|
-
/**
|
|
40
|
-
* Needed for document card view for upload enabled collections
|
|
41
|
-
*/
|
|
42
|
-
type DocumentMediaData = {
|
|
43
|
-
filename?: string;
|
|
44
|
-
mimeType?: string;
|
|
45
|
-
url?: string;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* A generic structure for a folder or document item.
|
|
49
|
-
*/
|
|
50
|
-
export type FolderOrDocument = {
|
|
51
|
-
itemKey: FolderDocumentItemKey;
|
|
52
|
-
relationTo: CollectionSlug;
|
|
53
|
-
value: {
|
|
54
|
-
_folderOrDocumentTitle: string;
|
|
55
|
-
createdAt?: string;
|
|
56
|
-
folderID?: number | string;
|
|
57
|
-
folderType: CollectionSlug[];
|
|
58
|
-
id: number | string;
|
|
59
|
-
updatedAt?: string;
|
|
60
|
-
} & DocumentMediaData;
|
|
61
|
-
};
|
|
62
|
-
export type GetFolderDataResult = {
|
|
63
|
-
breadcrumbs: FolderBreadcrumb[] | null;
|
|
64
|
-
documents: FolderOrDocument[];
|
|
65
|
-
folderAssignedCollections: CollectionSlug[] | undefined;
|
|
66
|
-
subfolders: FolderOrDocument[];
|
|
67
|
-
};
|
|
68
|
-
export type RootFoldersConfiguration = {
|
|
69
|
-
/**
|
|
70
|
-
* If true, the browse by folder view will be enabled
|
|
71
|
-
*
|
|
72
|
-
* @default true
|
|
73
|
-
*/
|
|
74
|
-
browseByFolder?: boolean;
|
|
75
|
-
/**
|
|
76
|
-
* An array of functions to be ran when the folder collection is initialized
|
|
77
|
-
* This allows plugins to modify the collection configuration
|
|
78
|
-
*/
|
|
79
|
-
collectionOverrides?: (({ collection, }: {
|
|
80
|
-
collection: Omit<CollectionConfig, 'trash'>;
|
|
81
|
-
}) => Omit<CollectionConfig, 'trash'> | Promise<Omit<CollectionConfig, 'trash'>>)[];
|
|
82
|
-
/**
|
|
83
|
-
* If true, you can scope folders to specific collections.
|
|
84
|
-
*
|
|
85
|
-
* @default true
|
|
86
|
-
*/
|
|
87
|
-
collectionSpecific?: boolean;
|
|
88
|
-
/**
|
|
89
|
-
* Ability to view hidden fields and collections related to folders
|
|
90
|
-
*
|
|
91
|
-
* @default false
|
|
92
|
-
*/
|
|
93
|
-
debug?: boolean;
|
|
94
|
-
/**
|
|
95
|
-
* The Folder field name
|
|
96
|
-
*
|
|
97
|
-
* @default "folder"
|
|
98
|
-
*/
|
|
99
|
-
fieldName?: string;
|
|
100
|
-
/**
|
|
101
|
-
* Slug for the folder collection
|
|
102
|
-
*
|
|
103
|
-
* @default "payload-folders"
|
|
104
|
-
*/
|
|
105
|
-
slug?: string;
|
|
106
|
-
};
|
|
107
|
-
export type CollectionFoldersConfiguration = {
|
|
108
|
-
/**
|
|
109
|
-
* If true, the collection will be included in the browse by folder view
|
|
110
|
-
*
|
|
111
|
-
* @default true
|
|
112
|
-
*/
|
|
113
|
-
browseByFolder?: boolean;
|
|
114
|
-
};
|
|
115
|
-
type BaseFolderSortKeys = 'createdAt' | 'name' | 'updatedAt';
|
|
116
|
-
export type FolderSortKeys = `-${BaseFolderSortKeys}` | BaseFolderSortKeys;
|
|
117
|
-
export {};
|
|
118
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/folders/types.ts"],"names":[],"mappings":"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"}
|
package/dist/folders/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/folders/types.ts"],"sourcesContent":["import type { CollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { CollectionSlug, SanitizedCollectionConfig } from '../index.js'\nimport type { Document } from '../types/index.js'\n\nexport type FolderInterface = {\n documentsAndFolders?: {\n docs: {\n relationTo: CollectionSlug\n value: Document\n }[]\n }\n folder?: FolderInterface | (number | string | undefined)\n folderType: CollectionSlug[]\n name: string\n} & TypeWithID\n\nexport type FolderBreadcrumb = {\n folderType?: CollectionSlug[]\n id: null | number | string\n name: string\n}\n\nexport type Subfolder = {\n fileCount: number\n hasSubfolders: boolean\n id: number | string\n name: string\n subfolderCount: number\n}\n\nexport type FolderEnabledColection = {\n admin: {\n custom: {\n folderCollectionSlug: CollectionSlug\n }\n }\n slug: CollectionSlug\n} & SanitizedCollectionConfig\n\n/**\n * `${relationTo}-${id}` is used as a key for the item\n */\nexport type FolderDocumentItemKey = `${string}-${number | string}`\n\n/**\n * Needed for document card view for upload enabled collections\n */\ntype DocumentMediaData = {\n filename?: string\n mimeType?: string\n url?: string\n}\n/**\n * A generic structure for a folder or document item.\n */\nexport type FolderOrDocument = {\n itemKey: FolderDocumentItemKey\n relationTo: CollectionSlug\n value: {\n _folderOrDocumentTitle: string\n createdAt?: string\n folderID?: number | string\n folderType: CollectionSlug[]\n id: number | string\n updatedAt?: string\n } & DocumentMediaData\n}\n\nexport type GetFolderDataResult = {\n breadcrumbs: FolderBreadcrumb[] | null\n documents: FolderOrDocument[]\n folderAssignedCollections: CollectionSlug[] | undefined\n subfolders: FolderOrDocument[]\n}\n\nexport type RootFoldersConfiguration = {\n /**\n * If true, the browse by folder view will be enabled\n *\n * @default true\n */\n browseByFolder?: boolean\n /**\n * An array of functions to be ran when the folder collection is initialized\n * This allows plugins to modify the collection configuration\n */\n collectionOverrides?: (({\n collection,\n }: {\n collection: Omit<CollectionConfig, 'trash'>\n }) => Omit<CollectionConfig, 'trash'> | Promise<Omit<CollectionConfig, 'trash'>>)[]\n /**\n * If true, you can scope folders to specific collections.\n *\n * @default true\n */\n collectionSpecific?: boolean\n /**\n * Ability to view hidden fields and collections related to folders\n *\n * @default false\n */\n debug?: boolean\n /**\n * The Folder field name\n *\n * @default \"folder\"\n */\n fieldName?: string\n /**\n * Slug for the folder collection\n *\n * @default \"payload-folders\"\n */\n slug?: string\n}\n\nexport type CollectionFoldersConfiguration = {\n /**\n * If true, the collection will be included in the browse by folder view\n *\n * @default true\n */\n browseByFolder?: boolean\n}\n\ntype BaseFolderSortKeys = 'createdAt' | 'name' | 'updatedAt'\n\nexport type FolderSortKeys = `-${BaseFolderSortKeys}` | BaseFolderSortKeys\n"],"names":[],"mappings":"AAgIA,WAA0E"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { SanitizedCollectionConfig } from '../../collections/config/types.js';
|
|
2
|
-
import type { PayloadRequest, Where } from '../../types/index.js';
|
|
3
|
-
type Args = {
|
|
4
|
-
collectionConfig: SanitizedCollectionConfig;
|
|
5
|
-
folderID?: number | string;
|
|
6
|
-
localeCode?: string;
|
|
7
|
-
req: PayloadRequest;
|
|
8
|
-
search?: string;
|
|
9
|
-
sort?: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function buildFolderWhereConstraints({ collectionConfig, folderID, localeCode, req, search, sort, }: Args): Promise<undefined | Where>;
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=buildFolderWhereConstraints.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildFolderWhereConstraints.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/buildFolderWhereConstraints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAKjE,KAAK,IAAI,GAAG;IACV,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AACD,wBAAsB,2BAA2B,CAAC,EAChD,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,GAAG,EACH,MAAW,EACX,IAAI,GACL,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAoDnC"}
|