@webiny/api-aco 0.0.0-unstable.a4637c5ce6 → 0.0.0-unstable.a85ef555b2
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/AcoFeature.d.ts +5 -0
- package/AcoFeature.js +134 -0
- package/AcoFeature.js.map +1 -0
- package/AcoFolderSchemaFactory.d.ts +32 -0
- package/AcoFolderSchemaFactory.js +82 -0
- package/AcoFolderSchemaFactory.js.map +1 -0
- package/README.md +6 -28
- package/constants.d.ts +0 -1
- package/constants.js +3 -24
- package/constants.js.map +1 -1
- package/createAcoGraphQL.d.ts +8 -4
- package/createAcoGraphQL.js +56 -149
- package/createAcoGraphQL.js.map +1 -1
- package/domain/folder/abstractions.d.ts +16 -0
- package/domain/folder/abstractions.js +5 -0
- package/domain/folder/abstractions.js.map +1 -0
- package/domain/folder/errors.d.ts +29 -0
- package/domain/folder/errors.js +51 -0
- package/domain/folder/errors.js.map +1 -0
- package/domain/folder/folder.model.d.ts +9 -0
- package/domain/folder/folder.model.js +59 -0
- package/domain/folder/folder.model.js.map +1 -0
- package/exports/api/aco/flp.d.ts +7 -0
- package/exports/api/aco/flp.js +7 -0
- package/exports/api/aco/folder.d.ts +11 -0
- package/exports/api/aco/folder.js +10 -0
- package/features/ai/CreateFolderTool.d.ts +49 -0
- package/features/ai/CreateFolderTool.js +58 -0
- package/features/ai/CreateFolderTool.js.map +1 -0
- package/features/ai/CreateTeamTool.d.ts +48 -0
- package/features/ai/CreateTeamTool.js +56 -0
- package/features/ai/CreateTeamTool.js.map +1 -0
- package/features/ai/DeleteFolderTool.d.ts +48 -0
- package/features/ai/DeleteFolderTool.js +55 -0
- package/features/ai/DeleteFolderTool.js.map +1 -0
- package/features/ai/GrantFolderAccessTool.d.ts +77 -0
- package/features/ai/GrantFolderAccessTool.js +80 -0
- package/features/ai/GrantFolderAccessTool.js.map +1 -0
- package/features/ai/ListFoldersTool.d.ts +47 -0
- package/features/ai/ListFoldersTool.js +57 -0
- package/features/ai/ListFoldersTool.js.map +1 -0
- package/features/ai/ListRolesTool.d.ts +39 -0
- package/features/ai/ListRolesTool.js +48 -0
- package/features/ai/ListRolesTool.js.map +1 -0
- package/features/ai/ListTeamsTool.d.ts +39 -0
- package/features/ai/ListTeamsTool.js +48 -0
- package/features/ai/ListTeamsTool.js.map +1 -0
- package/features/ai/RevokeFolderAccessTool.d.ts +63 -0
- package/features/ai/RevokeFolderAccessTool.js +69 -0
- package/features/ai/RevokeFolderAccessTool.js.map +1 -0
- package/features/ai/assertTargetIsUsable.d.ts +10 -0
- package/features/ai/assertTargetIsUsable.js +14 -0
- package/features/ai/assertTargetIsUsable.js.map +1 -0
- package/features/ai/feature.d.ts +12 -0
- package/features/ai/feature.js +25 -0
- package/features/ai/feature.js.map +1 -0
- package/features/ai/index.d.ts +9 -0
- package/features/ai/index.js +9 -0
- package/features/ai/loadFolderPermissions.d.ts +16 -0
- package/features/ai/loadFolderPermissions.js +14 -0
- package/features/ai/loadFolderPermissions.js.map +1 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +39 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js +33 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +39 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +41 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +36 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.js +36 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +41 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +41 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js +49 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +14 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +39 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/feature.d.ts +4 -0
- package/features/cms/feature.js +37 -0
- package/features/cms/feature.js.map +1 -0
- package/features/cms/index.d.ts +1 -0
- package/features/cms/index.js +1 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js +34 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
- package/features/flp/CreateFlp/abstractions.d.ts +9 -0
- package/features/flp/CreateFlp/abstractions.js +5 -0
- package/features/flp/CreateFlp/abstractions.js.map +1 -0
- package/features/flp/CreateFlp/feature.d.ts +5 -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 +2 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +17 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +44 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js +11 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
- package/features/flp/CreateFlpOnFolderCreated/index.js +1 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js +22 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
- package/features/flp/DeleteFlp/abstractions.d.ts +9 -0
- package/features/flp/DeleteFlp/abstractions.js +5 -0
- package/features/flp/DeleteFlp/abstractions.js.map +1 -0
- package/features/flp/DeleteFlp/feature.d.ts +5 -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 +2 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +15 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +40 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js +11 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.js +1 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +36 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +113 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.d.ts +25 -0
- package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js +48 -0
- package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/abstractions.d.ts +26 -0
- package/features/flp/FolderLevelPermissions/abstractions.js +5 -0
- package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/feature.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/feature.js +11 -0
- package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
- package/features/flp/FolderLevelPermissions/index.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +19 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +17 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +8 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +8 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +47 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +14 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +17 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +31 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +2 -0
- package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/index.js +5 -0
- package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
- package/features/flp/GetFlp/GetFlpUseCase.js +11 -0
- package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
- package/features/flp/GetFlp/abstractions.d.ts +9 -0
- package/features/flp/GetFlp/abstractions.js +5 -0
- package/features/flp/GetFlp/abstractions.js.map +1 -0
- package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.d.ts +13 -0
- package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js +26 -0
- package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js.map +1 -0
- package/features/flp/GetFlp/feature.d.ts +4 -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 +1 -0
- package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js +11 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
- package/features/flp/ListFlps/abstractions.d.ts +17 -0
- package/features/flp/ListFlps/abstractions.js +5 -0
- package/features/flp/ListFlps/abstractions.js.map +1 -0
- package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.d.ts +13 -0
- package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js +27 -0
- package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js.map +1 -0
- package/features/flp/ListFlps/feature.d.ts +4 -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 +1 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +26 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js +147 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
- package/features/flp/UpdateFlp/abstractions.d.ts +19 -0
- package/features/flp/UpdateFlp/abstractions.js +5 -0
- package/features/flp/UpdateFlp/abstractions.js.map +1 -0
- package/features/flp/UpdateFlp/feature.d.ts +5 -0
- package/features/flp/UpdateFlp/feature.js +17 -0
- package/features/flp/UpdateFlp/feature.js.map +1 -0
- package/features/flp/UpdateFlp/index.d.ts +2 -0
- package/features/flp/UpdateFlp/index.js +2 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +17 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +44 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js +11 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.js +1 -0
- package/features/flp/shared/CodeFlpMerger.d.ts +26 -0
- package/features/flp/shared/CodeFlpMerger.js +20 -0
- package/features/flp/shared/CodeFlpMerger.js.map +1 -0
- package/features/flp/shared/CodeFlpPath.d.ts +15 -0
- package/features/flp/shared/CodeFlpPath.js +29 -0
- package/features/flp/shared/CodeFlpPath.js.map +1 -0
- package/features/flp/shared/CodeFlpTarget.d.ts +10 -0
- package/features/flp/shared/CodeFlpTarget.js +26 -0
- package/features/flp/shared/CodeFlpTarget.js.map +1 -0
- package/features/flp/shared/CodeFlpsProvider.d.ts +14 -0
- package/features/flp/shared/CodeFlpsProvider.js +33 -0
- package/features/flp/shared/CodeFlpsProvider.js.map +1 -0
- package/features/flp/shared/abstractions.d.ts +77 -0
- package/features/flp/shared/abstractions.js +19 -0
- package/features/flp/shared/abstractions.js.map +1 -0
- package/features/flp/shared/feature.d.ts +5 -0
- package/features/flp/shared/feature.js +17 -0
- package/features/flp/shared/feature.js.map +1 -0
- package/features/flp/shared/index.d.ts +4 -0
- package/features/flp/shared/index.js +4 -0
- package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js +88 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js +36 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
- package/features/folder/CreateFolder/abstractions.d.ts +59 -0
- package/features/folder/CreateFolder/abstractions.js +8 -0
- package/features/folder/CreateFolder/abstractions.js.map +1 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +19 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +56 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/CreateFolder/events.d.ts +10 -0
- package/features/folder/CreateFolder/events.js +21 -0
- package/features/folder/CreateFolder/events.js.map +1 -0
- package/features/folder/CreateFolder/feature.d.ts +5 -0
- package/features/folder/CreateFolder/feature.js +15 -0
- package/features/folder/CreateFolder/feature.js.map +1 -0
- package/features/folder/CreateFolder/index.d.ts +2 -0
- package/features/folder/CreateFolder/index.js +2 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js +33 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js +47 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
- package/features/folder/DeleteFolder/abstractions.d.ts +59 -0
- package/features/folder/DeleteFolder/abstractions.js +8 -0
- package/features/folder/DeleteFolder/abstractions.js.map +1 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +29 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/DeleteFolder/events.d.ts +10 -0
- package/features/folder/DeleteFolder/events.js +21 -0
- package/features/folder/DeleteFolder/events.js.map +1 -0
- package/features/folder/DeleteFolder/feature.d.ts +5 -0
- package/features/folder/DeleteFolder/feature.js +15 -0
- package/features/folder/DeleteFolder/feature.js.map +1 -0
- package/features/folder/DeleteFolder/index.d.ts +2 -0
- package/features/folder/DeleteFolder/index.js +2 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +59 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +21 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js +5 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js +11 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmpty/index.js +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +25 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +10 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +11 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +52 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +11 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +1 -0
- package/features/folder/FolderModelProvider.d.ts +26 -0
- package/features/folder/FolderModelProvider.js +22 -0
- package/features/folder/FolderModelProvider.js.map +1 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js +59 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js +20 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
- package/features/folder/GetAncestors/abstractions.d.ts +40 -0
- package/features/folder/GetAncestors/abstractions.js +6 -0
- package/features/folder/GetAncestors/abstractions.js.map +1 -0
- package/features/folder/GetAncestors/feature.d.ts +5 -0
- package/features/folder/GetAncestors/feature.js +13 -0
- package/features/folder/GetAncestors/feature.js.map +1 -0
- package/features/folder/GetAncestors/index.d.ts +2 -0
- package/features/folder/GetAncestors/index.js +2 -0
- package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
- package/features/folder/GetFolder/GetFolderRepository.js +34 -0
- package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
- package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
- package/features/folder/GetFolder/GetFolderUseCase.js +20 -0
- package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
- package/features/folder/GetFolder/abstractions.d.ts +57 -0
- package/features/folder/GetFolder/abstractions.js +8 -0
- package/features/folder/GetFolder/abstractions.js.map +1 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +34 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolder/feature.d.ts +5 -0
- package/features/folder/GetFolder/feature.js +15 -0
- package/features/folder/GetFolder/feature.js.map +1 -0
- package/features/folder/GetFolder/index.d.ts +2 -0
- package/features/folder/GetFolder/index.js +2 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +86 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +20 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
- package/features/folder/GetFolderHierarchy/abstractions.d.ts +38 -0
- package/features/folder/GetFolderHierarchy/abstractions.js +6 -0
- package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +63 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/feature.d.ts +5 -0
- package/features/folder/GetFolderHierarchy/feature.js +15 -0
- package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
- package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
- package/features/folder/GetFolderHierarchy/index.js +2 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +75 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +11 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +5 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js +11 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.js +1 -0
- package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
- package/features/folder/ListFolders/ListFoldersRepository.js +53 -0
- package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
- package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js +20 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
- package/features/folder/ListFolders/abstractions.d.ts +44 -0
- package/features/folder/ListFolders/abstractions.js +6 -0
- package/features/folder/ListFolders/abstractions.js.map +1 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +65 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/ListFolders/feature.d.ts +5 -0
- package/features/folder/ListFolders/feature.js +15 -0
- package/features/folder/ListFolders/feature.js.map +1 -0
- package/features/folder/ListFolders/index.d.ts +2 -0
- package/features/folder/ListFolders/index.js +2 -0
- package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.d.ts +11 -0
- package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.js +38 -0
- package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.js.map +1 -0
- package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.d.ts +12 -0
- package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.js +24 -0
- package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.js.map +1 -0
- package/features/folder/NotifyFolderChange/abstractions.d.ts +28 -0
- package/features/folder/NotifyFolderChange/abstractions.js +8 -0
- package/features/folder/NotifyFolderChange/abstractions.js.map +1 -0
- package/features/folder/NotifyFolderChange/feature.d.ts +9 -0
- package/features/folder/NotifyFolderChange/feature.js +13 -0
- package/features/folder/NotifyFolderChange/feature.js.map +1 -0
- package/features/folder/NotifyFolderChange/index.d.ts +2 -0
- package/features/folder/NotifyFolderChange/index.js +2 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js +87 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js +48 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
- package/features/folder/UpdateFolder/abstractions.d.ts +64 -0
- package/features/folder/UpdateFolder/abstractions.js +8 -0
- package/features/folder/UpdateFolder/abstractions.js.map +1 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +106 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/UpdateFolder/events.d.ts +10 -0
- package/features/folder/UpdateFolder/events.js +21 -0
- package/features/folder/UpdateFolder/events.js.map +1 -0
- package/features/folder/UpdateFolder/feature.d.ts +5 -0
- package/features/folder/UpdateFolder/feature.js +15 -0
- package/features/folder/UpdateFolder/feature.js.map +1 -0
- package/features/folder/UpdateFolder/index.d.ts +2 -0
- package/features/folder/UpdateFolder/index.js +2 -0
- package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
- package/features/folder/shared/EntryToFolderMapper.js +23 -0
- package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
- package/features/folder/shared/abstractions.d.ts +20 -0
- package/features/folder/shared/abstractions.js +8 -0
- package/features/folder/shared/abstractions.js.map +1 -0
- package/filter/filter.crud.d.ts +2 -2
- package/filter/filter.crud.js +27 -91
- package/filter/filter.crud.js.map +1 -1
- package/filter/filter.gql.d.ts +2 -3
- package/filter/filter.gql.js +74 -62
- package/filter/filter.gql.js.map +1 -1
- package/filter/filter.model.d.ts +9 -2
- package/filter/filter.model.js +47 -120
- package/filter/filter.model.js.map +1 -1
- package/filter/filter.so.d.ts +9 -3
- package/filter/filter.so.js +92 -94
- package/filter/filter.so.js.map +1 -1
- package/filter/filter.types.d.ts +1 -29
- package/filter/filter.types.js +5 -10
- package/filter/filter.types.js.map +1 -1
- package/flp/flp.crud.d.ts +3 -5
- package/flp/flp.crud.js +70 -168
- package/flp/flp.crud.js.map +1 -1
- package/flp/flp.types.d.ts +9 -58
- package/flp/flp.types.js +0 -18
- package/flp/index.d.ts +2 -5
- package/flp/index.js +2 -62
- package/flp/tasks/createFlp.task.d.ts +25 -2
- package/flp/tasks/createFlp.task.js +47 -43
- package/flp/tasks/createFlp.task.js.map +1 -1
- package/flp/tasks/deleteFlp.task.d.ts +23 -2
- package/flp/tasks/deleteFlp.task.js +39 -43
- package/flp/tasks/deleteFlp.task.js.map +1 -1
- package/flp/tasks/index.d.ts +0 -1
- package/flp/tasks/index.js +5 -18
- package/flp/tasks/index.js.map +1 -1
- package/flp/tasks/syncFlp.task.d.ts +27 -2
- package/flp/tasks/syncFlp.task.js +111 -116
- package/flp/tasks/syncFlp.task.js.map +1 -1
- package/flp/tasks/updateFlp.task.d.ts +25 -2
- package/flp/tasks/updateFlp.task.js +58 -49
- package/flp/tasks/updateFlp.task.js.map +1 -1
- package/folder/createFolderModelModifier.d.ts +1 -1
- package/folder/createFolderModelModifier.js +52 -61
- package/folder/createFolderModelModifier.js.map +1 -1
- package/folder/createFolderTypeDefs.d.ts +3 -2
- package/folder/createFolderTypeDefs.js +47 -76
- package/folder/createFolderTypeDefs.js.map +1 -1
- package/folder/folder.gql.d.ts +3 -3
- package/folder/folder.gql.js +121 -131
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +12 -84
- package/folder/folder.types.js +0 -7
- package/index.d.ts +3 -12
- package/index.js +3 -78
- package/package.json +35 -40
- package/types.d.ts +15 -79
- package/types.js +6 -68
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +2 -2
- package/utils/FoldersCacheFactory.js +20 -26
- package/utils/FoldersCacheFactory.js.map +1 -1
- package/utils/ListCache.js +20 -27
- package/utils/ListCache.js.map +1 -1
- package/utils/Path.js +5 -13
- package/utils/Path.js.map +1 -1
- package/utils/compress.js +8 -14
- package/utils/compress.js.map +1 -1
- package/utils/createListSort.d.ts +2 -2
- package/utils/createListSort.js +4 -14
- package/utils/createListSort.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +6 -3
- package/utils/createOperationsWrapper.js +12 -24
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +2 -2
- package/utils/decorators/CmsEntriesCrudDecorators.js +173 -204
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
- package/utils/decorators/FilterEntriesByFolderFactory.d.ts +3 -3
- package/utils/decorators/FilterEntriesByFolderFactory.js +18 -26
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
- package/utils/decorators/ListEntriesFactory.d.ts +8 -7
- package/utils/decorators/ListEntriesFactory.js +65 -99
- package/utils/decorators/ListEntriesFactory.js.map +1 -1
- package/utils/decorators/hasRootFolderId.d.ts +1 -1
- package/utils/decorators/hasRootFolderId.js +9 -23
- package/utils/decorators/hasRootFolderId.js.map +1 -1
- package/utils/decorators/isPageModel.d.ts +1 -1
- package/utils/decorators/isPageModel.js +5 -17
- package/utils/decorators/isPageModel.js.map +1 -1
- package/utils/ensureAuthentication.d.ts +2 -2
- package/utils/ensureAuthentication.js +8 -13
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +1 -1
- package/utils/pickEntryFieldValues.js +23 -24
- package/utils/pickEntryFieldValues.js.map +1 -1
- package/utils/resolve.d.ts +2 -3
- package/utils/resolve.js +8 -23
- package/utils/resolve.js.map +1 -1
- package/apps/AcoApp.d.ts +0 -21
- package/apps/AcoApp.js +0 -143
- package/apps/AcoApp.js.map +0 -1
- package/apps/AcoApps.d.ts +0 -10
- package/apps/AcoApps.js +0 -75
- package/apps/AcoApps.js.map +0 -1
- package/apps/app.gql.d.ts +0 -3
- package/apps/app.gql.js +0 -59
- package/apps/app.gql.js.map +0 -1
- package/apps/index.d.ts +0 -2
- package/apps/index.js +0 -29
- package/apps/index.js.map +0 -1
- package/createAcoContext.d.ts +0 -9
- package/createAcoContext.js +0 -130
- package/createAcoContext.js.map +0 -1
- package/createAcoHooks.d.ts +0 -2
- package/createAcoHooks.js +0 -19
- package/createAcoHooks.js.map +0 -1
- package/createAcoModels.d.ts +0 -2
- package/createAcoModels.js +0 -35
- package/createAcoModels.js.map +0 -1
- package/createAcoStorageOperations.d.ts +0 -11
- package/createAcoStorageOperations.js +0 -24
- package/createAcoStorageOperations.js.map +0 -1
- package/createAcoTasks.d.ts +0 -1
- package/createAcoTasks.js +0 -13
- package/createAcoTasks.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.d.ts +0 -33
- package/flp/FolderLevelPermissions/index.js +0 -116
- package/flp/FolderLevelPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +0 -48
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +0 -9
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +0 -41
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +0 -8
- 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.d.ts +0 -4
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +0 -14
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +0 -9
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +0 -34
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +0 -3
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +0 -17
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +0 -3
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +0 -5
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +0 -14
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +0 -4
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -7
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +0 -6
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +0 -77
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +0 -9
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +0 -21
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +0 -10
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +0 -42
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +0 -4
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -7
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +0 -3
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -40
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +0 -17
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +0 -4
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +0 -7
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +0 -29
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +0 -4
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +0 -7
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +0 -7
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +0 -17
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +0 -2
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +0 -18
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +0 -1
- package/flp/FolderLevelPermissions/useCases/index.d.ts +0 -9
- package/flp/FolderLevelPermissions/useCases/index.js +0 -106
- package/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
- package/flp/flp.so.d.ts +0 -26
- package/flp/flp.so.js +0 -304
- package/flp/flp.so.js.map +0 -1
- package/flp/flp.types.js.map +0 -1
- package/flp/hooks/index.d.ts +0 -2
- package/flp/hooks/index.js +0 -17
- package/flp/hooks/index.js.map +0 -1
- package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +0 -2
- package/flp/hooks/onFolderAfterCreateFlp.hook.js +0 -37
- package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +0 -1
- package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +0 -2
- package/flp/hooks/onFolderAfterDeleteFlp.hook.js +0 -37
- package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +0 -1
- package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +0 -2
- package/flp/hooks/onFolderAfterUpdateFlp.hook.js +0 -39
- package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +0 -1
- package/flp/index.js.map +0 -1
- package/flp/useCases/CreateFlp.d.ts +0 -7
- package/flp/useCases/CreateFlp.js +0 -51
- package/flp/useCases/CreateFlp.js.map +0 -1
- package/flp/useCases/DeleteFlp.d.ts +0 -6
- package/flp/useCases/DeleteFlp.js +0 -30
- package/flp/useCases/DeleteFlp.js.map +0 -1
- package/flp/useCases/UpdateFlp.d.ts +0 -26
- package/flp/useCases/UpdateFlp.js +0 -198
- package/flp/useCases/UpdateFlp.js.map +0 -1
- package/flp/useCases/index.d.ts +0 -3
- package/flp/useCases/index.js +0 -40
- package/flp/useCases/index.js.map +0 -1
- package/folder/ensureFolderIsEmpty.d.ts +0 -8
- package/folder/ensureFolderIsEmpty.js +0 -63
- package/folder/ensureFolderIsEmpty.js.map +0 -1
- package/folder/folder.crud.d.ts +0 -8
- package/folder/folder.crud.js +0 -157
- package/folder/folder.crud.js.map +0 -1
- package/folder/folder.model.d.ts +0 -2
- package/folder/folder.model.js +0 -126
- package/folder/folder.model.js.map +0 -1
- package/folder/folder.so.d.ts +0 -3
- package/folder/folder.so.js +0 -197
- package/folder/folder.so.js.map +0 -1
- package/folder/folder.types.js.map +0 -1
- package/folder/onFolderBeforeDeleteAco.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteAco.hook.js +0 -54
- package/folder/onFolderBeforeDeleteAco.hook.js.map +0 -1
- package/folder/onFolderBeforeDeleteFm.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteFm.hook.js +0 -51
- package/folder/onFolderBeforeDeleteFm.hook.js.map +0 -1
- package/folder/onFolderBeforeDeleteHcms.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteHcms.hook.js +0 -58
- package/folder/onFolderBeforeDeleteHcms.hook.js.map +0 -1
- package/folder/useCases/CreateFolder/CreateFolder.d.ts +0 -7
- package/folder/useCases/CreateFolder/CreateFolder.js +0 -19
- package/folder/useCases/CreateFolder/CreateFolder.js.map +0 -1
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +0 -9
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +0 -25
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +0 -1
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +0 -25
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +0 -39
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/CreateFolder/ICreateFolder.d.ts +0 -4
- package/folder/useCases/CreateFolder/ICreateFolder.js +0 -7
- package/folder/useCases/CreateFolder/ICreateFolder.js.map +0 -1
- package/folder/useCases/CreateFolder/index.d.ts +0 -17
- package/folder/useCases/CreateFolder/index.js +0 -20
- package/folder/useCases/CreateFolder/index.js.map +0 -1
- package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +0 -7
- package/folder/useCases/DeleteFolder/DeleteFolder.js +0 -18
- package/folder/useCases/DeleteFolder/DeleteFolder.js.map +0 -1
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +0 -10
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +0 -29
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +0 -1
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +0 -9
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +0 -24
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +0 -4
- package/folder/useCases/DeleteFolder/IDeleteFolder.js +0 -7
- package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +0 -1
- package/folder/useCases/DeleteFolder/index.d.ts +0 -18
- package/folder/useCases/DeleteFolder/index.js +0 -20
- package/folder/useCases/DeleteFolder/index.js.map +0 -1
- package/folder/useCases/GetAncestors/GetAncestors.d.ts +0 -9
- package/folder/useCases/GetAncestors/GetAncestors.js +0 -77
- package/folder/useCases/GetAncestors/GetAncestors.js.map +0 -1
- package/folder/useCases/GetAncestors/IGetAncestors.d.ts +0 -7
- package/folder/useCases/GetAncestors/IGetAncestors.js +0 -7
- package/folder/useCases/GetAncestors/IGetAncestors.js.map +0 -1
- package/folder/useCases/GetAncestors/index.d.ts +0 -9
- package/folder/useCases/GetAncestors/index.js +0 -16
- package/folder/useCases/GetAncestors/index.js.map +0 -1
- package/folder/useCases/GetFolder/GetFolder.d.ts +0 -7
- package/folder/useCases/GetFolder/GetFolder.js +0 -17
- package/folder/useCases/GetFolder/GetFolder.js.map +0 -1
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +0 -25
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +0 -33
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/GetFolder/IGetFolder.d.ts +0 -4
- package/folder/useCases/GetFolder/IGetFolder.js +0 -7
- package/folder/useCases/GetFolder/IGetFolder.js.map +0 -1
- package/folder/useCases/GetFolder/index.d.ts +0 -13
- package/folder/useCases/GetFolder/index.js +0 -19
- package/folder/useCases/GetFolder/index.js.map +0 -1
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +0 -11
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +0 -63
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +0 -1
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +0 -17
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +0 -59
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +0 -4
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +0 -7
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +0 -1
- package/folder/useCases/GetFolderHierarchy/index.d.ts +0 -12
- package/folder/useCases/GetFolderHierarchy/index.js +0 -18
- package/folder/useCases/GetFolderHierarchy/index.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +0 -4
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +0 -4
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +0 -4
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +0 -23
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +0 -13
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +0 -60
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +0 -7
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +0 -22
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +0 -1
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +0 -9
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +0 -20
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +0 -1
- package/folder/useCases/ListFolders/IListFolders.d.ts +0 -5
- package/folder/useCases/ListFolders/IListFolders.js +0 -7
- package/folder/useCases/ListFolders/IListFolders.js.map +0 -1
- package/folder/useCases/ListFolders/ListFolders.d.ts +0 -8
- package/folder/useCases/ListFolders/ListFolders.js +0 -17
- package/folder/useCases/ListFolders/ListFolders.js.map +0 -1
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +0 -14
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +0 -67
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/ListFolders/index.d.ts +0 -13
- package/folder/useCases/ListFolders/index.js +0 -19
- package/folder/useCases/ListFolders/index.js.map +0 -1
- package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +0 -4
- package/folder/useCases/UpdateFolder/IUpdateFolder.js +0 -7
- package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +0 -1
- package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +0 -7
- package/folder/useCases/UpdateFolder/UpdateFolder.js +0 -20
- package/folder/useCases/UpdateFolder/UpdateFolder.js.map +0 -1
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +0 -10
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +0 -38
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +0 -1
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +0 -26
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +0 -78
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +0 -1
- package/folder/useCases/UpdateFolder/index.d.ts +0 -18
- package/folder/useCases/UpdateFolder/index.js +0 -20
- package/folder/useCases/UpdateFolder/index.js.map +0 -1
- package/folder/useCases/index.d.ts +0 -8
- package/folder/useCases/index.js +0 -95
- package/folder/useCases/index.js.map +0 -1
- package/index.js.map +0 -1
- package/plugins/AcoAppModifierPlugin.d.ts +0 -43
- package/plugins/AcoAppModifierPlugin.js +0 -58
- package/plugins/AcoAppModifierPlugin.js.map +0 -1
- package/plugins/AcoAppRegisterPlugin.d.ts +0 -8
- package/plugins/AcoAppRegisterPlugin.js +0 -21
- package/plugins/AcoAppRegisterPlugin.js.map +0 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -29
- package/plugins/index.js.map +0 -1
- package/record/graphql/createAppResolvers.d.ts +0 -14
- package/record/graphql/createAppResolvers.js +0 -115
- package/record/graphql/createAppResolvers.js.map +0 -1
- package/record/graphql/createAppSchema.d.ts +0 -9
- package/record/graphql/createAppSchema.js +0 -146
- package/record/graphql/createAppSchema.js.map +0 -1
- package/record/record.crud.d.ts +0 -3
- package/record/record.crud.js +0 -128
- package/record/record.crud.js.map +0 -1
- package/record/record.gql.d.ts +0 -8
- package/record/record.gql.js +0 -43
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -8
- package/record/record.model.js +0 -91
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -3
- package/record/record.so.js +0 -171
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -144
- package/record/record.types.js +0 -7
- package/record/record.types.js.map +0 -1
- package/utils/ListFoldersRepository.d.ts +0 -10
- package/utils/ListFoldersRepository.js +0 -35
- package/utils/ListFoldersRepository.js.map +0 -1
- package/utils/acoRecordId.d.ts +0 -6
- package/utils/acoRecordId.js +0 -35
- package/utils/acoRecordId.js.map +0 -1
- package/utils/createModelField.d.ts +0 -5
- package/utils/createModelField.js +0 -39
- package/utils/createModelField.js.map +0 -1
- package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +0 -23
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js +0 -54
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +0 -1
- package/utils/modelFactory.d.ts +0 -13
- package/utils/modelFactory.js +0 -22
- package/utils/modelFactory.js.map +0 -1
- /package/{flp → features/flp}/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/ai/RevokeFolderAccessTool.js","sources":["../../../src/features/ai/RevokeFolderAccessTool.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { AiSdkToolDefinition, AiSdkToolHandler } from \"@webiny/api-core/features/ai/index.js\";\nimport { GetFolderUseCase } from \"~/features/folder/GetFolder/index.js\";\nimport { UpdateFolderUseCase } from \"~/features/folder/UpdateFolder/index.js\";\nimport { loadFolderPermissions } from \"./loadFolderPermissions.js\";\n\nconst inputSchema = z.object({\n folderId: z.string().describe(\"Folder id as returned by listFolders.\"),\n target: z\n .string()\n .describe(\n \"Whose access to remove: 'team:<slug>' or 'admin:<userId>', exactly as listFolders reports it.\"\n )\n});\n\ntype Input = z.infer<typeof inputSchema>;\n\ninterface RevokeResult {\n folderId: string;\n title: string;\n path: string;\n removed: { target: string; level: string };\n /**\n * Every direct rule remaining afterwards.\n *\n * This is the set the update was asked to store, not an independent read of it:\n * `UpdateFolderWithFolderLevelPermissions` returns the permissions it derived from the input\n * rather than the ones the repository wrote. Treating it as a verification would let the tool\n * confirm its own request back to itself.\n */\n permissions: { target: string; level: string }[];\n}\n\nclass RevokeFolderAccessToolHandlerImpl implements AiSdkToolHandler.Interface<Input> {\n constructor(\n private getFolder: GetFolderUseCase.Interface,\n private updateFolder: UpdateFolderUseCase.Interface\n ) {}\n\n async execute(input: Input): Promise<RevokeResult> {\n const loaded = await loadFolderPermissions(this.getFolder, input.folderId);\n\n const existing = loaded.direct.find(\n permission => String(permission.target) === input.target\n );\n\n if (!existing) {\n if (loaded.inheritedTargets.has(input.target)) {\n throw new Error(\n `\"${input.target}\" has inherited access to this folder, not a direct rule, so it cannot be revoked here. Change it where it is defined.`\n );\n }\n\n throw new Error(\n `\"${input.target}\" has no direct access to this folder, so there is nothing to revoke.`\n );\n }\n\n const permissions = loaded.direct.filter(\n permission => String(permission.target) !== input.target\n );\n\n const result = await this.updateFolder.execute(input.folderId, { permissions });\n\n if (result.isFail()) {\n throw new Error(`Could not revoke access: ${result.error.message}`);\n }\n\n const folder = result.value;\n\n return {\n folderId: folder.id,\n title: folder.title,\n path: folder.path,\n removed: { target: input.target, level: existing.level },\n permissions: (folder.permissions ?? [])\n .filter(permission => !permission.inheritedFrom)\n .map(permission => ({ target: String(permission.target), level: permission.level }))\n };\n }\n}\n\nconst RevokeFolderAccessToolHandler = AiSdkToolHandler.createImplementation({\n implementation: RevokeFolderAccessToolHandlerImpl,\n dependencies: [GetFolderUseCase, UpdateFolderUseCase]\n});\n\n/**\n * Removes one target's direct access to one folder.\n *\n * Destructive: somebody loses access, and there is no undo. Refuses when the target has no DIRECT rule\n * rather than reporting a removal that changed nothing — an inherited grant cannot be revoked here,\n * only where it is defined, and saying otherwise would leave the user believing access was withdrawn.\n */\nclass RevokeFolderAccessToolImpl implements AiSdkToolDefinition.Interface<Input> {\n readonly name = \"revokeFolderAccess\";\n readonly title = \"Revoke folder access\";\n readonly description =\n \"Removes one team's or user's direct access to one folder, leaving all other permissions untouched. Cannot remove inherited access. Requires user approval.\";\n readonly inputSchema = inputSchema;\n readonly annotations = { readOnlyHint: false, destructiveHint: true };\n readonly handler = RevokeFolderAccessToolHandler;\n}\n\nexport const RevokeFolderAccessTool = AiSdkToolDefinition.createImplementation({\n implementation: RevokeFolderAccessToolImpl,\n dependencies: []\n});\n"],"names":["inputSchema","z","RevokeFolderAccessToolHandlerImpl","getFolder","updateFolder","input","loaded","loadFolderPermissions","existing","permission","String","Error","permissions","result","folder","RevokeFolderAccessToolHandler","AiSdkToolHandler","GetFolderUseCase","UpdateFolderUseCase","RevokeFolderAccessToolImpl","RevokeFolderAccessTool","AiSdkToolDefinition"],"mappings":";;;;;AAMA,MAAMA,cAAcC,EAAE,MAAM,CAAC;IACzB,UAAUA,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9B,QAAQA,EAAAA,MACG,GACN,QAAQ,CACL;AAEZ;AAoBA,MAAMC;IACF,YACYC,SAAqC,EACrCC,YAA2C,CACrD;aAFUD,SAAS,GAATA;aACAC,YAAY,GAAZA;IACT;IAEH,MAAM,QAAQC,KAAY,EAAyB;QAC/C,MAAMC,SAAS,MAAMC,sBAAsB,IAAI,CAAC,SAAS,EAAEF,MAAM,QAAQ;QAEzE,MAAMG,WAAWF,OAAO,MAAM,CAAC,IAAI,CAC/BG,CAAAA,aAAcC,OAAOD,WAAW,MAAM,MAAMJ,MAAM,MAAM;QAG5D,IAAI,CAACG,UAAU;YACX,IAAIF,OAAO,gBAAgB,CAAC,GAAG,CAACD,MAAM,MAAM,GACxC,MAAM,IAAIM,MACN,CAAC,CAAC,EAAEN,MAAM,MAAM,CAAC,sHAAsH,CAAC;YAIhJ,MAAM,IAAIM,MACN,CAAC,CAAC,EAAEN,MAAM,MAAM,CAAC,qEAAqE,CAAC;QAE/F;QAEA,MAAMO,cAAcN,OAAO,MAAM,CAAC,MAAM,CACpCG,CAAAA,aAAcC,OAAOD,WAAW,MAAM,MAAMJ,MAAM,MAAM;QAG5D,MAAMQ,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAACR,MAAM,QAAQ,EAAE;YAAEO;QAAY;QAE7E,IAAIC,OAAO,MAAM,IACb,MAAM,IAAIF,MAAM,CAAC,yBAAyB,EAAEE,OAAO,KAAK,CAAC,OAAO,EAAE;QAGtE,MAAMC,SAASD,OAAO,KAAK;QAE3B,OAAO;YACH,UAAUC,OAAO,EAAE;YACnB,OAAOA,OAAO,KAAK;YACnB,MAAMA,OAAO,IAAI;YACjB,SAAS;gBAAE,QAAQT,MAAM,MAAM;gBAAE,OAAOG,SAAS,KAAK;YAAC;YACvD,aAAcM,AAAAA,CAAAA,OAAO,WAAW,IAAI,EAAC,EAChC,MAAM,CAACL,CAAAA,aAAc,CAACA,WAAW,aAAa,EAC9C,GAAG,CAACA,CAAAA,aAAe;oBAAE,QAAQC,OAAOD,WAAW,MAAM;oBAAG,OAAOA,WAAW,KAAK;gBAAC;QACzF;IACJ;AACJ;AAEA,MAAMM,gCAAgCC,iBAAiB,oBAAoB,CAAC;IACxE,gBAAgBd;IAChB,cAAc;QAACe;QAAkBC;KAAoB;AACzD;AASA,MAAMC;;aACO,IAAI,GAAG;aACP,KAAK,GAAG;aACR,WAAW,GAChB;aACK,WAAW,GAAGnB;aACd,WAAW,GAAG;YAAE,cAAc;YAAO,iBAAiB;QAAK;aAC3D,OAAO,GAAGe;;AACvB;AAEO,MAAMK,yBAAyBC,oBAAoB,oBAAoB,CAAC;IAC3E,gBAAgBF;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ListTeamsUseCase } from "@webiny/api-core/features/security/teams/ListTeams/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Rejects a permission target that would be stored happily and then match nobody.
|
|
4
|
+
*
|
|
5
|
+
* A folder rule identifies a team by SLUG (`team:<slug>`) and a user by id (`admin:<userId>`) — see
|
|
6
|
+
* ListFolderLevelPermissionsTargets. The field is only typed as a template string, so a team id where
|
|
7
|
+
* a slug belongs is accepted and silently grants nothing. Also refuses a target the folder inherits,
|
|
8
|
+
* since rewriting it as a direct rule detaches the folder from where the grant came from.
|
|
9
|
+
*/
|
|
10
|
+
export declare const assertTargetIsUsable: (listTeams: ListTeamsUseCase.Interface, target: string, inheritedTargets: Set<string>) => Promise<void>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const assertTargetIsUsable = async (listTeams, target, inheritedTargets)=>{
|
|
2
|
+
if (inheritedTargets.has(target)) throw new Error(`"${target}" is inherited from an ancestor folder or a role, so it cannot be changed on this folder. Change it where it is defined.`);
|
|
3
|
+
if (!target.startsWith("team:")) return;
|
|
4
|
+
const result = await listTeams.execute();
|
|
5
|
+
if (result.isFail()) throw new Error(`Could not verify the teams: ${result.error.message}`);
|
|
6
|
+
const value = target.slice(5);
|
|
7
|
+
if (result.value.some((team)=>team.slug === value)) return;
|
|
8
|
+
const byId = result.value.find((team)=>team.id === value);
|
|
9
|
+
if (byId) throw new Error(`"${target}" uses a team id. Use the slug instead: "team:${byId.slug}".`);
|
|
10
|
+
throw new Error(`"${target}" is not a known team. Call listTeams first.`);
|
|
11
|
+
};
|
|
12
|
+
export { assertTargetIsUsable };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=assertTargetIsUsable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/ai/assertTargetIsUsable.js","sources":["../../../src/features/ai/assertTargetIsUsable.ts"],"sourcesContent":["import type { ListTeamsUseCase } from \"@webiny/api-core/features/security/teams/ListTeams/index.js\";\n\n/**\n * Rejects a permission target that would be stored happily and then match nobody.\n *\n * A folder rule identifies a team by SLUG (`team:<slug>`) and a user by id (`admin:<userId>`) — see\n * ListFolderLevelPermissionsTargets. The field is only typed as a template string, so a team id where\n * a slug belongs is accepted and silently grants nothing. Also refuses a target the folder inherits,\n * since rewriting it as a direct rule detaches the folder from where the grant came from.\n */\nexport const assertTargetIsUsable = async (\n listTeams: ListTeamsUseCase.Interface,\n target: string,\n inheritedTargets: Set<string>\n): Promise<void> => {\n if (inheritedTargets.has(target)) {\n throw new Error(\n `\"${target}\" is inherited from an ancestor folder or a role, so it cannot be changed on this folder. Change it where it is defined.`\n );\n }\n\n if (!target.startsWith(\"team:\")) {\n return;\n }\n\n const result = await listTeams.execute();\n\n if (result.isFail()) {\n throw new Error(`Could not verify the teams: ${result.error.message}`);\n }\n\n const value = target.slice(\"team:\".length);\n\n if (result.value.some(team => team.slug === value)) {\n return;\n }\n\n const byId = result.value.find(team => team.id === value);\n\n if (byId) {\n throw new Error(`\"${target}\" uses a team id. Use the slug instead: \"team:${byId.slug}\".`);\n }\n\n throw new Error(`\"${target}\" is not a known team. Call listTeams first.`);\n};\n"],"names":["assertTargetIsUsable","listTeams","target","inheritedTargets","Error","result","value","team","byId"],"mappings":"AAUO,MAAMA,uBAAuB,OAChCC,WACAC,QACAC;IAEA,IAAIA,iBAAiB,GAAG,CAACD,SACrB,MAAM,IAAIE,MACN,CAAC,CAAC,EAAEF,OAAO,wHAAwH,CAAC;IAI5I,IAAI,CAACA,OAAO,UAAU,CAAC,UACnB;IAGJ,MAAMG,SAAS,MAAMJ,UAAU,OAAO;IAEtC,IAAII,OAAO,MAAM,IACb,MAAM,IAAID,MAAM,CAAC,4BAA4B,EAAEC,OAAO,KAAK,CAAC,OAAO,EAAE;IAGzE,MAAMC,QAAQJ,OAAO,KAAK,CAAC;IAE3B,IAAIG,OAAO,KAAK,CAAC,IAAI,CAACE,CAAAA,OAAQA,KAAK,IAAI,KAAKD,QACxC;IAGJ,MAAME,OAAOH,OAAO,KAAK,CAAC,IAAI,CAACE,CAAAA,OAAQA,KAAK,EAAE,KAAKD;IAEnD,IAAIE,MACA,MAAM,IAAIJ,MAAM,CAAC,CAAC,EAAEF,OAAO,8CAA8C,EAAEM,KAAK,IAAI,CAAC,EAAE,CAAC;IAG5F,MAAM,IAAIJ,MAAM,CAAC,CAAC,EAAEF,OAAO,4CAA4C,CAAC;AAC5E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folder and team tools for AI callers.
|
|
3
|
+
*
|
|
4
|
+
* The list tools are read-only and run unattended. Anything that creates, deletes or changes access is a write,
|
|
5
|
+
* so it pauses for the user to approve the exact arguments. Access changes are deliberately one target
|
|
6
|
+
* per call — granting and revoking separately means the approval block shows the entire change, rather
|
|
7
|
+
* than a desired end state whose omissions quietly remove somebody's access.
|
|
8
|
+
*/
|
|
9
|
+
export declare const AcoAiToolsFeature: {
|
|
10
|
+
name: string;
|
|
11
|
+
register(container: import("@webiny/di").Container): void;
|
|
12
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListTeamsTool } from "./ListTeamsTool.js";
|
|
3
|
+
import { ListFoldersTool } from "./ListFoldersTool.js";
|
|
4
|
+
import { GrantFolderAccessTool } from "./GrantFolderAccessTool.js";
|
|
5
|
+
import { RevokeFolderAccessTool } from "./RevokeFolderAccessTool.js";
|
|
6
|
+
import { CreateFolderTool } from "./CreateFolderTool.js";
|
|
7
|
+
import { DeleteFolderTool } from "./DeleteFolderTool.js";
|
|
8
|
+
import { CreateTeamTool } from "./CreateTeamTool.js";
|
|
9
|
+
import { ListRolesTool } from "./ListRolesTool.js";
|
|
10
|
+
const AcoAiToolsFeature = createFeature({
|
|
11
|
+
name: "Aco/AiTools",
|
|
12
|
+
register (container) {
|
|
13
|
+
container.register(ListTeamsTool);
|
|
14
|
+
container.register(ListFoldersTool);
|
|
15
|
+
container.register(GrantFolderAccessTool);
|
|
16
|
+
container.register(RevokeFolderAccessTool);
|
|
17
|
+
container.register(CreateFolderTool);
|
|
18
|
+
container.register(DeleteFolderTool);
|
|
19
|
+
container.register(CreateTeamTool);
|
|
20
|
+
container.register(ListRolesTool);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export { AcoAiToolsFeature };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/ai/feature.js","sources":["../../../src/features/ai/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListTeamsTool } from \"./ListTeamsTool.js\";\nimport { ListFoldersTool } from \"./ListFoldersTool.js\";\nimport { GrantFolderAccessTool } from \"./GrantFolderAccessTool.js\";\nimport { RevokeFolderAccessTool } from \"./RevokeFolderAccessTool.js\";\nimport { CreateFolderTool } from \"./CreateFolderTool.js\";\nimport { DeleteFolderTool } from \"./DeleteFolderTool.js\";\nimport { CreateTeamTool } from \"./CreateTeamTool.js\";\nimport { ListRolesTool } from \"./ListRolesTool.js\";\n\n/**\n * Folder and team tools for AI callers.\n *\n * The list tools are read-only and run unattended. Anything that creates, deletes or changes access is a write,\n * so it pauses for the user to approve the exact arguments. Access changes are deliberately one target\n * per call — granting and revoking separately means the approval block shows the entire change, rather\n * than a desired end state whose omissions quietly remove somebody's access.\n */\nexport const AcoAiToolsFeature = createFeature({\n name: \"Aco/AiTools\",\n register(container) {\n container.register(ListTeamsTool);\n container.register(ListFoldersTool);\n container.register(GrantFolderAccessTool);\n container.register(RevokeFolderAccessTool);\n container.register(CreateFolderTool);\n container.register(DeleteFolderTool);\n container.register(CreateTeamTool);\n container.register(ListRolesTool);\n }\n});\n"],"names":["AcoAiToolsFeature","createFeature","container","ListTeamsTool","ListFoldersTool","GrantFolderAccessTool","RevokeFolderAccessTool","CreateFolderTool","DeleteFolderTool","CreateTeamTool","ListRolesTool"],"mappings":";;;;;;;;;AAkBO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;QACnBN,UAAU,QAAQ,CAACO;QACnBP,UAAU,QAAQ,CAACQ;IACvB;AACJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { AcoAiToolsFeature } from "./feature.js";
|
|
2
|
+
export { ListTeamsTool } from "./ListTeamsTool.js";
|
|
3
|
+
export { ListFoldersTool } from "./ListFoldersTool.js";
|
|
4
|
+
export { ListRolesTool } from "./ListRolesTool.js";
|
|
5
|
+
export { GrantFolderAccessTool } from "./GrantFolderAccessTool.js";
|
|
6
|
+
export { RevokeFolderAccessTool } from "./RevokeFolderAccessTool.js";
|
|
7
|
+
export { CreateFolderTool } from "./CreateFolderTool.js";
|
|
8
|
+
export { DeleteFolderTool } from "./DeleteFolderTool.js";
|
|
9
|
+
export { CreateTeamTool } from "./CreateTeamTool.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { AcoAiToolsFeature } from "./feature.js";
|
|
2
|
+
export { ListTeamsTool } from "./ListTeamsTool.js";
|
|
3
|
+
export { ListFoldersTool } from "./ListFoldersTool.js";
|
|
4
|
+
export { ListRolesTool } from "./ListRolesTool.js";
|
|
5
|
+
export { GrantFolderAccessTool } from "./GrantFolderAccessTool.js";
|
|
6
|
+
export { RevokeFolderAccessTool } from "./RevokeFolderAccessTool.js";
|
|
7
|
+
export { CreateFolderTool } from "./CreateFolderTool.js";
|
|
8
|
+
export { DeleteFolderTool } from "./DeleteFolderTool.js";
|
|
9
|
+
export { CreateTeamTool } from "./CreateTeamTool.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GetFolderUseCase } from "../../features/folder/GetFolder/index.js";
|
|
2
|
+
import type { Folder, FolderPermission } from "../../types.js";
|
|
3
|
+
export interface LoadedFolderPermissions {
|
|
4
|
+
folder: Folder;
|
|
5
|
+
/** Rules set on this folder. The only ones it may change. */
|
|
6
|
+
direct: FolderPermission[];
|
|
7
|
+
/** Targets granted by an ancestor or a role. Writing these back would detach the inheritance. */
|
|
8
|
+
inheritedTargets: Set<string>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Reads a folder and separates the rules it owns from the ones it merely inherits.
|
|
12
|
+
*
|
|
13
|
+
* Every permission write starts here, because the field holds both kinds and a change has to preserve
|
|
14
|
+
* the direct rules while leaving the inherited ones alone.
|
|
15
|
+
*/
|
|
16
|
+
export declare const loadFolderPermissions: (getFolder: GetFolderUseCase.Interface, folderId: string) => Promise<LoadedFolderPermissions>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const loadFolderPermissions = async (getFolder, folderId)=>{
|
|
2
|
+
const result = await getFolder.execute(folderId);
|
|
3
|
+
if (result.isFail()) throw new Error(`Folder "${folderId}" not found: ${result.error.message}. Call listFolders for valid ids.`);
|
|
4
|
+
const folder = result.value;
|
|
5
|
+
const permissions = folder.permissions ?? [];
|
|
6
|
+
return {
|
|
7
|
+
folder,
|
|
8
|
+
direct: permissions.filter((permission)=>!permission.inheritedFrom),
|
|
9
|
+
inheritedTargets: new Set(permissions.filter((permission)=>permission.inheritedFrom).map((p)=>String(p.target)))
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export { loadFolderPermissions };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=loadFolderPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/ai/loadFolderPermissions.js","sources":["../../../src/features/ai/loadFolderPermissions.ts"],"sourcesContent":["import type { GetFolderUseCase } from \"~/features/folder/GetFolder/index.js\";\nimport type { Folder, FolderPermission } from \"~/types.js\";\n\nexport interface LoadedFolderPermissions {\n folder: Folder;\n /** Rules set on this folder. The only ones it may change. */\n direct: FolderPermission[];\n /** Targets granted by an ancestor or a role. Writing these back would detach the inheritance. */\n inheritedTargets: Set<string>;\n}\n\n/**\n * Reads a folder and separates the rules it owns from the ones it merely inherits.\n *\n * Every permission write starts here, because the field holds both kinds and a change has to preserve\n * the direct rules while leaving the inherited ones alone.\n */\nexport const loadFolderPermissions = async (\n getFolder: GetFolderUseCase.Interface,\n folderId: string\n): Promise<LoadedFolderPermissions> => {\n const result = await getFolder.execute(folderId);\n\n if (result.isFail()) {\n throw new Error(\n `Folder \"${folderId}\" not found: ${result.error.message}. Call listFolders for valid ids.`\n );\n }\n\n const folder = result.value;\n const permissions = folder.permissions ?? [];\n\n return {\n folder,\n direct: permissions.filter(permission => !permission.inheritedFrom),\n inheritedTargets: new Set(\n permissions.filter(permission => permission.inheritedFrom).map(p => String(p.target))\n )\n };\n};\n"],"names":["loadFolderPermissions","getFolder","folderId","result","Error","folder","permissions","permission","Set","p","String"],"mappings":"AAiBO,MAAMA,wBAAwB,OACjCC,WACAC;IAEA,MAAMC,SAAS,MAAMF,UAAU,OAAO,CAACC;IAEvC,IAAIC,OAAO,MAAM,IACb,MAAM,IAAIC,MACN,CAAC,QAAQ,EAAEF,SAAS,aAAa,EAAEC,OAAO,KAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC;IAIlG,MAAME,SAASF,OAAO,KAAK;IAC3B,MAAMG,cAAcD,OAAO,WAAW,IAAI,EAAE;IAE5C,OAAO;QACHA;QACA,QAAQC,YAAY,MAAM,CAACC,CAAAA,aAAc,CAACA,WAAW,aAAa;QAClE,kBAAkB,IAAIC,IAClBF,YAAY,MAAM,CAACC,CAAAA,aAAcA,WAAW,aAAa,EAAE,GAAG,CAACE,CAAAA,IAAKC,OAAOD,EAAE,MAAM;IAE3F;AACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CreateEntryRevisionFromUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntryRevisionFrom/abstractions.js";
|
|
2
|
+
import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
|
|
3
|
+
import type { CmsEntryValues, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "@webiny/api-headless-cms/types/index.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
5
|
+
declare class CreateEntryRevisionFromWithFlpDecoratorImpl implements CreateEntryRevisionFromUseCase.Interface {
|
|
6
|
+
private folderLevelPermissions;
|
|
7
|
+
private getRevisionById;
|
|
8
|
+
private decoratee;
|
|
9
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, decoratee: CreateEntryRevisionFromUseCase.Interface);
|
|
10
|
+
execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, sourceId: string, input: CreateCmsEntryInput<T>, options?: CreateCmsEntryOptionsInput): CreateEntryRevisionFromUseCase.Return<T>;
|
|
11
|
+
}
|
|
12
|
+
export declare const CreateEntryRevisionFromWithFlpDecorator: typeof CreateEntryRevisionFromWithFlpDecoratorImpl;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { CreateEntryRevisionFromUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntryRevisionFrom/abstractions.js";
|
|
3
|
+
import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
5
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
6
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
|
|
7
|
+
class CreateEntryRevisionFromWithFlpDecoratorImpl {
|
|
8
|
+
constructor(folderLevelPermissions, getRevisionById, decoratee){
|
|
9
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
10
|
+
this.getRevisionById = getRevisionById;
|
|
11
|
+
this.decoratee = decoratee;
|
|
12
|
+
}
|
|
13
|
+
async execute(model, sourceId, input, options) {
|
|
14
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, sourceId, input, options);
|
|
15
|
+
const entryResult = await this.getRevisionById.execute(model, sourceId);
|
|
16
|
+
if (entryResult.isFail()) return this.decoratee.execute(model, sourceId, input, options);
|
|
17
|
+
const entry = entryResult.value;
|
|
18
|
+
const folderId = entry?.location?.folderId;
|
|
19
|
+
if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, sourceId, input, options);
|
|
20
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
21
|
+
const canAccessFolderContent = await this.folderLevelPermissions.canAccessFolderContent({
|
|
22
|
+
permissions,
|
|
23
|
+
rwd: "w"
|
|
24
|
+
});
|
|
25
|
+
if (!canAccessFolderContent) return Result.fail(new EntryNotAuthorizedError());
|
|
26
|
+
return this.decoratee.execute(model, sourceId, input, options);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const CreateEntryRevisionFromWithFlpDecorator = createDecorator({
|
|
30
|
+
abstraction: CreateEntryRevisionFromUseCase,
|
|
31
|
+
decorator: CreateEntryRevisionFromWithFlpDecoratorImpl,
|
|
32
|
+
dependencies: [
|
|
33
|
+
FolderLevelPermissions,
|
|
34
|
+
GetRevisionByIdUseCase
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
export { CreateEntryRevisionFromWithFlpDecorator };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=CreateEntryRevisionFromWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { CreateEntryRevisionFromUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntryRevisionFrom/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type {\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass CreateEntryRevisionFromWithFlpDecoratorImpl\n implements CreateEntryRevisionFromUseCase.Interface\n{\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: CreateEntryRevisionFromUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): CreateEntryRevisionFromUseCase.Return<T> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, sourceId, input, options);\n }\n\n const entryResult = await this.getRevisionById.execute(model, sourceId);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, sourceId, input, options);\n }\n\n const entry = entryResult.value;\n const folderId = entry?.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, sourceId, input, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolderContent = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolderContent) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, sourceId, input, options);\n }\n}\n\nexport const CreateEntryRevisionFromWithFlpDecorator = createDecorator({\n abstraction: CreateEntryRevisionFromUseCase,\n decorator: CreateEntryRevisionFromWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"names":["CreateEntryRevisionFromWithFlpDecoratorImpl","folderLevelPermissions","getRevisionById","decoratee","model","sourceId","input","options","entryResult","entry","folderId","ROOT_FOLDER","permissions","canAccessFolderContent","Result","EntryNotAuthorizedError","CreateEntryRevisionFromWithFlpDecorator","createDecorator","CreateEntryRevisionFromUseCase","FolderLevelPermissions","GetRevisionByIdUseCase"],"mappings":";;;;;;AAaA,MAAMA;IAGF,YACYC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAmD,CAC7D;aAHUF,sBAAsB,GAAtBA;aACAC,eAAe,GAAfA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,QAAgB,EAChBC,KAA6B,EAC7BC,OAAoC,EACI;QACxC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACH,OAAOC,UAAUC,OAAOC;QAG1D,MAAMC,cAAc,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACJ,OAAOC;QAC9D,IAAIG,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACJ,OAAOC,UAAUC,OAAOC;QAG1D,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACP,OAAOC,UAAUC,OAAOC;QAG1D,MAAMK,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,yBAAyB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YACpFD;YACA,KAAK;QACT;QAEA,IAAI,CAACC,wBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACX,OAAOC,UAAUC,OAAOC;IAC1D;AACJ;AAEO,MAAMS,0CAA0CC,gBAAgB;IACnE,aAAaC;IACb,WAAWlB;IACX,cAAc;QAACmB;QAAwBC;KAAuB;AAClE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/abstractions.js";
|
|
3
|
+
import type { CmsEntry, CmsEntryValues, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "@webiny/api-headless-cms/types/index.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
5
|
+
declare class CreateEntryWithFlpDecoratorImpl implements CreateEntryUseCase.Interface {
|
|
6
|
+
private folderLevelPermissions;
|
|
7
|
+
private decoratee;
|
|
8
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: CreateEntryUseCase.Interface);
|
|
9
|
+
execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, input: CreateCmsEntryInput<T>, options?: CreateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, CreateEntryUseCase.Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const CreateEntryWithFlpDecorator: typeof CreateEntryWithFlpDecoratorImpl;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
5
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
|
|
6
|
+
class CreateEntryWithFlpDecoratorImpl {
|
|
7
|
+
constructor(folderLevelPermissions, decoratee){
|
|
8
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
9
|
+
this.decoratee = decoratee;
|
|
10
|
+
}
|
|
11
|
+
async execute(model, input, options) {
|
|
12
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, input, options);
|
|
13
|
+
const folderId = input.wbyAco_location?.folderId || input.location?.folderId;
|
|
14
|
+
if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, input, options);
|
|
15
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
16
|
+
const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
|
|
17
|
+
permissions,
|
|
18
|
+
rwd: "w"
|
|
19
|
+
});
|
|
20
|
+
if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
|
|
21
|
+
return this.decoratee.execute(model, input, options);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const CreateEntryWithFlpDecorator = createDecorator({
|
|
25
|
+
abstraction: CreateEntryUseCase,
|
|
26
|
+
decorator: CreateEntryWithFlpDecoratorImpl,
|
|
27
|
+
dependencies: [
|
|
28
|
+
FolderLevelPermissions
|
|
29
|
+
]
|
|
30
|
+
});
|
|
31
|
+
export { CreateEntryWithFlpDecorator };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=CreateEntryWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/CreateEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/CreateEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass CreateEntryWithFlpDecoratorImpl implements CreateEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: CreateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, CreateEntryUseCase.Error>> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, input, options);\n }\n\n const folderId = input.wbyAco_location?.folderId || input.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, input, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, input, options);\n }\n}\n\nexport const CreateEntryWithFlpDecorator = createDecorator({\n abstraction: CreateEntryUseCase,\n decorator: CreateEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["CreateEntryWithFlpDecoratorImpl","folderLevelPermissions","decoratee","model","input","options","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","CreateEntryWithFlpDecorator","createDecorator","CreateEntryUseCase","FolderLevelPermissions"],"mappings":";;;;;AAaA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,SAAuC,CACjD;aAFUD,sBAAsB,GAAtBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,KAA6B,EAC7BC,OAAoC,EACkB;QACtD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,OAAOC,OAAOC;QAGhD,MAAMC,WAAWF,MAAM,eAAe,EAAE,YAAYA,MAAM,QAAQ,EAAE;QAEpE,IAAI,CAACE,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACJ,OAAOC,OAAOC;QAGhD,MAAMG,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAC7ED;YACA,KAAK;QACT;QAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACR,OAAOC,OAAOC;IAChD;AACJ;AAEO,MAAMO,8BAA8BC,gBAAgB;IACvD,aAAaC;IACb,WAAWd;IACX,cAAc;QAACe;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DeleteEntryRevisionUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntryRevision/abstractions.js";
|
|
2
|
+
import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
|
|
3
|
+
import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
5
|
+
declare class DeleteEntryRevisionWithFlpDecoratorImpl implements DeleteEntryRevisionUseCase.Interface {
|
|
6
|
+
private folderLevelPermissions;
|
|
7
|
+
private getRevisionById;
|
|
8
|
+
private decoratee;
|
|
9
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, decoratee: DeleteEntryRevisionUseCase.Interface);
|
|
10
|
+
execute(model: CmsModel, revisionId: string): ReturnType<DeleteEntryRevisionUseCase.Interface["execute"]>;
|
|
11
|
+
}
|
|
12
|
+
export declare const DeleteEntryRevisionWithFlpDecorator: typeof DeleteEntryRevisionWithFlpDecoratorImpl;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteEntryRevisionUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntryRevision/abstractions.js";
|
|
3
|
+
import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
5
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
6
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
|
|
7
|
+
class DeleteEntryRevisionWithFlpDecoratorImpl {
|
|
8
|
+
constructor(folderLevelPermissions, getRevisionById, decoratee){
|
|
9
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
10
|
+
this.getRevisionById = getRevisionById;
|
|
11
|
+
this.decoratee = decoratee;
|
|
12
|
+
}
|
|
13
|
+
async execute(model, revisionId) {
|
|
14
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, revisionId);
|
|
15
|
+
const entryResult = await this.getRevisionById.execute(model, revisionId);
|
|
16
|
+
if (entryResult.isFail()) return this.decoratee.execute(model, revisionId);
|
|
17
|
+
const entry = entryResult.value;
|
|
18
|
+
const folderId = entry?.location?.folderId;
|
|
19
|
+
if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, revisionId);
|
|
20
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
21
|
+
const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
|
|
22
|
+
permissions,
|
|
23
|
+
rwd: "d"
|
|
24
|
+
});
|
|
25
|
+
if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
|
|
26
|
+
return this.decoratee.execute(model, revisionId);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const DeleteEntryRevisionWithFlpDecorator = createDecorator({
|
|
30
|
+
abstraction: DeleteEntryRevisionUseCase,
|
|
31
|
+
decorator: DeleteEntryRevisionWithFlpDecoratorImpl,
|
|
32
|
+
dependencies: [
|
|
33
|
+
FolderLevelPermissions,
|
|
34
|
+
GetRevisionByIdUseCase
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
export { DeleteEntryRevisionWithFlpDecorator };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=DeleteEntryRevisionWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntryRevision/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass DeleteEntryRevisionWithFlpDecoratorImpl implements DeleteEntryRevisionUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: DeleteEntryRevisionUseCase.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n revisionId: string\n ): ReturnType<DeleteEntryRevisionUseCase.Interface[\"execute\"]> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, revisionId);\n }\n\n const entryResult = await this.getRevisionById.execute(model, revisionId);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, revisionId);\n }\n\n const entry = entryResult.value;\n const folderId = entry?.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, revisionId);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"d\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, revisionId);\n }\n}\n\nexport const DeleteEntryRevisionWithFlpDecorator = createDecorator({\n abstraction: DeleteEntryRevisionUseCase,\n decorator: DeleteEntryRevisionWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"names":["DeleteEntryRevisionWithFlpDecoratorImpl","folderLevelPermissions","getRevisionById","decoratee","model","revisionId","entryResult","entry","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","DeleteEntryRevisionWithFlpDecorator","createDecorator","DeleteEntryRevisionUseCase","FolderLevelPermissions","GetRevisionByIdUseCase"],"mappings":";;;;;;AAQA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,eAAiD,EACjDC,SAA+C,CACzD;aAHUF,sBAAsB,GAAtBA;aACAC,eAAe,GAAfA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,UAAkB,EACyC;QAC3D,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD,OAAOC;QAGzC,MAAMC,cAAc,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACF,OAAOC;QAC9D,IAAIC,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,OAAOC;QAGzC,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACL,OAAOC;QAGzC,MAAMK,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAC7ED;YACA,KAAK;QACT;QAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACT,OAAOC;IACzC;AACJ;AAEO,MAAMS,sCAAsCC,gBAAgB;IAC/D,aAAaC;IACb,WAAWhB;IACX,cAAc;QAACiB;QAAwBC;KAAuB;AAClE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry/abstractions.js";
|
|
2
|
+
import { GetLatestRevisionByEntryIdBaseUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js";
|
|
3
|
+
import type { CmsModel, CmsDeleteEntryOptions } from "@webiny/api-headless-cms/types/index.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
5
|
+
declare class DeleteEntryWithFlpDecoratorImpl implements DeleteEntryUseCase.Interface {
|
|
6
|
+
private folderLevelPermissions;
|
|
7
|
+
private getLatestRevisionByEntryId;
|
|
8
|
+
private decoratee;
|
|
9
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, getLatestRevisionByEntryId: GetLatestRevisionByEntryIdBaseUseCase.Interface, decoratee: DeleteEntryUseCase.Interface);
|
|
10
|
+
execute(model: CmsModel, id: string, options?: CmsDeleteEntryOptions): ReturnType<DeleteEntryUseCase.Interface["execute"]>;
|
|
11
|
+
}
|
|
12
|
+
export declare const DeleteEntryWithFlpDecorator: typeof DeleteEntryWithFlpDecoratorImpl;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry/abstractions.js";
|
|
3
|
+
import { GetLatestRevisionByEntryIdBaseUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
5
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
6
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
|
|
7
|
+
class DeleteEntryWithFlpDecoratorImpl {
|
|
8
|
+
constructor(folderLevelPermissions, getLatestRevisionByEntryId, decoratee){
|
|
9
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
10
|
+
this.getLatestRevisionByEntryId = getLatestRevisionByEntryId;
|
|
11
|
+
this.decoratee = decoratee;
|
|
12
|
+
}
|
|
13
|
+
async execute(model, id, options) {
|
|
14
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, id, options);
|
|
15
|
+
const entryResult = await this.getLatestRevisionByEntryId.execute(model, {
|
|
16
|
+
id
|
|
17
|
+
});
|
|
18
|
+
if (entryResult.isFail()) return this.decoratee.execute(model, id, options);
|
|
19
|
+
const entry = entryResult.value;
|
|
20
|
+
const folderId = entry?.location?.folderId;
|
|
21
|
+
if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, id, options);
|
|
22
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
23
|
+
const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
|
|
24
|
+
permissions,
|
|
25
|
+
rwd: "d"
|
|
26
|
+
});
|
|
27
|
+
if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
|
|
28
|
+
return this.decoratee.execute(model, id, options);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const DeleteEntryWithFlpDecorator = createDecorator({
|
|
32
|
+
abstraction: DeleteEntryUseCase,
|
|
33
|
+
decorator: DeleteEntryWithFlpDecoratorImpl,
|
|
34
|
+
dependencies: [
|
|
35
|
+
FolderLevelPermissions,
|
|
36
|
+
GetLatestRevisionByEntryIdBaseUseCase
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
export { DeleteEntryWithFlpDecorator };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=DeleteEntryWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/DeleteEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/DeleteEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry/abstractions.js\";\nimport { GetLatestRevisionByEntryIdBaseUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js\";\nimport type { CmsModel, CmsDeleteEntryOptions } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass DeleteEntryWithFlpDecoratorImpl implements DeleteEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getLatestRevisionByEntryId: GetLatestRevisionByEntryIdBaseUseCase.Interface,\n private decoratee: DeleteEntryUseCase.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n id: string,\n options?: CmsDeleteEntryOptions\n ): ReturnType<DeleteEntryUseCase.Interface[\"execute\"]> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, id, options);\n }\n\n const entryResult = await this.getLatestRevisionByEntryId.execute(model, { id });\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, id, options);\n }\n\n const entry = entryResult.value;\n const folderId = entry?.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, id, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"d\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, id, options);\n }\n}\n\nexport const DeleteEntryWithFlpDecorator = createDecorator({\n abstraction: DeleteEntryUseCase,\n decorator: DeleteEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetLatestRevisionByEntryIdBaseUseCase]\n});\n"],"names":["DeleteEntryWithFlpDecoratorImpl","folderLevelPermissions","getLatestRevisionByEntryId","decoratee","model","id","options","entryResult","entry","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","DeleteEntryWithFlpDecorator","createDecorator","DeleteEntryUseCase","FolderLevelPermissions","GetLatestRevisionByEntryIdBaseUseCase"],"mappings":";;;;;;AAQA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,0BAA2E,EAC3EC,SAAuC,CACjD;aAHUF,sBAAsB,GAAtBA;aACAC,0BAA0B,GAA1BA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,OAA+B,EACoB;QACnD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,OAAOC,IAAIC;QAG7C,MAAMC,cAAc,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAACH,OAAO;YAAEC;QAAG;QAC9E,IAAIE,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACH,OAAOC,IAAIC;QAG7C,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACN,OAAOC,IAAIC;QAG7C,MAAMK,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAC7ED;YACA,KAAK;QACT;QAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACV,OAAOC,IAAIC;IAC7C;AACJ;AAEO,MAAMS,8BAA8BC,gBAAgB;IACvD,aAAaC;IACb,WAAWjB;IACX,cAAc;QAACkB;QAAwBC;KAAsC;AACjF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/abstractions.js";
|
|
3
|
+
import type { CmsModel, CmsEntryValues, CmsEntry } from "@webiny/api-headless-cms/types/index.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
5
|
+
declare class GetEntryByIdWithFlpDecoratorImpl implements GetEntryByIdUseCase.Interface {
|
|
6
|
+
private folderLevelPermissions;
|
|
7
|
+
private decoratee;
|
|
8
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: GetEntryByIdUseCase.Interface);
|
|
9
|
+
execute<T extends CmsEntryValues>(model: CmsModel, id: string): Promise<Result<CmsEntry<T>, GetEntryByIdUseCase.Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const GetEntryByIdWithFlpDecorator: typeof GetEntryByIdWithFlpDecoratorImpl;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
5
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
|
|
6
|
+
class GetEntryByIdWithFlpDecoratorImpl {
|
|
7
|
+
constructor(folderLevelPermissions, decoratee){
|
|
8
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
9
|
+
this.decoratee = decoratee;
|
|
10
|
+
}
|
|
11
|
+
async execute(model, id) {
|
|
12
|
+
const result = await this.decoratee.execute(model, id);
|
|
13
|
+
if (result.isFail()) return result;
|
|
14
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return result;
|
|
15
|
+
const entry = result.value;
|
|
16
|
+
const folderId = entry?.location?.folderId;
|
|
17
|
+
if (!folderId || folderId === ROOT_FOLDER) return result;
|
|
18
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
19
|
+
const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
|
|
20
|
+
permissions,
|
|
21
|
+
rwd: "r"
|
|
22
|
+
});
|
|
23
|
+
if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const GetEntryByIdWithFlpDecorator = createDecorator({
|
|
28
|
+
abstraction: GetEntryByIdUseCase,
|
|
29
|
+
decorator: GetEntryByIdWithFlpDecoratorImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
FolderLevelPermissions
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { GetEntryByIdWithFlpDecorator };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=GetEntryByIdWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/GetEntryByIdWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/GetEntryByIdWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById/abstractions.js\";\nimport type { CmsModel, CmsEntryValues, CmsEntry } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass GetEntryByIdWithFlpDecoratorImpl implements GetEntryByIdUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: GetEntryByIdUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, GetEntryByIdUseCase.Error>> {\n const result = await this.decoratee.execute<T>(model, id);\n\n if (result.isFail()) {\n return result;\n }\n\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return result;\n }\n\n const entry = result.value;\n const folderId = entry?.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return result;\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"r\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return result;\n }\n}\n\nexport const GetEntryByIdWithFlpDecorator = createDecorator({\n abstraction: GetEntryByIdUseCase,\n decorator: GetEntryByIdWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["GetEntryByIdWithFlpDecoratorImpl","folderLevelPermissions","decoratee","model","id","result","entry","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","GetEntryByIdWithFlpDecorator","createDecorator","GetEntryByIdUseCase","FolderLevelPermissions"],"mappings":";;;;;AAOA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,SAAwC,CAClD;aAFUD,sBAAsB,GAAtBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EAC6C;QACvD,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIF,OAAOC;QAEtD,IAAIC,OAAO,MAAM,IACb,OAAOA;QAGX,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAOA;QAGX,MAAMC,QAAQD,OAAO,KAAK;QAC1B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAOH;QAGX,MAAMI,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAC7ED;YACA,KAAK;QACT;QAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAOP;IACX;AACJ;AAEO,MAAMQ,+BAA+BC,gBAAgB;IACxD,aAAaC;IACb,WAAWf;IACX,cAAc;QAACgB;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntry/abstractions.js";
|
|
3
|
+
import type { CmsModel, CmsEntryGetParams, CmsEntryValues, CmsEntry } from "@webiny/api-headless-cms/types/index.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
5
|
+
declare class GetEntryWithFlpDecoratorImpl implements GetEntryUseCase.Interface {
|
|
6
|
+
private folderLevelPermissions;
|
|
7
|
+
private decoratee;
|
|
8
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: GetEntryUseCase.Interface);
|
|
9
|
+
execute<T extends CmsEntryValues>(model: CmsModel, params: CmsEntryGetParams): Promise<Result<CmsEntry<T>, GetEntryUseCase.Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const GetEntryWithFlpDecorator: typeof GetEntryWithFlpDecoratorImpl;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { GetEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntry/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
5
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors";
|
|
6
|
+
class GetEntryWithFlpDecoratorImpl {
|
|
7
|
+
constructor(folderLevelPermissions, decoratee){
|
|
8
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
9
|
+
this.decoratee = decoratee;
|
|
10
|
+
}
|
|
11
|
+
async execute(model, params) {
|
|
12
|
+
const result = await this.decoratee.execute(model, params);
|
|
13
|
+
if (result.isFail()) return result;
|
|
14
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return result;
|
|
15
|
+
const entry = result.value;
|
|
16
|
+
const folderId = entry?.location?.folderId;
|
|
17
|
+
if (!folderId || folderId === ROOT_FOLDER) return result;
|
|
18
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
19
|
+
const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
|
|
20
|
+
permissions,
|
|
21
|
+
rwd: "r"
|
|
22
|
+
});
|
|
23
|
+
if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const GetEntryWithFlpDecorator = createDecorator({
|
|
28
|
+
abstraction: GetEntryUseCase,
|
|
29
|
+
decorator: GetEntryWithFlpDecoratorImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
FolderLevelPermissions
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { GetEntryWithFlpDecorator };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=GetEntryWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/GetEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/GetEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { GetEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntry/abstractions.js\";\nimport type {\n CmsModel,\n CmsEntryGetParams,\n CmsEntryValues,\n CmsEntry\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors\";\n\nclass GetEntryWithFlpDecoratorImpl implements GetEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: GetEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryGetParams\n ): Promise<Result<CmsEntry<T>, GetEntryUseCase.Error>> {\n const result = await this.decoratee.execute<T>(model, params);\n\n if (result.isFail()) {\n return result;\n }\n\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return result;\n }\n\n const entry = result.value;\n const folderId = entry?.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return result;\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"r\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return result;\n }\n}\n\nexport const GetEntryWithFlpDecorator = createDecorator({\n abstraction: GetEntryUseCase,\n decorator: GetEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["GetEntryWithFlpDecoratorImpl","folderLevelPermissions","decoratee","model","params","result","entry","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","GetEntryWithFlpDecorator","createDecorator","GetEntryUseCase","FolderLevelPermissions"],"mappings":";;;;;AAYA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,SAAoC,CAC9C;aAFUD,sBAAsB,GAAtBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAAyB,EAC0B;QACnD,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIF,OAAOC;QAEtD,IAAIC,OAAO,MAAM,IACb,OAAOA;QAGX,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAOA;QAGX,MAAMC,QAAQD,OAAO,KAAK;QAC1B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAOH;QAGX,MAAMI,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAC7ED;YACA,KAAK;QACT;QAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAOP;IACX;AACJ;AAEO,MAAMQ,2BAA2BC,gBAAgB;IACpD,aAAaC;IACb,WAAWf;IACX,cAAc;QAACgB;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetLatestEntriesByIdsUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetLatestEntriesByIds/abstractions.js";
|
|
3
|
+
import type { CmsModel, CmsEntryValues, CmsEntry } from "@webiny/api-headless-cms/types/index.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
5
|
+
declare class GetLatestEntriesByIdsWithFlpDecoratorImpl implements GetLatestEntriesByIdsUseCase.Interface {
|
|
6
|
+
private folderLevelPermissions;
|
|
7
|
+
private decoratee;
|
|
8
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: GetLatestEntriesByIdsUseCase.Interface);
|
|
9
|
+
execute<T extends CmsEntryValues>(model: CmsModel, ids: string[]): Promise<Result<CmsEntry<T>[], GetLatestEntriesByIdsUseCase.Error>>;
|
|
10
|
+
private filterEntriesByFolder;
|
|
11
|
+
}
|
|
12
|
+
export declare const GetLatestEntriesByIdsWithFlpDecorator: typeof GetLatestEntriesByIdsWithFlpDecoratorImpl;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { GetLatestEntriesByIdsUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetLatestEntriesByIds/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
5
|
+
class GetLatestEntriesByIdsWithFlpDecoratorImpl {
|
|
6
|
+
constructor(folderLevelPermissions, decoratee){
|
|
7
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
8
|
+
this.decoratee = decoratee;
|
|
9
|
+
}
|
|
10
|
+
async execute(model, ids) {
|
|
11
|
+
const result = await this.decoratee.execute(model, ids);
|
|
12
|
+
if (result.isFail()) return result;
|
|
13
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return result;
|
|
14
|
+
const entries = result.value;
|
|
15
|
+
const filteredEntries = await this.filterEntriesByFolder(entries);
|
|
16
|
+
return Result.ok(filteredEntries);
|
|
17
|
+
}
|
|
18
|
+
async filterEntriesByFolder(entries) {
|
|
19
|
+
const results = await Promise.all(entries.map(async (entry)=>{
|
|
20
|
+
const folderId = entry.location?.folderId;
|
|
21
|
+
if (!folderId || folderId === ROOT_FOLDER) return entry;
|
|
22
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
23
|
+
const canAccess = await this.folderLevelPermissions.canAccessFolderContent({
|
|
24
|
+
permissions,
|
|
25
|
+
rwd: "r"
|
|
26
|
+
});
|
|
27
|
+
return canAccess ? entry : null;
|
|
28
|
+
}));
|
|
29
|
+
return results.filter((entry)=>!!entry);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const GetLatestEntriesByIdsWithFlpDecorator = createDecorator({
|
|
33
|
+
abstraction: GetLatestEntriesByIdsUseCase,
|
|
34
|
+
decorator: GetLatestEntriesByIdsWithFlpDecoratorImpl,
|
|
35
|
+
dependencies: [
|
|
36
|
+
FolderLevelPermissions
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
export { GetLatestEntriesByIdsWithFlpDecorator };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=GetLatestEntriesByIdsWithFlpDecorator.js.map
|