@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/flp/ListFlps/ListFlpsUseCase.js","sources":["../../../../src/features/flp/ListFlps/ListFlpsUseCase.ts"],"sourcesContent":["import type { ListFlpsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoFolderLevelPermissionsCrud, ListFlpsParams } from \"~/flp/flp.types.js\";\n\nexport class ListFlpsUseCase implements UseCaseAbstraction.Interface {\n private readonly list: AcoFolderLevelPermissionsCrud[\"list\"];\n\n constructor(list: AcoFolderLevelPermissionsCrud[\"list\"]) {\n this.list = list;\n }\n\n async execute(params: ListFlpsParams) {\n return this.list(params);\n }\n}\n"],"names":["ListFlpsUseCase","list","params"],"mappings":"AAGO,MAAMA;IAGT,YAAYC,IAA2C,CAAE;QACrD,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEA,MAAM,QAAQC,MAAsB,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAACA;IACrB;AACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { FolderLevelPermission } from "../../../types.js";
|
|
2
|
+
interface ListFlpsParams {
|
|
3
|
+
where: {
|
|
4
|
+
path_startsWith?: string;
|
|
5
|
+
parentId?: string;
|
|
6
|
+
type: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export interface IListFlps {
|
|
10
|
+
execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;
|
|
11
|
+
}
|
|
12
|
+
/** List folder-level permissions. */
|
|
13
|
+
export declare const ListFlpsUseCase: import("@webiny/di").Abstraction<IListFlps>;
|
|
14
|
+
export declare namespace ListFlpsUseCase {
|
|
15
|
+
type Interface = IListFlps;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/ListFlps/abstractions.js","sources":["../../../../src/features/flp/ListFlps/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\ninterface ListFlpsParams {\n where: {\n path_startsWith?: string;\n parentId?: string;\n type: string;\n };\n}\n\nexport interface IListFlps {\n execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;\n}\n\n/** List folder-level permissions. */\nexport const ListFlpsUseCase = createAbstraction<IListFlps>(\"ListFlpsUseCase\");\n\nexport namespace ListFlpsUseCase {\n export type Interface = IListFlps;\n}\n"],"names":["ListFlpsUseCase","createAbstraction"],"mappings":";AAgBO,MAAMA,kBAAkBC,kBAA6B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ListFlpsUseCase } from "../abstractions.js";
|
|
2
|
+
import { CodeFlpsProvider } from "../../../../features/flp/shared/index.js";
|
|
3
|
+
import type { FolderLevelPermission, ListFlpsParams } from "../../../../flp/flp.types.js";
|
|
4
|
+
declare class ListFlpsWithCodeFlpsImpl implements ListFlpsUseCase.Interface {
|
|
5
|
+
private codeFlpsProvider;
|
|
6
|
+
private decoratee;
|
|
7
|
+
constructor(codeFlpsProvider: CodeFlpsProvider.Interface, decoratee: ListFlpsUseCase.Interface);
|
|
8
|
+
execute(params: ListFlpsParams): Promise<FolderLevelPermission[]>;
|
|
9
|
+
}
|
|
10
|
+
export declare const ListFlpsWithCodeFlps: typeof ListFlpsWithCodeFlpsImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions.js").IListFlps>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ListFlpsUseCase } from "../abstractions.js";
|
|
2
|
+
import { CodeFlpMerger, CodeFlpsProvider } from "../../shared/index.js";
|
|
3
|
+
class ListFlpsWithCodeFlpsImpl {
|
|
4
|
+
constructor(codeFlpsProvider, decoratee){
|
|
5
|
+
this.codeFlpsProvider = codeFlpsProvider;
|
|
6
|
+
this.decoratee = decoratee;
|
|
7
|
+
}
|
|
8
|
+
async execute(params) {
|
|
9
|
+
const flps = await this.decoratee.execute(params);
|
|
10
|
+
return Promise.all(flps.map(async (flp)=>{
|
|
11
|
+
const codePermissions = await this.codeFlpsProvider.getPermissions({
|
|
12
|
+
type: flp.type,
|
|
13
|
+
path: flp.path
|
|
14
|
+
});
|
|
15
|
+
return CodeFlpMerger.merge(flp, codePermissions);
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const ListFlpsWithCodeFlps = ListFlpsUseCase.createDecorator({
|
|
20
|
+
decorator: ListFlpsWithCodeFlpsImpl,
|
|
21
|
+
dependencies: [
|
|
22
|
+
CodeFlpsProvider
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
export { ListFlpsWithCodeFlps };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=ListFlpsWithCodeFlps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js","sources":["../../../../../src/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.ts"],"sourcesContent":["import { ListFlpsUseCase } from \"../abstractions.js\";\nimport { CodeFlpMerger, CodeFlpsProvider } from \"~/features/flp/shared/index.js\";\nimport type { FolderLevelPermission, ListFlpsParams } from \"~/flp/flp.types.js\";\n\nclass ListFlpsWithCodeFlpsImpl implements ListFlpsUseCase.Interface {\n constructor(\n private codeFlpsProvider: CodeFlpsProvider.Interface,\n private decoratee: ListFlpsUseCase.Interface\n ) {}\n\n async execute(params: ListFlpsParams): Promise<FolderLevelPermission[]> {\n const flps = await this.decoratee.execute(params);\n\n return Promise.all(\n flps.map(async flp => {\n const codePermissions = await this.codeFlpsProvider.getPermissions({\n type: flp.type,\n path: flp.path\n });\n\n return CodeFlpMerger.merge(flp, codePermissions);\n })\n );\n }\n}\n\nexport const ListFlpsWithCodeFlps = ListFlpsUseCase.createDecorator({\n decorator: ListFlpsWithCodeFlpsImpl,\n dependencies: [CodeFlpsProvider]\n});\n"],"names":["ListFlpsWithCodeFlpsImpl","codeFlpsProvider","decoratee","params","flps","Promise","flp","codePermissions","CodeFlpMerger","ListFlpsWithCodeFlps","ListFlpsUseCase","CodeFlpsProvider"],"mappings":";;AAIA,MAAMA;IACF,YACYC,gBAA4C,EAC5CC,SAAoC,CAC9C;aAFUD,gBAAgB,GAAhBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAsB,EAAoC;QACpE,MAAMC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD;QAE1C,OAAOE,QAAQ,GAAG,CACdD,KAAK,GAAG,CAAC,OAAME;YACX,MAAMC,kBAAkB,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;gBAC/D,MAAMD,IAAI,IAAI;gBACd,MAAMA,IAAI,IAAI;YAClB;YAEA,OAAOE,cAAc,KAAK,CAACF,KAAKC;QACpC;IAER;AACJ;AAEO,MAAME,uBAAuBC,gBAAgB,eAAe,CAAC;IAChE,WAAWV;IACX,cAAc;QAACW;KAAiB;AACpC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListFlpsUseCase } from "./ListFlpsUseCase.js";
|
|
3
|
+
import { ListFlpsUseCase as external_abstractions_js_ListFlpsUseCase } from "./abstractions.js";
|
|
4
|
+
import { AcoFlpCrud } from "../../folder/shared/abstractions.js";
|
|
5
|
+
const ListFlpsFeature = createFeature({
|
|
6
|
+
name: "ListFlpsFeature",
|
|
7
|
+
register (container) {
|
|
8
|
+
container.registerFactory(external_abstractions_js_ListFlpsUseCase, ()=>new ListFlpsUseCase(container.resolve(AcoFlpCrud).list));
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { ListFlpsFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/ListFlps/feature.js","sources":["../../../../src/features/flp/ListFlps/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListFlpsUseCase } from \"./ListFlpsUseCase.js\";\nimport { ListFlpsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { AcoFlpCrud } from \"~/features/folder/shared/abstractions.js\";\n\nexport const ListFlpsFeature = createFeature({\n name: \"ListFlpsFeature\",\n register(container) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new ListFlpsUseCase(container.resolve(AcoFlpCrud).list);\n });\n }\n});\n"],"names":["ListFlpsFeature","createFeature","container","UseCaseAbstraction","ListFlpsUseCase","AcoFlpCrud"],"mappings":";;;;AAKO,MAAMA,kBAAkBC,cAAc;IACzC,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,eAAe,CAACC,0CAAoB,IACnC,IAAIC,gBAAgBF,UAAU,OAAO,CAACG,YAAY,IAAI;IAErE;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./abstractions.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { UpdateFlpParams, UpdateFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
2
|
+
import type { AcoFlpCrud } from "../../../features/folder/shared/abstractions.js";
|
|
3
|
+
import type { ListFoldersUseCase } from "../../../features/folder/ListFolders/index.js";
|
|
4
|
+
import type { FolderModelProvider } from "../../../domain/folder/abstractions.js";
|
|
5
|
+
import type { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
6
|
+
import type { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
|
|
7
|
+
export declare class UpdateFlpUseCase implements UseCaseAbstraction.Interface {
|
|
8
|
+
private flpCrud;
|
|
9
|
+
private listFoldersUseCase;
|
|
10
|
+
private folderModelProvider;
|
|
11
|
+
private updateEntryUseCase;
|
|
12
|
+
private identityContext;
|
|
13
|
+
private isCloseToTimeout?;
|
|
14
|
+
private handleTimeout?;
|
|
15
|
+
private readonly completed;
|
|
16
|
+
private readonly flpsToUpdate;
|
|
17
|
+
private timedOut;
|
|
18
|
+
private completedThisRun;
|
|
19
|
+
constructor(flpCrud: AcoFlpCrud.Interface, listFoldersUseCase: ListFoldersUseCase.Interface, folderModelProvider: FolderModelProvider.Interface, updateEntryUseCase: UpdateEntryUseCase.Interface, identityContext: IdentityContext.Interface);
|
|
20
|
+
execute(params: UpdateFlpParams): Promise<void>;
|
|
21
|
+
private collectBranchForUpdate;
|
|
22
|
+
private stopForTimeout;
|
|
23
|
+
private executeBatchUpdate;
|
|
24
|
+
private listDirectChildren;
|
|
25
|
+
private getFlp;
|
|
26
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { Path } from "../../../utils/Path.js";
|
|
3
|
+
import { Permissions, ROOT_FOLDER } from "@webiny/shared-aco";
|
|
4
|
+
import { EntryId } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
5
|
+
class UpdateFlpUseCase {
|
|
6
|
+
constructor(flpCrud, listFoldersUseCase, folderModelProvider, updateEntryUseCase, identityContext){
|
|
7
|
+
this.flpCrud = flpCrud;
|
|
8
|
+
this.listFoldersUseCase = listFoldersUseCase;
|
|
9
|
+
this.folderModelProvider = folderModelProvider;
|
|
10
|
+
this.updateEntryUseCase = updateEntryUseCase;
|
|
11
|
+
this.identityContext = identityContext;
|
|
12
|
+
this.completed = new Set();
|
|
13
|
+
this.flpsToUpdate = new Map();
|
|
14
|
+
this.timedOut = false;
|
|
15
|
+
this.completedThisRun = 0;
|
|
16
|
+
}
|
|
17
|
+
async execute(params) {
|
|
18
|
+
this.isCloseToTimeout = params.isCloseToTimeout;
|
|
19
|
+
this.handleTimeout = params.handleTimeout;
|
|
20
|
+
this.completed.clear();
|
|
21
|
+
this.timedOut = false;
|
|
22
|
+
this.completedThisRun = 0;
|
|
23
|
+
if (params.completed) params.completed.forEach((id)=>this.completed.add(id));
|
|
24
|
+
try {
|
|
25
|
+
const { folder } = params;
|
|
26
|
+
if (!folder) throw new WebinyError("Missing `folder`, I can't update the FLP record.", "ERROR_UPDATING_FLP_USE_CASE_FOLDER_NOT_PROVIDED", {
|
|
27
|
+
folder
|
|
28
|
+
});
|
|
29
|
+
const flp = await this.getFlp(folder);
|
|
30
|
+
const parentFlp = folder.parentId ? await this.flpCrud.get(folder.parentId) : null;
|
|
31
|
+
this.flpsToUpdate.set(folder.id, {
|
|
32
|
+
slug: folder.slug,
|
|
33
|
+
parentId: folder.parentId ?? ROOT_FOLDER,
|
|
34
|
+
path: Path.create(folder.slug, parentFlp?.path),
|
|
35
|
+
permissions: Permissions.create(folder.permissions, parentFlp)
|
|
36
|
+
});
|
|
37
|
+
const directChildren = await this.listDirectChildren(flp);
|
|
38
|
+
for (const child of directChildren){
|
|
39
|
+
await this.collectBranchForUpdate(child, flp);
|
|
40
|
+
if (this.timedOut) return;
|
|
41
|
+
}
|
|
42
|
+
await this.executeBatchUpdate();
|
|
43
|
+
} catch (error) {
|
|
44
|
+
this.flpsToUpdate.clear();
|
|
45
|
+
this.completed.clear();
|
|
46
|
+
throw WebinyError.from(error, {
|
|
47
|
+
message: "Error while updating FLP",
|
|
48
|
+
code: "ERROR_UPDATING_FLP_USE_CASE"
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async collectBranchForUpdate(flp, parentFlp) {
|
|
53
|
+
if (this.completed.has(flp.id)) return;
|
|
54
|
+
if (this.isCloseToTimeout?.()) return void await this.stopForTimeout();
|
|
55
|
+
const parentFlpData = this.flpsToUpdate.get(parentFlp.id);
|
|
56
|
+
const currentParentFlp = {
|
|
57
|
+
...parentFlp,
|
|
58
|
+
...parentFlpData && {
|
|
59
|
+
...parentFlpData
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
this.flpsToUpdate.set(flp.id, {
|
|
63
|
+
slug: flp.slug,
|
|
64
|
+
parentId: flp.parentId,
|
|
65
|
+
path: Path.create(flp.slug, currentParentFlp.path),
|
|
66
|
+
permissions: Permissions.create(flp.permissions, currentParentFlp)
|
|
67
|
+
});
|
|
68
|
+
const children = await this.listDirectChildren(flp);
|
|
69
|
+
for (const child of children){
|
|
70
|
+
await this.collectBranchForUpdate(child, flp);
|
|
71
|
+
if (this.timedOut) return;
|
|
72
|
+
}
|
|
73
|
+
for (const child of children)this.completed.delete(child.id);
|
|
74
|
+
this.completed.add(flp.id);
|
|
75
|
+
this.completedThisRun++;
|
|
76
|
+
}
|
|
77
|
+
async stopForTimeout() {
|
|
78
|
+
this.timedOut = true;
|
|
79
|
+
await this.executeBatchUpdate();
|
|
80
|
+
if (0 === this.completedThisRun) throw new WebinyError("The FLP update ran out of time before finishing any folder, so continuing would repeat the same work.", "UPDATE_FLP_NO_PROGRESS");
|
|
81
|
+
const completed = Array.from(this.completed);
|
|
82
|
+
this.handleTimeout?.(completed);
|
|
83
|
+
}
|
|
84
|
+
async executeBatchUpdate() {
|
|
85
|
+
const folderModel = await this.folderModelProvider.get();
|
|
86
|
+
try {
|
|
87
|
+
const items = Array.from(this.flpsToUpdate.entries()).map(([id, { slug, parentId, path, permissions }])=>({
|
|
88
|
+
id,
|
|
89
|
+
data: {
|
|
90
|
+
slug,
|
|
91
|
+
parentId,
|
|
92
|
+
path,
|
|
93
|
+
permissions
|
|
94
|
+
}
|
|
95
|
+
}));
|
|
96
|
+
await this.flpCrud.batchUpdate(items);
|
|
97
|
+
for (const item of items){
|
|
98
|
+
const { id, data } = item;
|
|
99
|
+
const entryId = EntryId.from(id);
|
|
100
|
+
const updateResult = await this.updateEntryUseCase.execute(folderModel, entryId.toString(), {
|
|
101
|
+
values: {
|
|
102
|
+
path: data.path
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
if (updateResult.isFail()) throw updateResult.error;
|
|
106
|
+
}
|
|
107
|
+
} catch (error) {
|
|
108
|
+
throw WebinyError.from(error, {
|
|
109
|
+
message: "Error while executing batch update of FLPs",
|
|
110
|
+
code: "BATCH_UPDATE_FLP_ERROR",
|
|
111
|
+
data: {
|
|
112
|
+
items: Array.from(this.flpsToUpdate.keys())
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
} finally{
|
|
116
|
+
this.flpsToUpdate.clear();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async listDirectChildren(flp) {
|
|
120
|
+
const result = await this.identityContext.withoutAuthorization(()=>this.listFoldersUseCase.execute({
|
|
121
|
+
where: {
|
|
122
|
+
type: flp.type,
|
|
123
|
+
parentId: flp.id
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
if (result.isFail()) throw result.error;
|
|
127
|
+
return await Promise.all(result.value.folders.map((folder)=>this.getFlp(folder)));
|
|
128
|
+
}
|
|
129
|
+
async getFlp({ id, type, parentId, slug, permissions }) {
|
|
130
|
+
const flp = await this.flpCrud.get(id);
|
|
131
|
+
if (!flp) {
|
|
132
|
+
const parentFlp = parentId ? await this.flpCrud.get(parentId) : null;
|
|
133
|
+
return await this.flpCrud.create({
|
|
134
|
+
id,
|
|
135
|
+
type,
|
|
136
|
+
slug,
|
|
137
|
+
parentId: parentId ?? ROOT_FOLDER,
|
|
138
|
+
path: Path.create(slug, parentFlp?.path),
|
|
139
|
+
permissions: Permissions.create(permissions, parentFlp)
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return flp;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
export { UpdateFlpUseCase };
|
|
146
|
+
|
|
147
|
+
//# sourceMappingURL=UpdateFlpUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/UpdateFlp/UpdateFlpUseCase.js","sources":["../../../../src/features/flp/UpdateFlp/UpdateFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { Path } from \"~/utils/Path.js\";\nimport { Permissions, ROOT_FOLDER } from \"@webiny/shared-aco\";\nimport type { UpdateFlpParams, UpdateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { Folder, FolderLevelPermission, FolderPermission } from \"~/types.js\";\nimport type { AcoFlpCrud } from \"~/features/folder/shared/abstractions.js\";\nimport type { ListFoldersUseCase } from \"~/features/folder/ListFolders/index.js\";\nimport type { FolderModelProvider } from \"~/domain/folder/abstractions.js\";\nimport { EntryId } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport type { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport type { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\n\ninterface FlpUpdateData {\n parentId: string;\n slug: string;\n path: string;\n permissions: FolderPermission[];\n}\n\nexport class UpdateFlpUseCase implements UseCaseAbstraction.Interface {\n private isCloseToTimeout?: () => boolean;\n private handleTimeout?: (updated: string[]) => void;\n\n /*\n * Folders whose whole subtree has been written, carried across task runs as `completed` so a\n * continued run skips them. A folder is added only after all of its descendants are written: one\n * entered but not finished when time ran out has to be walked again, or the rest of its subtree\n * would never be updated.\n *\n * Only the topmost finished folders are kept. When a folder completes, its children leave the\n * set, since skipping the folder already skips them. The set travels in the task input on every\n * continuation, and listing every finished folder would outgrow it on exactly the large trees\n * that need continuing.\n */\n private readonly completed: Set<string> = new Set();\n private readonly flpsToUpdate: Map<string, FlpUpdateData> = new Map();\n private timedOut = false;\n // How many folders this run finished, so a run that finished none can refuse to hand over.\n private completedThisRun = 0;\n\n constructor(\n private flpCrud: AcoFlpCrud.Interface,\n private listFoldersUseCase: ListFoldersUseCase.Interface,\n private folderModelProvider: FolderModelProvider.Interface,\n private updateEntryUseCase: UpdateEntryUseCase.Interface,\n private identityContext: IdentityContext.Interface\n ) {}\n\n async execute(params: UpdateFlpParams): Promise<void> {\n this.isCloseToTimeout = params.isCloseToTimeout;\n this.handleTimeout = params.handleTimeout;\n\n // Fresh per run, so an instance that ever gets reused does not carry the last run's state.\n this.completed.clear();\n this.timedOut = false;\n this.completedThisRun = 0;\n\n if (params.completed) {\n params.completed.forEach(id => this.completed.add(id));\n }\n\n try {\n const { folder } = params;\n\n if (!folder) {\n throw new WebinyError(\n \"Missing `folder`, I can't update the FLP record.\",\n \"ERROR_UPDATING_FLP_USE_CASE_FOLDER_NOT_PROVIDED\",\n { folder }\n );\n }\n\n const flp = await this.getFlp(folder);\n const parentFlp = folder.parentId ? await this.flpCrud.get(folder.parentId) : null;\n\n // Add the root folder to the update collection\n this.flpsToUpdate.set(folder.id, {\n slug: folder.slug,\n parentId: folder.parentId ?? ROOT_FOLDER,\n path: Path.create(folder.slug, parentFlp?.path),\n permissions: Permissions.create(folder.permissions, parentFlp)\n });\n\n // Get direct children and process each branch completely\n const directChildren = await this.listDirectChildren(flp);\n\n for (const child of directChildren) {\n await this.collectBranchForUpdate(child, flp);\n if (this.timedOut) {\n return;\n }\n }\n\n // Execute batch update\n await this.executeBatchUpdate();\n } catch (error) {\n // Clear the update collection in case of error\n this.flpsToUpdate.clear();\n this.completed.clear();\n throw WebinyError.from(error, {\n message: \"Error while updating FLP\",\n code: \"ERROR_UPDATING_FLP_USE_CASE\"\n });\n }\n }\n\n private async collectBranchForUpdate(\n flp: FolderLevelPermission,\n parentFlp: FolderLevelPermission\n ): Promise<void> {\n if (this.completed.has(flp.id)) {\n return;\n }\n\n if (this.isCloseToTimeout?.()) {\n await this.stopForTimeout();\n return;\n }\n\n // Get the parent's permissions from the update collection if available\n const parentFlpData = this.flpsToUpdate.get(parentFlp.id);\n const currentParentFlp = {\n ...parentFlp,\n ...(parentFlpData && { ...parentFlpData })\n };\n\n // Add the FLP to the update collection with inherited permissions\n this.flpsToUpdate.set(flp.id, {\n slug: flp.slug,\n parentId: flp.parentId,\n path: Path.create(flp.slug, currentParentFlp.path),\n permissions: Permissions.create(flp.permissions, currentParentFlp)\n });\n\n // Process all children of this folder before moving to siblings\n const children = await this.listDirectChildren(flp);\n\n for (const child of children) {\n // Pass the current FLP as the parent for the child\n await this.collectBranchForUpdate(child, flp);\n if (this.timedOut) {\n return;\n }\n }\n\n // Only now is everything below this folder collected.\n for (const child of children) {\n this.completed.delete(child.id);\n }\n this.completed.add(flp.id);\n this.completedThisRun++;\n }\n\n /*\n * Writes what has been collected and hands over to a continued run. Every level of the walk\n * checks `timedOut` and stops, rather than carrying on with its remaining children.\n *\n * A run that finished no folder would hand the next run the same input, which would do the same\n * work and hand over again, forever. That fails the task instead.\n */\n private async stopForTimeout(): Promise<void> {\n this.timedOut = true;\n await this.executeBatchUpdate();\n\n if (this.completedThisRun === 0) {\n throw new WebinyError(\n \"The FLP update ran out of time before finishing any folder, so continuing would repeat the same work.\",\n \"UPDATE_FLP_NO_PROGRESS\"\n );\n }\n\n const completed = Array.from(this.completed);\n this.handleTimeout?.(completed);\n }\n\n private async executeBatchUpdate(): Promise<void> {\n const folderModel = await this.folderModelProvider.get();\n try {\n const items = Array.from(this.flpsToUpdate.entries()).map(\n ([id, { slug, parentId, path, permissions }]) => {\n return {\n id,\n data: {\n slug,\n parentId,\n path,\n permissions\n }\n };\n }\n );\n\n await this.flpCrud.batchUpdate(items);\n\n // Update all folders with the new path\n for (const item of items) {\n const { id, data } = item;\n // Directly update the folder in CMS storage to bypass any folder update event triggers.\n const entryId = EntryId.from(id);\n const updateResult = await this.updateEntryUseCase.execute(\n folderModel,\n entryId.toString(),\n { values: { path: data.path } }\n );\n if (updateResult.isFail()) {\n throw updateResult.error;\n }\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing batch update of FLPs\",\n code: \"BATCH_UPDATE_FLP_ERROR\",\n data: {\n items: Array.from(this.flpsToUpdate.keys())\n }\n });\n } finally {\n /*\n * Clear the update collection after the batch update. `completed` is kept: it is what a\n * continued run needs to know.\n */\n this.flpsToUpdate.clear();\n }\n }\n\n private async listDirectChildren(flp: FolderLevelPermission): Promise<FolderLevelPermission[]> {\n const result = await this.identityContext.withoutAuthorization(() => {\n return this.listFoldersUseCase.execute({\n where: {\n type: flp.type,\n parentId: flp.id\n }\n });\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return await Promise.all(result.value.folders.map(folder => this.getFlp(folder)));\n }\n\n private async getFlp({\n id,\n type,\n parentId,\n slug,\n permissions\n }: Folder): Promise<FolderLevelPermission> {\n const flp = await this.flpCrud.get(id);\n\n if (!flp) {\n const parentFlp = parentId ? await this.flpCrud.get(parentId) : null;\n\n return await this.flpCrud.create({\n id,\n type,\n slug,\n parentId: parentId ?? ROOT_FOLDER,\n path: Path.create(slug, parentFlp?.path),\n permissions: Permissions.create(permissions, parentFlp)\n });\n }\n\n return flp;\n }\n}\n"],"names":["UpdateFlpUseCase","flpCrud","listFoldersUseCase","folderModelProvider","updateEntryUseCase","identityContext","Set","Map","params","id","folder","WebinyError","flp","parentFlp","ROOT_FOLDER","Path","Permissions","directChildren","child","error","parentFlpData","currentParentFlp","children","completed","Array","folderModel","items","slug","parentId","path","permissions","item","data","entryId","EntryId","updateResult","result","Promise","type"],"mappings":";;;;AAmBO,MAAMA;IAqBT,YACYC,OAA6B,EAC7BC,kBAAgD,EAChDC,mBAAkD,EAClDC,kBAAgD,EAChDC,eAA0C,CACpD;aALUJ,OAAO,GAAPA;aACAC,kBAAkB,GAAlBA;aACAC,mBAAmB,GAAnBA;aACAC,kBAAkB,GAAlBA;aACAC,eAAe,GAAfA;QAZX,KACgB,SAAS,GAAgB,IAAIC;aAC7B,YAAY,GAA+B,IAAIC;aACxD,QAAQ,GAAG;aAEX,gBAAgB,GAAG;IAQxB;IAEH,MAAM,QAAQC,MAAuB,EAAiB;QAClD,IAAI,CAAC,gBAAgB,GAAGA,OAAO,gBAAgB;QAC/C,IAAI,CAAC,aAAa,GAAGA,OAAO,aAAa;QAGzC,IAAI,CAAC,SAAS,CAAC,KAAK;QACpB,IAAI,CAAC,QAAQ,GAAG;QAChB,IAAI,CAAC,gBAAgB,GAAG;QAExB,IAAIA,OAAO,SAAS,EAChBA,OAAO,SAAS,CAAC,OAAO,CAACC,CAAAA,KAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA;QAGtD,IAAI;YACA,MAAM,EAAEC,MAAM,EAAE,GAAGF;YAEnB,IAAI,CAACE,QACD,MAAM,IAAIC,YACN,oDACA,mDACA;gBAAED;YAAO;YAIjB,MAAME,MAAM,MAAM,IAAI,CAAC,MAAM,CAACF;YAC9B,MAAMG,YAAYH,OAAO,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAACA,OAAO,QAAQ,IAAI;YAG9E,IAAI,CAAC,YAAY,CAAC,GAAG,CAACA,OAAO,EAAE,EAAE;gBAC7B,MAAMA,OAAO,IAAI;gBACjB,UAAUA,OAAO,QAAQ,IAAII;gBAC7B,MAAMC,KAAK,MAAM,CAACL,OAAO,IAAI,EAAEG,WAAW;gBAC1C,aAAaG,YAAY,MAAM,CAACN,OAAO,WAAW,EAAEG;YACxD;YAGA,MAAMI,iBAAiB,MAAM,IAAI,CAAC,kBAAkB,CAACL;YAErD,KAAK,MAAMM,SAASD,eAAgB;gBAChC,MAAM,IAAI,CAAC,sBAAsB,CAACC,OAAON;gBACzC,IAAI,IAAI,CAAC,QAAQ,EACb;YAER;YAGA,MAAM,IAAI,CAAC,kBAAkB;QACjC,EAAE,OAAOO,OAAO;YAEZ,IAAI,CAAC,YAAY,CAAC,KAAK;YACvB,IAAI,CAAC,SAAS,CAAC,KAAK;YACpB,MAAMR,YAAY,IAAI,CAACQ,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;IAEA,MAAc,uBACVP,GAA0B,EAC1BC,SAAgC,EACnB;QACb,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAACD,IAAI,EAAE,GACzB;QAGJ,IAAI,IAAI,CAAC,gBAAgB,MAAM,YAC3B,MAAM,IAAI,CAAC,cAAc;QAK7B,MAAMQ,gBAAgB,IAAI,CAAC,YAAY,CAAC,GAAG,CAACP,UAAU,EAAE;QACxD,MAAMQ,mBAAmB;YACrB,GAAGR,SAAS;YACZ,GAAIO,iBAAiB;gBAAE,GAAGA,aAAa;YAAC,CAAC;QAC7C;QAGA,IAAI,CAAC,YAAY,CAAC,GAAG,CAACR,IAAI,EAAE,EAAE;YAC1B,MAAMA,IAAI,IAAI;YACd,UAAUA,IAAI,QAAQ;YACtB,MAAMG,KAAK,MAAM,CAACH,IAAI,IAAI,EAAES,iBAAiB,IAAI;YACjD,aAAaL,YAAY,MAAM,CAACJ,IAAI,WAAW,EAAES;QACrD;QAGA,MAAMC,WAAW,MAAM,IAAI,CAAC,kBAAkB,CAACV;QAE/C,KAAK,MAAMM,SAASI,SAAU;YAE1B,MAAM,IAAI,CAAC,sBAAsB,CAACJ,OAAON;YACzC,IAAI,IAAI,CAAC,QAAQ,EACb;QAER;QAGA,KAAK,MAAMM,SAASI,SAChB,IAAI,CAAC,SAAS,CAAC,MAAM,CAACJ,MAAM,EAAE;QAElC,IAAI,CAAC,SAAS,CAAC,GAAG,CAACN,IAAI,EAAE;QACzB,IAAI,CAAC,gBAAgB;IACzB;IASA,MAAc,iBAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG;QAChB,MAAM,IAAI,CAAC,kBAAkB;QAE7B,IAAI,AAA0B,MAA1B,IAAI,CAAC,gBAAgB,EACrB,MAAM,IAAID,YACN,yGACA;QAIR,MAAMY,YAAYC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS;QAC3C,IAAI,CAAC,aAAa,GAAGD;IACzB;IAEA,MAAc,qBAAoC;QAC9C,MAAME,cAAc,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG;QACtD,IAAI;YACA,MAAMC,QAAQF,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,GAAG,CACrD,CAAC,CAACf,IAAI,EAAEkB,IAAI,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,WAAW,EAAE,CAAC,GACjC;oBACHrB;oBACA,MAAM;wBACFkB;wBACAC;wBACAC;wBACAC;oBACJ;gBACJ;YAIR,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAACJ;YAG/B,KAAK,MAAMK,QAAQL,MAAO;gBACtB,MAAM,EAAEjB,EAAE,EAAEuB,IAAI,EAAE,GAAGD;gBAErB,MAAME,UAAUC,QAAQ,IAAI,CAACzB;gBAC7B,MAAM0B,eAAe,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CACtDV,aACAQ,QAAQ,QAAQ,IAChB;oBAAE,QAAQ;wBAAE,MAAMD,KAAK,IAAI;oBAAC;gBAAE;gBAElC,IAAIG,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;YAEhC;QACJ,EAAE,OAAOhB,OAAO;YACZ,MAAMR,YAAY,IAAI,CAACQ,OAAO;gBAC1B,SAAS;gBACT,MAAM;gBACN,MAAM;oBACF,OAAOK,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI;gBAC5C;YACJ;QACJ,SAAU;YAKN,IAAI,CAAC,YAAY,CAAC,KAAK;QAC3B;IACJ;IAEA,MAAc,mBAAmBZ,GAA0B,EAAoC;QAC3F,MAAMwB,SAAS,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IACpD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACnC,OAAO;oBACH,MAAMxB,IAAI,IAAI;oBACd,UAAUA,IAAI,EAAE;gBACpB;YACJ;QAGJ,IAAIwB,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;QAGtB,OAAO,MAAMC,QAAQ,GAAG,CAACD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC1B,CAAAA,SAAU,IAAI,CAAC,MAAM,CAACA;IAC5E;IAEA,MAAc,OAAO,EACjBD,EAAE,EACF6B,IAAI,EACJV,QAAQ,EACRD,IAAI,EACJG,WAAW,EACN,EAAkC;QACvC,MAAMlB,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAACH;QAEnC,IAAI,CAACG,KAAK;YACN,MAAMC,YAAYe,WAAW,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAACA,YAAY;YAEhE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC7BnB;gBACA6B;gBACAX;gBACA,UAAUC,YAAYd;gBACtB,MAAMC,KAAK,MAAM,CAACY,MAAMd,WAAW;gBACnC,aAAaG,YAAY,MAAM,CAACc,aAAajB;YACjD;QACJ;QAEA,OAAOD;IACX;AACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
2
|
+
export interface UpdateFlpParams {
|
|
3
|
+
folder: Folder;
|
|
4
|
+
/**
|
|
5
|
+
* Folders whose whole subtree an earlier run of the same update already wrote. Passed back
|
|
6
|
+
* through `handleTimeout`, so a continued run skips them.
|
|
7
|
+
*/
|
|
8
|
+
completed?: string[];
|
|
9
|
+
isCloseToTimeout?: () => boolean;
|
|
10
|
+
handleTimeout?: (completed: string[]) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface IUpdateFlpUseCase {
|
|
13
|
+
execute: (params: UpdateFlpParams) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
/** Update a folder-level permission. */
|
|
16
|
+
export declare const UpdateFlpUseCase: import("@webiny/di").Abstraction<IUpdateFlpUseCase>;
|
|
17
|
+
export declare namespace UpdateFlpUseCase {
|
|
18
|
+
type Interface = IUpdateFlpUseCase;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/UpdateFlp/abstractions.js","sources":["../../../../src/features/flp/UpdateFlp/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\nexport interface UpdateFlpParams {\n folder: Folder;\n /**\n * Folders whose whole subtree an earlier run of the same update already wrote. Passed back\n * through `handleTimeout`, so a continued run skips them.\n */\n completed?: string[];\n isCloseToTimeout?: () => boolean;\n handleTimeout?: (completed: string[]) => void;\n}\n\n// Use Case Abstraction\nexport interface IUpdateFlpUseCase {\n execute: (params: UpdateFlpParams) => Promise<void>;\n}\n\n/** Update a folder-level permission. */\nexport const UpdateFlpUseCase = createAbstraction<IUpdateFlpUseCase>(\"UpdateFlpUseCase\");\n\nexport namespace UpdateFlpUseCase {\n export type Interface = IUpdateFlpUseCase;\n}\n"],"names":["UpdateFlpUseCase","createAbstraction"],"mappings":";AAoBO,MAAMA,mBAAmBC,kBAAqC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateFlpUseCase } from "./UpdateFlpUseCase.js";
|
|
3
|
+
import { UpdateFlpUseCase as external_abstractions_js_UpdateFlpUseCase } from "./abstractions.js";
|
|
4
|
+
import { AcoFlpCrud } from "../../folder/shared/abstractions.js";
|
|
5
|
+
import { ListFoldersUseCase } from "../../folder/ListFolders/index.js";
|
|
6
|
+
import { FolderModelProvider } from "../../../domain/folder/abstractions.js";
|
|
7
|
+
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
8
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
|
|
9
|
+
const UpdateFlpFeature = createFeature({
|
|
10
|
+
name: "UpdateFlp",
|
|
11
|
+
register (container) {
|
|
12
|
+
container.registerFactory(external_abstractions_js_UpdateFlpUseCase, ()=>new UpdateFlpUseCase(container.resolve(AcoFlpCrud), container.resolve(ListFoldersUseCase), container.resolve(FolderModelProvider), container.resolve(UpdateEntryUseCase), container.resolve(IdentityContext)));
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
export { UpdateFlpFeature };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/UpdateFlp/feature.js","sources":["../../../../src/features/flp/UpdateFlp/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { UpdateFlpUseCase } from \"./UpdateFlpUseCase.js\";\nimport { UpdateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { AcoFlpCrud } from \"~/features/folder/shared/abstractions.js\";\nimport { ListFoldersUseCase } from \"~/features/folder/ListFolders/index.js\";\nimport { FolderModelProvider } from \"~/domain/folder/abstractions.js\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\n\nexport const UpdateFlpFeature = createFeature({\n name: \"UpdateFlp\",\n register(container: Container) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new UpdateFlpUseCase(\n container.resolve(AcoFlpCrud),\n container.resolve(ListFoldersUseCase),\n container.resolve(FolderModelProvider),\n container.resolve(UpdateEntryUseCase),\n container.resolve(IdentityContext)\n );\n });\n }\n});\n"],"names":["UpdateFlpFeature","createFeature","container","UseCaseAbstraction","UpdateFlpUseCase","AcoFlpCrud","ListFoldersUseCase","FolderModelProvider","UpdateEntryUseCase","IdentityContext"],"mappings":";;;;;;;;AAUO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,eAAe,CAACC,2CAAoB,IACnC,IAAIC,iBACPF,UAAU,OAAO,CAACG,aAClBH,UAAU,OAAO,CAACI,qBAClBJ,UAAU,OAAO,CAACK,sBAClBL,UAAU,OAAO,CAACM,qBAClBN,UAAU,OAAO,CAACO;IAG9B;AACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
2
|
+
import { Logger } from "@webiny/api-core/features/logger/index.js";
|
|
3
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
|
|
4
|
+
import type { FolderAfterUpdateEvent } from "../../../features/folder/UpdateFolder/events.js";
|
|
5
|
+
import { FolderAfterUpdateEventHandler } from "../../../features/folder/UpdateFolder/index.js";
|
|
6
|
+
declare class UpdateFlpOnFolderUpdatedHandlerImpl implements FolderAfterUpdateEventHandler.Interface {
|
|
7
|
+
private identityContext;
|
|
8
|
+
private tasks;
|
|
9
|
+
private logger;
|
|
10
|
+
constructor(identityContext: IdentityContext.Interface, tasks: TaskService.Interface, logger: Logger.Interface);
|
|
11
|
+
handle(event: FolderAfterUpdateEvent): Promise<void>;
|
|
12
|
+
private logFailure;
|
|
13
|
+
}
|
|
14
|
+
export declare const UpdateFlpOnFolderUpdatedHandler: typeof UpdateFlpOnFolderUpdatedHandlerImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("../../folder/UpdateFolder/abstractions").FolderAfterUpdatePayload>>>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
2
|
+
import { Logger } from "@webiny/api-core/features/logger/index.js";
|
|
3
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
|
|
4
|
+
import { UPDATE_FLP_TASK_ID } from "../../../flp/tasks/index.js";
|
|
5
|
+
import { FolderAfterUpdateEventHandler } from "../../folder/UpdateFolder/index.js";
|
|
6
|
+
class UpdateFlpOnFolderUpdatedHandlerImpl {
|
|
7
|
+
constructor(identityContext, tasks, logger){
|
|
8
|
+
this.identityContext = identityContext;
|
|
9
|
+
this.tasks = tasks;
|
|
10
|
+
this.logger = logger;
|
|
11
|
+
}
|
|
12
|
+
async handle(event) {
|
|
13
|
+
const { folder } = event.payload;
|
|
14
|
+
try {
|
|
15
|
+
const result = await this.tasks.trigger({
|
|
16
|
+
definition: UPDATE_FLP_TASK_ID,
|
|
17
|
+
input: {
|
|
18
|
+
folder,
|
|
19
|
+
notifyIdentityId: this.identityContext.getIdentity()?.id
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
if (result.isFail()) this.logFailure(folder.id, result.error);
|
|
23
|
+
} catch (error) {
|
|
24
|
+
this.logFailure(folder.id, error);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
logFailure(folderId, error) {
|
|
28
|
+
this.logger.error({
|
|
29
|
+
error,
|
|
30
|
+
folderId
|
|
31
|
+
}, "Could not trigger the task that updates the FLP records of the folder and its subtree.");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const UpdateFlpOnFolderUpdatedHandler = FolderAfterUpdateEventHandler.createImplementation({
|
|
35
|
+
implementation: UpdateFlpOnFolderUpdatedHandlerImpl,
|
|
36
|
+
dependencies: [
|
|
37
|
+
IdentityContext,
|
|
38
|
+
TaskService,
|
|
39
|
+
Logger
|
|
40
|
+
]
|
|
41
|
+
});
|
|
42
|
+
export { UpdateFlpOnFolderUpdatedHandler };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=UpdateFlpOnFolderUpdatedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js","sources":["../../../../src/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.ts"],"sourcesContent":["import { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport { Logger } from \"@webiny/api-core/features/logger/index.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport type { FolderAfterUpdateEvent } from \"~/features/folder/UpdateFolder/events.js\";\nimport type { IUpdateFlpTaskInput } from \"~/types.js\";\nimport { UPDATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { FolderAfterUpdateEventHandler } from \"~/features/folder/UpdateFolder/index.js\";\n\n/*\n * Folder reads report permissions from the FLP records, and a change rewrites the folder's record\n * and every descendant's. The task does that later, so it also tells the admin once all of them are\n * written, and it needs to know whom to tell.\n */\nclass UpdateFlpOnFolderUpdatedHandlerImpl implements FolderAfterUpdateEventHandler.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private tasks: TaskService.Interface,\n private logger: Logger.Interface\n ) {}\n\n async handle(event: FolderAfterUpdateEvent): Promise<void> {\n const { folder } = event.payload;\n\n try {\n const result = await this.tasks.trigger<IUpdateFlpTaskInput>({\n definition: UPDATE_FLP_TASK_ID,\n // Nobody to tell when there is no identity, as in some system calls.\n input: { folder, notifyIdentityId: this.identityContext.getIdentity()?.id }\n });\n if (result.isFail()) {\n this.logFailure(folder.id, result.error);\n }\n } catch (error) {\n this.logFailure(folder.id, error);\n }\n }\n\n /*\n * The folder change is already saved, so it stands. But the FLP records of the folder and its\n * subtree keep the old permissions, and this log is the only trace of why.\n */\n private logFailure(folderId: string, error: unknown): void {\n this.logger.error(\n { error, folderId },\n \"Could not trigger the task that updates the FLP records of the folder and its subtree.\"\n );\n }\n}\n\nexport const UpdateFlpOnFolderUpdatedHandler = FolderAfterUpdateEventHandler.createImplementation({\n implementation: UpdateFlpOnFolderUpdatedHandlerImpl,\n dependencies: [IdentityContext, TaskService, Logger]\n});\n"],"names":["UpdateFlpOnFolderUpdatedHandlerImpl","identityContext","tasks","logger","event","folder","result","UPDATE_FLP_TASK_ID","error","folderId","UpdateFlpOnFolderUpdatedHandler","FolderAfterUpdateEventHandler","IdentityContext","TaskService","Logger"],"mappings":";;;;;AAaA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,KAA4B,EAC5BC,MAAwB,CAClC;aAHUF,eAAe,GAAfA;aACAC,KAAK,GAALA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,OAAOC,KAA6B,EAAiB;QACvD,MAAM,EAAEC,MAAM,EAAE,GAAGD,MAAM,OAAO;QAEhC,IAAI;YACA,MAAME,SAAS,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB;gBACzD,YAAYC;gBAEZ,OAAO;oBAAEF;oBAAQ,kBAAkB,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI;gBAAG;YAC9E;YACA,IAAIC,OAAO,MAAM,IACb,IAAI,CAAC,UAAU,CAACD,OAAO,EAAE,EAAEC,OAAO,KAAK;QAE/C,EAAE,OAAOE,OAAO;YACZ,IAAI,CAAC,UAAU,CAACH,OAAO,EAAE,EAAEG;QAC/B;IACJ;IAMQ,WAAWC,QAAgB,EAAED,KAAc,EAAQ;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;YAAEA;YAAOC;QAAS,GAClB;IAER;AACJ;AAEO,MAAMC,kCAAkCC,8BAA8B,oBAAoB,CAAC;IAC9F,gBAAgBX;IAChB,cAAc;QAACY;QAAiBC;QAAaC;KAAO;AACxD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateFlpOnFolderUpdatedHandler } from "./UpdateFlpOnFolderUpdatedHandler.js";
|
|
3
|
+
const UpdateFlpOnFolderUpdatedFeature = createFeature({
|
|
4
|
+
name: "UpdateFlpOnFolderUpdated",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(UpdateFlpOnFolderUpdatedHandler);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { UpdateFlpOnFolderUpdatedFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/UpdateFlpOnFolderUpdated/feature.js","sources":["../../../../src/features/flp/UpdateFlpOnFolderUpdated/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateFlpOnFolderUpdatedHandler } from \"./UpdateFlpOnFolderUpdatedHandler.js\";\n\nexport const UpdateFlpOnFolderUpdatedFeature = createFeature({\n name: \"UpdateFlpOnFolderUpdated\",\n register(container) {\n container.register(UpdateFlpOnFolderUpdatedHandler);\n }\n});\n"],"names":["UpdateFlpOnFolderUpdatedFeature","createFeature","container","UpdateFlpOnFolderUpdatedHandler"],"mappings":";;AAGO,MAAMA,kCAAkCC,cAAc;IACzD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UpdateFlpOnFolderUpdatedFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UpdateFlpOnFolderUpdatedFeature } from "./feature.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { FolderLevelPermission, FolderPermission } from "../../../flp/flp.types.js";
|
|
2
|
+
export declare class CodeFlpMerger {
|
|
3
|
+
/**
|
|
4
|
+
* Merge code-defined permissions into a stored FLP record.
|
|
5
|
+
*
|
|
6
|
+
* A code-defined permission always wins over a stored one for the same target, and that takes
|
|
7
|
+
* both steps below — ordering alone is not enough, because the two downstream consumers pick a
|
|
8
|
+
* target's permission in different ways:
|
|
9
|
+
*
|
|
10
|
+
* - `CanAccessFolder` takes the first match (`permissions.find(p => p.target === ...)`), so code
|
|
11
|
+
* permissions go first.
|
|
12
|
+
* - `DefaultPermissionsMerger` instead collects *every* permission for the identity and reduces
|
|
13
|
+
* them by access level, preferring `no-access` and then `owner`. A leftover duplicate would
|
|
14
|
+
* join that reduce and could outrank the code-defined entry — a stored `owner` would beat a
|
|
15
|
+
* code-defined `viewer`. Dropping the stored permission for a code-defined target is what
|
|
16
|
+
* prevents it.
|
|
17
|
+
*
|
|
18
|
+
* So: exactly one permission per target, and for code-defined targets it is the code one.
|
|
19
|
+
*/
|
|
20
|
+
static merge(flp: FolderLevelPermission, codePermissions: FolderPermission[]): FolderLevelPermission;
|
|
21
|
+
/**
|
|
22
|
+
* The same merge, for callers that hold a plain permission list rather than a stored FLP record
|
|
23
|
+
* — the write paths, which resolve code permissions from the folder's own type and path.
|
|
24
|
+
*/
|
|
25
|
+
static mergePermissions(permissions: FolderPermission[], codePermissions: FolderPermission[]): FolderPermission[];
|
|
26
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
class CodeFlpMerger {
|
|
2
|
+
static merge(flp, codePermissions) {
|
|
3
|
+
if (!codePermissions.length) return flp;
|
|
4
|
+
return {
|
|
5
|
+
...flp,
|
|
6
|
+
permissions: CodeFlpMerger.mergePermissions(flp.permissions, codePermissions)
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
static mergePermissions(permissions, codePermissions) {
|
|
10
|
+
if (!codePermissions.length) return permissions;
|
|
11
|
+
const codeTargets = new Set(codePermissions.map((permission)=>permission.target));
|
|
12
|
+
return [
|
|
13
|
+
...codePermissions,
|
|
14
|
+
...permissions.filter((permission)=>!codeTargets.has(permission.target))
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export { CodeFlpMerger };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=CodeFlpMerger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/shared/CodeFlpMerger.js","sources":["../../../../src/features/flp/shared/CodeFlpMerger.ts"],"sourcesContent":["import type { FolderLevelPermission, FolderPermission } from \"~/flp/flp.types.js\";\n\nexport class CodeFlpMerger {\n /**\n * Merge code-defined permissions into a stored FLP record.\n *\n * A code-defined permission always wins over a stored one for the same target, and that takes\n * both steps below — ordering alone is not enough, because the two downstream consumers pick a\n * target's permission in different ways:\n *\n * - `CanAccessFolder` takes the first match (`permissions.find(p => p.target === ...)`), so code\n * permissions go first.\n * - `DefaultPermissionsMerger` instead collects *every* permission for the identity and reduces\n * them by access level, preferring `no-access` and then `owner`. A leftover duplicate would\n * join that reduce and could outrank the code-defined entry — a stored `owner` would beat a\n * code-defined `viewer`. Dropping the stored permission for a code-defined target is what\n * prevents it.\n *\n * So: exactly one permission per target, and for code-defined targets it is the code one.\n */\n static merge(\n flp: FolderLevelPermission,\n codePermissions: FolderPermission[]\n ): FolderLevelPermission {\n if (!codePermissions.length) {\n return flp;\n }\n\n return {\n ...flp,\n permissions: CodeFlpMerger.mergePermissions(flp.permissions, codePermissions)\n };\n }\n\n /**\n * The same merge, for callers that hold a plain permission list rather than a stored FLP record\n * — the write paths, which resolve code permissions from the folder's own type and path.\n */\n static mergePermissions(\n permissions: FolderPermission[],\n codePermissions: FolderPermission[]\n ): FolderPermission[] {\n if (!codePermissions.length) {\n return permissions;\n }\n\n const codeTargets = new Set(codePermissions.map(permission => permission.target));\n\n return [\n ...codePermissions,\n ...permissions.filter(permission => !codeTargets.has(permission.target))\n ];\n }\n}\n"],"names":["CodeFlpMerger","flp","codePermissions","permissions","codeTargets","Set","permission"],"mappings":"AAEO,MAAMA;IAkBT,OAAO,MACHC,GAA0B,EAC1BC,eAAmC,EACd;QACrB,IAAI,CAACA,gBAAgB,MAAM,EACvB,OAAOD;QAGX,OAAO;YACH,GAAGA,GAAG;YACN,aAAaD,cAAc,gBAAgB,CAACC,IAAI,WAAW,EAAEC;QACjE;IACJ;IAMA,OAAO,iBACHC,WAA+B,EAC/BD,eAAmC,EACjB;QAClB,IAAI,CAACA,gBAAgB,MAAM,EACvB,OAAOC;QAGX,MAAMC,cAAc,IAAIC,IAAIH,gBAAgB,GAAG,CAACI,CAAAA,aAAcA,WAAW,MAAM;QAE/E,OAAO;eACAJ;eACAC,YAAY,MAAM,CAACG,CAAAA,aAAc,CAACF,YAAY,GAAG,CAACE,WAAW,MAAM;SACzE;IACL;AACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface ParsedPath {
|
|
2
|
+
/** Normalized path, without the wildcard suffix, e.g. `root/marketing`. */
|
|
3
|
+
base: string;
|
|
4
|
+
/** Whether the rule was written with a trailing `/*`, meaning "this folder and its subtree". */
|
|
5
|
+
subtree: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Folder paths are stored as `root/<slug>[/<slug>...]` (see `~/utils/Path.ts`). Code-defined FLPs
|
|
9
|
+
* are authored by hand, so we accept the friendlier `/marketing` form as well and normalize it.
|
|
10
|
+
*/
|
|
11
|
+
export declare class CodeFlpPath {
|
|
12
|
+
static parse(path: string): ParsedPath;
|
|
13
|
+
static matches(rulePath: string, folderPath: string): boolean;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ROOT_FOLDER } from "@webiny/shared-aco";
|
|
2
|
+
class CodeFlpPath {
|
|
3
|
+
static parse(path) {
|
|
4
|
+
let value = path.trim();
|
|
5
|
+
let subtree = false;
|
|
6
|
+
if (value.endsWith("*")) {
|
|
7
|
+
subtree = true;
|
|
8
|
+
value = value.slice(0, -1);
|
|
9
|
+
}
|
|
10
|
+
value = value.replace(/^\/+/, "").replace(/\/+$/, "");
|
|
11
|
+
if (value === ROOT_FOLDER || "" === value) return {
|
|
12
|
+
base: ROOT_FOLDER,
|
|
13
|
+
subtree: "" === value ? true : subtree
|
|
14
|
+
};
|
|
15
|
+
const base = value.startsWith(`${ROOT_FOLDER}/`) ? value : `${ROOT_FOLDER}/${value}`;
|
|
16
|
+
return {
|
|
17
|
+
base,
|
|
18
|
+
subtree
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
static matches(rulePath, folderPath) {
|
|
22
|
+
const { base, subtree } = CodeFlpPath.parse(rulePath);
|
|
23
|
+
if (folderPath === base) return true;
|
|
24
|
+
return subtree ? folderPath.startsWith(`${base}/`) : false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export { CodeFlpPath };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=CodeFlpPath.js.map
|