@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,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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createImplementation","IdentityContext","WcpContext","ListUserTeamsUseCase","NotAuthorizedError","CanAccessFolder","CanAccessFolderContent","CanCreateFolderInRoot","CheckNotInheritedPermissions","GetDefaultPermissions","GetDefaultPermissionsWithTeams","FolderLevelPermissions","FolderLevelPermissionsAbstraction","ListFlpsUseCase","GetFlpUseCase","FolderLevelPermissionsImpl","constructor","identityContext","wcpContext","listUserTeamsUseCase","getFlpUseCase","listFlpsUseCase","canUseFolderLevelPermissions","enabled","identity","getIdentity","type","canUseTeams","canCreateFolderInRoot","canCreateFolderInRootUseCase","execute","permissionsIncludeNonInheritedPermissions","permissions","checkNotInheritedPermissionsUseCase","canAccessFolder","params","isAuthorizationEnabled","canAccessFolderUseCase","canAccessFolderContent","canUseFlp","authEnabled","canAccessFolderContentUseCase","ensureCanAccessFolder","result","ensureCanAccessFolderContent","canManageFolderContent","flp","rwd","canManageFolderStructure","canManageFolderPermissions","managePermissions","getDefaultPermissions","getDefaultPermissionsUseCase","getDefaultPermissionsWithTeams","listFolderLevelPermissions","flps","Promise","all","map","id","getFolderLevelPermissions","abstraction","implementation","dependencies"],"sources":["FolderLevelPermissions.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { WcpContext } from \"@webiny/api-core/features/WcpContext\";\nimport { ListUserTeamsUseCase } from \"@webiny/api-core/features/ListUserTeams\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\nimport {\n CanAccessFolder,\n CanAccessFolderContent,\n type CanAccessFolderContentParams,\n type CanAccessFolderParams,\n CanCreateFolderInRoot,\n CheckNotInheritedPermissions,\n GetDefaultPermissions,\n GetDefaultPermissionsWithTeams\n} from \"./useCases/index.js\";\nimport { FolderLevelPermissions as FolderLevelPermissionsAbstraction } from \"./abstractions.js\";\nimport type { FolderLevelPermission, FolderPermission, ListFlpsParams } from \"~/types.js\";\nimport { ListFlpsUseCase } from \"~/features/flp/ListFlps/index.js\";\nimport { GetFlpUseCase } from \"~/features/flp/GetFlp/index.js\";\n\nclass FolderLevelPermissionsImpl implements FolderLevelPermissionsAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private wcpContext: WcpContext.Interface,\n private listUserTeamsUseCase: ListUserTeamsUseCase.Interface,\n private getFlpUseCase: GetFlpUseCase.Interface,\n private listFlpsUseCase: ListFlpsUseCase.Interface\n ) {}\n\n public canUseFolderLevelPermissions(enabled?: boolean): boolean {\n if (enabled === false) {\n return false;\n }\n\n const identity = this.identityContext.getIdentity();\n\n // FLPs only work with authenticated identities (logged-in users).\n if (!identity) {\n return false;\n }\n\n // At the moment, we only want FLP to be used with identities of type \"admin\".\n // This temporarily addresses the issue of API keys not being able to access content, because\n // FLPs doesn't work with them. Once we start adding FLPs to API keys, we can remove this check.\n if (identity.type !== \"admin\") {\n return false;\n }\n\n return this.wcpContext.canUseFolderLevelPermissions();\n }\n\n public canUseTeams(): boolean {\n return this.wcpContext.canUseTeams();\n }\n\n public canCreateFolderInRoot(): boolean {\n const canCreateFolderInRootUseCase = new CanCreateFolderInRoot();\n return canCreateFolderInRootUseCase.execute();\n }\n\n public permissionsIncludeNonInheritedPermissions(permissions: FolderPermission[]): boolean {\n const checkNotInheritedPermissionsUseCase = new CheckNotInheritedPermissions();\n return checkNotInheritedPermissionsUseCase.execute(permissions);\n }\n\n public async canAccessFolder(params: CanAccessFolderParams): Promise<boolean> {\n if (\n !this.canUseFolderLevelPermissions() ||\n !this.identityContext.isAuthorizationEnabled()\n ) {\n return true;\n }\n\n const canAccessFolderUseCase = new CanAccessFolder(this.identityContext);\n return await canAccessFolderUseCase.execute(params);\n }\n\n public async canAccessFolderContent(params: CanAccessFolderContentParams): Promise<boolean> {\n const canUseFlp = this.canUseFolderLevelPermissions();\n const authEnabled = this.identityContext.isAuthorizationEnabled();\n\n if (!canUseFlp || !authEnabled) {\n return true;\n }\n\n const canAccessFolderContentUseCase = new CanAccessFolderContent(this.identityContext);\n return await canAccessFolderContentUseCase.execute(params);\n }\n\n public async ensureCanAccessFolder(params: CanAccessFolderParams): Promise<void> {\n const result = await this.canAccessFolder(params);\n if (!result) {\n throw new NotAuthorizedError();\n }\n }\n\n public async ensureCanAccessFolderContent(params: CanAccessFolderContentParams): Promise<void> {\n const result = await this.canAccessFolderContent(params);\n if (!result) {\n throw new NotAuthorizedError();\n }\n }\n\n public async canManageFolderContent(flp: FolderLevelPermission): Promise<boolean> {\n if (\n !this.canUseFolderLevelPermissions() ||\n !this.identityContext.isAuthorizationEnabled()\n ) {\n return true;\n }\n\n return await this.canAccessFolderContent({ permissions: flp.permissions, rwd: \"w\" });\n }\n\n public async canManageFolderStructure(flp: FolderLevelPermission): Promise<boolean> {\n if (\n !this.canUseFolderLevelPermissions() ||\n !this.identityContext.isAuthorizationEnabled()\n ) {\n return true;\n }\n\n return await this.canAccessFolder({ permissions: flp.permissions, rwd: \"w\" });\n }\n\n public async canManageFolderPermissions(flp: FolderLevelPermission): Promise<boolean> {\n if (!this.canUseFolderLevelPermissions()) {\n return false;\n }\n\n if (!this.identityContext.isAuthorizationEnabled()) {\n return true;\n }\n\n return await this.canAccessFolder({\n permissions: flp.permissions,\n rwd: \"w\",\n managePermissions: true\n });\n }\n\n public getDefaultPermissions(permissions: FolderPermission[]): Promise<FolderPermission[]> {\n const getDefaultPermissionsUseCase = new GetDefaultPermissions(this.identityContext);\n\n if (this.canUseTeams()) {\n const getDefaultPermissionsWithTeams = new GetDefaultPermissionsWithTeams(\n this.identityContext,\n this.listUserTeamsUseCase,\n getDefaultPermissionsUseCase\n );\n\n return getDefaultPermissionsWithTeams.execute(permissions);\n }\n\n return getDefaultPermissionsUseCase.execute(permissions);\n }\n\n public async listFolderLevelPermissions(params: ListFlpsParams): Promise<\n Array<{\n id: string;\n permissions: FolderPermission[];\n }>\n > {\n const flps = await this.listFlpsUseCase.execute(params);\n\n return Promise.all(\n flps.map(async flp => ({\n id: flp.id,\n permissions: await this.getDefaultPermissions(flp.permissions)\n }))\n );\n }\n\n public async getFolderLevelPermissions(id: string): Promise<FolderPermission[]> {\n const flp = await this.getFlpUseCase.execute(id);\n return await this.getDefaultPermissions(flp?.permissions ?? []);\n }\n}\n\nexport const FolderLevelPermissions = createImplementation({\n abstraction: FolderLevelPermissionsAbstraction,\n implementation: FolderLevelPermissionsImpl,\n dependencies: [\n IdentityContext,\n WcpContext,\n ListUserTeamsUseCase,\n GetFlpUseCase,\n ListFlpsUseCase\n ]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,UAAU,QAAQ,sCAAsC;AACjE,SAASC,oBAAoB,QAAQ,yCAAyC;AAC9E,SAASC,kBAAkB,QAAQ,oDAAoD;AACvF,SACIC,eAAe,EACfC,sBAAsB,EAGtBC,qBAAqB,EACrBC,4BAA4B,EAC5BC,qBAAqB,EACrBC,8BAA8B;AAElC,SAASC,sBAAsB,IAAIC,iCAAiC;AAEpE,SAASC,eAAe;AACxB,SAASC,aAAa;AAEtB,MAAMC,0BAA0B,CAAwD;EACpFC,WAAWA,CACCC,eAA0C,EAC1CC,UAAgC,EAChCC,oBAAoD,EACpDC,aAAsC,EACtCC,eAA0C,EACpD;IAAA,KALUJ,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAgC,GAAhCA,UAAgC;IAAA,KAChCC,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,eAA0C,GAA1CA,eAA0C;EACnD;EAEIC,4BAA4BA,CAACC,OAAiB,EAAW;IAC5D,IAAIA,OAAO,KAAK,KAAK,EAAE;MACnB,OAAO,KAAK;IAChB;IAEA,MAAMC,QAAQ,GAAG,IAAI,CAACP,eAAe,CAACQ,WAAW,CAAC,CAAC;;IAEnD;IACA,IAAI,CAACD,QAAQ,EAAE;MACX,OAAO,KAAK;IAChB;;IAEA;IACA;IACA;IACA,IAAIA,QAAQ,CAACE,IAAI,KAAK,OAAO,EAAE;MAC3B,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI,CAACR,UAAU,CAACI,4BAA4B,CAAC,CAAC;EACzD;EAEOK,WAAWA,CAAA,EAAY;IAC1B,OAAO,IAAI,CAACT,UAAU,CAACS,WAAW,CAAC,CAAC;EACxC;EAEOC,qBAAqBA,CAAA,EAAY;IACpC,MAAMC,4BAA4B,GAAG,IAAItB,qBAAqB,CAAC,CAAC;IAChE,OAAOsB,4BAA4B,CAACC,OAAO,CAAC,CAAC;EACjD;EAEOC,yCAAyCA,CAACC,WAA+B,EAAW;IACvF,MAAMC,mCAAmC,GAAG,IAAIzB,4BAA4B,CAAC,CAAC;IAC9E,OAAOyB,mCAAmC,CAACH,OAAO,CAACE,WAAW,CAAC;EACnE;EAEA,MAAaE,eAAeA,CAACC,MAA6B,EAAoB;IAC1E,IACI,CAAC,IAAI,CAACb,4BAA4B,CAAC,CAAC,IACpC,CAAC,IAAI,CAACL,eAAe,CAACmB,sBAAsB,CAAC,CAAC,EAChD;MACE,OAAO,IAAI;IACf;IAEA,MAAMC,sBAAsB,GAAG,IAAIhC,eAAe,CAAC,IAAI,CAACY,eAAe,CAAC;IACxE,OAAO,MAAMoB,sBAAsB,CAACP,OAAO,CAACK,MAAM,CAAC;EACvD;EAEA,MAAaG,sBAAsBA,CAACH,MAAoC,EAAoB;IACxF,MAAMI,SAAS,GAAG,IAAI,CAACjB,4BAA4B,CAAC,CAAC;IACrD,MAAMkB,WAAW,GAAG,IAAI,CAACvB,eAAe,CAACmB,sBAAsB,CAAC,CAAC;IAEjE,IAAI,CAACG,SAAS,IAAI,CAACC,WAAW,EAAE;MAC5B,OAAO,IAAI;IACf;IAEA,MAAMC,6BAA6B,GAAG,IAAInC,sBAAsB,CAAC,IAAI,CAACW,eAAe,CAAC;IACtF,OAAO,MAAMwB,6BAA6B,CAACX,OAAO,CAACK,MAAM,CAAC;EAC9D;EAEA,MAAaO,qBAAqBA,CAACP,MAA6B,EAAiB;IAC7E,MAAMQ,MAAM,GAAG,MAAM,IAAI,CAACT,eAAe,CAACC,MAAM,CAAC;IACjD,IAAI,CAACQ,MAAM,EAAE;MACT,MAAM,IAAIvC,kBAAkB,CAAC,CAAC;IAClC;EACJ;EAEA,MAAawC,4BAA4BA,CAACT,MAAoC,EAAiB;IAC3F,MAAMQ,MAAM,GAAG,MAAM,IAAI,CAACL,sBAAsB,CAACH,MAAM,CAAC;IACxD,IAAI,CAACQ,MAAM,EAAE;MACT,MAAM,IAAIvC,kBAAkB,CAAC,CAAC;IAClC;EACJ;EAEA,MAAayC,sBAAsBA,CAACC,GAA0B,EAAoB;IAC9E,IACI,CAAC,IAAI,CAACxB,4BAA4B,CAAC,CAAC,IACpC,CAAC,IAAI,CAACL,eAAe,CAACmB,sBAAsB,CAAC,CAAC,EAChD;MACE,OAAO,IAAI;IACf;IAEA,OAAO,MAAM,IAAI,CAACE,sBAAsB,CAAC;MAAEN,WAAW,EAAEc,GAAG,CAACd,WAAW;MAAEe,GAAG,EAAE;IAAI,CAAC,CAAC;EACxF;EAEA,MAAaC,wBAAwBA,CAACF,GAA0B,EAAoB;IAChF,IACI,CAAC,IAAI,CAACxB,4BAA4B,CAAC,CAAC,IACpC,CAAC,IAAI,CAACL,eAAe,CAACmB,sBAAsB,CAAC,CAAC,EAChD;MACE,OAAO,IAAI;IACf;IAEA,OAAO,MAAM,IAAI,CAACF,eAAe,CAAC;MAAEF,WAAW,EAAEc,GAAG,CAACd,WAAW;MAAEe,GAAG,EAAE;IAAI,CAAC,CAAC;EACjF;EAEA,MAAaE,0BAA0BA,CAACH,GAA0B,EAAoB;IAClF,IAAI,CAAC,IAAI,CAACxB,4BAA4B,CAAC,CAAC,EAAE;MACtC,OAAO,KAAK;IAChB;IAEA,IAAI,CAAC,IAAI,CAACL,eAAe,CAACmB,sBAAsB,CAAC,CAAC,EAAE;MAChD,OAAO,IAAI;IACf;IAEA,OAAO,MAAM,IAAI,CAACF,eAAe,CAAC;MAC9BF,WAAW,EAAEc,GAAG,CAACd,WAAW;MAC5Be,GAAG,EAAE,GAAG;MACRG,iBAAiB,EAAE;IACvB,CAAC,CAAC;EACN;EAEOC,qBAAqBA,CAACnB,WAA+B,EAA+B;IACvF,MAAMoB,4BAA4B,GAAG,IAAI3C,qBAAqB,CAAC,IAAI,CAACQ,eAAe,CAAC;IAEpF,IAAI,IAAI,CAACU,WAAW,CAAC,CAAC,EAAE;MACpB,MAAM0B,8BAA8B,GAAG,IAAI3C,8BAA8B,CACrE,IAAI,CAACO,eAAe,EACpB,IAAI,CAACE,oBAAoB,EACzBiC,4BACJ,CAAC;MAED,OAAOC,8BAA8B,CAACvB,OAAO,CAACE,WAAW,CAAC;IAC9D;IAEA,OAAOoB,4BAA4B,CAACtB,OAAO,CAACE,WAAW,CAAC;EAC5D;EAEA,MAAasB,0BAA0BA,CAACnB,MAAsB,EAK5D;IACE,MAAMoB,IAAI,GAAG,MAAM,IAAI,CAAClC,eAAe,CAACS,OAAO,CAACK,MAAM,CAAC;IAEvD,OAAOqB,OAAO,CAACC,GAAG,CACdF,IAAI,CAACG,GAAG,CAAC,MAAMZ,GAAG,KAAK;MACnBa,EAAE,EAAEb,GAAG,CAACa,EAAE;MACV3B,WAAW,EAAE,MAAM,IAAI,CAACmB,qBAAqB,CAACL,GAAG,CAACd,WAAW;IACjE,CAAC,CAAC,CACN,CAAC;EACL;EAEA,MAAa4B,yBAAyBA,CAACD,EAAU,EAA+B;IAC5E,MAAMb,GAAG,GAAG,MAAM,IAAI,CAAC1B,aAAa,CAACU,OAAO,CAAC6B,EAAE,CAAC;IAChD,OAAO,MAAM,IAAI,CAACR,qBAAqB,CAACL,GAAG,EAAEd,WAAW,IAAI,EAAE,CAAC;EACnE;AACJ;AAEA,OAAO,MAAMrB,sBAAsB,GAAGX,oBAAoB,CAAC;EACvD6D,WAAW,EAAEjD,iCAAiC;EAC9CkD,cAAc,EAAE/C,0BAA0B;EAC1CgD,YAAY,EAAE,CACV9D,eAAe,EACfC,UAAU,EACVC,oBAAoB,EACpBW,aAAa,EACbD,eAAe;AAEvB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
interface
|
|
4
|
-
context: AcoContext;
|
|
5
|
-
crud: AcoFolderLevelPermissionsCrud;
|
|
6
|
-
}
|
|
7
|
-
export declare class FolderLevelPermissions {
|
|
8
|
-
private crud;
|
|
9
|
-
private readonly getWcpGateway;
|
|
10
|
-
private readonly getIdentityGateway;
|
|
11
|
-
private readonly listPermissionsGateway;
|
|
12
|
-
private readonly listIdentityTeamsGateway;
|
|
13
|
-
private readonly isAuthorizationEnabledGateway;
|
|
14
|
-
constructor(params: CreateFolderLevelPermissionsParams);
|
|
1
|
+
import type { CanAccessFolderContentParams, CanAccessFolderParams } from "./useCases/index.js";
|
|
2
|
+
import type { FolderLevelPermission, FolderPermission, ListFlpsParams } from "../../../types.js";
|
|
3
|
+
export interface IFolderLevelPermissions {
|
|
15
4
|
canUseFolderLevelPermissions(enabled?: boolean): boolean;
|
|
16
5
|
canUseTeams(): boolean;
|
|
17
6
|
canCreateFolderInRoot(): boolean;
|
|
18
|
-
permissionsIncludeNonInheritedPermissions(permissions
|
|
7
|
+
permissionsIncludeNonInheritedPermissions(permissions: FolderPermission[]): boolean;
|
|
19
8
|
canAccessFolder(params: CanAccessFolderParams): Promise<boolean>;
|
|
20
9
|
canAccessFolderContent(params: CanAccessFolderContentParams): Promise<boolean>;
|
|
21
10
|
ensureCanAccessFolder(params: CanAccessFolderParams): Promise<void>;
|
|
@@ -24,10 +13,13 @@ export declare class FolderLevelPermissions {
|
|
|
24
13
|
canManageFolderStructure(flp: FolderLevelPermission): Promise<boolean>;
|
|
25
14
|
canManageFolderPermissions(flp: FolderLevelPermission): Promise<boolean>;
|
|
26
15
|
getDefaultPermissions(permissions: FolderPermission[]): Promise<FolderPermission[]>;
|
|
27
|
-
listFolderLevelPermissions(params: ListFlpsParams): Promise<{
|
|
16
|
+
listFolderLevelPermissions(params: ListFlpsParams): Promise<Array<{
|
|
28
17
|
id: string;
|
|
29
18
|
permissions: FolderPermission[];
|
|
30
|
-
}
|
|
19
|
+
}>>;
|
|
31
20
|
getFolderLevelPermissions(id: string): Promise<FolderPermission[]>;
|
|
32
21
|
}
|
|
33
|
-
export
|
|
22
|
+
export declare const FolderLevelPermissions: import("@webiny/di").Abstraction<IFolderLevelPermissions>;
|
|
23
|
+
export declare namespace FolderLevelPermissions {
|
|
24
|
+
type Interface = IFolderLevelPermissions;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","FolderLevelPermissions"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CanAccessFolderContentParams, CanAccessFolderParams } from \"./useCases/index.js\";\nimport type { FolderLevelPermission, FolderPermission, ListFlpsParams } from \"~/types.js\";\n\nexport interface IFolderLevelPermissions {\n canUseFolderLevelPermissions(enabled?: boolean): boolean;\n canUseTeams(): boolean;\n canCreateFolderInRoot(): boolean;\n permissionsIncludeNonInheritedPermissions(permissions: FolderPermission[]): boolean;\n canAccessFolder(params: CanAccessFolderParams): Promise<boolean>;\n canAccessFolderContent(params: CanAccessFolderContentParams): Promise<boolean>;\n ensureCanAccessFolder(params: CanAccessFolderParams): Promise<void>;\n ensureCanAccessFolderContent(params: CanAccessFolderContentParams): Promise<void>;\n canManageFolderContent(flp: FolderLevelPermission): Promise<boolean>;\n canManageFolderStructure(flp: FolderLevelPermission): Promise<boolean>;\n canManageFolderPermissions(flp: FolderLevelPermission): Promise<boolean>;\n getDefaultPermissions(permissions: FolderPermission[]): Promise<FolderPermission[]>;\n listFolderLevelPermissions(params: ListFlpsParams): Promise<\n Array<{\n id: string;\n permissions: FolderPermission[];\n }>\n >;\n getFolderLevelPermissions(id: string): Promise<FolderPermission[]>;\n}\n\nexport const FolderLevelPermissions =\n createAbstraction<IFolderLevelPermissions>(\"FolderLevelPermissions\");\n\nexport namespace FolderLevelPermissions {\n export type Interface = IFolderLevelPermissions;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AA0BvD,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FolderLevelPermissionsFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { FolderLevelPermissions } from "./FolderLevelPermissions.js";
|
|
3
|
+
export const FolderLevelPermissionsFeature = createFeature({
|
|
4
|
+
name: "FolderLevelPermissions",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(FolderLevelPermissions);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","FolderLevelPermissions","FolderLevelPermissionsFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { FolderLevelPermissions } from \"./FolderLevelPermissions.js\";\n\nexport const FolderLevelPermissionsFeature = createFeature({\n name: \"FolderLevelPermissions\",\n register(container: Container) {\n container.register(FolderLevelPermissions);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,sBAAsB;AAE/B,OAAO,MAAMC,6BAA6B,GAAGF,aAAa,CAAC;EACvDG,IAAI,EAAE,wBAAwB;EAC9BC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACH,sBAAsB,CAAC;EAC9C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FolderLevelPermissionsFeature","FolderLevelPermissions"],"sources":["index.ts"],"sourcesContent":["export { FolderLevelPermissionsFeature } from \"./feature.js\";\nexport { FolderLevelPermissions } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,6BAA6B;AACtC,SAASC,sBAAsB","ignoreList":[]}
|
package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
2
|
+
import type { CanAccessFolderParams, ICanAccessFolder } from "./ICanAccessFolder.js";
|
|
3
3
|
export declare class CanAccessFolder implements ICanAccessFolder {
|
|
4
|
-
private
|
|
5
|
-
constructor(
|
|
4
|
+
private identityContext;
|
|
5
|
+
constructor(identityContext: IdentityContext.Interface);
|
|
6
6
|
execute({ permissions, rwd, managePermissions }: CanAccessFolderParams): Promise<boolean>;
|
|
7
7
|
}
|
package/{flp → features/flp}/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js
RENAMED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.CanAccessFolder = void 0;
|
|
7
|
-
class CanAccessFolder {
|
|
8
|
-
constructor(getIdentityGateway) {
|
|
9
|
-
this.getIdentityGateway = getIdentityGateway;
|
|
1
|
+
export class CanAccessFolder {
|
|
2
|
+
constructor(identityContext) {
|
|
3
|
+
this.identityContext = identityContext;
|
|
10
4
|
}
|
|
11
5
|
async execute({
|
|
12
6
|
permissions = [],
|
|
@@ -16,7 +10,7 @@ class CanAccessFolder {
|
|
|
16
10
|
if (!permissions.length) {
|
|
17
11
|
return true;
|
|
18
12
|
}
|
|
19
|
-
const identity = this.
|
|
13
|
+
const identity = this.identityContext.getIdentity();
|
|
20
14
|
const currentIdentityPermission = permissions.find(p => {
|
|
21
15
|
return p.target === `admin:${identity.id}`;
|
|
22
16
|
});
|
|
@@ -43,6 +37,5 @@ class CanAccessFolder {
|
|
|
43
37
|
return true;
|
|
44
38
|
}
|
|
45
39
|
}
|
|
46
|
-
exports.CanAccessFolder = CanAccessFolder;
|
|
47
40
|
|
|
48
41
|
//# sourceMappingURL=CanAccessFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CanAccessFolder","constructor","identityContext","execute","permissions","rwd","managePermissions","length","identity","getIdentity","currentIdentityPermission","find","p","target","id","level"],"sources":["CanAccessFolder.ts"],"sourcesContent":["import { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport type { CanAccessFolderParams, ICanAccessFolder } from \"./ICanAccessFolder.js\";\n\nexport class CanAccessFolder implements ICanAccessFolder {\n constructor(private identityContext: IdentityContext.Interface) {}\n\n async execute({ permissions = [], rwd, managePermissions }: CanAccessFolderParams) {\n if (!permissions.length) {\n return true;\n }\n\n const identity = this.identityContext.getIdentity();\n const currentIdentityPermission = permissions.find(p => {\n return p.target === `admin:${identity.id}`;\n });\n\n if (!currentIdentityPermission) {\n return false;\n }\n\n const { level } = currentIdentityPermission;\n\n if (managePermissions) {\n return level === \"owner\";\n }\n\n // If the user has a `no-access` level, they are explicitly denied access to the current folder.\n if (level === \"no-access\") {\n return false;\n }\n\n // Checking for \"write\" or \"delete\" access. Allow only if the\n // user is has `owner` or `editor` level or the folder is public (no FLP assigned).\n if (rwd !== \"r\") {\n return level === \"owner\" || level === \"editor\" || level === \"public\";\n }\n\n return true;\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,eAAe,CAA6B;EACrDC,WAAWA,CAASC,eAA0C,EAAE;IAAA,KAA5CA,eAA0C,GAA1CA,eAA0C;EAAG;EAEjE,MAAMC,OAAOA,CAAC;IAAEC,WAAW,GAAG,EAAE;IAAEC,GAAG;IAAEC;EAAyC,CAAC,EAAE;IAC/E,IAAI,CAACF,WAAW,CAACG,MAAM,EAAE;MACrB,OAAO,IAAI;IACf;IAEA,MAAMC,QAAQ,GAAG,IAAI,CAACN,eAAe,CAACO,WAAW,CAAC,CAAC;IACnD,MAAMC,yBAAyB,GAAGN,WAAW,CAACO,IAAI,CAACC,CAAC,IAAI;MACpD,OAAOA,CAAC,CAACC,MAAM,KAAK,SAASL,QAAQ,CAACM,EAAE,EAAE;IAC9C,CAAC,CAAC;IAEF,IAAI,CAACJ,yBAAyB,EAAE;MAC5B,OAAO,KAAK;IAChB;IAEA,MAAM;MAAEK;IAAM,CAAC,GAAGL,yBAAyB;IAE3C,IAAIJ,iBAAiB,EAAE;MACnB,OAAOS,KAAK,KAAK,OAAO;IAC5B;;IAEA;IACA,IAAIA,KAAK,KAAK,WAAW,EAAE;MACvB,OAAO,KAAK;IAChB;;IAEA;IACA;IACA,IAAIV,GAAG,KAAK,GAAG,EAAE;MACb,OAAOU,KAAK,KAAK,OAAO,IAAIA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,QAAQ;IACxE;IAEA,OAAO,IAAI;EACf;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["ICanAccessFolder.ts"],"sourcesContent":["import type { FolderPermission } from \"~/flp/flp.types.js\";\n\nexport interface CanAccessFolderParams {\n permissions?: FolderPermission[];\n rwd?: \"r\" | \"w\" | \"d\";\n managePermissions?: boolean;\n}\n\nexport interface ICanAccessFolder {\n execute: (params: CanAccessFolderParams) => Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./CanAccessFolder.js\";\nexport type * from \"./ICanAccessFolder.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
2
|
+
import type { CanAccessFolderContentParams, ICanAccessFolderContent } from "./ICanAccessFolderContent.js";
|
|
3
3
|
export declare class CanAccessFolderContent implements ICanAccessFolderContent {
|
|
4
|
-
private
|
|
5
|
-
constructor(
|
|
4
|
+
private identityContext;
|
|
5
|
+
constructor(identityContext: IdentityContext.Interface);
|
|
6
6
|
execute({ permissions, rwd }: CanAccessFolderContentParams): Promise<boolean>;
|
|
7
7
|
}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.CanAccessFolderContent = void 0;
|
|
7
|
-
class CanAccessFolderContent {
|
|
8
|
-
constructor(getIdentityGateway) {
|
|
9
|
-
this.getIdentityGateway = getIdentityGateway;
|
|
1
|
+
export class CanAccessFolderContent {
|
|
2
|
+
constructor(identityContext) {
|
|
3
|
+
this.identityContext = identityContext;
|
|
10
4
|
}
|
|
11
5
|
async execute({
|
|
12
6
|
permissions = [],
|
|
13
7
|
rwd
|
|
14
8
|
}) {
|
|
15
|
-
const identity = this.
|
|
9
|
+
const identity = this.identityContext.getIdentity();
|
|
16
10
|
const currentIdentityPermission = permissions.find(p => {
|
|
17
11
|
return p.target === `admin:${identity.id}`;
|
|
18
12
|
});
|
|
@@ -36,6 +30,5 @@ class CanAccessFolderContent {
|
|
|
36
30
|
return true;
|
|
37
31
|
}
|
|
38
32
|
}
|
|
39
|
-
exports.CanAccessFolderContent = CanAccessFolderContent;
|
|
40
33
|
|
|
41
34
|
//# sourceMappingURL=CanAccessFolderContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CanAccessFolderContent","constructor","identityContext","execute","permissions","rwd","identity","getIdentity","currentIdentityPermission","find","p","target","id","level"],"sources":["CanAccessFolderContent.ts"],"sourcesContent":["import type { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport type {\n CanAccessFolderContentParams,\n ICanAccessFolderContent\n} from \"./ICanAccessFolderContent.js\";\n\nexport class CanAccessFolderContent implements ICanAccessFolderContent {\n constructor(private identityContext: IdentityContext.Interface) {}\n\n async execute({ permissions = [], rwd }: CanAccessFolderContentParams) {\n const identity = this.identityContext.getIdentity();\n\n const currentIdentityPermission = permissions.find(p => {\n return p.target === `admin:${identity.id}`;\n });\n\n if (!currentIdentityPermission) {\n return false;\n }\n\n const { level } = currentIdentityPermission;\n\n // If the user has a `no-access` level, they are explicitly denied access to the current folder.\n if (level === \"no-access\") {\n return false;\n }\n\n // If the user is not an owner and we're checking for \"write\" or\n // \"delete\" access, then we can immediately return false.\n if (rwd !== \"r\") {\n return level !== \"viewer\";\n }\n\n return true;\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,sBAAsB,CAAoC;EACnEC,WAAWA,CAASC,eAA0C,EAAE;IAAA,KAA5CA,eAA0C,GAA1CA,eAA0C;EAAG;EAEjE,MAAMC,OAAOA,CAAC;IAAEC,WAAW,GAAG,EAAE;IAAEC;EAAkC,CAAC,EAAE;IACnE,MAAMC,QAAQ,GAAG,IAAI,CAACJ,eAAe,CAACK,WAAW,CAAC,CAAC;IAEnD,MAAMC,yBAAyB,GAAGJ,WAAW,CAACK,IAAI,CAACC,CAAC,IAAI;MACpD,OAAOA,CAAC,CAACC,MAAM,KAAK,SAASL,QAAQ,CAACM,EAAE,EAAE;IAC9C,CAAC,CAAC;IAEF,IAAI,CAACJ,yBAAyB,EAAE;MAC5B,OAAO,KAAK;IAChB;IAEA,MAAM;MAAEK;IAAM,CAAC,GAAGL,yBAAyB;;IAE3C;IACA,IAAIK,KAAK,KAAK,WAAW,EAAE;MACvB,OAAO,KAAK;IAChB;;IAEA;IACA;IACA,IAAIR,GAAG,KAAK,GAAG,EAAE;MACb,OAAOQ,KAAK,KAAK,QAAQ;IAC7B;IAEA,OAAO,IAAI;EACf;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["ICanAccessFolderContent.ts"],"sourcesContent":["import type { FolderPermission } from \"~/flp/flp.types.js\";\n\nexport interface CanAccessFolderContentParams {\n permissions?: FolderPermission[];\n rwd?: \"r\" | \"w\" | \"d\";\n}\n\nexport interface ICanAccessFolderContent {\n execute: (params: CanAccessFolderContentParams) => Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./CanAccessFolderContent.js\";\nexport type * from \"./ICanAccessFolderContent.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CanCreateFolderInRoot","execute"],"sources":["CanCreateFolderInRoot.ts"],"sourcesContent":["import type { ICanCreateFolderInRoot } from \"./ICanCreateFolderInRoot.js\";\n\nexport class CanCreateFolderInRoot implements ICanCreateFolderInRoot {\n execute() {\n return true;\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,qBAAqB,CAAmC;EACjEC,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI;EACf;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./CanCreateFolderInRoot.js\";\nexport type * from \"./ICanCreateFolderInRoot.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ICheckNotInheritedPermissions } from "./ICheckNotInheritedPermissions";
|
|
2
|
-
import type { FolderPermission } from "
|
|
1
|
+
import type { ICheckNotInheritedPermissions } from "./ICheckNotInheritedPermissions.js";
|
|
2
|
+
import type { FolderPermission } from "../../../../../flp/flp.types.js";
|
|
3
3
|
export declare class CheckNotInheritedPermissions implements ICheckNotInheritedPermissions {
|
|
4
|
-
execute(permissions
|
|
4
|
+
execute(permissions: FolderPermission[]): boolean;
|
|
5
5
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CheckNotInheritedPermissions","execute","permissions","some","p","inheritedFrom"],"sources":["CheckNotInheritedPermissions.ts"],"sourcesContent":["import type { ICheckNotInheritedPermissions } from \"./ICheckNotInheritedPermissions.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\n\nexport class CheckNotInheritedPermissions implements ICheckNotInheritedPermissions {\n execute(permissions: FolderPermission[]) {\n return permissions.some(p => !p.inheritedFrom);\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,4BAA4B,CAA0C;EAC/EC,OAAOA,CAACC,WAA+B,EAAE;IACrC,OAAOA,WAAW,CAACC,IAAI,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,aAAa,CAAC;EAClD;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["ICheckNotInheritedPermissions.ts"],"sourcesContent":["import type { FolderPermission } from \"~/flp/flp.types.js\";\n\nexport interface ICheckNotInheritedPermissions {\n execute: (permissions: FolderPermission[]) => boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type * from \"./ICheckNotInheritedPermissions.js\";\nexport * from \"./CheckNotInheritedPermissions.js\";\n"],"mappings":"AACA","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SecurityIdentity, SecurityPermission } from "@webiny/api-core/types/security.js";
|
|
2
|
+
import type { FolderPermission } from "../../../../../flp/flp.types.js";
|
|
3
|
+
export declare class DefaultPermissionsMerger {
|
|
4
|
+
static merge(identity: SecurityIdentity, identityPermissions: SecurityPermission[], folderPermissions: FolderPermission[]): FolderPermission[];
|
|
5
|
+
}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.DefaultPermissionsMerger = void 0;
|
|
7
|
-
class DefaultPermissionsMerger {
|
|
1
|
+
export class DefaultPermissionsMerger {
|
|
8
2
|
static merge(identity, identityPermissions, folderPermissions) {
|
|
9
3
|
// If the user has full access permission, add a specific "owner" permission to the list.
|
|
10
4
|
// This ensures the user has complete control over the folder.
|
|
@@ -72,6 +66,5 @@ class DefaultPermissionsMerger {
|
|
|
72
66
|
return [resultPermission, ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)];
|
|
73
67
|
}
|
|
74
68
|
}
|
|
75
|
-
exports.DefaultPermissionsMerger = DefaultPermissionsMerger;
|
|
76
69
|
|
|
77
70
|
//# sourceMappingURL=DefaultPermissionsMerger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DefaultPermissionsMerger","merge","identity","identityPermissions","folderPermissions","hasFullAccess","some","p","name","target","id","level","inheritedFrom","filter","length","currentAdminPermissions","noAccessPermission","find","filteredPermissions","firstAdminPermission","restAdminPermissions","resultPermission","reduce","winner","current","winnerInherits","startsWith","currentInherits"],"sources":["DefaultPermissionsMerger.ts"],"sourcesContent":["import { SecurityIdentity, SecurityPermission } from \"@webiny/api-core/types/security.js\";\nimport type { FolderAccessLevel, FolderPermission } from \"~/flp/flp.types.js\";\n\nexport class DefaultPermissionsMerger {\n static merge(\n identity: SecurityIdentity,\n identityPermissions: SecurityPermission[],\n folderPermissions: FolderPermission[]\n ): FolderPermission[] {\n // If the user has full access permission, add a specific \"owner\" permission to the list.\n // This ensures the user has complete control over the folder.\n const hasFullAccess = identityPermissions.some(p => p.name === \"*\");\n if (hasFullAccess) {\n return [\n {\n target: `admin:${identity.id}`,\n level: \"owner\" as FolderAccessLevel,\n inheritedFrom: \"role:full-access\"\n },\n\n // Remove any permissions related to the full access user,\n // as these are always superseded by the \"owner\" permission defined above.\n ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)\n ];\n }\n\n if (folderPermissions.length === 0) {\n // No permissions provided. This means the folder is public.\n // Add a specific \"public\" permission to the list to ensure the folder is accessible to everyone.\n return [\n {\n target: `admin:${identity.id}`,\n level: \"public\" as FolderAccessLevel,\n inheritedFrom: \"public\"\n }\n ];\n }\n\n // If there are multiple `admin:${identity.id}` permissions in the array,\n // we need to pick the one with the highest access level. We also remove\n // other permissions for the same identity.\n\n // Get permissions related to the current identity (admin).\n const currentAdminPermissions = folderPermissions.filter(\n p => p.target === `admin:${identity.id}`\n );\n\n if (currentAdminPermissions.length === 0) {\n return folderPermissions;\n }\n\n const noAccessPermission = currentAdminPermissions.find(\n p => p.level === \"no-access\" && p.target === `admin:${identity.id}`\n );\n\n if (noAccessPermission) {\n // If one of the permissions is `no-access`, then we can immediately return it. This is\n // because `no-access` is the ultimate level of access, and no other permission can override it.\n // Remove all permissions for the current identity and add the winning one.\n const filteredPermissions = folderPermissions.filter(\n p => p.target !== `admin:${identity.id}`\n );\n\n return [...filteredPermissions, noAccessPermission];\n }\n\n const [firstAdminPermission, ...restAdminPermissions] = currentAdminPermissions;\n\n const resultPermission = restAdminPermissions.reduce((winner, current) => {\n const winnerInherits = winner.inheritedFrom?.startsWith(\"parent:\");\n const currentInherits = current.inheritedFrom?.startsWith(\"parent:\");\n\n if (winnerInherits && !currentInherits) {\n return current;\n }\n if (currentInherits && !winnerInherits) {\n return winner;\n }\n\n // At this point, we're either comparing two permissions with `inheritedFrom` or two without it.\n // In other words, we're now at a point where we start comparing the levels (owner > editor > viewer).\n if (current.level === \"owner\") {\n return current;\n }\n\n if (current.level === \"editor\" && winner.level === \"viewer\") {\n return current;\n }\n\n return winner;\n }, firstAdminPermission);\n\n // Remove all permissions for the current identity and add the winning one.\n return [\n resultPermission,\n ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)\n ];\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,wBAAwB,CAAC;EAClC,OAAOC,KAAKA,CACRC,QAA0B,EAC1BC,mBAAyC,EACzCC,iBAAqC,EACnB;IAClB;IACA;IACA,MAAMC,aAAa,GAAGF,mBAAmB,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,KAAK,GAAG,CAAC;IACnE,IAAIH,aAAa,EAAE;MACf,OAAO,CACH;QACII,MAAM,EAAE,SAASP,QAAQ,CAACQ,EAAE,EAAE;QAC9BC,KAAK,EAAE,OAA4B;QACnCC,aAAa,EAAE;MACnB,CAAC;MAED;MACA;MACA,GAAGR,iBAAiB,CAACS,MAAM,CAACN,CAAC,IAAIA,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EAAE,CAAC,CACxE;IACL;IAEA,IAAIN,iBAAiB,CAACU,MAAM,KAAK,CAAC,EAAE;MAChC;MACA;MACA,OAAO,CACH;QACIL,MAAM,EAAE,SAASP,QAAQ,CAACQ,EAAE,EAAE;QAC9BC,KAAK,EAAE,QAA6B;QACpCC,aAAa,EAAE;MACnB,CAAC,CACJ;IACL;;IAEA;IACA;IACA;;IAEA;IACA,MAAMG,uBAAuB,GAAGX,iBAAiB,CAACS,MAAM,CACpDN,CAAC,IAAIA,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EAC1C,CAAC;IAED,IAAIK,uBAAuB,CAACD,MAAM,KAAK,CAAC,EAAE;MACtC,OAAOV,iBAAiB;IAC5B;IAEA,MAAMY,kBAAkB,GAAGD,uBAAuB,CAACE,IAAI,CACnDV,CAAC,IAAIA,CAAC,CAACI,KAAK,KAAK,WAAW,IAAIJ,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EACrE,CAAC;IAED,IAAIM,kBAAkB,EAAE;MACpB;MACA;MACA;MACA,MAAME,mBAAmB,GAAGd,iBAAiB,CAACS,MAAM,CAChDN,CAAC,IAAIA,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EAC1C,CAAC;MAED,OAAO,CAAC,GAAGQ,mBAAmB,EAAEF,kBAAkB,CAAC;IACvD;IAEA,MAAM,CAACG,oBAAoB,EAAE,GAAGC,oBAAoB,CAAC,GAAGL,uBAAuB;IAE/E,MAAMM,gBAAgB,GAAGD,oBAAoB,CAACE,MAAM,CAAC,CAACC,MAAM,EAAEC,OAAO,KAAK;MACtE,MAAMC,cAAc,GAAGF,MAAM,CAACX,aAAa,EAAEc,UAAU,CAAC,SAAS,CAAC;MAClE,MAAMC,eAAe,GAAGH,OAAO,CAACZ,aAAa,EAAEc,UAAU,CAAC,SAAS,CAAC;MAEpE,IAAID,cAAc,IAAI,CAACE,eAAe,EAAE;QACpC,OAAOH,OAAO;MAClB;MACA,IAAIG,eAAe,IAAI,CAACF,cAAc,EAAE;QACpC,OAAOF,MAAM;MACjB;;MAEA;MACA;MACA,IAAIC,OAAO,CAACb,KAAK,KAAK,OAAO,EAAE;QAC3B,OAAOa,OAAO;MAClB;MAEA,IAAIA,OAAO,CAACb,KAAK,KAAK,QAAQ,IAAIY,MAAM,CAACZ,KAAK,KAAK,QAAQ,EAAE;QACzD,OAAOa,OAAO;MAClB;MAEA,OAAOD,MAAM;IACjB,CAAC,EAAEJ,oBAAoB,CAAC;;IAExB;IACA,OAAO,CACHE,gBAAgB,EAChB,GAAGjB,iBAAiB,CAACS,MAAM,CAACN,CAAC,IAAIA,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EAAE,CAAC,CACxE;EACL;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
2
|
+
import type { IGetDefaultPermissions } from "./IGetDefaultPermissions.js";
|
|
3
|
+
import type { FolderPermission } from "../../../../../flp/flp.types.js";
|
|
4
|
+
export declare class GetDefaultPermissions implements IGetDefaultPermissions {
|
|
5
|
+
private identityContext;
|
|
6
|
+
constructor(identityContext: IdentityContext.Interface);
|
|
7
|
+
execute(permissions: FolderPermission[]): Promise<FolderPermission[]>;
|
|
8
|
+
}
|
package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DefaultPermissionsMerger } from "./DefaultPermissionsMerger.js";
|
|
2
|
+
export class GetDefaultPermissions {
|
|
3
|
+
constructor(identityContext) {
|
|
4
|
+
this.identityContext = identityContext;
|
|
5
|
+
}
|
|
6
|
+
async execute(permissions) {
|
|
7
|
+
const identity = this.identityContext.getIdentity();
|
|
8
|
+
const identityPermissions = await this.identityContext.listPermissions();
|
|
9
|
+
return DefaultPermissionsMerger.merge(identity, identityPermissions, permissions);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=GetDefaultPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DefaultPermissionsMerger","GetDefaultPermissions","constructor","identityContext","execute","permissions","identity","getIdentity","identityPermissions","listPermissions","merge"],"sources":["GetDefaultPermissions.ts"],"sourcesContent":["import type { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport type { IGetDefaultPermissions } from \"./IGetDefaultPermissions.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { DefaultPermissionsMerger } from \"./DefaultPermissionsMerger.js\";\n\nexport class GetDefaultPermissions implements IGetDefaultPermissions {\n constructor(private identityContext: IdentityContext.Interface) {}\n\n async execute(permissions: FolderPermission[]) {\n const identity = this.identityContext.getIdentity();\n const identityPermissions = await this.identityContext.listPermissions();\n\n return DefaultPermissionsMerger.merge(identity, identityPermissions, permissions);\n }\n}\n"],"mappings":"AAGA,SAASA,wBAAwB;AAEjC,OAAO,MAAMC,qBAAqB,CAAmC;EACjEC,WAAWA,CAASC,eAA0C,EAAE;IAAA,KAA5CA,eAA0C,GAA1CA,eAA0C;EAAG;EAEjE,MAAMC,OAAOA,CAACC,WAA+B,EAAE;IAC3C,MAAMC,QAAQ,GAAG,IAAI,CAACH,eAAe,CAACI,WAAW,CAAC,CAAC;IACnD,MAAMC,mBAAmB,GAAG,MAAM,IAAI,CAACL,eAAe,CAACM,eAAe,CAAC,CAAC;IAExE,OAAOT,wBAAwB,CAACU,KAAK,CAACJ,QAAQ,EAAEE,mBAAmB,EAAEH,WAAW,CAAC;EACrF;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { IGetDefaultPermissions } from "./IGetDefaultPermissions.js";
|
|
2
|
+
import type { FolderPermission } from "../../../../../flp/flp.types.js";
|
|
3
|
+
import type { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
4
|
+
import { ListUserTeamsUseCase } from "@webiny/api-core/features/ListUserTeams";
|
|
5
|
+
export declare class GetDefaultPermissionsWithTeams implements IGetDefaultPermissions {
|
|
6
|
+
private identityContext;
|
|
7
|
+
private listUserTeamsUseCase;
|
|
8
|
+
private decoretee;
|
|
9
|
+
constructor(identityContext: IdentityContext.Interface, listUserTeamsUseCase: ListUserTeamsUseCase.Interface, decoretee: IGetDefaultPermissions);
|
|
10
|
+
execute(originalPermissions: FolderPermission[]): Promise<FolderPermission[]>;
|
|
11
|
+
}
|