@webiny/api-aco 0.0.0-unstable.a4637c5ce6 → 0.0.0-unstable.a4f3e4ea8b
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/README.md +6 -28
- package/constants.d.ts +0 -1
- package/constants.js +3 -24
- package/constants.js.map +1 -1
- package/createAcoContext.d.ts +2 -8
- package/createAcoContext.js +105 -123
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +1 -1
- package/createAcoGraphQL.js +51 -104
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoTasks.d.ts +1 -1
- package/createAcoTasks.js +12 -11
- package/createAcoTasks.js.map +1 -1
- package/domain/folder/abstractions.d.ts +9 -0
- package/domain/folder/abstractions.js +5 -0
- package/domain/folder/abstractions.js.map +1 -0
- package/domain/folder/errors.d.ts +29 -0
- package/domain/folder/errors.js +51 -0
- package/domain/folder/errors.js.map +1 -0
- package/domain/folder/folder.model.d.ts +9 -0
- package/domain/folder/folder.model.js +58 -0
- package/domain/folder/folder.model.js.map +1 -0
- package/exports/api/aco/flp.d.ts +6 -0
- package/exports/api/aco/flp.js +6 -0
- package/exports/api/aco/folder.d.ts +11 -0
- package/exports/api/aco/folder.js +10 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +39 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js +33 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +39 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +41 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +36 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.js +36 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +41 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +41 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js +49 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +14 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +39 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/feature.d.ts +4 -0
- package/features/cms/feature.js +37 -0
- package/features/cms/feature.js.map +1 -0
- package/features/cms/index.d.ts +1 -0
- package/features/cms/index.js +1 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js +34 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
- package/features/flp/CreateFlp/abstractions.d.ts +9 -0
- package/features/flp/CreateFlp/abstractions.js +5 -0
- package/features/flp/CreateFlp/abstractions.js.map +1 -0
- package/features/flp/CreateFlp/feature.d.ts +10 -0
- package/features/flp/CreateFlp/feature.js +12 -0
- package/features/flp/CreateFlp/feature.js.map +1 -0
- package/features/flp/CreateFlp/index.d.ts +2 -0
- package/features/flp/CreateFlp/index.js +2 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +14 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +37 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js +11 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
- package/features/flp/CreateFlpOnFolderCreated/index.js +1 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js +22 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
- package/features/flp/DeleteFlp/abstractions.d.ts +9 -0
- package/features/flp/DeleteFlp/abstractions.js +5 -0
- package/features/flp/DeleteFlp/abstractions.js.map +1 -0
- package/features/flp/DeleteFlp/feature.d.ts +10 -0
- package/features/flp/DeleteFlp/feature.js +12 -0
- package/features/flp/DeleteFlp/feature.js.map +1 -0
- package/features/flp/DeleteFlp/index.d.ts +2 -0
- package/features/flp/DeleteFlp/index.js +2 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +14 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +37 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js +11 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.js +1 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +112 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.d.ts +25 -0
- package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js +48 -0
- package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js.map +1 -0
- package/{flp/FolderLevelPermissions/index.d.ts → features/flp/FolderLevelPermissions/abstractions.d.ts} +11 -18
- package/features/flp/FolderLevelPermissions/abstractions.js +5 -0
- package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/feature.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/feature.js +11 -0
- package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
- package/features/flp/FolderLevelPermissions/index.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/index.js +3 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +4 -4
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +19 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +1 -1
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +17 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +1 -1
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +1 -1
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +8 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +3 -3
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +8 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +47 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +14 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +27 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +1 -1
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +2 -0
- package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/index.js +5 -0
- package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
- package/features/flp/GetFlp/GetFlpUseCase.js +11 -0
- package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
- package/features/flp/GetFlp/abstractions.d.ts +9 -0
- package/features/flp/GetFlp/abstractions.js +5 -0
- package/features/flp/GetFlp/abstractions.js.map +1 -0
- package/features/flp/GetFlp/feature.d.ts +4 -0
- package/features/flp/GetFlp/feature.js +12 -0
- package/features/flp/GetFlp/feature.js.map +1 -0
- package/features/flp/GetFlp/index.d.ts +1 -0
- package/features/flp/GetFlp/index.js +1 -0
- package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js +11 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
- package/features/flp/ListFlps/abstractions.d.ts +17 -0
- package/features/flp/ListFlps/abstractions.js +5 -0
- package/features/flp/ListFlps/abstractions.js.map +1 -0
- package/features/flp/ListFlps/feature.d.ts +4 -0
- package/features/flp/ListFlps/feature.js +12 -0
- package/features/flp/ListFlps/feature.js.map +1 -0
- package/features/flp/ListFlps/index.d.ts +1 -0
- package/features/flp/ListFlps/index.js +1 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +19 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js +152 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
- package/features/flp/UpdateFlp/abstractions.d.ts +15 -0
- package/features/flp/UpdateFlp/abstractions.js +5 -0
- package/features/flp/UpdateFlp/abstractions.js.map +1 -0
- package/features/flp/UpdateFlp/feature.d.ts +10 -0
- package/features/flp/UpdateFlp/feature.js +12 -0
- package/features/flp/UpdateFlp/feature.js.map +1 -0
- package/features/flp/UpdateFlp/index.d.ts +2 -0
- package/features/flp/UpdateFlp/index.js +2 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +14 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +39 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js +11 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.js +1 -0
- package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js +85 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js +36 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
- package/features/folder/CreateFolder/abstractions.d.ts +59 -0
- package/features/folder/CreateFolder/abstractions.js +8 -0
- package/features/folder/CreateFolder/abstractions.js.map +1 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +39 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/CreateFolder/events.d.ts +10 -0
- package/features/folder/CreateFolder/events.js +21 -0
- package/features/folder/CreateFolder/events.js.map +1 -0
- package/features/folder/CreateFolder/feature.d.ts +5 -0
- package/features/folder/CreateFolder/feature.js +15 -0
- package/features/folder/CreateFolder/feature.js.map +1 -0
- package/features/folder/CreateFolder/index.d.ts +2 -0
- package/features/folder/CreateFolder/index.js +2 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js +32 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js +47 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
- package/features/folder/DeleteFolder/abstractions.d.ts +59 -0
- package/features/folder/DeleteFolder/abstractions.js +8 -0
- package/features/folder/DeleteFolder/abstractions.js.map +1 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +29 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/DeleteFolder/events.d.ts +10 -0
- package/features/folder/DeleteFolder/events.js +21 -0
- package/features/folder/DeleteFolder/events.js.map +1 -0
- package/features/folder/DeleteFolder/feature.d.ts +5 -0
- package/features/folder/DeleteFolder/feature.js +15 -0
- package/features/folder/DeleteFolder/feature.js.map +1 -0
- package/features/folder/DeleteFolder/index.d.ts +2 -0
- package/features/folder/DeleteFolder/index.js +2 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +17 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +62 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +21 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js +5 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js +11 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmpty/index.js +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +25 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +10 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +11 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +52 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +11 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +1 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js +58 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js +20 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
- package/features/folder/GetAncestors/abstractions.d.ts +40 -0
- package/features/folder/GetAncestors/abstractions.js +6 -0
- package/features/folder/GetAncestors/abstractions.js.map +1 -0
- package/features/folder/GetAncestors/feature.d.ts +5 -0
- package/features/folder/GetAncestors/feature.js +13 -0
- package/features/folder/GetAncestors/feature.js.map +1 -0
- package/features/folder/GetAncestors/index.d.ts +2 -0
- package/features/folder/GetAncestors/index.js +2 -0
- package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
- package/features/folder/GetFolder/GetFolderRepository.js +33 -0
- package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
- package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
- package/features/folder/GetFolder/GetFolderUseCase.js +20 -0
- package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
- package/features/folder/GetFolder/abstractions.d.ts +57 -0
- package/features/folder/GetFolder/abstractions.js +8 -0
- package/features/folder/GetFolder/abstractions.js.map +1 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +34 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolder/feature.d.ts +5 -0
- package/features/folder/GetFolder/feature.js +15 -0
- package/features/folder/GetFolder/feature.js.map +1 -0
- package/features/folder/GetFolder/index.d.ts +2 -0
- package/features/folder/GetFolder/index.js +2 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +84 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +20 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
- package/features/folder/GetFolderHierarchy/abstractions.d.ts +38 -0
- package/features/folder/GetFolderHierarchy/abstractions.js +6 -0
- package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +63 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/feature.d.ts +5 -0
- package/features/folder/GetFolderHierarchy/feature.js +15 -0
- package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
- package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
- package/features/folder/GetFolderHierarchy/index.js +2 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +75 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +11 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +5 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js +11 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.js +1 -0
- package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
- package/features/folder/ListFolders/ListFoldersRepository.js +52 -0
- package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
- package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js +20 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
- package/features/folder/ListFolders/abstractions.d.ts +44 -0
- package/features/folder/ListFolders/abstractions.js +6 -0
- package/features/folder/ListFolders/abstractions.js.map +1 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +65 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/ListFolders/feature.d.ts +5 -0
- package/features/folder/ListFolders/feature.js +15 -0
- package/features/folder/ListFolders/feature.js.map +1 -0
- package/features/folder/ListFolders/index.d.ts +2 -0
- package/features/folder/ListFolders/index.js +2 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js +84 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js +48 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
- package/features/folder/UpdateFolder/abstractions.d.ts +64 -0
- package/features/folder/UpdateFolder/abstractions.js +8 -0
- package/features/folder/UpdateFolder/abstractions.js.map +1 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +13 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +58 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/UpdateFolder/events.d.ts +10 -0
- package/features/folder/UpdateFolder/events.js +21 -0
- package/features/folder/UpdateFolder/events.js.map +1 -0
- package/features/folder/UpdateFolder/feature.d.ts +5 -0
- package/features/folder/UpdateFolder/feature.js +15 -0
- package/features/folder/UpdateFolder/feature.js.map +1 -0
- package/features/folder/UpdateFolder/index.d.ts +2 -0
- package/features/folder/UpdateFolder/index.js +2 -0
- package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
- package/features/folder/shared/EntryToFolderMapper.js +23 -0
- package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
- package/features/folder/shared/abstractions.d.ts +10 -0
- package/features/folder/shared/abstractions.js +6 -0
- package/features/folder/shared/abstractions.js.map +1 -0
- package/filter/filter.crud.d.ts +2 -2
- package/filter/filter.crud.js +27 -91
- package/filter/filter.crud.js.map +1 -1
- package/filter/filter.gql.d.ts +2 -2
- package/filter/filter.gql.js +36 -58
- package/filter/filter.gql.js.map +1 -1
- package/filter/filter.model.d.ts +9 -2
- package/filter/filter.model.js +46 -120
- package/filter/filter.model.js.map +1 -1
- package/filter/filter.so.d.ts +11 -3
- package/filter/filter.so.js +80 -94
- package/filter/filter.so.js.map +1 -1
- package/filter/filter.types.d.ts +1 -29
- package/filter/filter.types.js +5 -10
- package/filter/filter.types.js.map +1 -1
- package/flp/flp.crud.d.ts +3 -5
- package/flp/flp.crud.js +70 -168
- package/flp/flp.crud.js.map +1 -1
- package/flp/flp.types.d.ts +3 -57
- package/flp/flp.types.js +0 -18
- package/flp/index.d.ts +2 -5
- package/flp/index.js +2 -62
- package/flp/tasks/createFlp.task.d.ts +18 -2
- package/flp/tasks/createFlp.task.js +30 -43
- package/flp/tasks/createFlp.task.js.map +1 -1
- package/flp/tasks/deleteFlp.task.d.ts +18 -2
- package/flp/tasks/deleteFlp.task.js +30 -43
- package/flp/tasks/deleteFlp.task.js.map +1 -1
- package/flp/tasks/index.d.ts +1 -1
- package/flp/tasks/index.js +18 -18
- package/flp/tasks/index.js.map +1 -1
- package/flp/tasks/syncFlp.task.d.ts +22 -2
- package/flp/tasks/syncFlp.task.js +102 -116
- package/flp/tasks/syncFlp.task.js.map +1 -1
- package/flp/tasks/updateFlp.task.d.ts +18 -2
- package/flp/tasks/updateFlp.task.js +37 -49
- package/flp/tasks/updateFlp.task.js.map +1 -1
- package/folder/createFolderModelModifier.d.ts +1 -1
- package/folder/createFolderModelModifier.js +52 -61
- package/folder/createFolderModelModifier.js.map +1 -1
- package/folder/createFolderTypeDefs.d.ts +3 -2
- package/folder/createFolderTypeDefs.js +43 -75
- package/folder/createFolderTypeDefs.js.map +1 -1
- package/folder/folder.gql.d.ts +3 -3
- package/folder/folder.gql.js +121 -131
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +12 -84
- package/folder/folder.types.js +0 -7
- package/index.d.ts +3 -12
- package/index.js +11 -76
- package/index.js.map +1 -1
- package/package.json +33 -40
- package/types.d.ts +16 -79
- package/types.js +6 -68
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +2 -2
- package/utils/FoldersCacheFactory.js +20 -26
- package/utils/FoldersCacheFactory.js.map +1 -1
- package/utils/ListCache.js +20 -27
- package/utils/ListCache.js.map +1 -1
- package/utils/Path.js +5 -13
- package/utils/Path.js.map +1 -1
- package/utils/compress.js +8 -14
- package/utils/compress.js.map +1 -1
- package/utils/createListSort.d.ts +2 -2
- package/utils/createListSort.js +4 -14
- package/utils/createListSort.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +6 -3
- package/utils/createOperationsWrapper.js +12 -24
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +2 -2
- package/utils/decorators/CmsEntriesCrudDecorators.js +169 -204
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
- package/utils/decorators/FilterEntriesByFolderFactory.d.ts +3 -3
- package/utils/decorators/FilterEntriesByFolderFactory.js +18 -26
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
- package/utils/decorators/ListEntriesFactory.d.ts +8 -7
- package/utils/decorators/ListEntriesFactory.js +65 -99
- package/utils/decorators/ListEntriesFactory.js.map +1 -1
- package/utils/decorators/hasRootFolderId.d.ts +1 -1
- package/utils/decorators/hasRootFolderId.js +9 -23
- package/utils/decorators/hasRootFolderId.js.map +1 -1
- package/utils/decorators/isPageModel.d.ts +1 -1
- package/utils/decorators/isPageModel.js +5 -17
- package/utils/decorators/isPageModel.js.map +1 -1
- package/utils/ensureAuthentication.d.ts +2 -2
- package/utils/ensureAuthentication.js +8 -13
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +1 -1
- package/utils/pickEntryFieldValues.js +23 -24
- package/utils/pickEntryFieldValues.js.map +1 -1
- package/utils/resolve.d.ts +2 -3
- package/utils/resolve.js +8 -23
- package/utils/resolve.js.map +1 -1
- package/apps/AcoApp.d.ts +0 -21
- package/apps/AcoApp.js +0 -143
- package/apps/AcoApp.js.map +0 -1
- package/apps/AcoApps.d.ts +0 -10
- package/apps/AcoApps.js +0 -75
- package/apps/AcoApps.js.map +0 -1
- package/apps/app.gql.d.ts +0 -3
- package/apps/app.gql.js +0 -59
- package/apps/app.gql.js.map +0 -1
- package/apps/index.d.ts +0 -2
- package/apps/index.js +0 -29
- package/apps/index.js.map +0 -1
- package/createAcoHooks.d.ts +0 -2
- package/createAcoHooks.js +0 -19
- package/createAcoHooks.js.map +0 -1
- package/createAcoModels.d.ts +0 -2
- package/createAcoModels.js +0 -35
- package/createAcoModels.js.map +0 -1
- package/createAcoStorageOperations.d.ts +0 -11
- package/createAcoStorageOperations.js +0 -24
- package/createAcoStorageOperations.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +0 -7
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +0 -17
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +0 -4
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +0 -7
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +0 -29
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +0 -7
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +0 -17
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +0 -4
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +0 -7
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +0 -29
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +0 -3
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +0 -7
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +0 -7
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +0 -17
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +0 -29
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +0 -4
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +0 -7
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +0 -7
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +0 -39
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +0 -29
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +0 -4
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +0 -7
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +0 -7
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +0 -17
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +0 -29
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +0 -1
- package/flp/FolderLevelPermissions/gateways/index.d.ts +0 -5
- package/flp/FolderLevelPermissions/gateways/index.js +0 -62
- package/flp/FolderLevelPermissions/gateways/index.js.map +0 -1
- package/flp/FolderLevelPermissions/index.js +0 -116
- package/flp/FolderLevelPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +0 -48
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +0 -41
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +0 -14
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +0 -9
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +0 -34
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +0 -3
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +0 -17
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +0 -3
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +0 -14
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +0 -4
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +0 -6
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +0 -77
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +0 -9
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +0 -21
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +0 -10
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +0 -42
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -7
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +0 -3
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -40
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +0 -17
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +0 -4
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +0 -7
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +0 -4
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +0 -7
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +0 -17
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +0 -18
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/index.d.ts +0 -9
- package/flp/FolderLevelPermissions/useCases/index.js +0 -106
- package/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
- package/flp/flp.so.d.ts +0 -26
- package/flp/flp.so.js +0 -304
- package/flp/flp.so.js.map +0 -1
- package/flp/flp.types.js.map +0 -1
- package/flp/hooks/index.d.ts +0 -2
- package/flp/hooks/index.js +0 -17
- package/flp/hooks/index.js.map +0 -1
- package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +0 -2
- package/flp/hooks/onFolderAfterCreateFlp.hook.js +0 -37
- package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +0 -1
- package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +0 -2
- package/flp/hooks/onFolderAfterDeleteFlp.hook.js +0 -37
- package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +0 -1
- package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +0 -2
- package/flp/hooks/onFolderAfterUpdateFlp.hook.js +0 -39
- package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +0 -1
- package/flp/index.js.map +0 -1
- package/flp/useCases/CreateFlp.d.ts +0 -7
- package/flp/useCases/CreateFlp.js +0 -51
- package/flp/useCases/CreateFlp.js.map +0 -1
- package/flp/useCases/DeleteFlp.d.ts +0 -6
- package/flp/useCases/DeleteFlp.js +0 -30
- package/flp/useCases/DeleteFlp.js.map +0 -1
- package/flp/useCases/UpdateFlp.d.ts +0 -26
- package/flp/useCases/UpdateFlp.js +0 -198
- package/flp/useCases/UpdateFlp.js.map +0 -1
- package/flp/useCases/index.d.ts +0 -3
- package/flp/useCases/index.js +0 -40
- package/flp/useCases/index.js.map +0 -1
- package/folder/ensureFolderIsEmpty.d.ts +0 -8
- package/folder/ensureFolderIsEmpty.js +0 -63
- package/folder/ensureFolderIsEmpty.js.map +0 -1
- package/folder/folder.crud.d.ts +0 -8
- package/folder/folder.crud.js +0 -157
- package/folder/folder.crud.js.map +0 -1
- package/folder/folder.model.d.ts +0 -2
- package/folder/folder.model.js +0 -126
- package/folder/folder.model.js.map +0 -1
- package/folder/folder.so.d.ts +0 -3
- package/folder/folder.so.js +0 -197
- package/folder/folder.so.js.map +0 -1
- package/folder/folder.types.js.map +0 -1
- package/folder/onFolderBeforeDeleteAco.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteAco.hook.js +0 -54
- package/folder/onFolderBeforeDeleteAco.hook.js.map +0 -1
- package/folder/onFolderBeforeDeleteFm.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteFm.hook.js +0 -51
- package/folder/onFolderBeforeDeleteFm.hook.js.map +0 -1
- package/folder/onFolderBeforeDeleteHcms.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteHcms.hook.js +0 -58
- package/folder/onFolderBeforeDeleteHcms.hook.js.map +0 -1
- package/folder/useCases/CreateFolder/CreateFolder.d.ts +0 -7
- package/folder/useCases/CreateFolder/CreateFolder.js +0 -19
- package/folder/useCases/CreateFolder/CreateFolder.js.map +0 -1
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +0 -9
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +0 -25
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +0 -1
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +0 -25
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +0 -39
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/CreateFolder/ICreateFolder.d.ts +0 -4
- package/folder/useCases/CreateFolder/ICreateFolder.js +0 -7
- package/folder/useCases/CreateFolder/ICreateFolder.js.map +0 -1
- package/folder/useCases/CreateFolder/index.d.ts +0 -17
- package/folder/useCases/CreateFolder/index.js +0 -20
- package/folder/useCases/CreateFolder/index.js.map +0 -1
- package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +0 -7
- package/folder/useCases/DeleteFolder/DeleteFolder.js +0 -18
- package/folder/useCases/DeleteFolder/DeleteFolder.js.map +0 -1
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +0 -10
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +0 -29
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +0 -1
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +0 -9
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +0 -24
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +0 -4
- package/folder/useCases/DeleteFolder/IDeleteFolder.js +0 -7
- package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +0 -1
- package/folder/useCases/DeleteFolder/index.d.ts +0 -18
- package/folder/useCases/DeleteFolder/index.js +0 -20
- package/folder/useCases/DeleteFolder/index.js.map +0 -1
- package/folder/useCases/GetAncestors/GetAncestors.d.ts +0 -9
- package/folder/useCases/GetAncestors/GetAncestors.js +0 -77
- package/folder/useCases/GetAncestors/GetAncestors.js.map +0 -1
- package/folder/useCases/GetAncestors/IGetAncestors.d.ts +0 -7
- package/folder/useCases/GetAncestors/IGetAncestors.js +0 -7
- package/folder/useCases/GetAncestors/IGetAncestors.js.map +0 -1
- package/folder/useCases/GetAncestors/index.d.ts +0 -9
- package/folder/useCases/GetAncestors/index.js +0 -16
- package/folder/useCases/GetAncestors/index.js.map +0 -1
- package/folder/useCases/GetFolder/GetFolder.d.ts +0 -7
- package/folder/useCases/GetFolder/GetFolder.js +0 -17
- package/folder/useCases/GetFolder/GetFolder.js.map +0 -1
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +0 -25
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +0 -33
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/GetFolder/IGetFolder.d.ts +0 -4
- package/folder/useCases/GetFolder/IGetFolder.js +0 -7
- package/folder/useCases/GetFolder/IGetFolder.js.map +0 -1
- package/folder/useCases/GetFolder/index.d.ts +0 -13
- package/folder/useCases/GetFolder/index.js +0 -19
- package/folder/useCases/GetFolder/index.js.map +0 -1
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +0 -11
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +0 -63
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +0 -1
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +0 -17
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +0 -59
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +0 -4
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +0 -7
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +0 -1
- package/folder/useCases/GetFolderHierarchy/index.d.ts +0 -12
- package/folder/useCases/GetFolderHierarchy/index.js +0 -18
- package/folder/useCases/GetFolderHierarchy/index.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +0 -4
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +0 -4
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +0 -4
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +0 -23
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +0 -13
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +0 -60
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +0 -22
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +0 -9
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +0 -20
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +0 -1
- package/folder/useCases/ListFolders/IListFolders.d.ts +0 -5
- package/folder/useCases/ListFolders/IListFolders.js +0 -7
- package/folder/useCases/ListFolders/IListFolders.js.map +0 -1
- package/folder/useCases/ListFolders/ListFolders.d.ts +0 -8
- package/folder/useCases/ListFolders/ListFolders.js +0 -17
- package/folder/useCases/ListFolders/ListFolders.js.map +0 -1
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +0 -14
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +0 -67
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/ListFolders/index.d.ts +0 -13
- package/folder/useCases/ListFolders/index.js +0 -19
- package/folder/useCases/ListFolders/index.js.map +0 -1
- package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +0 -4
- package/folder/useCases/UpdateFolder/IUpdateFolder.js +0 -7
- package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +0 -1
- package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +0 -7
- package/folder/useCases/UpdateFolder/UpdateFolder.js +0 -20
- package/folder/useCases/UpdateFolder/UpdateFolder.js.map +0 -1
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +0 -10
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +0 -38
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +0 -1
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +0 -26
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +0 -78
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/UpdateFolder/index.d.ts +0 -18
- package/folder/useCases/UpdateFolder/index.js +0 -20
- package/folder/useCases/UpdateFolder/index.js.map +0 -1
- package/folder/useCases/index.d.ts +0 -8
- package/folder/useCases/index.js +0 -95
- package/folder/useCases/index.js.map +0 -1
- package/plugins/AcoAppModifierPlugin.d.ts +0 -43
- package/plugins/AcoAppModifierPlugin.js +0 -58
- package/plugins/AcoAppModifierPlugin.js.map +0 -1
- package/plugins/AcoAppRegisterPlugin.d.ts +0 -8
- package/plugins/AcoAppRegisterPlugin.js +0 -21
- package/plugins/AcoAppRegisterPlugin.js.map +0 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -29
- package/plugins/index.js.map +0 -1
- package/record/graphql/createAppResolvers.d.ts +0 -14
- package/record/graphql/createAppResolvers.js +0 -115
- package/record/graphql/createAppResolvers.js.map +0 -1
- package/record/graphql/createAppSchema.d.ts +0 -9
- package/record/graphql/createAppSchema.js +0 -146
- package/record/graphql/createAppSchema.js.map +0 -1
- package/record/record.crud.d.ts +0 -3
- package/record/record.crud.js +0 -128
- package/record/record.crud.js.map +0 -1
- package/record/record.gql.d.ts +0 -8
- package/record/record.gql.js +0 -43
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -8
- package/record/record.model.js +0 -91
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -3
- package/record/record.so.js +0 -171
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -144
- package/record/record.types.js +0 -7
- package/record/record.types.js.map +0 -1
- package/utils/ListFoldersRepository.d.ts +0 -10
- package/utils/ListFoldersRepository.js +0 -35
- package/utils/ListFoldersRepository.js.map +0 -1
- package/utils/acoRecordId.d.ts +0 -6
- package/utils/acoRecordId.js +0 -35
- package/utils/acoRecordId.js.map +0 -1
- package/utils/createModelField.d.ts +0 -5
- package/utils/createModelField.js +0 -39
- package/utils/createModelField.js.map +0 -1
- package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +0 -23
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js +0 -54
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +0 -1
- package/utils/modelFactory.d.ts +0 -13
- package/utils/modelFactory.js +0 -22
- package/utils/modelFactory.js.map +0 -1
- /package/{flp → features/flp}/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FolderLevelPermissions } from "../../../../features/flp/FolderLevelPermissions/index.js";
|
|
2
|
+
import { DeleteFolderUseCase } from "../abstractions.js";
|
|
3
|
+
import { Result } from "@webiny/feature/api";
|
|
4
|
+
declare class DeleteFolderWithFolderLevelPermissionsImpl implements DeleteFolderUseCase.Interface {
|
|
5
|
+
private folderLevelPermissions;
|
|
6
|
+
private readonly decoretee;
|
|
7
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoretee: DeleteFolderUseCase.Interface);
|
|
8
|
+
execute(id: string): Promise<Result<void, never> | Result<never, import("../../../../domain/folder/errors.js").FolderNotAuthorizedError | import("../../../../domain/folder/errors.js").FolderNotEmptyError | import("../../../../domain/folder/errors.js").FolderNotFoundError | import("../../../../domain/folder/errors.js").FolderPersistenceError>>;
|
|
9
|
+
}
|
|
10
|
+
export declare const DeleteFolderWithFolderLevelPermissions: typeof DeleteFolderWithFolderLevelPermissionsImpl;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
|
|
2
|
+
import { DeleteFolderUseCase } from "../abstractions.js";
|
|
3
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
4
|
+
class DeleteFolderWithFolderLevelPermissionsImpl {
|
|
5
|
+
constructor(folderLevelPermissions, decoretee){
|
|
6
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
7
|
+
this.decoretee = decoretee;
|
|
8
|
+
}
|
|
9
|
+
async execute(id) {
|
|
10
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);
|
|
11
|
+
await this.folderLevelPermissions.ensureCanAccessFolder({
|
|
12
|
+
permissions,
|
|
13
|
+
rwd: "d"
|
|
14
|
+
});
|
|
15
|
+
const result = await this.decoretee.execute(id);
|
|
16
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
17
|
+
return Result.ok();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const DeleteFolderWithFolderLevelPermissions = createDecorator({
|
|
21
|
+
abstraction: DeleteFolderUseCase,
|
|
22
|
+
decorator: DeleteFolderWithFolderLevelPermissionsImpl,
|
|
23
|
+
dependencies: [
|
|
24
|
+
FolderLevelPermissions
|
|
25
|
+
]
|
|
26
|
+
});
|
|
27
|
+
export { DeleteFolderWithFolderLevelPermissions };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=DeleteFolderWithFolderLevelPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js","sources":["../../../../../src/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { DeleteFolderUseCase } from \"../abstractions.js\";\nimport { createDecorator, Result } from \"@webiny/feature/api\";\n\nclass DeleteFolderWithFolderLevelPermissionsImpl implements DeleteFolderUseCase.Interface {\n private folderLevelPermissions: FolderLevelPermissions.Interface;\n private readonly decoretee: DeleteFolderUseCase.Interface;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n decoretee: DeleteFolderUseCase.Interface\n ) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(id: string) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);\n await this.folderLevelPermissions.ensureCanAccessFolder({\n permissions,\n rwd: \"d\"\n });\n\n const result = await this.decoretee.execute(id);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok();\n }\n}\n\nexport const DeleteFolderWithFolderLevelPermissions = createDecorator({\n abstraction: DeleteFolderUseCase,\n decorator: DeleteFolderWithFolderLevelPermissionsImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["DeleteFolderWithFolderLevelPermissionsImpl","folderLevelPermissions","decoretee","id","permissions","result","Result","DeleteFolderWithFolderLevelPermissions","createDecorator","DeleteFolderUseCase","FolderLevelPermissions"],"mappings":";;;AAIA,MAAMA;IAIF,YACIC,sBAAwD,EACxDC,SAAwC,CAC1C;QACE,IAAI,CAAC,sBAAsB,GAAGD;QAC9B,IAAI,CAAC,SAAS,GAAGC;IACrB;IAEA,MAAM,QAAQC,EAAU,EAAE;QACtB,MAAMC,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACD;QAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC;YACpDC;YACA,KAAK;QACT;QAEA,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF;QAE5C,IAAIE,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAACD,OAAO,KAAK;QAGnC,OAAOC,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMC,yCAAyCC,gBAAgB;IAClE,aAAaC;IACb,WAAWT;IACX,cAAc;QAACU;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import type { FolderBeforeDeletePayload, FolderAfterDeletePayload } from "./abstractions.js";
|
|
3
|
+
export declare class FolderBeforeDeleteEvent extends DomainEvent<FolderBeforeDeletePayload> {
|
|
4
|
+
eventType: "folder.beforeDelete";
|
|
5
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<FolderBeforeDeletePayload>>>;
|
|
6
|
+
}
|
|
7
|
+
export declare class FolderAfterDeleteEvent extends DomainEvent<FolderAfterDeletePayload> {
|
|
8
|
+
eventType: "folder.afterDelete";
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<FolderAfterDeletePayload>>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler } from "./abstractions.js";
|
|
3
|
+
class FolderBeforeDeleteEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return FolderBeforeDeleteEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "folder.beforeDelete";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
class FolderAfterDeleteEvent extends DomainEvent {
|
|
12
|
+
getHandlerAbstraction() {
|
|
13
|
+
return FolderAfterDeleteEventHandler;
|
|
14
|
+
}
|
|
15
|
+
constructor(...args){
|
|
16
|
+
super(...args), this.eventType = "folder.afterDelete";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export { FolderAfterDeleteEvent, FolderBeforeDeleteEvent };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/DeleteFolder/events.js","sources":["../../../../src/features/folder/DeleteFolder/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { FolderBeforeDeleteEventHandler, FolderAfterDeleteEventHandler } from \"./abstractions.js\";\nimport type { FolderBeforeDeletePayload, FolderAfterDeletePayload } from \"./abstractions.js\";\n\n// FolderBeforeDelete Event\nexport class FolderBeforeDeleteEvent extends DomainEvent<FolderBeforeDeletePayload> {\n eventType = \"folder.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return FolderBeforeDeleteEventHandler;\n }\n}\n\n// FolderAfterDelete Event\nexport class FolderAfterDeleteEvent extends DomainEvent<FolderAfterDeletePayload> {\n eventType = \"folder.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return FolderAfterDeleteEventHandler;\n }\n}\n"],"names":["FolderBeforeDeleteEvent","DomainEvent","FolderBeforeDeleteEventHandler","FolderAfterDeleteEvent","FolderAfterDeleteEventHandler"],"mappings":";;AAKO,MAAMA,gCAAgCC;IAGzC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,+BAA+BF;IAGxC,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteFolderRepository } from "./DeleteFolderRepository.js";
|
|
3
|
+
import { DeleteFolderUseCase } from "./DeleteFolderUseCase.js";
|
|
4
|
+
import { DeleteFolderWithFolderLevelPermissions } from "./decorators/DeleteFolderWithFolderLevelPermissions.js";
|
|
5
|
+
const DeleteFolderFeature = createFeature({
|
|
6
|
+
name: "DeleteFolder",
|
|
7
|
+
register (container) {
|
|
8
|
+
container.register(DeleteFolderRepository).inSingletonScope();
|
|
9
|
+
container.register(DeleteFolderUseCase);
|
|
10
|
+
container.registerDecorator(DeleteFolderWithFolderLevelPermissions);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
export { DeleteFolderFeature };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/DeleteFolder/feature.js","sources":["../../../../src/features/folder/DeleteFolder/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { DeleteFolderRepository } from \"./DeleteFolderRepository.js\";\nimport { DeleteFolderUseCase } from \"./DeleteFolderUseCase.js\";\nimport { DeleteFolderWithFolderLevelPermissions } from \"./decorators/DeleteFolderWithFolderLevelPermissions.js\";\n\nexport const DeleteFolderFeature = createFeature({\n name: \"DeleteFolder\",\n register(container: Container) {\n container.register(DeleteFolderRepository).inSingletonScope();\n container.register(DeleteFolderUseCase);\n container.registerDecorator(DeleteFolderWithFolderLevelPermissions);\n }\n});\n"],"names":["DeleteFolderFeature","createFeature","container","DeleteFolderRepository","DeleteFolderUseCase","DeleteFolderWithFolderLevelPermissions"],"mappings":";;;;AAMO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC,wBAAwB,gBAAgB;QAC3DD,UAAU,QAAQ,CAACE;QACnBF,UAAU,iBAAiB,CAACG;IAChC;AACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
2
|
+
import { ListFoldersUseCase } from "../../../features/folder/ListFolders/index.js";
|
|
3
|
+
import { EnsureFolderIsEmpty as Abstraction } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
|
|
4
|
+
import { Logger } from "@webiny/api-core/exports/api/logger.js";
|
|
5
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
6
|
+
declare class EnsureFolderIsEmptyImpl implements Abstraction.Interface {
|
|
7
|
+
private identityContext;
|
|
8
|
+
private folderLevelPermissions;
|
|
9
|
+
private listFoldersUseCase;
|
|
10
|
+
private logger;
|
|
11
|
+
constructor(identityContext: IdentityContext.Interface, folderLevelPermissions: FolderLevelPermissions.Interface, listFoldersUseCase: ListFoldersUseCase.Interface, logger: Logger.Interface);
|
|
12
|
+
execute(type: string, id: string, hasContentCallback: Abstraction.HasContentCallback): Abstraction.Return;
|
|
13
|
+
}
|
|
14
|
+
export declare const EnsureFolderIsEmpty: typeof EnsureFolderIsEmptyImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("~/features/folder/EnsureFolderIsEmpty/abstractions.js").IEnsureFolderIsEmpty>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
2
|
+
import { ListFoldersUseCase } from "../ListFolders/index.js";
|
|
3
|
+
import { EnsureFolderIsEmpty } from "./abstractions.js";
|
|
4
|
+
import { Logger } from "@webiny/api-core/exports/api/logger.js";
|
|
5
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
6
|
+
import { FolderNotAuthorizedError, FolderNotEmptyError } from "../../../domain/folder/errors.js";
|
|
7
|
+
import { Result } from "@webiny/feature/api";
|
|
8
|
+
class EnsureFolderIsEmptyImpl {
|
|
9
|
+
constructor(identityContext, folderLevelPermissions, listFoldersUseCase, logger){
|
|
10
|
+
this.identityContext = identityContext;
|
|
11
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
12
|
+
this.listFoldersUseCase = listFoldersUseCase;
|
|
13
|
+
this.logger = logger;
|
|
14
|
+
}
|
|
15
|
+
async execute(type, id, hasContentCallback) {
|
|
16
|
+
const hasFoldersCallback = async ()=>{
|
|
17
|
+
const result = await this.listFoldersUseCase.execute({
|
|
18
|
+
where: {
|
|
19
|
+
type,
|
|
20
|
+
parentId: id
|
|
21
|
+
},
|
|
22
|
+
limit: 1
|
|
23
|
+
});
|
|
24
|
+
if (result.isFail()) {
|
|
25
|
+
this.logger.error(result.error);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
const { folders } = result.value;
|
|
29
|
+
return folders.length > 0;
|
|
30
|
+
};
|
|
31
|
+
const [hasFolders, hasContent] = await Promise.all([
|
|
32
|
+
hasFoldersCallback(),
|
|
33
|
+
hasContentCallback()
|
|
34
|
+
]);
|
|
35
|
+
if (hasFolders || hasContent) return Result.fail(new FolderNotEmptyError());
|
|
36
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return Result.ok();
|
|
37
|
+
const [hasInvisibleFolders, hasInvisibleContent] = await this.identityContext.withoutAuthorization(async ()=>{
|
|
38
|
+
const [hasFolders, hasContent] = await Promise.all([
|
|
39
|
+
hasFoldersCallback(),
|
|
40
|
+
hasContentCallback()
|
|
41
|
+
]);
|
|
42
|
+
return [
|
|
43
|
+
hasFolders,
|
|
44
|
+
hasContent
|
|
45
|
+
];
|
|
46
|
+
});
|
|
47
|
+
if (hasInvisibleFolders || hasInvisibleContent) return Result.fail(new FolderNotAuthorizedError());
|
|
48
|
+
return Result.ok();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const EnsureFolderIsEmpty_EnsureFolderIsEmpty = EnsureFolderIsEmpty.createImplementation({
|
|
52
|
+
implementation: EnsureFolderIsEmptyImpl,
|
|
53
|
+
dependencies: [
|
|
54
|
+
IdentityContext,
|
|
55
|
+
FolderLevelPermissions,
|
|
56
|
+
ListFoldersUseCase,
|
|
57
|
+
Logger
|
|
58
|
+
]
|
|
59
|
+
});
|
|
60
|
+
export { EnsureFolderIsEmpty_EnsureFolderIsEmpty as EnsureFolderIsEmpty };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=EnsureFolderIsEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js","sources":["../../../../src/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.ts"],"sourcesContent":["import { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListFoldersUseCase } from \"~/features/folder/ListFolders/index.js\";\nimport { EnsureFolderIsEmpty as Abstraction } from \"~/features/folder/EnsureFolderIsEmpty/abstractions.js\";\nimport { Logger } from \"@webiny/api-core/exports/api/logger.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { FolderNotAuthorizedError, FolderNotEmptyError } from \"~/domain/folder/errors.js\";\nimport { Result } from \"@webiny/feature/api\";\n\nclass EnsureFolderIsEmptyImpl implements Abstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private listFoldersUseCase: ListFoldersUseCase.Interface,\n private logger: Logger.Interface\n ) {}\n\n async execute(\n type: string,\n id: string,\n hasContentCallback: Abstraction.HasContentCallback\n ): Abstraction.Return {\n const hasFoldersCallback = async () => {\n const result = await this.listFoldersUseCase.execute({\n where: {\n type,\n parentId: id\n },\n limit: 1\n });\n if (result.isFail()) {\n this.logger.error(result.error);\n // Report the folder as non-empty so a failed lookup cannot green-light a delete.\n return true;\n }\n\n const { folders } = result.value;\n\n return folders.length > 0;\n };\n\n const [hasFolders, hasContent] = await Promise.all([\n hasFoldersCallback(),\n hasContentCallback()\n ]);\n\n if (hasFolders || hasContent) {\n return Result.fail(new FolderNotEmptyError());\n }\n\n // Let's also check if there are folders / content that are not visible because of folder permissions.\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n // If folder level permissions are not enabled, we can skip this check. This is because\n // in that case, all folders and content are visible to the user.\n return Result.ok();\n }\n\n const [hasInvisibleFolders, hasInvisibleContent] =\n await this.identityContext.withoutAuthorization(async () => {\n const [hasFolders, hasContent] = await Promise.all([\n hasFoldersCallback(),\n hasContentCallback()\n ]);\n return [hasFolders, hasContent];\n });\n\n // In case there are invisible folders or content, we'll throw a different error.\n // This is to prevent users from deleting folders that contain content they can't see.\n if (hasInvisibleFolders || hasInvisibleContent) {\n return Result.fail(new FolderNotAuthorizedError());\n }\n\n return Result.ok();\n }\n}\n\nexport const EnsureFolderIsEmpty = Abstraction.createImplementation({\n implementation: EnsureFolderIsEmptyImpl,\n dependencies: [IdentityContext, FolderLevelPermissions, ListFoldersUseCase, Logger]\n});\n"],"names":["EnsureFolderIsEmptyImpl","identityContext","folderLevelPermissions","listFoldersUseCase","logger","type","id","hasContentCallback","hasFoldersCallback","result","folders","hasFolders","hasContent","Promise","Result","FolderNotEmptyError","hasInvisibleFolders","hasInvisibleContent","FolderNotAuthorizedError","EnsureFolderIsEmpty","Abstraction","IdentityContext","FolderLevelPermissions","ListFoldersUseCase","Logger"],"mappings":";;;;;;;AAQA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,sBAAwD,EACxDC,kBAAgD,EAChDC,MAAwB,CAClC;aAJUH,eAAe,GAAfA;aACAC,sBAAsB,GAAtBA;aACAC,kBAAkB,GAAlBA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QACFC,IAAY,EACZC,EAAU,EACVC,kBAAkD,EAChC;QAClB,MAAMC,qBAAqB;YACvB,MAAMC,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACjD,OAAO;oBACHJ;oBACA,UAAUC;gBACd;gBACA,OAAO;YACX;YACA,IAAIG,OAAO,MAAM,IAAI;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAACA,OAAO,KAAK;gBAE9B,OAAO;YACX;YAEA,MAAM,EAAEC,OAAO,EAAE,GAAGD,OAAO,KAAK;YAEhC,OAAOC,QAAQ,MAAM,GAAG;QAC5B;QAEA,MAAM,CAACC,YAAYC,WAAW,GAAG,MAAMC,QAAQ,GAAG,CAAC;YAC/CL;YACAD;SACH;QAED,IAAII,cAAcC,YACd,OAAOE,OAAO,IAAI,CAAC,IAAIC;QAI3B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IAGzD,OAAOD,OAAO,EAAE;QAGpB,MAAM,CAACE,qBAAqBC,oBAAoB,GAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC;YAC5C,MAAM,CAACN,YAAYC,WAAW,GAAG,MAAMC,QAAQ,GAAG,CAAC;gBAC/CL;gBACAD;aACH;YACD,OAAO;gBAACI;gBAAYC;aAAW;QACnC;QAIJ,IAAII,uBAAuBC,qBACvB,OAAOH,OAAO,IAAI,CAAC,IAAII;QAG3B,OAAOJ,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMK,0CAAsBC,oBAAAA,oBAAgC,CAAC;IAChE,gBAAgBpB;IAChB,cAAc;QAACqB;QAAiBC;QAAwBC;QAAoBC;KAAO;AACvF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { FolderNotAuthorizedError, FolderNotEmptyError } from "../../../domain/folder/errors.js";
|
|
3
|
+
export interface IHasContentCallback {
|
|
4
|
+
(): boolean | Promise<boolean>;
|
|
5
|
+
}
|
|
6
|
+
export interface IEnsureFolderIsEmpty {
|
|
7
|
+
execute(type: string, id: string, hasContentCallback: IHasContentCallback): Promise<Result<void, UseCaseError>>;
|
|
8
|
+
}
|
|
9
|
+
export interface IEnsureFolderIsEmptyError {
|
|
10
|
+
notAuthorized: FolderNotAuthorizedError;
|
|
11
|
+
notEmpty: FolderNotEmptyError;
|
|
12
|
+
}
|
|
13
|
+
type UseCaseError = IEnsureFolderIsEmptyError[keyof IEnsureFolderIsEmptyError];
|
|
14
|
+
/** Verify a folder has no children before deletion. */
|
|
15
|
+
export declare const EnsureFolderIsEmpty: import("@webiny/di").Abstraction<IEnsureFolderIsEmpty>;
|
|
16
|
+
export declare namespace EnsureFolderIsEmpty {
|
|
17
|
+
type Interface = IEnsureFolderIsEmpty;
|
|
18
|
+
type HasContentCallback = IHasContentCallback;
|
|
19
|
+
type Return = Promise<Result<void, UseCaseError>>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/EnsureFolderIsEmpty/abstractions.js","sources":["../../../../src/features/folder/EnsureFolderIsEmpty/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport { FolderNotAuthorizedError, FolderNotEmptyError } from \"~/domain/folder/errors.js\";\n\nexport interface IHasContentCallback {\n (): boolean | Promise<boolean>;\n}\n\nexport interface IEnsureFolderIsEmpty {\n execute(\n type: string,\n id: string,\n hasContentCallback: IHasContentCallback\n ): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IEnsureFolderIsEmptyError {\n notAuthorized: FolderNotAuthorizedError;\n notEmpty: FolderNotEmptyError;\n}\n\ntype UseCaseError = IEnsureFolderIsEmptyError[keyof IEnsureFolderIsEmptyError];\n\n/** Verify a folder has no children before deletion. */\nexport const EnsureFolderIsEmpty = createAbstraction<IEnsureFolderIsEmpty>(\"EnsureFolderIsEmpty\");\n\nexport namespace EnsureFolderIsEmpty {\n export type Interface = IEnsureFolderIsEmpty;\n export type HasContentCallback = IHasContentCallback;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n"],"names":["EnsureFolderIsEmpty","createAbstraction"],"mappings":";AAuBO,MAAMA,sBAAsBC,kBAAwC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { EnsureFolderIsEmpty } from "./EnsureFolderIsEmpty.js";
|
|
3
|
+
const EnsureFolderIsEmptyFeature = createFeature({
|
|
4
|
+
name: "EnsureFolderIsEmptyFeature",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(EnsureFolderIsEmpty);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { EnsureFolderIsEmptyFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/EnsureFolderIsEmpty/feature.js","sources":["../../../../src/features/folder/EnsureFolderIsEmpty/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { EnsureFolderIsEmpty } from \"./EnsureFolderIsEmpty.js\";\n\nexport const EnsureFolderIsEmptyFeature = createFeature({\n name: \"EnsureFolderIsEmptyFeature\",\n register(container) {\n container.register(EnsureFolderIsEmpty);\n }\n});\n"],"names":["EnsureFolderIsEmptyFeature","createFeature","container","EnsureFolderIsEmpty"],"mappings":";;AAGO,MAAMA,6BAA6BC,cAAc;IACpD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EnsureFolderIsEmpty } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EnsureFolderIsEmpty } from "./abstractions.js";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FolderBeforeDeleteEventHandler } from "../../../features/folder/DeleteFolder/abstractions.js";
|
|
2
|
+
import type { FolderBeforeDeleteEvent } from "../../../features/folder/DeleteFolder/events.js";
|
|
3
|
+
import { EnsureFolderIsEmpty } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
|
|
4
|
+
declare class GenericFolderBeforeDeleteHandlerImpl implements FolderBeforeDeleteEventHandler.Interface {
|
|
5
|
+
private ensureFolderIsEmpty;
|
|
6
|
+
constructor(ensureFolderIsEmpty: EnsureFolderIsEmpty.Interface);
|
|
7
|
+
handle(event: FolderBeforeDeleteEvent): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare const GenericFolderBeforeDeleteHandler: typeof GenericFolderBeforeDeleteHandlerImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("~/features/folder/DeleteFolder/abstractions.js").FolderBeforeDeletePayload>>>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { FolderBeforeDeleteEventHandler } from "../DeleteFolder/abstractions.js";
|
|
3
|
+
import { EnsureFolderIsEmpty } from "../EnsureFolderIsEmpty/abstractions.js";
|
|
4
|
+
class GenericFolderBeforeDeleteHandlerImpl {
|
|
5
|
+
constructor(ensureFolderIsEmpty){
|
|
6
|
+
this.ensureFolderIsEmpty = ensureFolderIsEmpty;
|
|
7
|
+
}
|
|
8
|
+
async handle(event) {
|
|
9
|
+
const { folder } = event.payload;
|
|
10
|
+
const result = await this.ensureFolderIsEmpty.execute(folder.type, folder.id, ()=>false);
|
|
11
|
+
if (result.isFail()) throw WebinyError.from(result.error, {
|
|
12
|
+
message: "Error while ensuring folder is empty before delete.",
|
|
13
|
+
code: "ACO_BEFORE_FOLDER_DELETE_FILE_HANDLER"
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const GenericFolderBeforeDeleteHandler = FolderBeforeDeleteEventHandler.createImplementation({
|
|
18
|
+
implementation: GenericFolderBeforeDeleteHandlerImpl,
|
|
19
|
+
dependencies: [
|
|
20
|
+
EnsureFolderIsEmpty
|
|
21
|
+
]
|
|
22
|
+
});
|
|
23
|
+
export { GenericFolderBeforeDeleteHandler };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=GenericFolderBeforeDeleteHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js","sources":["../../../../src/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { FolderBeforeDeleteEventHandler } from \"~/features/folder/DeleteFolder/abstractions.js\";\nimport type { FolderBeforeDeleteEvent } from \"~/features/folder/DeleteFolder/events.js\";\nimport { EnsureFolderIsEmpty } from \"~/features/folder/EnsureFolderIsEmpty/abstractions.js\";\n\nclass GenericFolderBeforeDeleteHandlerImpl implements FolderBeforeDeleteEventHandler.Interface {\n constructor(private ensureFolderIsEmpty: EnsureFolderIsEmpty.Interface) {}\n\n async handle(event: FolderBeforeDeleteEvent): Promise<void> {\n const { folder } = event.payload;\n\n const result = await this.ensureFolderIsEmpty.execute(\n folder.type,\n folder.id,\n // We can only check if a folder has child folders.\n // Content is controlled by individual apps, so content checks are implemented there.\n () => false\n );\n\n if (result.isFail()) {\n throw WebinyError.from(result.error, {\n message: \"Error while ensuring folder is empty before delete.\",\n code: \"ACO_BEFORE_FOLDER_DELETE_FILE_HANDLER\"\n });\n }\n }\n}\n\nexport const GenericFolderBeforeDeleteHandler = FolderBeforeDeleteEventHandler.createImplementation(\n {\n implementation: GenericFolderBeforeDeleteHandlerImpl,\n dependencies: [EnsureFolderIsEmpty]\n }\n);\n"],"names":["GenericFolderBeforeDeleteHandlerImpl","ensureFolderIsEmpty","event","folder","result","WebinyError","GenericFolderBeforeDeleteHandler","FolderBeforeDeleteEventHandler","EnsureFolderIsEmpty"],"mappings":";;;AAKA,MAAMA;IACF,YAAoBC,mBAAkD,CAAE;aAApDA,mBAAmB,GAAnBA;IAAqD;IAEzE,MAAM,OAAOC,KAA8B,EAAiB;QACxD,MAAM,EAAEC,MAAM,EAAE,GAAGD,MAAM,OAAO;QAEhC,MAAME,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CACjDD,OAAO,IAAI,EACXA,OAAO,EAAE,EAGT,IAAM;QAGV,IAAIC,OAAO,MAAM,IACb,MAAMC,YAAY,IAAI,CAACD,OAAO,KAAK,EAAE;YACjC,SAAS;YACT,MAAM;QACV;IAER;AACJ;AAEO,MAAME,mCAAmCC,+BAA+B,oBAAoB,CAC/F;IACI,gBAAgBP;IAChB,cAAc;QAACQ;KAAoB;AACvC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This feature checks whether a folder is allowed to be deleted.
|
|
3
|
+
* This generic check simply checks if there are child folders within the given folder.
|
|
4
|
+
* Actual content cannot be checked, as folders do not have information about their records.
|
|
5
|
+
* Individual apps (like File Manager, Headless CMS, etc.) need to implement their own event handlers.
|
|
6
|
+
*/
|
|
7
|
+
export declare const EnsureFolderIsEmptyOnDeleteFeature: {
|
|
8
|
+
name: string;
|
|
9
|
+
register(container: import("@webiny/di").Container): void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GenericFolderBeforeDeleteHandler } from "./GenericFolderBeforeDeleteHandler.js";
|
|
3
|
+
const EnsureFolderIsEmptyOnDeleteFeature = createFeature({
|
|
4
|
+
name: "EnsureFolderIsEmptyOnDelete",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(GenericFolderBeforeDeleteHandler);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { EnsureFolderIsEmptyOnDeleteFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/EnsureFolderIsEmptyOnDelete/feature.js","sources":["../../../../src/features/folder/EnsureFolderIsEmptyOnDelete/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GenericFolderBeforeDeleteHandler } from \"./GenericFolderBeforeDeleteHandler.js\";\n\n/**\n * This feature checks whether a folder is allowed to be deleted.\n * This generic check simply checks if there are child folders within the given folder.\n * Actual content cannot be checked, as folders do not have information about their records.\n * Individual apps (like File Manager, Headless CMS, etc.) need to implement their own event handlers.\n */\nexport const EnsureFolderIsEmptyOnDeleteFeature = createFeature({\n name: \"EnsureFolderIsEmptyOnDelete\",\n register(container) {\n container.register(GenericFolderBeforeDeleteHandler);\n }\n});\n"],"names":["EnsureFolderIsEmptyOnDeleteFeature","createFeature","container","GenericFolderBeforeDeleteHandler"],"mappings":";;AASO,MAAMA,qCAAqCC,cAAc;IAC5D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EnsureFolderIsEmptyOnDeleteFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EnsureFolderIsEmptyOnDeleteFeature } from "./feature.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FolderBeforeDeleteEventHandler } from "../../../features/folder/DeleteFolder/abstractions.js";
|
|
2
|
+
import type { FolderBeforeDeleteEvent } from "../../../features/folder/DeleteFolder/events.js";
|
|
3
|
+
import { EnsureFolderIsEmpty } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
|
|
4
|
+
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
5
|
+
import { ListEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
6
|
+
declare class ModelFolderBeforeDeleteHandlerImpl implements FolderBeforeDeleteEventHandler.Interface {
|
|
7
|
+
private ensureFolderIsEmpty;
|
|
8
|
+
private getModel;
|
|
9
|
+
private listEntries;
|
|
10
|
+
constructor(ensureFolderIsEmpty: EnsureFolderIsEmpty.Interface, getModel: GetModelUseCase.Interface, listEntries: ListEntriesUseCase.Interface);
|
|
11
|
+
handle(event: FolderBeforeDeleteEvent): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export declare const ModelFolderBeforeDeleteHandler: typeof ModelFolderBeforeDeleteHandlerImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("~/features/folder/DeleteFolder/abstractions.js").FolderBeforeDeletePayload>>>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { FolderBeforeDeleteEventHandler } from "../DeleteFolder/abstractions.js";
|
|
3
|
+
import { EnsureFolderIsEmpty } from "../EnsureFolderIsEmpty/abstractions.js";
|
|
4
|
+
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
5
|
+
import { ListEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
6
|
+
class ModelFolderBeforeDeleteHandlerImpl {
|
|
7
|
+
constructor(ensureFolderIsEmpty, getModel, listEntries){
|
|
8
|
+
this.ensureFolderIsEmpty = ensureFolderIsEmpty;
|
|
9
|
+
this.getModel = getModel;
|
|
10
|
+
this.listEntries = listEntries;
|
|
11
|
+
}
|
|
12
|
+
async handle(event) {
|
|
13
|
+
const { folder } = event.payload;
|
|
14
|
+
const { id, type } = folder;
|
|
15
|
+
const modelId = type.split(":")[1];
|
|
16
|
+
if (!modelId) return;
|
|
17
|
+
const modelResult = await this.getModel.execute(modelId);
|
|
18
|
+
if (modelResult.isFail()) return;
|
|
19
|
+
const result = await this.ensureFolderIsEmpty.execute(type, id, async ()=>{
|
|
20
|
+
const result = await this.listEntries.execute(modelResult.value, {
|
|
21
|
+
where: {
|
|
22
|
+
latest: true,
|
|
23
|
+
wbyAco_location: {
|
|
24
|
+
folderId: id
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
limit: 1
|
|
28
|
+
});
|
|
29
|
+
if (result.isFail()) {
|
|
30
|
+
console.error(result.error.message);
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
const { entries } = result.value;
|
|
34
|
+
return entries.length > 0;
|
|
35
|
+
});
|
|
36
|
+
if (result.isFail()) throw WebinyError.from(result.error, {
|
|
37
|
+
message: "Error while ensuring HCMS folder is empty before delete.",
|
|
38
|
+
code: "ACO_BEFORE_FOLDER_DELETE_HCMS_HANDLER"
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const ModelFolderBeforeDeleteHandler = FolderBeforeDeleteEventHandler.createImplementation({
|
|
43
|
+
implementation: ModelFolderBeforeDeleteHandlerImpl,
|
|
44
|
+
dependencies: [
|
|
45
|
+
EnsureFolderIsEmpty,
|
|
46
|
+
GetModelUseCase,
|
|
47
|
+
ListEntriesUseCase
|
|
48
|
+
]
|
|
49
|
+
});
|
|
50
|
+
export { ModelFolderBeforeDeleteHandler };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=ModelFolderBeforeDeleteHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js","sources":["../../../../src/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { FolderBeforeDeleteEventHandler } from \"~/features/folder/DeleteFolder/abstractions.js\";\nimport type { FolderBeforeDeleteEvent } from \"~/features/folder/DeleteFolder/events.js\";\nimport { EnsureFolderIsEmpty } from \"~/features/folder/EnsureFolderIsEmpty/abstractions.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { ListEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\n\nclass ModelFolderBeforeDeleteHandlerImpl implements FolderBeforeDeleteEventHandler.Interface {\n constructor(\n private ensureFolderIsEmpty: EnsureFolderIsEmpty.Interface,\n private getModel: GetModelUseCase.Interface,\n private listEntries: ListEntriesUseCase.Interface\n ) {}\n\n async handle(event: FolderBeforeDeleteEvent): Promise<void> {\n const { folder } = event.payload;\n\n const { id, type } = folder;\n\n const modelId = type.split(\":\")[1];\n if (!modelId) {\n return;\n }\n\n const modelResult = await this.getModel.execute(modelId);\n if (modelResult.isFail()) {\n return;\n }\n\n const result = await this.ensureFolderIsEmpty.execute(type, id, async () => {\n const result = await this.listEntries.execute(modelResult.value, {\n where: {\n latest: true,\n wbyAco_location: {\n folderId: id\n }\n },\n limit: 1\n });\n if (result.isFail()) {\n console.error(result.error.message);\n return true;\n }\n\n const { entries } = result.value;\n\n return entries.length > 0;\n });\n\n if (result.isFail()) {\n throw WebinyError.from(result.error, {\n message: \"Error while ensuring HCMS folder is empty before delete.\",\n code: \"ACO_BEFORE_FOLDER_DELETE_HCMS_HANDLER\"\n });\n }\n }\n}\n\nexport const ModelFolderBeforeDeleteHandler = FolderBeforeDeleteEventHandler.createImplementation({\n implementation: ModelFolderBeforeDeleteHandlerImpl,\n dependencies: [EnsureFolderIsEmpty, GetModelUseCase, ListEntriesUseCase]\n});\n"],"names":["ModelFolderBeforeDeleteHandlerImpl","ensureFolderIsEmpty","getModel","listEntries","event","folder","id","type","modelId","modelResult","result","console","entries","WebinyError","ModelFolderBeforeDeleteHandler","FolderBeforeDeleteEventHandler","EnsureFolderIsEmpty","GetModelUseCase","ListEntriesUseCase"],"mappings":";;;;;AAOA,MAAMA;IACF,YACYC,mBAAkD,EAClDC,QAAmC,EACnCC,WAAyC,CACnD;aAHUF,mBAAmB,GAAnBA;aACAC,QAAQ,GAARA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,OAAOC,KAA8B,EAAiB;QACxD,MAAM,EAAEC,MAAM,EAAE,GAAGD,MAAM,OAAO;QAEhC,MAAM,EAAEE,EAAE,EAAEC,IAAI,EAAE,GAAGF;QAErB,MAAMG,UAAUD,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE;QAClC,IAAI,CAACC,SACD;QAGJ,MAAMC,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACD;QAChD,IAAIC,YAAY,MAAM,IAClB;QAGJ,MAAMC,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAACH,MAAMD,IAAI;YAC5D,MAAMI,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACD,YAAY,KAAK,EAAE;gBAC7D,OAAO;oBACH,QAAQ;oBACR,iBAAiB;wBACb,UAAUH;oBACd;gBACJ;gBACA,OAAO;YACX;YACA,IAAII,OAAO,MAAM,IAAI;gBACjBC,QAAQ,KAAK,CAACD,OAAO,KAAK,CAAC,OAAO;gBAClC,OAAO;YACX;YAEA,MAAM,EAAEE,OAAO,EAAE,GAAGF,OAAO,KAAK;YAEhC,OAAOE,QAAQ,MAAM,GAAG;QAC5B;QAEA,IAAIF,OAAO,MAAM,IACb,MAAMG,YAAY,IAAI,CAACH,OAAO,KAAK,EAAE;YACjC,SAAS;YACT,MAAM;QACV;IAER;AACJ;AAEO,MAAMI,iCAAiCC,+BAA+B,oBAAoB,CAAC;IAC9F,gBAAgBf;IAChB,cAAc;QAACgB;QAAqBC;QAAiBC;KAAmB;AAC5E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ModelFolderBeforeDeleteHandler } from "./ModelFolderBeforeDeleteHandler.js";
|
|
3
|
+
const EnsureHcmsFolderIsEmptyOnDeleteFeature = createFeature({
|
|
4
|
+
name: "EnsureHcmsFolderIsEmptyOnDelete",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(ModelFolderBeforeDeleteHandler);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { EnsureHcmsFolderIsEmptyOnDeleteFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js","sources":["../../../../src/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ModelFolderBeforeDeleteHandler } from \"./ModelFolderBeforeDeleteHandler.js\";\n\nexport const EnsureHcmsFolderIsEmptyOnDeleteFeature = createFeature({\n name: \"EnsureHcmsFolderIsEmptyOnDelete\",\n register(container) {\n container.register(ModelFolderBeforeDeleteHandler);\n }\n});\n"],"names":["EnsureHcmsFolderIsEmptyOnDeleteFeature","createFeature","container","ModelFolderBeforeDeleteHandler"],"mappings":";;AAGO,MAAMA,yCAAyCC,cAAc;IAChE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EnsureHcmsFolderIsEmptyOnDeleteFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EnsureHcmsFolderIsEmptyOnDeleteFeature } from "./feature.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { type GetAncestorsParams, GetAncestorsRepository as RepositoryAbstraction, type IGetAncestorsRepository } from "./abstractions.js";
|
|
3
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
4
|
+
import { FolderModel } from "../../../domain/folder/abstractions.js";
|
|
5
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
6
|
+
declare class GetAncestorsRepositoryImpl implements IGetAncestorsRepository {
|
|
7
|
+
private listLatestEntries;
|
|
8
|
+
private folderModel;
|
|
9
|
+
constructor(listLatestEntries: ListLatestEntriesUseCase.Interface, folderModel: FolderModel.Interface);
|
|
10
|
+
execute(params: GetAncestorsParams): Promise<Result<Folder[], RepositoryAbstraction.Error>>;
|
|
11
|
+
}
|
|
12
|
+
export declare const GetAncestorsRepository: typeof GetAncestorsRepositoryImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<IGetAncestorsRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetAncestorsRepository } from "./abstractions.js";
|
|
3
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
4
|
+
import { FolderModel } from "../../../domain/folder/abstractions.js";
|
|
5
|
+
import { EntryToFolderMapper } from "../shared/EntryToFolderMapper.js";
|
|
6
|
+
import { FolderPersistenceError } from "../../../domain/folder/errors.js";
|
|
7
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
8
|
+
class GetAncestorsRepositoryImpl {
|
|
9
|
+
constructor(listLatestEntries, folderModel){
|
|
10
|
+
this.listLatestEntries = listLatestEntries;
|
|
11
|
+
this.folderModel = folderModel;
|
|
12
|
+
}
|
|
13
|
+
async execute(params) {
|
|
14
|
+
const { folder } = params;
|
|
15
|
+
if (!folder) return Result.ok([]);
|
|
16
|
+
if (!folder.parentId) return Result.ok([
|
|
17
|
+
folder
|
|
18
|
+
]);
|
|
19
|
+
const parts = folder.path.split("/").slice(1);
|
|
20
|
+
const paths = parts.map((_, index)=>[
|
|
21
|
+
ROOT_FOLDER,
|
|
22
|
+
...parts.slice(0, index + 1)
|
|
23
|
+
].join("/"));
|
|
24
|
+
const result = await this.listLatestEntries.execute(this.folderModel, {
|
|
25
|
+
where: {
|
|
26
|
+
values: {
|
|
27
|
+
type: folder.type,
|
|
28
|
+
path_in: paths
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
if (result.isFail()) return Result.fail(new FolderPersistenceError(result.error));
|
|
33
|
+
const { entries } = result.value;
|
|
34
|
+
const folders = entries.map((entry)=>EntryToFolderMapper.toFolder(entry));
|
|
35
|
+
const folderMap = new Map();
|
|
36
|
+
folders.forEach((f)=>folderMap.set(f.id, f));
|
|
37
|
+
const findParents = (next, current)=>{
|
|
38
|
+
if (!current) return next;
|
|
39
|
+
next.push(current);
|
|
40
|
+
if (!current.parentId) return next;
|
|
41
|
+
const parent = folderMap.get(current.parentId);
|
|
42
|
+
if (!parent) return next;
|
|
43
|
+
return findParents(next, parent);
|
|
44
|
+
};
|
|
45
|
+
const ancestors = findParents([], folder);
|
|
46
|
+
return Result.ok(ancestors);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const GetAncestorsRepository_GetAncestorsRepository = GetAncestorsRepository.createImplementation({
|
|
50
|
+
implementation: GetAncestorsRepositoryImpl,
|
|
51
|
+
dependencies: [
|
|
52
|
+
ListLatestEntriesUseCase,
|
|
53
|
+
FolderModel
|
|
54
|
+
]
|
|
55
|
+
});
|
|
56
|
+
export { GetAncestorsRepository_GetAncestorsRepository as GetAncestorsRepository };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=GetAncestorsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folder/GetAncestors/GetAncestorsRepository.js","sources":["../../../../src/features/folder/GetAncestors/GetAncestorsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n type GetAncestorsParams,\n GetAncestorsRepository as RepositoryAbstraction,\n type IGetAncestorsRepository\n} from \"./abstractions.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport { FolderModel } from \"~/domain/folder/abstractions.js\";\nimport type { CmsEntryFolder, Folder } from \"~/folder/folder.types.js\";\nimport { EntryToFolderMapper } from \"../shared/EntryToFolderMapper.js\";\nimport { FolderPersistenceError } from \"~/domain/folder/errors.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\nclass GetAncestorsRepositoryImpl implements IGetAncestorsRepository {\n constructor(\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private folderModel: FolderModel.Interface\n ) {}\n\n async execute(\n params: GetAncestorsParams\n ): Promise<Result<Folder[], RepositoryAbstraction.Error>> {\n const { folder } = params;\n\n // No folder found: return an empty array\n if (!folder) {\n return Result.ok([]);\n }\n\n // The folder has no parent (it's at root level): return an array with the folder\n if (!folder.parentId) {\n return Result.ok([folder]);\n }\n\n // Construct paths for all ancestors of the folder\n const parts = folder.path.split(\"/\").slice(1);\n const paths = parts.map((_, index) => {\n return [ROOT_FOLDER, ...parts.slice(0, index + 1)].join(\"/\");\n });\n\n // Retrieve all folders that match the specified type and any of the constructed paths\n const result = await this.listLatestEntries.execute<CmsEntryFolder>(this.folderModel, {\n where: {\n values: {\n type: folder.type,\n path_in: paths\n }\n }\n });\n\n if (result.isFail()) {\n return Result.fail(new FolderPersistenceError(result.error));\n }\n\n const { entries } = result.value;\n const folders = entries.map(entry => EntryToFolderMapper.toFolder(entry));\n\n // Create a Map with folders, using folder.id as key\n const folderMap = new Map<string, Folder>();\n folders.forEach(f => folderMap.set(f.id, f));\n\n const findParents = (next: Folder[], current: Folder): Folder[] => {\n // No folder found: return the result\n if (!current) {\n return next;\n }\n\n // Push the current folder into the accumulator array\n next.push(current);\n\n // No parentId found: return the result\n if (!current.parentId) {\n return next;\n }\n\n const parent = folderMap.get(current.parentId);\n\n // No parent found: return the result\n if (!parent) {\n return next;\n }\n\n // Go ahead and find parent for the current parent\n return findParents(next, parent);\n };\n\n // Recursively find parents for a given folder id\n const ancestors = findParents([], folder);\n return Result.ok(ancestors);\n }\n}\n\nexport const GetAncestorsRepository = RepositoryAbstraction.createImplementation({\n implementation: GetAncestorsRepositoryImpl,\n dependencies: [ListLatestEntriesUseCase, FolderModel]\n});\n"],"names":["GetAncestorsRepositoryImpl","listLatestEntries","folderModel","params","folder","Result","parts","paths","_","index","ROOT_FOLDER","result","FolderPersistenceError","entries","folders","entry","EntryToFolderMapper","folderMap","Map","f","findParents","next","current","parent","ancestors","GetAncestorsRepository","RepositoryAbstraction","ListLatestEntriesUseCase","FolderModel"],"mappings":";;;;;;;AAaA,MAAMA;IACF,YACYC,iBAAqD,EACrDC,WAAkC,CAC5C;aAFUD,iBAAiB,GAAjBA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,QACFC,MAA0B,EAC4B;QACtD,MAAM,EAAEC,MAAM,EAAE,GAAGD;QAGnB,IAAI,CAACC,QACD,OAAOC,OAAO,EAAE,CAAC,EAAE;QAIvB,IAAI,CAACD,OAAO,QAAQ,EAChB,OAAOC,OAAO,EAAE,CAAC;YAACD;SAAO;QAI7B,MAAME,QAAQF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;QAC3C,MAAMG,QAAQD,MAAM,GAAG,CAAC,CAACE,GAAGC,QACjB;gBAACC;mBAAgBJ,MAAM,KAAK,CAAC,GAAGG,QAAQ;aAAG,CAAC,IAAI,CAAC;QAI5D,MAAME,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAiB,IAAI,CAAC,WAAW,EAAE;YAClF,OAAO;gBACH,QAAQ;oBACJ,MAAMP,OAAO,IAAI;oBACjB,SAASG;gBACb;YACJ;QACJ;QAEA,IAAII,OAAO,MAAM,IACb,OAAON,OAAO,IAAI,CAAC,IAAIO,uBAAuBD,OAAO,KAAK;QAG9D,MAAM,EAAEE,OAAO,EAAE,GAAGF,OAAO,KAAK;QAChC,MAAMG,UAAUD,QAAQ,GAAG,CAACE,CAAAA,QAASC,oBAAoB,QAAQ,CAACD;QAGlE,MAAME,YAAY,IAAIC;QACtBJ,QAAQ,OAAO,CAACK,CAAAA,IAAKF,UAAU,GAAG,CAACE,EAAE,EAAE,EAAEA;QAEzC,MAAMC,cAAc,CAACC,MAAgBC;YAEjC,IAAI,CAACA,SACD,OAAOD;YAIXA,KAAK,IAAI,CAACC;YAGV,IAAI,CAACA,QAAQ,QAAQ,EACjB,OAAOD;YAGX,MAAME,SAASN,UAAU,GAAG,CAACK,QAAQ,QAAQ;YAG7C,IAAI,CAACC,QACD,OAAOF;YAIX,OAAOD,YAAYC,MAAME;QAC7B;QAGA,MAAMC,YAAYJ,YAAY,EAAE,EAAEhB;QAClC,OAAOC,OAAO,EAAE,CAACmB;IACrB;AACJ;AAEO,MAAMC,gDAAyBC,uBAAAA,oBAA0C,CAAC;IAC7E,gBAAgB1B;IAChB,cAAc;QAAC2B;QAA0BC;KAAY;AACzD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetAncestorsUseCase as UseCaseAbstraction, GetAncestorsRepository, type GetAncestorsParams } from "./abstractions.js";
|
|
3
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
4
|
+
declare class GetAncestorsUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
5
|
+
private repository;
|
|
6
|
+
constructor(repository: GetAncestorsRepository.Interface);
|
|
7
|
+
execute(params: GetAncestorsParams): Promise<Result<Folder[], UseCaseAbstraction.Error>>;
|
|
8
|
+
}
|
|
9
|
+
export declare const GetAncestorsUseCase: import("@webiny/di").Implementation<typeof GetAncestorsUseCaseImpl>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { GetAncestorsRepository, GetAncestorsUseCase } from "./abstractions.js";
|
|
2
|
+
import { createImplementation } from "@webiny/di";
|
|
3
|
+
class GetAncestorsUseCaseImpl {
|
|
4
|
+
constructor(repository){
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async execute(params) {
|
|
8
|
+
return await this.repository.execute(params);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const GetAncestorsUseCase_GetAncestorsUseCase = createImplementation({
|
|
12
|
+
abstraction: GetAncestorsUseCase,
|
|
13
|
+
implementation: GetAncestorsUseCaseImpl,
|
|
14
|
+
dependencies: [
|
|
15
|
+
GetAncestorsRepository
|
|
16
|
+
]
|
|
17
|
+
});
|
|
18
|
+
export { GetAncestorsUseCase_GetAncestorsUseCase as GetAncestorsUseCase };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=GetAncestorsUseCase.js.map
|