@webiny/api-aco 6.0.0-alpha.5 → 6.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -28
- package/constants.d.ts +0 -1
- package/constants.js +2 -24
- package/constants.js.map +1 -1
- package/createAcoContext.d.ts +2 -2
- package/createAcoContext.js +99 -88
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +1 -1
- package/createAcoGraphQL.js +20 -72
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoStorageOperations.d.ts +6 -5
- package/createAcoStorageOperations.js +5 -19
- package/createAcoStorageOperations.js.map +1 -1
- package/createAcoTasks.d.ts +1 -1
- package/createAcoTasks.js +12 -10
- package/createAcoTasks.js.map +1 -1
- package/domain/folder/abstractions.d.ts +9 -0
- package/domain/folder/abstractions.js +8 -0
- package/domain/folder/abstractions.js.map +1 -0
- package/domain/folder/errors.d.ts +29 -0
- package/domain/folder/errors.js +56 -0
- package/domain/folder/errors.js.map +1 -0
- package/domain/folder/folder.model.d.ts +9 -0
- package/domain/folder/folder.model.js +42 -0
- package/domain/folder/folder.model.js.map +1 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +43 -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 +36 -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 +43 -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 +45 -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 +41 -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 +41 -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 +45 -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 +44 -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 +35 -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 +63 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +15 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +43 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/feature.d.ts +1 -0
- package/features/cms/feature.js +43 -0
- package/features/cms/feature.js.map +1 -0
- package/features/cms/index.d.ts +1 -0
- package/features/cms/index.js +3 -0
- package/features/cms/index.js.map +1 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js +41 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
- package/features/flp/CreateFlp/abstractions.d.ts +8 -0
- package/features/flp/CreateFlp/abstractions.js +7 -0
- package/features/flp/CreateFlp/abstractions.js.map +1 -0
- package/features/flp/CreateFlp/feature.d.ts +6 -0
- package/features/flp/CreateFlp/feature.js +13 -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 +4 -0
- package/features/flp/CreateFlp/index.js.map +1 -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 +1 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js +10 -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 +3 -0
- package/features/flp/CreateFlpOnFolderCreated/index.js.map +1 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js +23 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
- package/features/flp/DeleteFlp/abstractions.d.ts +8 -0
- package/features/flp/DeleteFlp/abstractions.js +7 -0
- package/features/flp/DeleteFlp/abstractions.js.map +1 -0
- package/features/flp/DeleteFlp/feature.d.ts +6 -0
- package/features/flp/DeleteFlp/feature.js +13 -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 +4 -0
- package/features/flp/DeleteFlp/index.js.map +1 -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 +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js +10 -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 +3 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +133 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
- package/{flp/FolderLevelPermissions/index.d.ts → features/flp/FolderLevelPermissions/abstractions.d.ts} +10 -18
- package/features/flp/FolderLevelPermissions/abstractions.js +4 -0
- package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/feature.d.ts +1 -0
- package/features/flp/FolderLevelPermissions/feature.js +10 -0
- package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
- package/features/flp/FolderLevelPermissions/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/index.js +4 -0
- package/features/flp/FolderLevelPermissions/index.js.map +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +4 -4
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +4 -11
- 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 +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +4 -4
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +4 -11
- 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 +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +1 -1
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +3 -3
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +7 -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 +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +1 -8
- 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 +13 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
- package/{flp → features/flp}/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +10 -14
- 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 +3 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +4 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/index.js +7 -0
- package/features/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
- package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
- package/features/flp/GetFlp/GetFlpUseCase.js +10 -0
- package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
- package/features/flp/GetFlp/abstractions.d.ts +8 -0
- package/features/flp/GetFlp/abstractions.js +4 -0
- package/features/flp/GetFlp/abstractions.js.map +1 -0
- package/features/flp/GetFlp/feature.d.ts +1 -0
- package/features/flp/GetFlp/feature.js +13 -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 +3 -0
- package/features/flp/GetFlp/index.js.map +1 -0
- package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js +10 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
- package/features/flp/ListFlps/abstractions.d.ts +16 -0
- package/features/flp/ListFlps/abstractions.js +4 -0
- package/features/flp/ListFlps/abstractions.js.map +1 -0
- package/features/flp/ListFlps/feature.d.ts +1 -0
- package/features/flp/ListFlps/feature.js +13 -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 +3 -0
- package/features/flp/ListFlps/index.js.map +1 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +19 -0
- package/{flp/useCases/UpdateFlp.js → features/flp/UpdateFlp/UpdateFlpUseCase.js} +48 -43
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
- package/features/flp/UpdateFlp/abstractions.d.ts +14 -0
- package/features/flp/UpdateFlp/abstractions.js +7 -0
- package/features/flp/UpdateFlp/abstractions.js.map +1 -0
- package/features/flp/UpdateFlp/feature.d.ts +6 -0
- package/features/flp/UpdateFlp/feature.js +13 -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 +4 -0
- package/features/flp/UpdateFlp/index.js.map +1 -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 +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js +10 -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 +3 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +1 -0
- package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js +108 -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 +39 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
- package/features/folder/CreateFolder/abstractions.d.ts +55 -0
- package/features/folder/CreateFolder/abstractions.js +21 -0
- package/features/folder/CreateFolder/abstractions.js.map +1 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
- package/{folder/useCases/CreateFolder → features/folder/CreateFolder/decorators}/CreateFolderWithFolderLevelPermissions.js +18 -13
- 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 +19 -0
- package/features/folder/CreateFolder/events.js.map +1 -0
- package/features/folder/CreateFolder/feature.d.ts +1 -0
- package/features/folder/CreateFolder/feature.js +14 -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 +4 -0
- package/features/folder/CreateFolder/index.js.map +1 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js +30 -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 +55 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
- package/features/folder/DeleteFolder/abstractions.d.ts +55 -0
- package/features/folder/DeleteFolder/abstractions.js +21 -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 +28 -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 +19 -0
- package/features/folder/DeleteFolder/events.js.map +1 -0
- package/features/folder/DeleteFolder/feature.d.ts +1 -0
- package/features/folder/DeleteFolder/feature.js +14 -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 +4 -0
- package/features/folder/DeleteFolder/index.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +56 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +20 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js +4 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js +10 -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 +3 -0
- package/features/folder/EnsureFolderIsEmpty/index.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +29 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +7 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +17 -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 +3 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +56 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +10 -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 +3 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +1 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js +88 -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 +17 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
- package/features/folder/GetAncestors/abstractions.d.ts +38 -0
- package/features/folder/GetAncestors/abstractions.js +15 -0
- package/features/folder/GetAncestors/abstractions.js.map +1 -0
- package/features/folder/GetAncestors/feature.d.ts +1 -0
- package/features/folder/GetAncestors/feature.js +12 -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 +4 -0
- package/features/folder/GetAncestors/index.js.map +1 -0
- package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
- package/features/folder/GetFolder/GetFolderRepository.js +31 -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 +17 -0
- package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
- package/features/folder/GetFolder/abstractions.d.ts +54 -0
- package/features/folder/GetFolder/abstractions.js +21 -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 +37 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolder/feature.d.ts +1 -0
- package/features/folder/GetFolder/feature.js +14 -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 +4 -0
- package/features/folder/GetFolder/index.js.map +1 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +103 -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 +17 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
- package/features/folder/GetFolderHierarchy/abstractions.d.ts +36 -0
- package/features/folder/GetFolderHierarchy/abstractions.js +15 -0
- package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
- package/{folder/useCases/GetFolderHierarchy → features/folder/GetFolderHierarchy/decorators}/GetFolderHierarchyWithFolderLevelPermissions.js +18 -13
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/feature.d.ts +1 -0
- package/features/folder/GetFolderHierarchy/feature.js +14 -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 +4 -0
- package/features/folder/GetFolderHierarchy/index.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +68 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +10 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +7 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js +10 -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 +3 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +1 -0
- package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
- package/features/folder/ListFolders/ListFoldersRepository.js +54 -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 +17 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
- package/features/folder/ListFolders/abstractions.d.ts +42 -0
- package/features/folder/ListFolders/abstractions.js +15 -0
- package/features/folder/ListFolders/abstractions.js.map +1 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
- package/{folder/useCases/ListFolders → features/folder/ListFolders/decorators}/ListFoldersWithFolderLevelPermissions.js +24 -14
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/ListFolders/feature.d.ts +1 -0
- package/features/folder/ListFolders/feature.js +14 -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 +4 -0
- package/features/folder/ListFolders/index.js.map +1 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js +110 -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 +55 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
- package/features/folder/UpdateFolder/abstractions.d.ts +60 -0
- package/features/folder/UpdateFolder/abstractions.js +21 -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 +77 -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 +19 -0
- package/features/folder/UpdateFolder/events.js.map +1 -0
- package/features/folder/UpdateFolder/feature.d.ts +1 -0
- package/features/folder/UpdateFolder/feature.js +14 -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 +4 -0
- package/features/folder/UpdateFolder/index.js.map +1 -0
- package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
- package/features/folder/shared/EntryToFolderMapper.js +22 -0
- package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
- package/features/folder/shared/abstractions.d.ts +5 -0
- package/features/folder/shared/abstractions.js +4 -0
- package/features/folder/shared/abstractions.js.map +1 -0
- package/filter/filter.crud.d.ts +2 -2
- package/filter/filter.crud.js +3 -64
- package/filter/filter.crud.js.map +1 -1
- package/filter/filter.gql.d.ts +2 -2
- package/filter/filter.gql.js +16 -22
- package/filter/filter.gql.js.map +1 -1
- package/filter/filter.model.d.ts +9 -2
- package/filter/filter.model.js +38 -121
- package/filter/filter.model.js.map +1 -1
- package/filter/filter.so.d.ts +2 -2
- package/filter/filter.so.js +38 -32
- package/filter/filter.so.js.map +1 -1
- package/filter/filter.types.d.ts +1 -29
- package/filter/filter.types.js +1 -7
- package/filter/filter.types.js.map +1 -1
- package/flp/flp.crud.d.ts +3 -5
- package/flp/flp.crud.js +17 -98
- package/flp/flp.crud.js.map +1 -1
- package/flp/flp.so.d.ts +4 -10
- package/flp/flp.so.js +51 -135
- package/flp/flp.so.js.map +1 -1
- package/flp/flp.types.d.ts +3 -57
- package/flp/flp.types.js +1 -16
- package/flp/flp.types.js.map +1 -1
- package/flp/index.d.ts +3 -5
- package/flp/index.js +3 -60
- package/flp/index.js.map +1 -1
- package/flp/tasks/createFlp.task.d.ts +16 -2
- package/flp/tasks/createFlp.task.js +31 -45
- package/flp/tasks/createFlp.task.js.map +1 -1
- package/flp/tasks/deleteFlp.task.d.ts +16 -2
- package/flp/tasks/deleteFlp.task.js +31 -45
- package/flp/tasks/deleteFlp.task.js.map +1 -1
- package/flp/tasks/index.d.ts +1 -1
- package/flp/tasks/index.js +16 -17
- package/flp/tasks/index.js.map +1 -1
- package/flp/tasks/syncFlp.task.d.ts +20 -2
- package/flp/tasks/syncFlp.task.js +111 -110
- package/flp/tasks/syncFlp.task.js.map +1 -1
- package/flp/tasks/updateFlp.task.d.ts +16 -2
- package/flp/tasks/updateFlp.task.js +36 -51
- package/flp/tasks/updateFlp.task.js.map +1 -1
- package/folder/createFolderModelModifier.d.ts +1 -1
- package/folder/createFolderModelModifier.js +8 -17
- package/folder/createFolderModelModifier.js.map +1 -1
- package/folder/createFolderTypeDefs.d.ts +1 -1
- package/folder/createFolderTypeDefs.js +8 -29
- package/folder/createFolderTypeDefs.js.map +1 -1
- package/folder/folder.gql.d.ts +3 -3
- package/folder/folder.gql.js +90 -73
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +12 -84
- package/folder/folder.types.js +1 -5
- package/folder/folder.types.js.map +1 -1
- package/index.d.ts +4 -8
- package/index.js +7 -75
- package/index.js.map +1 -1
- package/package.json +43 -37
- package/types.d.ts +16 -79
- package/types.js +2 -65
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +2 -2
- package/utils/FoldersCacheFactory.js +4 -11
- package/utils/FoldersCacheFactory.js.map +1 -1
- package/utils/ListCache.js +3 -11
- package/utils/ListCache.js.map +1 -1
- package/utils/Path.js +3 -10
- package/utils/Path.js.map +1 -1
- package/utils/acoRecordId.js +2 -10
- package/utils/acoRecordId.js.map +1 -1
- package/utils/compress.js +3 -10
- package/utils/compress.js.map +1 -1
- package/utils/createListSort.d.ts +2 -2
- package/utils/createListSort.js +1 -8
- package/utils/createListSort.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +2 -2
- package/utils/createOperationsWrapper.js +7 -12
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +2 -2
- package/utils/decorators/CmsEntriesCrudDecorators.js +34 -38
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
- package/utils/decorators/FilterEntriesByFolderFactory.d.ts +3 -3
- package/utils/decorators/FilterEntriesByFolderFactory.js +3 -10
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
- package/utils/decorators/ListEntriesFactory.d.ts +8 -7
- package/utils/decorators/ListEntriesFactory.js +24 -25
- package/utils/decorators/ListEntriesFactory.js.map +1 -1
- package/utils/decorators/hasRootFolderId.d.ts +1 -1
- package/utils/decorators/hasRootFolderId.js +7 -15
- package/utils/decorators/hasRootFolderId.js.map +1 -1
- package/utils/decorators/isPageModel.d.ts +1 -1
- package/utils/decorators/isPageModel.js +1 -8
- package/utils/decorators/isPageModel.js.map +1 -1
- package/utils/ensureAuthentication.d.ts +2 -2
- package/utils/ensureAuthentication.js +8 -12
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +1 -1
- package/utils/pickEntryFieldValues.js +3 -10
- package/utils/pickEntryFieldValues.js.map +1 -1
- package/utils/resolve.d.ts +1 -2
- package/utils/resolve.js +4 -20
- 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/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.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.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/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.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.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/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/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.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/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.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.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.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/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
- /package/{flp → features/flp}/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
import { DeleteFolderUseCase as UseCaseAbstraction, DeleteFolderRepository } from "./abstractions.js";
|
|
4
|
+
import { GetFolderRepository } from "../GetFolder/abstractions.js";
|
|
5
|
+
import { FolderBeforeDeleteEvent, FolderAfterDeleteEvent } from "./events.js";
|
|
6
|
+
import { createImplementation } from "@webiny/di";
|
|
7
|
+
import { FolderNotAuthorizedError, FolderNotEmptyError } from "../../../domain/folder/errors.js";
|
|
8
|
+
class DeleteFolderUseCaseImpl {
|
|
9
|
+
constructor(eventPublisher, getFolderRepository, repository) {
|
|
10
|
+
this.eventPublisher = eventPublisher;
|
|
11
|
+
this.getFolderRepository = getFolderRepository;
|
|
12
|
+
this.repository = repository;
|
|
13
|
+
}
|
|
14
|
+
async execute(id) {
|
|
15
|
+
// Get the folder before deletion
|
|
16
|
+
const getFolderResult = await this.getFolderRepository.execute(id);
|
|
17
|
+
if (getFolderResult.isFail()) {
|
|
18
|
+
return Result.fail(getFolderResult.error);
|
|
19
|
+
}
|
|
20
|
+
const folder = getFolderResult.value;
|
|
21
|
+
|
|
22
|
+
// Publish before delete event
|
|
23
|
+
const beforeDeleteEvent = new FolderBeforeDeleteEvent({
|
|
24
|
+
folder
|
|
25
|
+
});
|
|
26
|
+
try {
|
|
27
|
+
await this.eventPublisher.publish(beforeDeleteEvent);
|
|
28
|
+
} catch (err) {
|
|
29
|
+
if (err.code === "Aco/Folder/NotEmpty") {
|
|
30
|
+
return Result.fail(new FolderNotEmptyError());
|
|
31
|
+
}
|
|
32
|
+
return Result.fail(new FolderNotAuthorizedError());
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Execute the delete operation
|
|
36
|
+
const result = await this.repository.execute(folder);
|
|
37
|
+
if (result.isFail()) {
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Publish after delete event
|
|
42
|
+
const afterDeleteEvent = new FolderAfterDeleteEvent({
|
|
43
|
+
folder
|
|
44
|
+
});
|
|
45
|
+
await this.eventPublisher.publish(afterDeleteEvent);
|
|
46
|
+
return Result.ok();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export const DeleteFolderUseCase = createImplementation({
|
|
50
|
+
abstraction: UseCaseAbstraction,
|
|
51
|
+
implementation: DeleteFolderUseCaseImpl,
|
|
52
|
+
dependencies: [EventPublisher, GetFolderRepository, DeleteFolderRepository]
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=DeleteFolderUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","EventPublisher","DeleteFolderUseCase","UseCaseAbstraction","DeleteFolderRepository","GetFolderRepository","FolderBeforeDeleteEvent","FolderAfterDeleteEvent","createImplementation","FolderNotAuthorizedError","FolderNotEmptyError","DeleteFolderUseCaseImpl","constructor","eventPublisher","getFolderRepository","repository","execute","id","getFolderResult","isFail","fail","error","folder","value","beforeDeleteEvent","publish","err","code","result","afterDeleteEvent","ok","abstraction","implementation","dependencies"],"sources":["DeleteFolderUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/EventPublisher\";\nimport {\n DeleteFolderUseCase as UseCaseAbstraction,\n DeleteFolderRepository\n} from \"./abstractions.js\";\nimport { GetFolderRepository } from \"../GetFolder/abstractions.js\";\nimport { FolderBeforeDeleteEvent, FolderAfterDeleteEvent } from \"./events.js\";\nimport { createImplementation } from \"@webiny/di\";\nimport { FolderNotAuthorizedError, FolderNotEmptyError } from \"~/domain/folder/errors.js\";\n\nclass DeleteFolderUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getFolderRepository: GetFolderRepository.Interface,\n private repository: DeleteFolderRepository.Interface\n ) {}\n\n async execute(id: string): Promise<Result<void, UseCaseAbstraction.Error>> {\n // Get the folder before deletion\n const getFolderResult = await this.getFolderRepository.execute(id);\n\n if (getFolderResult.isFail()) {\n return Result.fail(getFolderResult.error);\n }\n\n const folder = getFolderResult.value;\n\n // Publish before delete event\n const beforeDeleteEvent = new FolderBeforeDeleteEvent({\n folder\n });\n\n try {\n await this.eventPublisher.publish(beforeDeleteEvent);\n } catch (err) {\n if (err.code === \"Aco/Folder/NotEmpty\") {\n return Result.fail(new FolderNotEmptyError());\n }\n return Result.fail(new FolderNotAuthorizedError());\n }\n\n // Execute the delete operation\n const result = await this.repository.execute(folder);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after delete event\n const afterDeleteEvent = new FolderAfterDeleteEvent({\n folder\n });\n\n await this.eventPublisher.publish(afterDeleteEvent);\n\n return Result.ok();\n }\n}\n\nexport const DeleteFolderUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteFolderUseCaseImpl,\n dependencies: [EventPublisher, GetFolderRepository, DeleteFolderRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,cAAc,QAEX,0CAA0C;AACjD,SACIC,mBAAmB,IAAIC,kBAAkB,EACzCC,sBAAsB;AAE1B,SAASC,mBAAmB;AAC5B,SAASC,uBAAuB,EAAEC,sBAAsB;AACxD,SAASC,oBAAoB,QAAQ,YAAY;AACjD,SAASC,wBAAwB,EAAEC,mBAAmB;AAEtD,MAAMC,uBAAuB,CAAyC;EAClEC,WAAWA,CACCC,cAAmD,EACnDC,mBAAkD,EAClDC,UAA4C,EACtD;IAAA,KAHUF,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,mBAAkD,GAAlDA,mBAAkD;IAAA,KAClDC,UAA4C,GAA5CA,UAA4C;EACrD;EAEH,MAAMC,OAAOA,CAACC,EAAU,EAAmD;IACvE;IACA,MAAMC,eAAe,GAAG,MAAM,IAAI,CAACJ,mBAAmB,CAACE,OAAO,CAACC,EAAE,CAAC;IAElE,IAAIC,eAAe,CAACC,MAAM,CAAC,CAAC,EAAE;MAC1B,OAAOnB,MAAM,CAACoB,IAAI,CAACF,eAAe,CAACG,KAAK,CAAC;IAC7C;IAEA,MAAMC,MAAM,GAAGJ,eAAe,CAACK,KAAK;;IAEpC;IACA,MAAMC,iBAAiB,GAAG,IAAIlB,uBAAuB,CAAC;MAClDgB;IACJ,CAAC,CAAC;IAEF,IAAI;MACA,MAAM,IAAI,CAACT,cAAc,CAACY,OAAO,CAACD,iBAAiB,CAAC;IACxD,CAAC,CAAC,OAAOE,GAAG,EAAE;MACV,IAAIA,GAAG,CAACC,IAAI,KAAK,qBAAqB,EAAE;QACpC,OAAO3B,MAAM,CAACoB,IAAI,CAAC,IAAIV,mBAAmB,CAAC,CAAC,CAAC;MACjD;MACA,OAAOV,MAAM,CAACoB,IAAI,CAAC,IAAIX,wBAAwB,CAAC,CAAC,CAAC;IACtD;;IAEA;IACA,MAAMmB,MAAM,GAAG,MAAM,IAAI,CAACb,UAAU,CAACC,OAAO,CAACM,MAAM,CAAC;IAEpD,IAAIM,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;;IAEA;IACA,MAAMC,gBAAgB,GAAG,IAAItB,sBAAsB,CAAC;MAChDe;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACT,cAAc,CAACY,OAAO,CAACI,gBAAgB,CAAC;IAEnD,OAAO7B,MAAM,CAAC8B,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAM5B,mBAAmB,GAAGM,oBAAoB,CAAC;EACpDuB,WAAW,EAAE5B,kBAAkB;EAC/B6B,cAAc,EAAErB,uBAAuB;EACvCsB,YAAY,EAAE,CAAChC,cAAc,EAAEI,mBAAmB,EAAED,sBAAsB;AAC9E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { DomainEvent, IEventHandler } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
4
|
+
import { type FolderNotAuthorizedError, FolderNotEmptyError, type FolderNotFoundError, type FolderPersistenceError } from "../../../domain/folder/errors.js";
|
|
5
|
+
/**
|
|
6
|
+
* DeleteFolder repository interface
|
|
7
|
+
*/
|
|
8
|
+
export interface IDeleteFolderRepository {
|
|
9
|
+
execute(folder: Folder): Promise<Result<void, RepositoryError>>;
|
|
10
|
+
}
|
|
11
|
+
export interface IDeleteFolderRepositoryErrors {
|
|
12
|
+
notAuthorized: FolderNotAuthorizedError;
|
|
13
|
+
persistence: FolderPersistenceError;
|
|
14
|
+
}
|
|
15
|
+
type RepositoryError = IDeleteFolderRepositoryErrors[keyof IDeleteFolderRepositoryErrors];
|
|
16
|
+
export declare const DeleteFolderRepository: import("@webiny/di").Abstraction<IDeleteFolderRepository>;
|
|
17
|
+
export declare namespace DeleteFolderRepository {
|
|
18
|
+
type Interface = IDeleteFolderRepository;
|
|
19
|
+
type Error = RepositoryError;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* DeleteFolder use case interface
|
|
23
|
+
*/
|
|
24
|
+
export interface IDeleteFolderUseCase {
|
|
25
|
+
execute(id: string): Promise<Result<void, UseCaseError>>;
|
|
26
|
+
}
|
|
27
|
+
export interface IDeleteFolderUseCaseErrors {
|
|
28
|
+
notAuthorized: FolderNotAuthorizedError;
|
|
29
|
+
notFound: FolderNotFoundError;
|
|
30
|
+
notEmpty: FolderNotEmptyError;
|
|
31
|
+
persistence: FolderPersistenceError;
|
|
32
|
+
}
|
|
33
|
+
type UseCaseError = IDeleteFolderUseCaseErrors[keyof IDeleteFolderUseCaseErrors];
|
|
34
|
+
export declare const DeleteFolderUseCase: import("@webiny/di").Abstraction<IDeleteFolderUseCase>;
|
|
35
|
+
export declare namespace DeleteFolderUseCase {
|
|
36
|
+
type Interface = IDeleteFolderUseCase;
|
|
37
|
+
type Error = UseCaseError;
|
|
38
|
+
}
|
|
39
|
+
export interface FolderBeforeDeletePayload {
|
|
40
|
+
folder: Folder;
|
|
41
|
+
}
|
|
42
|
+
export interface FolderAfterDeletePayload {
|
|
43
|
+
folder: Folder;
|
|
44
|
+
}
|
|
45
|
+
export declare const FolderBeforeDeleteHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderBeforeDeletePayload>>>;
|
|
46
|
+
export declare namespace FolderBeforeDeleteHandler {
|
|
47
|
+
type Interface = IEventHandler<DomainEvent<FolderBeforeDeletePayload>>;
|
|
48
|
+
type Event = DomainEvent<FolderBeforeDeletePayload>;
|
|
49
|
+
}
|
|
50
|
+
export declare const FolderAfterDeleteHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderAfterDeletePayload>>>;
|
|
51
|
+
export declare namespace FolderAfterDeleteHandler {
|
|
52
|
+
type Interface = IEventHandler<DomainEvent<FolderAfterDeletePayload>>;
|
|
53
|
+
type Event = DomainEvent<FolderAfterDeletePayload>;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* DeleteFolder repository interface
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const DeleteFolderRepository = createAbstraction("DeleteFolderRepository");
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* DeleteFolder use case interface
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export const DeleteFolderUseCase = createAbstraction("DeleteFolderUseCase");
|
|
14
|
+
|
|
15
|
+
// Event Payload Types
|
|
16
|
+
|
|
17
|
+
// Event Handler Abstractions
|
|
18
|
+
export const FolderBeforeDeleteHandler = createAbstraction("FolderBeforeDeleteHandler");
|
|
19
|
+
export const FolderAfterDeleteHandler = createAbstraction("FolderAfterDeleteHandler");
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","DeleteFolderRepository","DeleteFolderUseCase","FolderBeforeDeleteHandler","FolderAfterDeleteHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport {\n type FolderNotAuthorizedError,\n FolderNotEmptyError,\n type FolderNotFoundError,\n type FolderPersistenceError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * DeleteFolder repository interface\n */\nexport interface IDeleteFolderRepository {\n execute(folder: Folder): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteFolderRepositoryErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IDeleteFolderRepositoryErrors[keyof IDeleteFolderRepositoryErrors];\n\nexport const DeleteFolderRepository =\n createAbstraction<IDeleteFolderRepository>(\"DeleteFolderRepository\");\n\nexport namespace DeleteFolderRepository {\n export type Interface = IDeleteFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * DeleteFolder use case interface\n */\nexport interface IDeleteFolderUseCase {\n execute(id: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n notFound: FolderNotFoundError;\n notEmpty: FolderNotEmptyError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IDeleteFolderUseCaseErrors[keyof IDeleteFolderUseCaseErrors];\n\nexport const DeleteFolderUseCase = createAbstraction<IDeleteFolderUseCase>(\"DeleteFolderUseCase\");\n\nexport namespace DeleteFolderUseCase {\n export type Interface = IDeleteFolderUseCase;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeDeletePayload {\n folder: Folder;\n}\n\nexport interface FolderAfterDeletePayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\nexport const FolderBeforeDeleteHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeDeletePayload>>\n>(\"FolderBeforeDeleteHandler\");\n\nexport namespace FolderBeforeDeleteHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeDeletePayload>>;\n export type Event = DomainEvent<FolderBeforeDeletePayload>;\n}\n\nexport const FolderAfterDeleteHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterDeletePayload>>\n>(\"FolderAfterDeleteHandler\");\n\nexport namespace FolderAfterDeleteHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterDeletePayload>>;\n export type Event = DomainEvent<FolderAfterDeletePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAWvD;AACA;AACA;;AAYA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAcA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAOjG;;AASA;AACA,OAAO,MAAMG,yBAAyB,GAAGH,iBAAiB,CAExD,2BAA2B,CAAC;AAO9B,OAAO,MAAMI,wBAAwB,GAAGJ,iBAAiB,CAEvD,0BAA0B,CAAC","ignoreList":[]}
|
|
@@ -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").FolderNotFoundError | import("../../../../domain/folder/errors.js").FolderNotAuthorizedError | import("../../../../domain/folder/errors.js").FolderPersistenceError | import("../../../../domain/folder/errors.js").FolderNotEmptyError>>;
|
|
9
|
+
}
|
|
10
|
+
export declare const DeleteFolderWithFolderLevelPermissions: typeof DeleteFolderWithFolderLevelPermissionsImpl;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
|
|
2
|
+
import { DeleteFolderUseCase } from "../abstractions.js";
|
|
3
|
+
import { createDecorator, Result } 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()) {
|
|
17
|
+
return Result.fail(result.error);
|
|
18
|
+
}
|
|
19
|
+
return Result.ok();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export const DeleteFolderWithFolderLevelPermissions = createDecorator({
|
|
23
|
+
abstraction: DeleteFolderUseCase,
|
|
24
|
+
decorator: DeleteFolderWithFolderLevelPermissionsImpl,
|
|
25
|
+
dependencies: [FolderLevelPermissions]
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=DeleteFolderWithFolderLevelPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FolderLevelPermissions","DeleteFolderUseCase","createDecorator","Result","DeleteFolderWithFolderLevelPermissionsImpl","constructor","folderLevelPermissions","decoretee","execute","id","permissions","getFolderLevelPermissions","ensureCanAccessFolder","rwd","result","isFail","fail","error","ok","DeleteFolderWithFolderLevelPermissions","abstraction","decorator","dependencies"],"sources":["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"],"mappings":"AAAA,SAASA,sBAAsB;AAC/B,SAASC,mBAAmB;AAC5B,SAASC,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAE7D,MAAMC,0CAA0C,CAA0C;EAItFC,WAAWA,CACPC,sBAAwD,EACxDC,SAAwC,EAC1C;IACE,IAAI,CAACD,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAE;IACtB,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACJ,sBAAsB,CAACK,yBAAyB,CAACF,EAAE,CAAC;IACnF,MAAM,IAAI,CAACH,sBAAsB,CAACM,qBAAqB,CAAC;MACpDF,WAAW;MACXG,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,EAAE,CAAC;IAE/C,IAAIK,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOZ,MAAM,CAACa,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;IACpC;IAEA,OAAOd,MAAM,CAACe,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAMC,sCAAsC,GAAGjB,eAAe,CAAC;EAClEkB,WAAW,EAAEnB,mBAAmB;EAChCoB,SAAS,EAAEjB,0CAA0C;EACrDkB,YAAY,EAAE,CAACtB,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
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").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").IEventHandler<DomainEvent<FolderAfterDeletePayload>>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import { FolderBeforeDeleteHandler, FolderAfterDeleteHandler } from "./abstractions.js";
|
|
3
|
+
// FolderBeforeDelete Event
|
|
4
|
+
export class FolderBeforeDeleteEvent extends DomainEvent {
|
|
5
|
+
eventType = "folder.beforeDelete";
|
|
6
|
+
getHandlerAbstraction() {
|
|
7
|
+
return FolderBeforeDeleteHandler;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// FolderAfterDelete Event
|
|
12
|
+
export class FolderAfterDeleteEvent extends DomainEvent {
|
|
13
|
+
eventType = "folder.afterDelete";
|
|
14
|
+
getHandlerAbstraction() {
|
|
15
|
+
return FolderAfterDeleteHandler;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DomainEvent","FolderBeforeDeleteHandler","FolderAfterDeleteHandler","FolderBeforeDeleteEvent","eventType","getHandlerAbstraction","FolderAfterDeleteEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { FolderBeforeDeleteHandler, FolderAfterDeleteHandler } 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 FolderBeforeDeleteHandler;\n }\n}\n\n// FolderAfterDelete Event\nexport class FolderAfterDeleteEvent extends DomainEvent<FolderAfterDeletePayload> {\n eventType = \"folder.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return FolderAfterDeleteHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,yBAAyB,EAAEC,wBAAwB;AAG5D;AACA,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,yBAAyB;EACpC;AACJ;;AAEA;AACA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,wBAAwB;EACnC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DeleteFolderFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
export 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
|
+
|
|
14
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","DeleteFolderRepository","DeleteFolderUseCase","DeleteFolderWithFolderLevelPermissions","DeleteFolderFeature","name","register","container","inSingletonScope","registerDecorator"],"sources":["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"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAC5B,SAASC,sCAAsC;AAE/C,OAAO,MAAMC,mBAAmB,GAAGJ,aAAa,CAAC;EAC7CK,IAAI,EAAE,cAAc;EACpBC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACL,sBAAsB,CAAC,CAACO,gBAAgB,CAAC,CAAC;IAC7DD,SAAS,CAACD,QAAQ,CAACJ,mBAAmB,CAAC;IACvCK,SAAS,CAACE,iBAAiB,CAACN,sCAAsC,CAAC;EACvE;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeleteFolderFeature","FolderAfterDeleteHandler","FolderBeforeDeleteHandler","DeleteFolderUseCase"],"sources":["index.ts"],"sourcesContent":["export { DeleteFolderFeature } from \"./feature.js\";\nexport {\n FolderAfterDeleteHandler,\n FolderBeforeDeleteHandler,\n DeleteFolderUseCase\n} from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SACIC,wBAAwB,EACxBC,yBAAyB,EACzBC,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
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 { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
5
|
+
declare class EnsureFolderIsEmptyImpl implements Abstraction.Interface {
|
|
6
|
+
private identityContext;
|
|
7
|
+
private folderLevelPermissions;
|
|
8
|
+
private listFoldersUseCase;
|
|
9
|
+
constructor(identityContext: IdentityContext.Interface, folderLevelPermissions: FolderLevelPermissions.Interface, listFoldersUseCase: ListFoldersUseCase.Interface);
|
|
10
|
+
execute(type: string, id: string, hasContentCallback: Abstraction.HasContentCallback): Abstraction.Return;
|
|
11
|
+
}
|
|
12
|
+
export declare const EnsureFolderIsEmpty: typeof EnsureFolderIsEmptyImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("~/features/folder/EnsureFolderIsEmpty/abstractions.js").IEnsureFolderIsEmpty>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
2
|
+
import { ListFoldersUseCase } from "../ListFolders/index.js";
|
|
3
|
+
import { EnsureFolderIsEmpty as Abstraction } from "./abstractions.js";
|
|
4
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
5
|
+
import { FolderNotAuthorizedError, FolderNotEmptyError } from "../../../domain/folder/errors.js";
|
|
6
|
+
import { Result } from "@webiny/feature/api";
|
|
7
|
+
class EnsureFolderIsEmptyImpl {
|
|
8
|
+
constructor(identityContext, folderLevelPermissions, listFoldersUseCase) {
|
|
9
|
+
this.identityContext = identityContext;
|
|
10
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
11
|
+
this.listFoldersUseCase = listFoldersUseCase;
|
|
12
|
+
}
|
|
13
|
+
async execute(type, id, hasContentCallback) {
|
|
14
|
+
const hasFoldersCallback = async () => {
|
|
15
|
+
const result = await this.listFoldersUseCase.execute({
|
|
16
|
+
where: {
|
|
17
|
+
type,
|
|
18
|
+
parentId: id
|
|
19
|
+
},
|
|
20
|
+
limit: 1
|
|
21
|
+
});
|
|
22
|
+
const {
|
|
23
|
+
folders
|
|
24
|
+
} = result.value;
|
|
25
|
+
return folders.length > 0;
|
|
26
|
+
};
|
|
27
|
+
const [hasFolders, hasContent] = await Promise.all([hasFoldersCallback(), hasContentCallback()]);
|
|
28
|
+
if (hasFolders || hasContent) {
|
|
29
|
+
return Result.fail(new FolderNotEmptyError());
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Let's also check if there are folders / content that are not visible because of folder permissions.
|
|
33
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {
|
|
34
|
+
// If folder level permissions are not enabled, we can skip this check. This is because
|
|
35
|
+
// in that case, all folders and content are visible to the user.
|
|
36
|
+
return Result.ok();
|
|
37
|
+
}
|
|
38
|
+
const [hasInvisibleFolders, hasInvisibleContent] = await this.identityContext.withoutAuthorization(async () => {
|
|
39
|
+
const [hasFolders, hasContent] = await Promise.all([hasFoldersCallback(), hasContentCallback()]);
|
|
40
|
+
return [hasFolders, hasContent];
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// In case there are invisible folders or content, we'll throw a different error.
|
|
44
|
+
// This is to prevent users from deleting folders that contain content they can't see.
|
|
45
|
+
if (hasInvisibleFolders || hasInvisibleContent) {
|
|
46
|
+
return Result.fail(new FolderNotAuthorizedError());
|
|
47
|
+
}
|
|
48
|
+
return Result.ok();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export const EnsureFolderIsEmpty = Abstraction.createImplementation({
|
|
52
|
+
implementation: EnsureFolderIsEmptyImpl,
|
|
53
|
+
dependencies: [IdentityContext, FolderLevelPermissions, ListFoldersUseCase]
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=EnsureFolderIsEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FolderLevelPermissions","ListFoldersUseCase","EnsureFolderIsEmpty","Abstraction","IdentityContext","FolderNotAuthorizedError","FolderNotEmptyError","Result","EnsureFolderIsEmptyImpl","constructor","identityContext","folderLevelPermissions","listFoldersUseCase","execute","type","id","hasContentCallback","hasFoldersCallback","result","where","parentId","limit","folders","value","length","hasFolders","hasContent","Promise","all","fail","canUseFolderLevelPermissions","ok","hasInvisibleFolders","hasInvisibleContent","withoutAuthorization","createImplementation","implementation","dependencies"],"sources":["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 { 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 ) {}\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\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]\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAC/B,SAASC,kBAAkB;AAC3B,SAASC,mBAAmB,IAAIC,WAAW;AAC3C,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,wBAAwB,EAAEC,mBAAmB;AACtD,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,MAAMC,uBAAuB,CAAkC;EAC3DC,WAAWA,CACCC,eAA0C,EAC1CC,sBAAwD,EACxDC,kBAAgD,EAC1D;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,kBAAgD,GAAhDA,kBAAgD;EACzD;EAEH,MAAMC,OAAOA,CACTC,IAAY,EACZC,EAAU,EACVC,kBAAkD,EAChC;IAClB,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAAY;MACnC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAACC,OAAO,CAAC;QACjDM,KAAK,EAAE;UACHL,IAAI;UACJM,QAAQ,EAAEL;QACd,CAAC;QACDM,KAAK,EAAE;MACX,CAAC,CAAC;MAEF,MAAM;QAAEC;MAAQ,CAAC,GAAGJ,MAAM,CAACK,KAAK;MAEhC,OAAOD,OAAO,CAACE,MAAM,GAAG,CAAC;IAC7B,CAAC;IAED,MAAM,CAACC,UAAU,EAAEC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/CX,kBAAkB,CAAC,CAAC,EACpBD,kBAAkB,CAAC,CAAC,CACvB,CAAC;IAEF,IAAIS,UAAU,IAAIC,UAAU,EAAE;MAC1B,OAAOnB,MAAM,CAACsB,IAAI,CAAC,IAAIvB,mBAAmB,CAAC,CAAC,CAAC;IACjD;;IAEA;IACA,IAAI,CAAC,IAAI,CAACK,sBAAsB,CAACmB,4BAA4B,CAAC,CAAC,EAAE;MAC7D;MACA;MACA,OAAOvB,MAAM,CAACwB,EAAE,CAAC,CAAC;IACtB;IAEA,MAAM,CAACC,mBAAmB,EAAEC,mBAAmB,CAAC,GAC5C,MAAM,IAAI,CAACvB,eAAe,CAACwB,oBAAoB,CAAC,YAAY;MACxD,MAAM,CAACT,UAAU,EAAEC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/CX,kBAAkB,CAAC,CAAC,EACpBD,kBAAkB,CAAC,CAAC,CACvB,CAAC;MACF,OAAO,CAACS,UAAU,EAAEC,UAAU,CAAC;IACnC,CAAC,CAAC;;IAEN;IACA;IACA,IAAIM,mBAAmB,IAAIC,mBAAmB,EAAE;MAC5C,OAAO1B,MAAM,CAACsB,IAAI,CAAC,IAAIxB,wBAAwB,CAAC,CAAC,CAAC;IACtD;IAEA,OAAOE,MAAM,CAACwB,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAM7B,mBAAmB,GAAGC,WAAW,CAACgC,oBAAoB,CAAC;EAChEC,cAAc,EAAE5B,uBAAuB;EACvC6B,YAAY,EAAE,CAACjC,eAAe,EAAEJ,sBAAsB,EAAEC,kBAAkB;AAC9E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
export declare const EnsureFolderIsEmpty: import("@webiny/di").Abstraction<IEnsureFolderIsEmpty>;
|
|
15
|
+
export declare namespace EnsureFolderIsEmpty {
|
|
16
|
+
type Interface = IEnsureFolderIsEmpty;
|
|
17
|
+
type HasContentCallback = IHasContentCallback;
|
|
18
|
+
type Return = Promise<Result<void, UseCaseError>>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","EnsureFolderIsEmpty"],"sources":["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\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"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;AAsB/D,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EnsureFolderIsEmptyFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { EnsureFolderIsEmpty } from "./EnsureFolderIsEmpty.js";
|
|
3
|
+
export const EnsureFolderIsEmptyFeature = createFeature({
|
|
4
|
+
name: "EnsureFolderIsEmptyFeature",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(EnsureFolderIsEmpty);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","EnsureFolderIsEmpty","EnsureFolderIsEmptyFeature","name","register","container"],"sources":["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"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,0BAA0B,GAAGF,aAAa,CAAC;EACpDG,IAAI,EAAE,4BAA4B;EAClCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,mBAAmB,CAAC;EAC3C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EnsureFolderIsEmpty } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EnsureFolderIsEmpty"],"sources":["index.ts"],"sourcesContent":["export { EnsureFolderIsEmpty } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FolderBeforeDeleteHandler } 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 FolderBeforeDeleteHandler.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,29 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { FolderBeforeDeleteHandler } 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 {
|
|
10
|
+
folder
|
|
11
|
+
} = event.payload;
|
|
12
|
+
const result = await this.ensureFolderIsEmpty.execute(folder.type, folder.id,
|
|
13
|
+
// We can only check if a folder has child folders.
|
|
14
|
+
// Content is controlled by individual apps, so content checks are implemented there.
|
|
15
|
+
() => false);
|
|
16
|
+
if (result.isFail()) {
|
|
17
|
+
throw WebinyError.from(result.error, {
|
|
18
|
+
message: "Error while ensuring folder is empty before delete.",
|
|
19
|
+
code: "ACO_BEFORE_FOLDER_DELETE_FILE_HANDLER"
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export const GenericFolderBeforeDeleteHandler = FolderBeforeDeleteHandler.createImplementation({
|
|
25
|
+
implementation: GenericFolderBeforeDeleteHandlerImpl,
|
|
26
|
+
dependencies: [EnsureFolderIsEmpty]
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=GenericFolderBeforeDeleteHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WebinyError","FolderBeforeDeleteHandler","EnsureFolderIsEmpty","GenericFolderBeforeDeleteHandlerImpl","constructor","ensureFolderIsEmpty","handle","event","folder","payload","result","execute","type","id","isFail","from","error","message","code","GenericFolderBeforeDeleteHandler","createImplementation","implementation","dependencies"],"sources":["GenericFolderBeforeDeleteHandler.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { FolderBeforeDeleteHandler } 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 FolderBeforeDeleteHandler.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 = FolderBeforeDeleteHandler.createImplementation({\n implementation: GenericFolderBeforeDeleteHandlerImpl,\n dependencies: [EnsureFolderIsEmpty]\n});\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,yBAAyB;AAElC,SAASC,mBAAmB;AAE5B,MAAMC,oCAAoC,CAAgD;EACtFC,WAAWA,CAASC,mBAAkD,EAAE;IAAA,KAApDA,mBAAkD,GAAlDA,mBAAkD;EAAG;EAEzE,MAAMC,MAAMA,CAACC,KAA8B,EAAiB;IACxD,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;IAEhC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACL,mBAAmB,CAACM,OAAO,CACjDH,MAAM,CAACI,IAAI,EACXJ,MAAM,CAACK,EAAE;IACT;IACA;IACA,MAAM,KACV,CAAC;IAED,IAAIH,MAAM,CAACI,MAAM,CAAC,CAAC,EAAE;MACjB,MAAMd,WAAW,CAACe,IAAI,CAACL,MAAM,CAACM,KAAK,EAAE;QACjCC,OAAO,EAAE,qDAAqD;QAC9DC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ;AAEA,OAAO,MAAMC,gCAAgC,GAAGlB,yBAAyB,CAACmB,oBAAoB,CAAC;EAC3FC,cAAc,EAAElB,oCAAoC;EACpDmB,YAAY,EAAE,CAACpB,mBAAmB;AACtC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
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: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GenericFolderBeforeDeleteHandler } from "./GenericFolderBeforeDeleteHandler.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This feature checks whether a folder is allowed to be deleted.
|
|
6
|
+
* This generic check simply checks if there are child folders within the given folder.
|
|
7
|
+
* Actual content cannot be checked, as folders do not have information about their records.
|
|
8
|
+
* Individual apps (like File Manager, Headless CMS, etc.) need to implement their own event handlers.
|
|
9
|
+
*/
|
|
10
|
+
export const EnsureFolderIsEmptyOnDeleteFeature = createFeature({
|
|
11
|
+
name: "EnsureFolderIsEmptyOnDelete",
|
|
12
|
+
register(container) {
|
|
13
|
+
container.register(GenericFolderBeforeDeleteHandler);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","GenericFolderBeforeDeleteHandler","EnsureFolderIsEmptyOnDeleteFeature","name","register","container"],"sources":["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"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,gCAAgC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kCAAkC,GAAGF,aAAa,CAAC;EAC5DG,IAAI,EAAE,6BAA6B;EACnCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,gCAAgC,CAAC;EACxD;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EnsureFolderIsEmptyOnDeleteFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EnsureFolderIsEmptyOnDeleteFeature"],"sources":["index.ts"],"sourcesContent":["export { EnsureFolderIsEmptyOnDeleteFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,kCAAkC","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FolderBeforeDeleteHandler } 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 FolderBeforeDeleteHandler.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,56 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { FolderBeforeDeleteHandler } 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 {
|
|
14
|
+
folder
|
|
15
|
+
} = event.payload;
|
|
16
|
+
const {
|
|
17
|
+
id,
|
|
18
|
+
type
|
|
19
|
+
} = folder;
|
|
20
|
+
const modelId = type.split(":")[1];
|
|
21
|
+
if (!modelId) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const modelResult = await this.getModel.execute(modelId);
|
|
25
|
+
if (modelResult.isFail()) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const result = await this.ensureFolderIsEmpty.execute(type, id, async () => {
|
|
29
|
+
const result = await this.listEntries.execute(modelResult.value, {
|
|
30
|
+
where: {
|
|
31
|
+
latest: true,
|
|
32
|
+
wbyAco_location: {
|
|
33
|
+
folderId: id
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
limit: 1
|
|
37
|
+
});
|
|
38
|
+
const {
|
|
39
|
+
entries
|
|
40
|
+
} = result.value;
|
|
41
|
+
return entries.length > 0;
|
|
42
|
+
});
|
|
43
|
+
if (result.isFail()) {
|
|
44
|
+
throw WebinyError.from(result.error, {
|
|
45
|
+
message: "Error while ensuring HCMS folder is empty before delete.",
|
|
46
|
+
code: "ACO_BEFORE_FOLDER_DELETE_HCMS_HANDLER"
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export const ModelFolderBeforeDeleteHandler = FolderBeforeDeleteHandler.createImplementation({
|
|
52
|
+
implementation: ModelFolderBeforeDeleteHandlerImpl,
|
|
53
|
+
dependencies: [EnsureFolderIsEmpty, GetModelUseCase, ListEntriesUseCase]
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=ModelFolderBeforeDeleteHandler.js.map
|