@webiny/api-aco 0.0.0-unstable.7f63ea0744 → 0.0.0-unstable.81ae05e56b
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 +2 -0
- package/constants.js +4 -0
- package/constants.js.map +1 -0
- package/createAcoContext.d.ts +8 -2
- package/createAcoContext.js +128 -50
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +3 -2
- package/createAcoGraphQL.js +58 -38
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoStorageOperations.d.ts +8 -6
- package/createAcoStorageOperations.js +9 -18
- package/createAcoStorageOperations.js.map +1 -1
- package/createAcoTasks.d.ts +1 -0
- package/createAcoTasks.js +15 -0
- package/createAcoTasks.js.map +1 -0
- 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/exports/api/aco/flp.d.ts +6 -0
- package/exports/api/aco/flp.js +8 -0
- package/exports/api/aco/flp.js.map +1 -0
- package/exports/api/aco/folder.d.ts +10 -0
- package/exports/api/aco/folder.js +12 -0
- package/exports/api/aco/folder.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 +9 -0
- package/features/flp/CreateFlp/abstractions.js +8 -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 +9 -0
- package/features/flp/DeleteFlp/abstractions.js +8 -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/features/flp/FolderLevelPermissions/abstractions.d.ts +26 -0
- package/features/flp/FolderLevelPermissions/abstractions.js +5 -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/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +41 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
- 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/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +34 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
- 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/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
- 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.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -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/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
- 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/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +70 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +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/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +38 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
- 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 +9 -0
- package/features/flp/GetFlp/abstractions.js +5 -0
- package/features/flp/GetFlp/abstractions.js.map +1 -0
- package/features/flp/GetFlp/feature.d.ts +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 +17 -0
- package/features/flp/ListFlps/abstractions.js +5 -0
- package/features/flp/ListFlps/abstractions.js.map +1 -0
- package/features/flp/ListFlps/feature.d.ts +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/features/flp/UpdateFlp/UpdateFlpUseCase.js +203 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
- package/features/flp/UpdateFlp/abstractions.d.ts +15 -0
- package/features/flp/UpdateFlp/abstractions.js +8 -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 +59 -0
- package/features/folder/CreateFolder/abstractions.js +25 -0
- package/features/folder/CreateFolder/abstractions.js.map +1 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +44 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/CreateFolder/events.d.ts +10 -0
- package/features/folder/CreateFolder/events.js +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 +59 -0
- package/features/folder/DeleteFolder/abstractions.js +25 -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 +21 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js +5 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.d.ts +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 +40 -0
- package/features/folder/GetAncestors/abstractions.js +17 -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 +57 -0
- package/features/folder/GetFolder/abstractions.js +24 -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 +38 -0
- package/features/folder/GetFolderHierarchy/abstractions.js +17 -0
- package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +64 -0
- 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 +11 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +8 -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 +44 -0
- package/features/folder/ListFolders/abstractions.js +17 -0
- package/features/folder/ListFolders/abstractions.js.map +1 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +77 -0
- 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 +64 -0
- package/features/folder/UpdateFolder/abstractions.js +25 -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 +6 -0
- package/features/folder/shared/abstractions.js +5 -0
- package/features/folder/shared/abstractions.js.map +1 -0
- package/filter/filter.crud.d.ts +3 -0
- package/filter/filter.crud.js +33 -0
- package/filter/filter.crud.js.map +1 -0
- package/filter/filter.gql.d.ts +3 -0
- package/filter/filter.gql.js +146 -0
- package/filter/filter.gql.js.map +1 -0
- package/filter/filter.model.d.ts +9 -0
- package/filter/filter.model.js +41 -0
- package/filter/filter.model.js.map +1 -0
- package/filter/filter.so.d.ts +3 -0
- package/filter/filter.so.js +104 -0
- package/filter/filter.so.js.map +1 -0
- package/filter/filter.types.d.ts +67 -0
- package/filter/filter.types.js +7 -0
- package/filter/filter.types.js.map +1 -0
- package/flp/flp.crud.d.ts +7 -0
- package/flp/flp.crud.js +91 -0
- package/flp/flp.crud.js.map +1 -0
- package/flp/flp.so.d.ts +20 -0
- package/flp/flp.so.js +220 -0
- package/flp/flp.so.js.map +1 -0
- package/flp/flp.types.d.ts +93 -0
- package/flp/flp.types.js +3 -0
- package/flp/flp.types.js.map +1 -0
- package/flp/index.d.ts +3 -0
- package/flp/index.js +5 -0
- package/flp/index.js.map +1 -0
- package/flp/tasks/createFlp.task.d.ts +16 -0
- package/flp/tasks/createFlp.task.js +35 -0
- package/flp/tasks/createFlp.task.js.map +1 -0
- package/flp/tasks/deleteFlp.task.d.ts +16 -0
- package/flp/tasks/deleteFlp.task.js +35 -0
- package/flp/tasks/deleteFlp.task.js.map +1 -0
- package/flp/tasks/index.d.ts +5 -0
- package/flp/tasks/index.js +19 -0
- package/flp/tasks/index.js.map +1 -0
- package/flp/tasks/syncFlp.task.d.ts +20 -0
- package/flp/tasks/syncFlp.task.js +127 -0
- package/flp/tasks/syncFlp.task.js.map +1 -0
- package/flp/tasks/updateFlp.task.d.ts +16 -0
- package/flp/tasks/updateFlp.task.js +40 -0
- package/flp/tasks/updateFlp.task.js.map +1 -0
- package/folder/createFolderModelModifier.d.ts +36 -0
- package/folder/createFolderModelModifier.js +61 -0
- package/folder/createFolderModelModifier.js.map +1 -0
- package/folder/createFolderTypeDefs.d.ts +7 -0
- package/folder/createFolderTypeDefs.js +186 -0
- package/folder/createFolderTypeDefs.js.map +1 -0
- package/folder/folder.gql.d.ts +4 -3
- package/folder/folder.gql.js +146 -97
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +52 -59
- package/folder/folder.types.js +2 -4
- package/folder/folder.types.js.map +1 -1
- package/index.d.ts +8 -1
- package/index.js +9 -13
- package/index.js.map +1 -1
- package/package.json +44 -35
- package/types.d.ts +31 -15
- package/types.js +7 -4
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +10 -0
- package/utils/FoldersCacheFactory.js +24 -0
- package/utils/FoldersCacheFactory.js.map +1 -0
- package/utils/ListCache.d.ts +23 -0
- package/utils/ListCache.js +23 -0
- package/utils/ListCache.js.map +1 -0
- package/utils/Path.d.ts +3 -0
- package/utils/Path.js +11 -0
- package/utils/Path.js.map +1 -0
- package/utils/compress.d.ts +4 -0
- package/utils/compress.js +12 -0
- package/utils/compress.js.map +1 -0
- package/utils/createListSort.d.ts +3 -0
- package/utils/createListSort.js +10 -0
- package/utils/createListSort.js.map +1 -0
- package/utils/createOperationsWrapper.d.ts +9 -0
- package/utils/createOperationsWrapper.js +22 -0
- package/utils/createOperationsWrapper.js.map +1 -0
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js +206 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
- package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js +23 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
- package/utils/decorators/ListEntriesFactory.d.ts +17 -0
- package/utils/decorators/ListEntriesFactory.js +106 -0
- package/utils/decorators/ListEntriesFactory.js.map +1 -0
- package/utils/decorators/hasRootFolderId.d.ts +7 -0
- package/utils/decorators/hasRootFolderId.js +19 -0
- package/utils/decorators/hasRootFolderId.js.map +1 -0
- package/utils/decorators/isPageModel.d.ts +5 -0
- package/utils/decorators/isPageModel.js +13 -0
- package/utils/decorators/isPageModel.js.map +1 -0
- package/utils/ensureAuthentication.d.ts +2 -0
- package/utils/ensureAuthentication.js +12 -0
- package/utils/ensureAuthentication.js.map +1 -0
- package/utils/pickEntryFieldValues.d.ts +3 -0
- package/utils/pickEntryFieldValues.js +23 -0
- package/utils/pickEntryFieldValues.js.map +1 -0
- package/utils/resolve.d.ts +2 -2
- package/utils/resolve.js +6 -11
- package/utils/resolve.js.map +1 -1
- package/createAcoCrud.d.ts +0 -2
- package/createAcoCrud.js +0 -17
- package/createAcoCrud.js.map +0 -1
- package/createAcoFields.d.ts +0 -2
- package/createAcoFields.js +0 -40
- package/createAcoFields.js.map +0 -1
- package/createAcoHooks.d.ts +0 -2
- package/createAcoHooks.js +0 -11
- package/createAcoHooks.js.map +0 -1
- package/createAcoModels.d.ts +0 -2
- package/createAcoModels.js +0 -67
- package/createAcoModels.js.map +0 -1
- package/folder/folder.crud.d.ts +0 -3
- package/folder/folder.crud.js +0 -92
- package/folder/folder.crud.js.map +0 -1
- package/folder/folder.model.d.ts +0 -4
- package/folder/folder.model.js +0 -79
- package/folder/folder.model.js.map +0 -1
- package/folder/folder.so.d.ts +0 -8
- package/folder/folder.so.js +0 -156
- package/folder/folder.so.js.map +0 -1
- package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
- package/folder/onFolderBeforeDelete.hook.js +0 -53
- package/folder/onFolderBeforeDelete.hook.js.map +0 -1
- package/record/record.crud.d.ts +0 -3
- package/record/record.crud.js +0 -92
- package/record/record.crud.js.map +0 -1
- package/record/record.gql.d.ts +0 -3
- package/record/record.gql.js +0 -118
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -4
- package/record/record.model.js +0 -75
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -8
- package/record/record.so.js +0 -100
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -92
- package/record/record.types.js +0 -5
- package/record/record.types.js.map +0 -1
- package/utils/createModelField.d.ts +0 -6
- package/utils/createModelField.js +0 -39
- package/utils/createModelField.js.map +0 -1
- package/utils/fieldResolver.d.ts +0 -16
- package/utils/fieldResolver.js +0 -44
- package/utils/fieldResolver.js.map +0 -1
- package/utils/getFieldValues.d.ts +0 -2
- package/utils/getFieldValues.js +0 -12
- package/utils/getFieldValues.js.map +0 -1
- package/utils/isInstallationPending.d.ts +0 -4
- package/utils/isInstallationPending.js +0 -21
- package/utils/isInstallationPending.js.map +0 -1
- package/utils/modelFactory.d.ts +0 -15
- package/utils/modelFactory.js +0 -23
- package/utils/modelFactory.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsFlpFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsFlpFeature"],"sources":["index.ts"],"sourcesContent":["export { CmsFlpFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CreateFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
2
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
3
|
+
import type { AcoContext } from "../../../types.js";
|
|
4
|
+
export declare class CreateFlpUseCase implements UseCaseAbstraction.Interface {
|
|
5
|
+
private context;
|
|
6
|
+
constructor(context: AcoContext);
|
|
7
|
+
execute(folder: Folder): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { Path } from "../../../utils/Path.js";
|
|
3
|
+
import { Permissions, ROOT_FOLDER } from "@webiny/shared-aco";
|
|
4
|
+
export class CreateFlpUseCase {
|
|
5
|
+
constructor(context) {
|
|
6
|
+
this.context = context;
|
|
7
|
+
}
|
|
8
|
+
async execute(folder) {
|
|
9
|
+
try {
|
|
10
|
+
const {
|
|
11
|
+
id,
|
|
12
|
+
type,
|
|
13
|
+
slug,
|
|
14
|
+
parentId,
|
|
15
|
+
permissions
|
|
16
|
+
} = folder;
|
|
17
|
+
let parentFlp = null;
|
|
18
|
+
if (parentId) {
|
|
19
|
+
parentFlp = await this.context.aco.flp.get(parentId);
|
|
20
|
+
if (!parentFlp) {
|
|
21
|
+
throw new WebinyError("Parent folder level permission not found. Unable to create a new record in the FLP catalog.", "ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
await this.context.aco.flp.create({
|
|
25
|
+
id,
|
|
26
|
+
type,
|
|
27
|
+
slug,
|
|
28
|
+
parentId: parentId ?? ROOT_FOLDER,
|
|
29
|
+
path: Path.create(slug, parentFlp?.path),
|
|
30
|
+
permissions: Permissions.create(permissions, parentFlp)
|
|
31
|
+
});
|
|
32
|
+
} catch (error) {
|
|
33
|
+
throw WebinyError.from(error, {
|
|
34
|
+
message: "Error while creating FLP",
|
|
35
|
+
code: "ERROR_CREATE_FLP_USE_CASE"
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=CreateFlpUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WebinyError","Path","Permissions","ROOT_FOLDER","CreateFlpUseCase","constructor","context","execute","folder","id","type","slug","parentId","permissions","parentFlp","aco","flp","get","create","path","error","from","message","code"],"sources":["CreateFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { Path } from \"~/utils/Path.js\";\nimport { Permissions, ROOT_FOLDER } from \"@webiny/shared-aco\";\nimport type { CreateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { FolderLevelPermission as IFolderLevelPermission } from \"~/flp/flp.types.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport class CreateFlpUseCase implements UseCaseAbstraction.Interface {\n constructor(private context: AcoContext) {}\n\n async execute(folder: Folder): Promise<void> {\n try {\n const { id, type, slug, parentId, permissions } = folder;\n let parentFlp: IFolderLevelPermission | null = null;\n\n if (parentId) {\n parentFlp = await this.context.aco.flp.get(parentId);\n\n if (!parentFlp) {\n throw new WebinyError(\n \"Parent folder level permission not found. Unable to create a new record in the FLP catalog.\",\n \"ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND\"\n );\n }\n }\n\n await this.context.aco.flp.create({\n id,\n type,\n slug,\n parentId: parentId ?? ROOT_FOLDER,\n path: Path.create(slug, parentFlp?.path),\n permissions: Permissions.create(permissions, parentFlp)\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while creating FLP\",\n code: \"ERROR_CREATE_FLP_USE_CASE\"\n });\n }\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,IAAI;AACb,SAASC,WAAW,EAAEC,WAAW,QAAQ,oBAAoB;AAM7D,OAAO,MAAMC,gBAAgB,CAAyC;EAClEC,WAAWA,CAASC,OAAmB,EAAE;IAAA,KAArBA,OAAmB,GAAnBA,OAAmB;EAAG;EAE1C,MAAMC,OAAOA,CAACC,MAAc,EAAiB;IACzC,IAAI;MACA,MAAM;QAAEC,EAAE;QAAEC,IAAI;QAAEC,IAAI;QAAEC,QAAQ;QAAEC;MAAY,CAAC,GAAGL,MAAM;MACxD,IAAIM,SAAwC,GAAG,IAAI;MAEnD,IAAIF,QAAQ,EAAE;QACVE,SAAS,GAAG,MAAM,IAAI,CAACR,OAAO,CAACS,GAAG,CAACC,GAAG,CAACC,GAAG,CAACL,QAAQ,CAAC;QAEpD,IAAI,CAACE,SAAS,EAAE;UACZ,MAAM,IAAId,WAAW,CACjB,6FAA6F,EAC7F,gDACJ,CAAC;QACL;MACJ;MAEA,MAAM,IAAI,CAACM,OAAO,CAACS,GAAG,CAACC,GAAG,CAACE,MAAM,CAAC;QAC9BT,EAAE;QACFC,IAAI;QACJC,IAAI;QACJC,QAAQ,EAAEA,QAAQ,IAAIT,WAAW;QACjCgB,IAAI,EAAElB,IAAI,CAACiB,MAAM,CAACP,IAAI,EAAEG,SAAS,EAAEK,IAAI,CAAC;QACxCN,WAAW,EAAEX,WAAW,CAACgB,MAAM,CAACL,WAAW,EAAEC,SAAS;MAC1D,CAAC,CAAC;IACN,CAAC,CAAC,OAAOM,KAAK,EAAE;MACZ,MAAMpB,WAAW,CAACqB,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,0BAA0B;QACnCC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
2
|
+
export interface ICreateFlpUseCase {
|
|
3
|
+
execute: (folder: Folder) => Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
/** Create a folder-level permission. */
|
|
6
|
+
export declare const CreateFlpUseCase: import("@webiny/di").Abstraction<ICreateFlpUseCase>;
|
|
7
|
+
export declare namespace CreateFlpUseCase {
|
|
8
|
+
type Interface = ICreateFlpUseCase;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CreateFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface ICreateFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\n/** Create a folder-level permission. */\nexport const CreateFlpUseCase = createAbstraction<ICreateFlpUseCase>(\"CreateFlpUseCase\");\n\nexport namespace CreateFlpUseCase {\n export type Interface = ICreateFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;;AAKA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CreateFlpUseCase } from "./CreateFlpUseCase.js";
|
|
3
|
+
import { CreateFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
4
|
+
export const CreateFlpFeature = createFeature({
|
|
5
|
+
name: "CreateFlp",
|
|
6
|
+
register(container, deps) {
|
|
7
|
+
container.registerFactory(UseCaseAbstraction, () => {
|
|
8
|
+
return new CreateFlpUseCase(deps.context);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","CreateFlpUseCase","UseCaseAbstraction","CreateFlpFeature","name","register","container","deps","registerFactory","context"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { CreateFlpUseCase } from \"./CreateFlpUseCase.js\";\nimport { CreateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\ninterface LegacyDeps {\n context: AcoContext;\n}\n\nexport const CreateFlpFeature = createFeature({\n name: \"CreateFlp\",\n register(container: Container, deps: LegacyDeps) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new CreateFlpUseCase(deps.context);\n });\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,gBAAgB;AACzB,SAASA,gBAAgB,IAAIC,kBAAkB;AAO/C,OAAO,MAAMC,gBAAgB,GAAGH,aAAa,CAAC;EAC1CI,IAAI,EAAE,WAAW;EACjBC,QAAQA,CAACC,SAAoB,EAAEC,IAAgB,EAAE;IAC7CD,SAAS,CAACE,eAAe,CAACN,kBAAkB,EAAE,MAAM;MAChD,OAAO,IAAID,gBAAgB,CAACM,IAAI,CAACE,OAAO,CAAC;IAC7C,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreateFlpFeature","CreateFlpUseCase"],"sources":["index.ts"],"sourcesContent":["export { CreateFlpFeature } from \"./feature.js\";\nexport { CreateFlpUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CreateFlpUseCase } from "../CreateFlp/abstractions.js";
|
|
2
|
+
import { FolderAfterCreateEventHandler } from "../../../features/folder/CreateFolder/abstractions.js";
|
|
3
|
+
import type { FolderAfterCreateEvent } from "../../../features/folder/CreateFolder/events.js";
|
|
4
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
5
|
+
declare class CreateFlpOnFolderCreatedHandlerImpl implements FolderAfterCreateEventHandler.Interface {
|
|
6
|
+
private createFlpUseCase;
|
|
7
|
+
private tasks?;
|
|
8
|
+
constructor(createFlpUseCase: CreateFlpUseCase.Interface, tasks?: TaskService.Interface | undefined);
|
|
9
|
+
handle(event: FolderAfterCreateEvent): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare const CreateFlpOnFolderCreatedHandler: typeof CreateFlpOnFolderCreatedHandlerImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<import("@webiny/api-core/features/EventPublisher").DomainEvent<import("~/features/folder/CreateFolder/abstractions.js").FolderAfterCreatePayload>>>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CreateFlpUseCase } from "../CreateFlp/abstractions.js";
|
|
2
|
+
import { FolderAfterCreateEventHandler } from "../../folder/CreateFolder/abstractions.js";
|
|
3
|
+
import { CREATE_FLP_TASK_ID } from "../../../flp/tasks/index.js";
|
|
4
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
5
|
+
class CreateFlpOnFolderCreatedHandlerImpl {
|
|
6
|
+
constructor(createFlpUseCase, tasks) {
|
|
7
|
+
this.createFlpUseCase = createFlpUseCase;
|
|
8
|
+
this.tasks = tasks;
|
|
9
|
+
}
|
|
10
|
+
async handle(event) {
|
|
11
|
+
const {
|
|
12
|
+
folder
|
|
13
|
+
} = event.payload;
|
|
14
|
+
try {
|
|
15
|
+
if (this.tasks) {
|
|
16
|
+
await this.tasks.trigger({
|
|
17
|
+
definition: CREATE_FLP_TASK_ID,
|
|
18
|
+
input: {
|
|
19
|
+
folder
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
} else {
|
|
23
|
+
await this.createFlpUseCase.execute(folder);
|
|
24
|
+
}
|
|
25
|
+
} catch {
|
|
26
|
+
// Ignore errors
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export const CreateFlpOnFolderCreatedHandler = FolderAfterCreateEventHandler.createImplementation({
|
|
31
|
+
implementation: CreateFlpOnFolderCreatedHandlerImpl,
|
|
32
|
+
dependencies: [CreateFlpUseCase, [TaskService, {
|
|
33
|
+
optional: true
|
|
34
|
+
}]]
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=CreateFlpOnFolderCreatedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreateFlpUseCase","FolderAfterCreateEventHandler","CREATE_FLP_TASK_ID","TaskService","CreateFlpOnFolderCreatedHandlerImpl","constructor","createFlpUseCase","tasks","handle","event","folder","payload","trigger","definition","input","execute","CreateFlpOnFolderCreatedHandler","createImplementation","implementation","dependencies","optional"],"sources":["CreateFlpOnFolderCreatedHandler.ts"],"sourcesContent":["import { CreateFlpUseCase } from \"../CreateFlp/abstractions.js\";\nimport { FolderAfterCreateEventHandler } from \"~/features/folder/CreateFolder/abstractions.js\";\nimport type { FolderAfterCreateEvent } from \"~/features/folder/CreateFolder/events.js\";\nimport type { ICreateFlpTaskInput } from \"~/types.js\";\nimport { CREATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nclass CreateFlpOnFolderCreatedHandlerImpl implements FolderAfterCreateEventHandler.Interface {\n constructor(\n private createFlpUseCase: CreateFlpUseCase.Interface,\n private tasks?: TaskService.Interface\n ) {}\n\n async handle(event: FolderAfterCreateEvent): Promise<void> {\n const { folder } = event.payload;\n\n try {\n if (this.tasks) {\n await this.tasks.trigger<ICreateFlpTaskInput>({\n definition: CREATE_FLP_TASK_ID,\n input: { folder }\n });\n } else {\n await this.createFlpUseCase.execute(folder);\n }\n } catch {\n // Ignore errors\n }\n }\n}\n\nexport const CreateFlpOnFolderCreatedHandler = FolderAfterCreateEventHandler.createImplementation({\n implementation: CreateFlpOnFolderCreatedHandlerImpl,\n dependencies: [CreateFlpUseCase, [TaskService, { optional: true }]]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,6BAA6B;AAGtC,SAASC,kBAAkB;AAC3B,SAASC,WAAW,QAAQ,qDAAqD;AAEjF,MAAMC,mCAAmC,CAAoD;EACzFC,WAAWA,CACCC,gBAA4C,EAC5CC,KAA6B,EACvC;IAAA,KAFUD,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,KAA6B,GAA7BA,KAA6B;EACtC;EAEH,MAAMC,MAAMA,CAACC,KAA6B,EAAiB;IACvD,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;IAEhC,IAAI;MACA,IAAI,IAAI,CAACJ,KAAK,EAAE;QACZ,MAAM,IAAI,CAACA,KAAK,CAACK,OAAO,CAAsB;UAC1CC,UAAU,EAAEX,kBAAkB;UAC9BY,KAAK,EAAE;YAAEJ;UAAO;QACpB,CAAC,CAAC;MACN,CAAC,MAAM;QACH,MAAM,IAAI,CAACJ,gBAAgB,CAACS,OAAO,CAACL,MAAM,CAAC;MAC/C;IACJ,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;AACJ;AAEA,OAAO,MAAMM,+BAA+B,GAAGf,6BAA6B,CAACgB,oBAAoB,CAAC;EAC9FC,cAAc,EAAEd,mCAAmC;EACnDe,YAAY,EAAE,CAACnB,gBAAgB,EAAE,CAACG,WAAW,EAAE;IAAEiB,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CreateFlpOnFolderCreatedFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CreateFlpOnFolderCreatedHandler } from "./CreateFlpOnFolderCreatedHandler.js";
|
|
3
|
+
export const CreateFlpOnFolderCreatedFeature = createFeature({
|
|
4
|
+
name: "CreateFlpOnFolderCreated",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(CreateFlpOnFolderCreatedHandler);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","CreateFlpOnFolderCreatedHandler","CreateFlpOnFolderCreatedFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateFlpOnFolderCreatedHandler } from \"./CreateFlpOnFolderCreatedHandler.js\";\n\nexport const CreateFlpOnFolderCreatedFeature = createFeature({\n name: \"CreateFlpOnFolderCreated\",\n register(container) {\n container.register(CreateFlpOnFolderCreatedHandler);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,+BAA+B;AAExC,OAAO,MAAMC,+BAA+B,GAAGF,aAAa,CAAC;EACzDG,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,+BAA+B,CAAC;EACvD;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CreateFlpOnFolderCreatedFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreateFlpOnFolderCreatedFeature"],"sources":["index.ts"],"sourcesContent":["export { CreateFlpOnFolderCreatedFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,+BAA+B","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DeleteFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
2
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
3
|
+
import type { AcoContext } from "../../../types.js";
|
|
4
|
+
export declare class DeleteFlpUseCase implements UseCaseAbstraction.Interface {
|
|
5
|
+
private context;
|
|
6
|
+
constructor(context: AcoContext);
|
|
7
|
+
execute(folder: Folder): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
export class DeleteFlpUseCase {
|
|
3
|
+
constructor(context) {
|
|
4
|
+
this.context = context;
|
|
5
|
+
}
|
|
6
|
+
async execute(folder) {
|
|
7
|
+
try {
|
|
8
|
+
if (!folder) {
|
|
9
|
+
throw new WebinyError("Missing `folder` from the task input, I can't delete the record from the FLP catalog.", "ERROR_DELETE_FLP_USE_CASE_FOLDER_NOT_PROVIDED", {
|
|
10
|
+
folder
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
await this.context.aco.flp.delete(folder.id);
|
|
14
|
+
} catch (error) {
|
|
15
|
+
throw WebinyError.from(error, {
|
|
16
|
+
message: "Error while deleting FLP",
|
|
17
|
+
code: "ERROR_DELETE_FLP_USE_CASE"
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=DeleteFlpUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WebinyError","DeleteFlpUseCase","constructor","context","execute","folder","aco","flp","delete","id","error","from","message","code"],"sources":["DeleteFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport type { DeleteFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport class DeleteFlpUseCase implements UseCaseAbstraction.Interface {\n constructor(private context: AcoContext) {}\n\n async execute(folder: Folder): Promise<void> {\n try {\n if (!folder) {\n throw new WebinyError(\n \"Missing `folder` from the task input, I can't delete the record from the FLP catalog.\",\n \"ERROR_DELETE_FLP_USE_CASE_FOLDER_NOT_PROVIDED\",\n { folder }\n );\n }\n await this.context.aco.flp.delete(folder.id);\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while deleting FLP\",\n code: \"ERROR_DELETE_FLP_USE_CASE\"\n });\n }\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAK3C,OAAO,MAAMC,gBAAgB,CAAyC;EAClEC,WAAWA,CAASC,OAAmB,EAAE;IAAA,KAArBA,OAAmB,GAAnBA,OAAmB;EAAG;EAE1C,MAAMC,OAAOA,CAACC,MAAc,EAAiB;IACzC,IAAI;MACA,IAAI,CAACA,MAAM,EAAE;QACT,MAAM,IAAIL,WAAW,CACjB,uFAAuF,EACvF,+CAA+C,EAC/C;UAAEK;QAAO,CACb,CAAC;MACL;MACA,MAAM,IAAI,CAACF,OAAO,CAACG,GAAG,CAACC,GAAG,CAACC,MAAM,CAACH,MAAM,CAACI,EAAE,CAAC;IAChD,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,MAAMV,WAAW,CAACW,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,0BAA0B;QACnCC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
2
|
+
export interface IDeleteFlpUseCase {
|
|
3
|
+
execute: (folder: Folder) => Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
/** Delete a folder-level permission. */
|
|
6
|
+
export declare const DeleteFlpUseCase: import("@webiny/di").Abstraction<IDeleteFlpUseCase>;
|
|
7
|
+
export declare namespace DeleteFlpUseCase {
|
|
8
|
+
type Interface = IDeleteFlpUseCase;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","DeleteFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IDeleteFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\n/** Delete a folder-level permission. */\nexport const DeleteFlpUseCase = createAbstraction<IDeleteFlpUseCase>(\"DeleteFlpUseCase\");\n\nexport namespace DeleteFlpUseCase {\n export type Interface = IDeleteFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;;AAKA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteFlpUseCase } from "./DeleteFlpUseCase.js";
|
|
3
|
+
import { DeleteFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
4
|
+
export const DeleteFlpFeature = createFeature({
|
|
5
|
+
name: "DeleteFlp",
|
|
6
|
+
register(container, deps) {
|
|
7
|
+
container.registerFactory(UseCaseAbstraction, () => {
|
|
8
|
+
return new DeleteFlpUseCase(deps.context);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","DeleteFlpUseCase","UseCaseAbstraction","DeleteFlpFeature","name","register","container","deps","registerFactory","context"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { DeleteFlpUseCase } from \"./DeleteFlpUseCase.js\";\nimport { DeleteFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\ninterface LegacyDeps {\n context: AcoContext;\n}\n\nexport const DeleteFlpFeature = createFeature({\n name: \"DeleteFlp\",\n register(container: Container, deps: LegacyDeps) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new DeleteFlpUseCase(deps.context);\n });\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,gBAAgB;AACzB,SAASA,gBAAgB,IAAIC,kBAAkB;AAO/C,OAAO,MAAMC,gBAAgB,GAAGH,aAAa,CAAC;EAC1CI,IAAI,EAAE,WAAW;EACjBC,QAAQA,CAACC,SAAoB,EAAEC,IAAgB,EAAE;IAC7CD,SAAS,CAACE,eAAe,CAACN,kBAAkB,EAAE,MAAM;MAChD,OAAO,IAAID,gBAAgB,CAACM,IAAI,CAACE,OAAO,CAAC;IAC7C,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeleteFlpFeature","DeleteFlpUseCase"],"sources":["index.ts"],"sourcesContent":["export { DeleteFlpFeature } from \"./feature.js\";\nexport { DeleteFlpUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DeleteFlpUseCase } from "../DeleteFlp/abstractions.js";
|
|
2
|
+
import { FolderAfterDeleteEventHandler } from "../../../features/folder/DeleteFolder/abstractions.js";
|
|
3
|
+
import type { FolderAfterDeleteEvent } from "../../../features/folder/DeleteFolder/events.js";
|
|
4
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
5
|
+
declare class DeleteFlpOnFolderDeletedHandlerImpl implements FolderAfterDeleteEventHandler.Interface {
|
|
6
|
+
private deleteFlpUseCase;
|
|
7
|
+
private tasks?;
|
|
8
|
+
constructor(deleteFlpUseCase: DeleteFlpUseCase.Interface, tasks?: TaskService.Interface | undefined);
|
|
9
|
+
handle(event: FolderAfterDeleteEvent): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare const DeleteFlpOnFolderDeletedHandler: typeof DeleteFlpOnFolderDeletedHandlerImpl & {
|
|
12
|
+
__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").FolderAfterDeletePayload>>>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { DeleteFlpUseCase } from "../DeleteFlp/abstractions.js";
|
|
2
|
+
import { FolderAfterDeleteEventHandler } from "../../folder/DeleteFolder/abstractions.js";
|
|
3
|
+
import { DELETE_FLP_TASK_ID } from "../../../flp/tasks/index.js";
|
|
4
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
5
|
+
class DeleteFlpOnFolderDeletedHandlerImpl {
|
|
6
|
+
constructor(deleteFlpUseCase, tasks) {
|
|
7
|
+
this.deleteFlpUseCase = deleteFlpUseCase;
|
|
8
|
+
this.tasks = tasks;
|
|
9
|
+
}
|
|
10
|
+
async handle(event) {
|
|
11
|
+
const {
|
|
12
|
+
folder
|
|
13
|
+
} = event.payload;
|
|
14
|
+
try {
|
|
15
|
+
if (this.tasks) {
|
|
16
|
+
await this.tasks.trigger({
|
|
17
|
+
definition: DELETE_FLP_TASK_ID,
|
|
18
|
+
input: {
|
|
19
|
+
folder
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
} else {
|
|
23
|
+
await this.deleteFlpUseCase.execute(folder);
|
|
24
|
+
}
|
|
25
|
+
} catch {
|
|
26
|
+
// Ignore errors
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export const DeleteFlpOnFolderDeletedHandler = FolderAfterDeleteEventHandler.createImplementation({
|
|
31
|
+
implementation: DeleteFlpOnFolderDeletedHandlerImpl,
|
|
32
|
+
dependencies: [DeleteFlpUseCase, [TaskService, {
|
|
33
|
+
optional: true
|
|
34
|
+
}]]
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=DeleteFlpOnFolderDeletedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeleteFlpUseCase","FolderAfterDeleteEventHandler","DELETE_FLP_TASK_ID","TaskService","DeleteFlpOnFolderDeletedHandlerImpl","constructor","deleteFlpUseCase","tasks","handle","event","folder","payload","trigger","definition","input","execute","DeleteFlpOnFolderDeletedHandler","createImplementation","implementation","dependencies","optional"],"sources":["DeleteFlpOnFolderDeletedHandler.ts"],"sourcesContent":["import { DeleteFlpUseCase } from \"../DeleteFlp/abstractions.js\";\nimport { FolderAfterDeleteEventHandler } from \"~/features/folder/DeleteFolder/abstractions.js\";\nimport type { FolderAfterDeleteEvent } from \"~/features/folder/DeleteFolder/events.js\";\nimport type { IDeleteFlpTaskInput } from \"~/types.js\";\nimport { DELETE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nclass DeleteFlpOnFolderDeletedHandlerImpl implements FolderAfterDeleteEventHandler.Interface {\n constructor(\n private deleteFlpUseCase: DeleteFlpUseCase.Interface,\n private tasks?: TaskService.Interface\n ) {}\n\n async handle(event: FolderAfterDeleteEvent): Promise<void> {\n const { folder } = event.payload;\n\n try {\n if (this.tasks) {\n await this.tasks.trigger<IDeleteFlpTaskInput>({\n definition: DELETE_FLP_TASK_ID,\n input: { folder }\n });\n } else {\n await this.deleteFlpUseCase.execute(folder);\n }\n } catch {\n // Ignore errors\n }\n }\n}\n\nexport const DeleteFlpOnFolderDeletedHandler = FolderAfterDeleteEventHandler.createImplementation({\n implementation: DeleteFlpOnFolderDeletedHandlerImpl,\n dependencies: [DeleteFlpUseCase, [TaskService, { optional: true }]]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,6BAA6B;AAGtC,SAASC,kBAAkB;AAC3B,SAASC,WAAW,QAAQ,qDAAqD;AAEjF,MAAMC,mCAAmC,CAAoD;EACzFC,WAAWA,CACCC,gBAA4C,EAC5CC,KAA6B,EACvC;IAAA,KAFUD,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,KAA6B,GAA7BA,KAA6B;EACtC;EAEH,MAAMC,MAAMA,CAACC,KAA6B,EAAiB;IACvD,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;IAEhC,IAAI;MACA,IAAI,IAAI,CAACJ,KAAK,EAAE;QACZ,MAAM,IAAI,CAACA,KAAK,CAACK,OAAO,CAAsB;UAC1CC,UAAU,EAAEX,kBAAkB;UAC9BY,KAAK,EAAE;YAAEJ;UAAO;QACpB,CAAC,CAAC;MACN,CAAC,MAAM;QACH,MAAM,IAAI,CAACJ,gBAAgB,CAACS,OAAO,CAACL,MAAM,CAAC;MAC/C;IACJ,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;AACJ;AAEA,OAAO,MAAMM,+BAA+B,GAAGf,6BAA6B,CAACgB,oBAAoB,CAAC;EAC9FC,cAAc,EAAEd,mCAAmC;EACnDe,YAAY,EAAE,CAACnB,gBAAgB,EAAE,CAACG,WAAW,EAAE;IAAEiB,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DeleteFlpOnFolderDeletedFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteFlpOnFolderDeletedHandler } from "./DeleteFlpOnFolderDeletedHandler.js";
|
|
3
|
+
export const DeleteFlpOnFolderDeletedFeature = createFeature({
|
|
4
|
+
name: "DeleteFlpOnFolderDeleted",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(DeleteFlpOnFolderDeletedHandler);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","DeleteFlpOnFolderDeletedHandler","DeleteFlpOnFolderDeletedFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteFlpOnFolderDeletedHandler } from \"./DeleteFlpOnFolderDeletedHandler.js\";\n\nexport const DeleteFlpOnFolderDeletedFeature = createFeature({\n name: \"DeleteFlpOnFolderDeleted\",\n register(container) {\n container.register(DeleteFlpOnFolderDeletedHandler);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,+BAA+B;AAExC,OAAO,MAAMC,+BAA+B,GAAGF,aAAa,CAAC;EACzDG,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,+BAA+B,CAAC;EACvD;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DeleteFlpOnFolderDeletedFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeleteFlpOnFolderDeletedFeature"],"sources":["index.ts"],"sourcesContent":["export { DeleteFlpOnFolderDeletedFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,+BAA+B","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
2
|
+
import { WcpContext } from "@webiny/api-core/features/WcpContext";
|
|
3
|
+
import { ListUserTeamsUseCase } from "@webiny/api-core/features/ListUserTeams";
|
|
4
|
+
import { type CanAccessFolderContentParams, type CanAccessFolderParams } from "./useCases/index.js";
|
|
5
|
+
import { FolderLevelPermissions as FolderLevelPermissionsAbstraction } from "./abstractions.js";
|
|
6
|
+
import type { FolderLevelPermission, FolderPermission, ListFlpsParams } from "../../../types.js";
|
|
7
|
+
import { ListFlpsUseCase } from "../../../features/flp/ListFlps/index.js";
|
|
8
|
+
import { GetFlpUseCase } from "../../../features/flp/GetFlp/index.js";
|
|
9
|
+
declare class FolderLevelPermissionsImpl implements FolderLevelPermissionsAbstraction.Interface {
|
|
10
|
+
private identityContext;
|
|
11
|
+
private wcpContext;
|
|
12
|
+
private listUserTeamsUseCase;
|
|
13
|
+
private getFlpUseCase;
|
|
14
|
+
private listFlpsUseCase;
|
|
15
|
+
constructor(identityContext: IdentityContext.Interface, wcpContext: WcpContext.Interface, listUserTeamsUseCase: ListUserTeamsUseCase.Interface, getFlpUseCase: GetFlpUseCase.Interface, listFlpsUseCase: ListFlpsUseCase.Interface);
|
|
16
|
+
canUseFolderLevelPermissions(enabled?: boolean): boolean;
|
|
17
|
+
canUseTeams(): boolean;
|
|
18
|
+
canCreateFolderInRoot(): boolean;
|
|
19
|
+
permissionsIncludeNonInheritedPermissions(permissions: FolderPermission[]): boolean;
|
|
20
|
+
canAccessFolder(params: CanAccessFolderParams): Promise<boolean>;
|
|
21
|
+
canAccessFolderContent(params: CanAccessFolderContentParams): Promise<boolean>;
|
|
22
|
+
ensureCanAccessFolder(params: CanAccessFolderParams): Promise<void>;
|
|
23
|
+
ensureCanAccessFolderContent(params: CanAccessFolderContentParams): Promise<void>;
|
|
24
|
+
canManageFolderContent(flp: FolderLevelPermission): Promise<boolean>;
|
|
25
|
+
canManageFolderStructure(flp: FolderLevelPermission): Promise<boolean>;
|
|
26
|
+
canManageFolderPermissions(flp: FolderLevelPermission): Promise<boolean>;
|
|
27
|
+
getDefaultPermissions(permissions: FolderPermission[]): Promise<FolderPermission[]>;
|
|
28
|
+
listFolderLevelPermissions(params: ListFlpsParams): Promise<Array<{
|
|
29
|
+
id: string;
|
|
30
|
+
permissions: FolderPermission[];
|
|
31
|
+
}>>;
|
|
32
|
+
getFolderLevelPermissions(id: string): Promise<FolderPermission[]>;
|
|
33
|
+
}
|
|
34
|
+
export declare const FolderLevelPermissions: import("@webiny/di").Implementation<typeof FolderLevelPermissionsImpl>;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { createImplementation } from "@webiny/di";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
3
|
+
import { WcpContext } from "@webiny/api-core/features/WcpContext";
|
|
4
|
+
import { ListUserTeamsUseCase } from "@webiny/api-core/features/ListUserTeams";
|
|
5
|
+
import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/index.js";
|
|
6
|
+
import { CanAccessFolder, CanAccessFolderContent, CanCreateFolderInRoot, CheckNotInheritedPermissions, GetDefaultPermissions, GetDefaultPermissionsWithTeams } from "./useCases/index.js";
|
|
7
|
+
import { FolderLevelPermissions as FolderLevelPermissionsAbstraction } from "./abstractions.js";
|
|
8
|
+
import { ListFlpsUseCase } from "../ListFlps/index.js";
|
|
9
|
+
import { GetFlpUseCase } from "../GetFlp/index.js";
|
|
10
|
+
class FolderLevelPermissionsImpl {
|
|
11
|
+
constructor(identityContext, wcpContext, listUserTeamsUseCase, getFlpUseCase, listFlpsUseCase) {
|
|
12
|
+
this.identityContext = identityContext;
|
|
13
|
+
this.wcpContext = wcpContext;
|
|
14
|
+
this.listUserTeamsUseCase = listUserTeamsUseCase;
|
|
15
|
+
this.getFlpUseCase = getFlpUseCase;
|
|
16
|
+
this.listFlpsUseCase = listFlpsUseCase;
|
|
17
|
+
}
|
|
18
|
+
canUseFolderLevelPermissions(enabled) {
|
|
19
|
+
if (enabled === false) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
const identity = this.identityContext.getIdentity();
|
|
23
|
+
|
|
24
|
+
// FLPs only work with authenticated identities (logged-in users).
|
|
25
|
+
if (!identity) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// At the moment, we only want FLP to be used with identities of type "admin".
|
|
30
|
+
// This temporarily addresses the issue of API keys not being able to access content, because
|
|
31
|
+
// FLPs doesn't work with them. Once we start adding FLPs to API keys, we can remove this check.
|
|
32
|
+
if (identity.type !== "admin") {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return this.wcpContext.canUseFolderLevelPermissions();
|
|
36
|
+
}
|
|
37
|
+
canUseTeams() {
|
|
38
|
+
return this.wcpContext.canUseTeams();
|
|
39
|
+
}
|
|
40
|
+
canCreateFolderInRoot() {
|
|
41
|
+
const canCreateFolderInRootUseCase = new CanCreateFolderInRoot();
|
|
42
|
+
return canCreateFolderInRootUseCase.execute();
|
|
43
|
+
}
|
|
44
|
+
permissionsIncludeNonInheritedPermissions(permissions) {
|
|
45
|
+
const checkNotInheritedPermissionsUseCase = new CheckNotInheritedPermissions();
|
|
46
|
+
return checkNotInheritedPermissionsUseCase.execute(permissions);
|
|
47
|
+
}
|
|
48
|
+
async canAccessFolder(params) {
|
|
49
|
+
if (!this.canUseFolderLevelPermissions() || !this.identityContext.isAuthorizationEnabled()) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
const canAccessFolderUseCase = new CanAccessFolder(this.identityContext);
|
|
53
|
+
return await canAccessFolderUseCase.execute(params);
|
|
54
|
+
}
|
|
55
|
+
async canAccessFolderContent(params) {
|
|
56
|
+
const canUseFlp = this.canUseFolderLevelPermissions();
|
|
57
|
+
const authEnabled = this.identityContext.isAuthorizationEnabled();
|
|
58
|
+
if (!canUseFlp || !authEnabled) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
const canAccessFolderContentUseCase = new CanAccessFolderContent(this.identityContext);
|
|
62
|
+
return await canAccessFolderContentUseCase.execute(params);
|
|
63
|
+
}
|
|
64
|
+
async ensureCanAccessFolder(params) {
|
|
65
|
+
const result = await this.canAccessFolder(params);
|
|
66
|
+
if (!result) {
|
|
67
|
+
throw new NotAuthorizedError();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async ensureCanAccessFolderContent(params) {
|
|
71
|
+
const result = await this.canAccessFolderContent(params);
|
|
72
|
+
if (!result) {
|
|
73
|
+
throw new NotAuthorizedError();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async canManageFolderContent(flp) {
|
|
77
|
+
if (!this.canUseFolderLevelPermissions() || !this.identityContext.isAuthorizationEnabled()) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
return await this.canAccessFolderContent({
|
|
81
|
+
permissions: flp.permissions,
|
|
82
|
+
rwd: "w"
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
async canManageFolderStructure(flp) {
|
|
86
|
+
if (!this.canUseFolderLevelPermissions() || !this.identityContext.isAuthorizationEnabled()) {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
return await this.canAccessFolder({
|
|
90
|
+
permissions: flp.permissions,
|
|
91
|
+
rwd: "w"
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
async canManageFolderPermissions(flp) {
|
|
95
|
+
if (!this.canUseFolderLevelPermissions()) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (!this.identityContext.isAuthorizationEnabled()) {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
return await this.canAccessFolder({
|
|
102
|
+
permissions: flp.permissions,
|
|
103
|
+
rwd: "w",
|
|
104
|
+
managePermissions: true
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
getDefaultPermissions(permissions) {
|
|
108
|
+
const getDefaultPermissionsUseCase = new GetDefaultPermissions(this.identityContext);
|
|
109
|
+
if (this.canUseTeams()) {
|
|
110
|
+
const getDefaultPermissionsWithTeams = new GetDefaultPermissionsWithTeams(this.identityContext, this.listUserTeamsUseCase, getDefaultPermissionsUseCase);
|
|
111
|
+
return getDefaultPermissionsWithTeams.execute(permissions);
|
|
112
|
+
}
|
|
113
|
+
return getDefaultPermissionsUseCase.execute(permissions);
|
|
114
|
+
}
|
|
115
|
+
async listFolderLevelPermissions(params) {
|
|
116
|
+
const flps = await this.listFlpsUseCase.execute(params);
|
|
117
|
+
return Promise.all(flps.map(async flp => ({
|
|
118
|
+
id: flp.id,
|
|
119
|
+
permissions: await this.getDefaultPermissions(flp.permissions)
|
|
120
|
+
})));
|
|
121
|
+
}
|
|
122
|
+
async getFolderLevelPermissions(id) {
|
|
123
|
+
const flp = await this.getFlpUseCase.execute(id);
|
|
124
|
+
return await this.getDefaultPermissions(flp?.permissions ?? []);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
export const FolderLevelPermissions = createImplementation({
|
|
128
|
+
abstraction: FolderLevelPermissionsAbstraction,
|
|
129
|
+
implementation: FolderLevelPermissionsImpl,
|
|
130
|
+
dependencies: [IdentityContext, WcpContext, ListUserTeamsUseCase, GetFlpUseCase, ListFlpsUseCase]
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
//# sourceMappingURL=FolderLevelPermissions.js.map
|