@webiny/api-aco 0.0.0-unstable.496cf268ac → 0.0.0-unstable.5387e5f7c8
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 +2 -0
- package/constants.js +5 -0
- package/constants.js.map +1 -0
- package/createAcoGraphQL.d.ts +8 -3
- package/createAcoGraphQL.js +59 -81
- 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 +35 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +112 -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.d.ts +3 -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 +11 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +27 -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 +3 -0
- package/filter/filter.crud.js +30 -0
- package/filter/filter.crud.js.map +1 -0
- package/filter/filter.gql.d.ts +2 -0
- package/filter/filter.gql.js +164 -0
- package/filter/filter.gql.js.map +1 -0
- package/filter/filter.model.d.ts +9 -0
- package/filter/filter.model.js +51 -0
- package/filter/filter.model.js.map +1 -0
- package/filter/filter.so.d.ts +9 -0
- package/filter/filter.so.js +96 -0
- package/filter/filter.so.js.map +1 -0
- package/filter/filter.types.d.ts +67 -0
- package/filter/filter.types.js +8 -0
- package/filter/filter.types.js.map +1 -0
- package/flp/flp.crud.d.ts +7 -0
- package/flp/flp.crud.js +74 -0
- package/flp/flp.crud.js.map +1 -0
- package/flp/flp.types.d.ts +98 -0
- package/flp/flp.types.js +0 -0
- package/flp/index.d.ts +2 -0
- package/flp/index.js +2 -0
- package/flp/tasks/createFlp.task.d.ts +25 -0
- package/flp/tasks/createFlp.task.js +53 -0
- package/flp/tasks/createFlp.task.js.map +1 -0
- package/flp/tasks/deleteFlp.task.d.ts +23 -0
- package/flp/tasks/deleteFlp.task.js +45 -0
- package/flp/tasks/deleteFlp.task.js.map +1 -0
- package/flp/tasks/index.d.ts +4 -0
- package/flp/tasks/index.js +7 -0
- package/flp/tasks/index.js.map +1 -0
- package/flp/tasks/syncFlp.task.d.ts +27 -0
- package/flp/tasks/syncFlp.task.js +121 -0
- package/flp/tasks/syncFlp.task.js.map +1 -0
- package/flp/tasks/updateFlp.task.d.ts +25 -0
- package/flp/tasks/updateFlp.task.js +64 -0
- package/flp/tasks/updateFlp.task.js.map +1 -0
- package/folder/createFolderModelModifier.d.ts +36 -0
- package/folder/createFolderModelModifier.js +61 -0
- package/folder/createFolderModelModifier.js.map +1 -0
- package/folder/createFolderTypeDefs.d.ts +8 -0
- package/folder/createFolderTypeDefs.js +178 -0
- package/folder/createFolderTypeDefs.js.map +1 -0
- package/folder/folder.gql.d.ts +4 -3
- package/folder/folder.gql.js +123 -101
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +51 -58
- package/folder/folder.types.js +0 -5
- package/index.d.ts +3 -1
- package/index.js +3 -14
- package/package.json +36 -39
- package/types.d.ts +26 -16
- package/types.js +8 -11
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +10 -0
- package/utils/FoldersCacheFactory.js +25 -0
- package/utils/FoldersCacheFactory.js.map +1 -0
- package/utils/ListCache.d.ts +23 -0
- package/utils/ListCache.js +24 -0
- package/utils/ListCache.js.map +1 -0
- package/utils/Path.d.ts +3 -0
- package/utils/Path.js +10 -0
- package/utils/Path.js.map +1 -0
- package/utils/compress.d.ts +4 -0
- package/utils/compress.js +13 -0
- package/utils/compress.js.map +1 -0
- package/utils/createListSort.d.ts +3 -2
- package/utils/createListSort.js +6 -12
- package/utils/createListSort.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +6 -3
- package/utils/createOperationsWrapper.js +14 -28
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js +179 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
- package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js +22 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
- package/utils/decorators/ListEntriesFactory.d.ts +17 -0
- package/utils/decorators/ListEntriesFactory.js +73 -0
- package/utils/decorators/ListEntriesFactory.js.map +1 -0
- package/utils/decorators/hasRootFolderId.d.ts +7 -0
- package/utils/decorators/hasRootFolderId.js +13 -0
- package/utils/decorators/hasRootFolderId.js.map +1 -0
- package/utils/decorators/isPageModel.d.ts +5 -0
- package/utils/decorators/isPageModel.js +8 -0
- package/utils/decorators/isPageModel.js.map +1 -0
- package/utils/ensureAuthentication.d.ts +2 -0
- package/utils/ensureAuthentication.js +11 -0
- package/utils/ensureAuthentication.js.map +1 -0
- package/utils/pickEntryFieldValues.d.ts +3 -0
- package/utils/pickEntryFieldValues.js +29 -0
- package/utils/pickEntryFieldValues.js.map +1 -0
- package/utils/resolve.d.ts +2 -2
- package/utils/resolve.js +10 -14
- package/utils/resolve.js.map +1 -1
- package/context/folders.d.ts +0 -2
- package/context/folders.js +0 -261
- package/context/folders.js.map +0 -1
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -22
- package/context/index.js.map +0 -1
- package/context/links.d.ts +0 -2
- package/context/links.js +0 -270
- package/context/links.js.map +0 -1
- package/createAcoContext.d.ts +0 -3
- package/createAcoContext.js +0 -63
- package/createAcoContext.js.map +0 -1
- package/createAcoCrud.d.ts +0 -2
- package/createAcoCrud.js +0 -17
- package/createAcoCrud.js.map +0 -1
- package/createAcoFields.d.ts +0 -2
- package/createAcoFields.js +0 -40
- package/createAcoFields.js.map +0 -1
- package/createAcoHooks.d.ts +0 -2
- package/createAcoHooks.js +0 -11
- package/createAcoHooks.js.map +0 -1
- package/createAcoModels.d.ts +0 -2
- package/createAcoModels.js +0 -67
- package/createAcoModels.js.map +0 -1
- package/createAcoStorageOperations.d.ts +0 -10
- package/createAcoStorageOperations.js +0 -19
- package/createAcoStorageOperations.js.map +0 -1
- package/folder/folder.crud.d.ts +0 -3
- package/folder/folder.crud.js +0 -92
- package/folder/folder.crud.js.map +0 -1
- package/folder/folder.model.d.ts +0 -6
- package/folder/folder.model.js +0 -79
- package/folder/folder.model.js.map +0 -1
- package/folder/folder.so.d.ts +0 -3
- package/folder/folder.so.js +0 -151
- package/folder/folder.so.js.map +0 -1
- package/folder/folder.types.js.map +0 -1
- package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
- package/folder/onFolderBeforeDelete.hook.js +0 -53
- package/folder/onFolderBeforeDelete.hook.js.map +0 -1
- package/graphql/base.gql.d.ts +0 -3
- package/graphql/base.gql.js +0 -63
- package/graphql/base.gql.js.map +0 -1
- package/graphql/folders.gql.d.ts +0 -3
- package/graphql/folders.gql.js +0 -126
- package/graphql/folders.gql.js.map +0 -1
- package/graphql/index.d.ts +0 -1
- package/graphql/index.js +0 -15
- package/graphql/index.js.map +0 -1
- package/graphql/links.gql.d.ts +0 -3
- package/graphql/links.gql.js +0 -123
- package/graphql/links.gql.js.map +0 -1
- package/index.js.map +0 -1
- package/record/record.crud.d.ts +0 -3
- package/record/record.crud.js +0 -92
- package/record/record.crud.js.map +0 -1
- package/record/record.gql.d.ts +0 -3
- package/record/record.gql.js +0 -117
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -6
- package/record/record.model.js +0 -63
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -3
- package/record/record.so.js +0 -98
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -91
- package/record/record.types.js +0 -5
- package/record/record.types.js.map +0 -1
- package/subscriptions/afterFolderDelete.d.ts +0 -3
- package/subscriptions/afterFolderDelete.js +0 -62
- package/subscriptions/afterFolderDelete.js.map +0 -1
- package/subscriptions/index.d.ts +0 -3
- package/subscriptions/index.js +0 -14
- package/subscriptions/index.js.map +0 -1
- package/utils/createModelField.d.ts +0 -6
- package/utils/createModelField.js +0 -39
- package/utils/createModelField.js.map +0 -1
- package/utils/fieldResolver.d.ts +0 -16
- package/utils/fieldResolver.js +0 -44
- package/utils/fieldResolver.js.map +0 -1
- package/utils/getFieldValues.d.ts +0 -2
- package/utils/getFieldValues.js +0 -19
- package/utils/getFieldValues.js.map +0 -1
- package/utils/isInstallationPending.d.ts +0 -4
- package/utils/isInstallationPending.js +0 -21
- package/utils/isInstallationPending.js.map +0 -1
- package/utils/modelFactory.d.ts +0 -17
- package/utils/modelFactory.js +0 -23
- package/utils/modelFactory.js.map +0 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { ROOT_FOLDER } from "../../constants.js";
|
|
2
|
+
import { ListEntriesFactory } from "./ListEntriesFactory.js";
|
|
3
|
+
import { FilterEntriesByFolderFactory } from "./FilterEntriesByFolderFactory.js";
|
|
4
|
+
import { decorateIfModelAuthorizationEnabled } from "./decorateIfModelAuthorizationEnabled.js";
|
|
5
|
+
import { FolderLevelPermissions } from "../../features/flp/FolderLevelPermissions/index.js";
|
|
6
|
+
import { GetRevisionByIdStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js";
|
|
7
|
+
import { GetLatestRevisionByEntryIdStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js";
|
|
8
|
+
class CmsEntriesCrudDecorators {
|
|
9
|
+
constructor({ context }){
|
|
10
|
+
this.context = context;
|
|
11
|
+
}
|
|
12
|
+
decorate() {
|
|
13
|
+
const context = this.context;
|
|
14
|
+
const folderLevelPermissions = context.container.resolve(FolderLevelPermissions);
|
|
15
|
+
const getRevisionById = context.container.resolve(GetRevisionByIdStorageOperation);
|
|
16
|
+
const getLatestRevisionByEntryId = context.container.resolve(GetLatestRevisionByEntryIdStorageOperation);
|
|
17
|
+
const filterEntriesByFolder = new FilterEntriesByFolderFactory(folderLevelPermissions);
|
|
18
|
+
const listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
|
|
19
|
+
decorateIfModelAuthorizationEnabled(context, "listEntries", async (...allParams)=>{
|
|
20
|
+
const [decoratee, model, initialParams] = allParams;
|
|
21
|
+
return await listEntriesHandler.execute({
|
|
22
|
+
decoratee,
|
|
23
|
+
model,
|
|
24
|
+
initialParams
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
decorateIfModelAuthorizationEnabled(context, "listLatestEntries", async (...allParams)=>{
|
|
28
|
+
const [decoratee, model, initialParams] = allParams;
|
|
29
|
+
return await listEntriesHandler.execute({
|
|
30
|
+
decoratee,
|
|
31
|
+
model,
|
|
32
|
+
initialParams
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
decorateIfModelAuthorizationEnabled(context, "listPublishedEntries", async (...allParams)=>{
|
|
36
|
+
const [decoratee, model, initialParams] = allParams;
|
|
37
|
+
return await listEntriesHandler.execute({
|
|
38
|
+
decoratee,
|
|
39
|
+
model,
|
|
40
|
+
initialParams
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
decorateIfModelAuthorizationEnabled(context, "listDeletedEntries", async (...allParams)=>{
|
|
44
|
+
const [decoratee, model, initialParams] = allParams;
|
|
45
|
+
return await listEntriesHandler.execute({
|
|
46
|
+
decoratee,
|
|
47
|
+
model,
|
|
48
|
+
initialParams
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
decorateIfModelAuthorizationEnabled(context, "getEntry", async (...allParams)=>{
|
|
52
|
+
const [decoratee, model, params] = allParams;
|
|
53
|
+
const entry = await decoratee(model, params);
|
|
54
|
+
const folderId = entry?.location?.folderId;
|
|
55
|
+
if (!folderId || folderId === ROOT_FOLDER) return entry;
|
|
56
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
57
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
58
|
+
permissions,
|
|
59
|
+
rwd: "r"
|
|
60
|
+
});
|
|
61
|
+
return entry;
|
|
62
|
+
});
|
|
63
|
+
decorateIfModelAuthorizationEnabled(context, "getEntryById", async (...allParams)=>{
|
|
64
|
+
const [decoratee, model, params] = allParams;
|
|
65
|
+
const entry = await decoratee(model, params);
|
|
66
|
+
const folderId = entry?.location?.folderId;
|
|
67
|
+
if (!folderId || folderId === ROOT_FOLDER) return entry;
|
|
68
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
69
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
70
|
+
permissions,
|
|
71
|
+
rwd: "r"
|
|
72
|
+
});
|
|
73
|
+
return entry;
|
|
74
|
+
});
|
|
75
|
+
decorateIfModelAuthorizationEnabled(context, "getLatestEntriesByIds", async (...allParams)=>{
|
|
76
|
+
const [decoratee, model, ids] = allParams;
|
|
77
|
+
const entries = await decoratee(model, ids);
|
|
78
|
+
return filterEntriesByFolder.execute(entries);
|
|
79
|
+
});
|
|
80
|
+
decorateIfModelAuthorizationEnabled(context, "getPublishedEntriesByIds", async (...allParams)=>{
|
|
81
|
+
const [decoratee, model, ids] = allParams;
|
|
82
|
+
const entries = await decoratee(model, ids);
|
|
83
|
+
return filterEntriesByFolder.execute(entries);
|
|
84
|
+
});
|
|
85
|
+
decorateIfModelAuthorizationEnabled(context, "createEntry", async (...allParams)=>{
|
|
86
|
+
const [decoratee, model, params, options] = allParams;
|
|
87
|
+
const folderId = params.wbyAco_location?.folderId || params.location?.folderId;
|
|
88
|
+
if (!folderId || folderId === ROOT_FOLDER) return decoratee(model, params, options);
|
|
89
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
90
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
91
|
+
permissions,
|
|
92
|
+
rwd: "w"
|
|
93
|
+
});
|
|
94
|
+
return decoratee(model, params, options);
|
|
95
|
+
});
|
|
96
|
+
decorateIfModelAuthorizationEnabled(context, "createEntryRevisionFrom", async (...allParams)=>{
|
|
97
|
+
const [decoratee, model, id, input, options] = allParams;
|
|
98
|
+
const entry = await getRevisionById.execute(model, {
|
|
99
|
+
id
|
|
100
|
+
});
|
|
101
|
+
const folderId = entry?.location?.folderId;
|
|
102
|
+
if (!folderId || folderId === ROOT_FOLDER) return decoratee(model, id, input, options);
|
|
103
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
104
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
105
|
+
permissions,
|
|
106
|
+
rwd: "w"
|
|
107
|
+
});
|
|
108
|
+
return decoratee(model, id, input, options);
|
|
109
|
+
});
|
|
110
|
+
decorateIfModelAuthorizationEnabled(context, "updateEntry", async (...allParams)=>{
|
|
111
|
+
const [decoratee, model, id, input, meta, options] = allParams;
|
|
112
|
+
const entry = await getRevisionById.execute(model, {
|
|
113
|
+
id
|
|
114
|
+
});
|
|
115
|
+
const folderId = entry?.location?.folderId;
|
|
116
|
+
if (!folderId || folderId === ROOT_FOLDER) return decoratee(model, id, input, meta, options);
|
|
117
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
118
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
119
|
+
permissions,
|
|
120
|
+
rwd: "w"
|
|
121
|
+
});
|
|
122
|
+
return decoratee(model, id, input, meta, options);
|
|
123
|
+
});
|
|
124
|
+
decorateIfModelAuthorizationEnabled(context, "deleteEntry", async (...allParams)=>{
|
|
125
|
+
const [decoratee, model, id, options] = allParams;
|
|
126
|
+
const entry = await getLatestRevisionByEntryId.execute(model, {
|
|
127
|
+
id
|
|
128
|
+
});
|
|
129
|
+
const folderId = entry?.location?.folderId;
|
|
130
|
+
if (!folderId || folderId === ROOT_FOLDER) return decoratee(model, id, options);
|
|
131
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
132
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
133
|
+
permissions,
|
|
134
|
+
rwd: "d"
|
|
135
|
+
});
|
|
136
|
+
return decoratee(model, id, options);
|
|
137
|
+
});
|
|
138
|
+
decorateIfModelAuthorizationEnabled(context, "deleteEntryRevision", async (...allParams)=>{
|
|
139
|
+
const [decoratee, model, id] = allParams;
|
|
140
|
+
const entry = await getRevisionById.execute(model, {
|
|
141
|
+
id
|
|
142
|
+
});
|
|
143
|
+
const folderId = entry?.location?.folderId;
|
|
144
|
+
if (!folderId || folderId === ROOT_FOLDER) return decoratee(model, id);
|
|
145
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
146
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
147
|
+
permissions,
|
|
148
|
+
rwd: "d"
|
|
149
|
+
});
|
|
150
|
+
return decoratee(model, id);
|
|
151
|
+
});
|
|
152
|
+
decorateIfModelAuthorizationEnabled(context, "moveEntry", async (...allParams)=>{
|
|
153
|
+
const [decoratee, model, id, targetFolderId] = allParams;
|
|
154
|
+
const entry = await getRevisionById.execute(model, {
|
|
155
|
+
id
|
|
156
|
+
});
|
|
157
|
+
const folderId = entry?.location?.folderId || ROOT_FOLDER;
|
|
158
|
+
if (folderId === targetFolderId) return decoratee(model, id, targetFolderId);
|
|
159
|
+
if (folderId !== ROOT_FOLDER) {
|
|
160
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
161
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
162
|
+
permissions,
|
|
163
|
+
rwd: "w"
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
if (targetFolderId !== ROOT_FOLDER) {
|
|
167
|
+
const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
168
|
+
await folderLevelPermissions.ensureCanAccessFolderContent({
|
|
169
|
+
permissions,
|
|
170
|
+
rwd: "w"
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return decoratee(model, id, targetFolderId);
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
export { CmsEntriesCrudDecorators };
|
|
178
|
+
|
|
179
|
+
//# sourceMappingURL=CmsEntriesCrudDecorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/decorators/CmsEntriesCrudDecorators.js","sources":["../../../src/utils/decorators/CmsEntriesCrudDecorators.ts"],"sourcesContent":["// @ts-nocheck Being removed\nimport type { AcoContext } from \"~/types.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { ListEntriesFactory } from \"./ListEntriesFactory.js\";\nimport { FilterEntriesByFolderFactory } from \"./FilterEntriesByFolderFactory.js\";\nimport { decorateIfModelAuthorizationEnabled } from \"./decorateIfModelAuthorizationEnabled.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { GetRevisionByIdStorageOperation } from \"@webiny/api-headless-cms/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js\";\nimport { GetLatestRevisionByEntryIdStorageOperation } from \"@webiny/api-headless-cms/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js\";\n\ntype Context = AcoContext;\n\ninterface EntryManagerCrudDecoratorsParams {\n context: Context;\n}\n\nexport class CmsEntriesCrudDecorators {\n private readonly context: Context;\n\n public constructor({ context }: EntryManagerCrudDecoratorsParams) {\n this.context = context;\n }\n\n public decorate() {\n const context = this.context;\n const folderLevelPermissions = context.container.resolve(FolderLevelPermissions);\n const getRevisionById = context.container.resolve(GetRevisionByIdStorageOperation);\n const getLatestRevisionByEntryId = context.container.resolve(\n GetLatestRevisionByEntryIdStorageOperation\n );\n\n const filterEntriesByFolder = new FilterEntriesByFolderFactory(folderLevelPermissions);\n const listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n\n decorateIfModelAuthorizationEnabled(context, \"listEntries\", async (...allParams) => {\n const [decoratee, model, initialParams] = allParams;\n return await listEntriesHandler.execute({ decoratee, model, initialParams });\n });\n\n decorateIfModelAuthorizationEnabled(context, \"listLatestEntries\", async (...allParams) => {\n const [decoratee, model, initialParams] = allParams;\n return await listEntriesHandler.execute({ decoratee, model, initialParams });\n });\n\n decorateIfModelAuthorizationEnabled(\n context,\n \"listPublishedEntries\",\n async (...allParams) => {\n const [decoratee, model, initialParams] = allParams;\n return await listEntriesHandler.execute({ decoratee, model, initialParams });\n }\n );\n\n decorateIfModelAuthorizationEnabled(context, \"listDeletedEntries\", async (...allParams) => {\n const [decoratee, model, initialParams] = allParams;\n return await listEntriesHandler.execute({ decoratee, model, initialParams });\n });\n\n decorateIfModelAuthorizationEnabled(context, \"getEntry\", async (...allParams) => {\n const [decoratee, model, params] = allParams;\n const entry = await decoratee(model, params);\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return entry;\n }\n\n const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"r\"\n });\n\n return entry;\n });\n\n decorateIfModelAuthorizationEnabled(context, \"getEntryById\", async (...allParams) => {\n const [decoratee, model, params] = allParams;\n const entry = await decoratee(model, params);\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return entry;\n }\n const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"r\"\n });\n return entry;\n });\n\n decorateIfModelAuthorizationEnabled(\n context,\n \"getLatestEntriesByIds\",\n async (...allParams) => {\n const [decoratee, model, ids] = allParams;\n\n const entries = await decoratee(model, ids);\n\n return filterEntriesByFolder.execute(entries);\n }\n );\n\n decorateIfModelAuthorizationEnabled(\n context,\n \"getPublishedEntriesByIds\",\n async (...allParams) => {\n const [decoratee, model, ids] = allParams;\n\n const entries = await decoratee(model, ids);\n return filterEntriesByFolder.execute(entries);\n }\n );\n\n decorateIfModelAuthorizationEnabled(context, \"createEntry\", async (...allParams) => {\n const [decoratee, model, params, options] = allParams;\n const folderId = params.wbyAco_location?.folderId || params.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return decoratee(model, params, options);\n }\n\n const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n return decoratee(model, params, options);\n });\n\n decorateIfModelAuthorizationEnabled(\n context,\n \"createEntryRevisionFrom\",\n async (...allParams) => {\n const [decoratee, model, id, input, options] = allParams;\n\n const entry = await getRevisionById.execute(model, {\n id\n });\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return decoratee(model, id, input, options);\n }\n\n const permissions =\n await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n return decoratee(model, id, input, options);\n }\n );\n\n decorateIfModelAuthorizationEnabled(context, \"updateEntry\", async (...allParams) => {\n const [decoratee, model, id, input, meta, options] = allParams;\n const entry = await getRevisionById.execute(model, {\n id\n });\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return decoratee(model, id, input, meta, options);\n }\n\n const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n return decoratee(model, id, input, meta, options);\n });\n\n decorateIfModelAuthorizationEnabled(context, \"deleteEntry\", async (...allParams) => {\n const [decoratee, model, id, options] = allParams;\n\n const entry = await getLatestRevisionByEntryId.execute(model, {\n id\n });\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return decoratee(model, id, options);\n }\n\n const permissions = await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"d\"\n });\n\n return decoratee(model, id, options);\n });\n\n decorateIfModelAuthorizationEnabled(\n context,\n \"deleteEntryRevision\",\n async (...allParams) => {\n const [decoratee, model, id] = allParams;\n\n const entry = await getRevisionById.execute(model, {\n id\n });\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return decoratee(model, id);\n }\n\n const permissions =\n await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"d\"\n });\n\n return decoratee(model, id);\n }\n );\n\n decorateIfModelAuthorizationEnabled(context, \"moveEntry\", async (...allParams) => {\n const [decoratee, model, id, targetFolderId] = allParams;\n\n /**\n * First we need to check if user has access to the entries existing folder.\n */\n const entry = await getRevisionById.execute(model, {\n id\n });\n\n const folderId = entry?.location?.folderId || ROOT_FOLDER;\n /**\n * If the entry is in the same folder we are trying to move it to, just continue.\n */\n if (folderId === targetFolderId) {\n return decoratee(model, id, targetFolderId);\n } else if (folderId !== ROOT_FOLDER) {\n /**\n * If entry current folder is not a root, check for access\n */\n const permissions =\n await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n }\n /**\n * If target folder is not a ROOT_FOLDER, check for access.\n */\n if (targetFolderId !== ROOT_FOLDER) {\n const permissions =\n await folderLevelPermissions.getFolderLevelPermissions(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n }\n\n return decoratee(model, id, targetFolderId);\n });\n }\n}\n"],"names":["CmsEntriesCrudDecorators","context","folderLevelPermissions","FolderLevelPermissions","getRevisionById","GetRevisionByIdStorageOperation","getLatestRevisionByEntryId","GetLatestRevisionByEntryIdStorageOperation","filterEntriesByFolder","FilterEntriesByFolderFactory","listEntriesHandler","ListEntriesFactory","decorateIfModelAuthorizationEnabled","allParams","decoratee","model","initialParams","params","entry","folderId","ROOT_FOLDER","permissions","ids","entries","options","id","input","meta","targetFolderId"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CmsEntry } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import { FolderLevelPermissions } from "../../features/flp/FolderLevelPermissions/index.js";
|
|
3
|
+
export declare class FilterEntriesByFolderFactory {
|
|
4
|
+
private readonly folderLevelPermissions;
|
|
5
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface);
|
|
6
|
+
execute(entries: CmsEntry[]): Promise<CmsEntry[]>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ROOT_FOLDER } from "../../constants.js";
|
|
2
|
+
class FilterEntriesByFolderFactory {
|
|
3
|
+
constructor(folderLevelPermissions){
|
|
4
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
5
|
+
}
|
|
6
|
+
async execute(entries) {
|
|
7
|
+
const results = await Promise.all(entries.map(async (entry)=>{
|
|
8
|
+
const folderId = entry.location?.folderId;
|
|
9
|
+
if (!folderId || folderId === ROOT_FOLDER) return entry;
|
|
10
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
11
|
+
const canAccessFolderContent = await this.folderLevelPermissions.canAccessFolderContent({
|
|
12
|
+
permissions,
|
|
13
|
+
rwd: "r"
|
|
14
|
+
});
|
|
15
|
+
return canAccessFolderContent ? entry : null;
|
|
16
|
+
}));
|
|
17
|
+
return results.filter((entry)=>!!entry);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export { FilterEntriesByFolderFactory };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=FilterEntriesByFolderFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/decorators/FilterEntriesByFolderFactory.js","sources":["../../../src/utils/decorators/FilterEntriesByFolderFactory.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\n\nexport class FilterEntriesByFolderFactory {\n private readonly folderLevelPermissions: FolderLevelPermissions.Interface;\n\n constructor(folderLevelPermissions: FolderLevelPermissions.Interface) {\n this.folderLevelPermissions = folderLevelPermissions;\n }\n\n public async execute(entries: CmsEntry[]): Promise<CmsEntry[]> {\n const results = await Promise.all(\n entries.map(async entry => {\n const folderId = entry.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return entry;\n }\n\n const permissions =\n await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolderContent =\n await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"r\"\n });\n return canAccessFolderContent ? entry : null;\n })\n );\n\n return results.filter((entry): entry is CmsEntry => !!entry);\n }\n}\n"],"names":["FilterEntriesByFolderFactory","folderLevelPermissions","entries","results","Promise","entry","folderId","ROOT_FOLDER","permissions","canAccessFolderContent"],"mappings":";AAIO,MAAMA;IAGT,YAAYC,sBAAwD,CAAE;QAClE,IAAI,CAAC,sBAAsB,GAAGA;IAClC;IAEA,MAAa,QAAQC,OAAmB,EAAuB;QAC3D,MAAMC,UAAU,MAAMC,QAAQ,GAAG,CAC7BF,QAAQ,GAAG,CAAC,OAAMG;YACd,MAAMC,WAAWD,MAAM,QAAQ,EAAE;YACjC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAOF;YAGX,MAAMG,cACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;YAChE,MAAMG,yBACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;gBACrDD;gBACA,KAAK;YACT;YACJ,OAAOC,yBAAyBJ,QAAQ;QAC5C;QAGJ,OAAOF,QAAQ,MAAM,CAAC,CAACE,QAA6B,CAAC,CAACA;IAC1D;AACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CmsEntryListParams, CmsEntryValues } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import { type CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
import type { IListEntriesResult } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../features/flp/FolderLevelPermissions/index.js";
|
|
5
|
+
interface ListEntriesFactoryCallbackParams<T extends CmsEntryValues> {
|
|
6
|
+
model: CmsModel;
|
|
7
|
+
dataLoader: (params?: CmsEntryListParams) => Promise<IListEntriesResult<T>>;
|
|
8
|
+
initialParams?: CmsEntryListParams;
|
|
9
|
+
}
|
|
10
|
+
export declare class ListEntriesFactory {
|
|
11
|
+
private readonly folderLevelPermissions;
|
|
12
|
+
private readonly permissionsCache;
|
|
13
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface);
|
|
14
|
+
execute<T extends CmsEntryValues = CmsEntryValues>({ model, dataLoader, initialParams }: ListEntriesFactoryCallbackParams<T>): Promise<IListEntriesResult<T>>;
|
|
15
|
+
private getPermissions;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { hasRootFolderId } from "./hasRootFolderId.js";
|
|
2
|
+
class ListEntriesFactory {
|
|
3
|
+
constructor(folderLevelPermissions){
|
|
4
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
5
|
+
this.permissionsCache = new Map();
|
|
6
|
+
}
|
|
7
|
+
async execute({ model, dataLoader, initialParams = {} }) {
|
|
8
|
+
const limit = initialParams?.limit || 50;
|
|
9
|
+
const where = initialParams?.where;
|
|
10
|
+
const params = {
|
|
11
|
+
...initialParams,
|
|
12
|
+
limit
|
|
13
|
+
};
|
|
14
|
+
const hasRootFolder = hasRootFolderId({
|
|
15
|
+
model,
|
|
16
|
+
where
|
|
17
|
+
});
|
|
18
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions() || hasRootFolder) return dataLoader(params);
|
|
19
|
+
const resultEntries = [];
|
|
20
|
+
let totalCount = 0;
|
|
21
|
+
let hasMoreItems = true;
|
|
22
|
+
let cursor = null;
|
|
23
|
+
let fetchedAll = false;
|
|
24
|
+
let afterCursor = params.after;
|
|
25
|
+
while(!fetchedAll){
|
|
26
|
+
const queryParams = {
|
|
27
|
+
...params,
|
|
28
|
+
after: afterCursor
|
|
29
|
+
};
|
|
30
|
+
const { entries, meta } = await dataLoader(queryParams);
|
|
31
|
+
if (0 === totalCount) totalCount = meta.totalCount;
|
|
32
|
+
for (const entry of entries){
|
|
33
|
+
const folderId = entry.values?.location?.folderId || entry.location?.folderId;
|
|
34
|
+
if (!folderId) {
|
|
35
|
+
resultEntries.push(entry);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const permissions = await this.getPermissions(folderId);
|
|
39
|
+
if (!permissions.length) {
|
|
40
|
+
resultEntries.push(entry);
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (await this.folderLevelPermissions.canAccessFolderContent({
|
|
44
|
+
permissions,
|
|
45
|
+
rwd: "r"
|
|
46
|
+
})) resultEntries.push(entry);
|
|
47
|
+
else totalCount--;
|
|
48
|
+
}
|
|
49
|
+
if (!meta.hasMoreItems || resultEntries.length >= limit) {
|
|
50
|
+
fetchedAll = true;
|
|
51
|
+
hasMoreItems = meta.hasMoreItems;
|
|
52
|
+
cursor = meta.cursor;
|
|
53
|
+
} else afterCursor = meta.cursor;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
entries: resultEntries,
|
|
57
|
+
meta: {
|
|
58
|
+
totalCount,
|
|
59
|
+
hasMoreItems,
|
|
60
|
+
cursor
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
async getPermissions(folderId) {
|
|
65
|
+
if (this.permissionsCache.has(folderId)) return this.permissionsCache.get(folderId) ?? [];
|
|
66
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
67
|
+
this.permissionsCache.set(folderId, permissions);
|
|
68
|
+
return permissions;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export { ListEntriesFactory };
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=ListEntriesFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/decorators/ListEntriesFactory.js","sources":["../../../src/utils/decorators/ListEntriesFactory.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryListParams,\n CmsEntryValues\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { type CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { IListEntriesResult } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport { hasRootFolderId } from \"~/utils/decorators/hasRootFolderId.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\n\ninterface ListEntriesFactoryCallbackParams<T extends CmsEntryValues> {\n model: CmsModel;\n dataLoader: (params?: CmsEntryListParams) => Promise<IListEntriesResult<T>>;\n initialParams?: CmsEntryListParams;\n}\n\nexport class ListEntriesFactory {\n private readonly folderLevelPermissions: FolderLevelPermissions.Interface;\n private readonly permissionsCache: Map<string, FolderPermission[]>;\n\n constructor(folderLevelPermissions: FolderLevelPermissions.Interface) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.permissionsCache = new Map();\n }\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>({\n model,\n dataLoader,\n initialParams = {}\n }: ListEntriesFactoryCallbackParams<T>): Promise<IListEntriesResult<T>> {\n const limit = initialParams?.limit || 50;\n const where = initialParams?.where;\n const params = { ...initialParams, limit };\n const hasRootFolder = hasRootFolderId({ model, where });\n\n // If FLP should be skipped, or we're querying the root folder, skip permission checks\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions() || hasRootFolder) {\n return dataLoader(params);\n }\n\n const resultEntries: CmsEntry<T>[] = [];\n let totalCount = 0;\n let hasMoreItems = true;\n let cursor: string | null = null;\n let fetchedAll = false;\n let afterCursor = params.after;\n\n // Process entries in batches until we have enough results or reach the end\n while (!fetchedAll) {\n const queryParams: CmsEntryListParams = { ...params, after: afterCursor };\n const { entries, meta } = await dataLoader(queryParams);\n\n if (totalCount === 0) {\n totalCount = meta.totalCount;\n }\n\n // Process each entry and check folder permissions\n for (const entry of entries) {\n const folderId = entry.values?.location?.folderId || entry.location?.folderId;\n\n // If entry has no folderId, it's not using ACO folders system\n // Include it in results as it's not subject to folder permissions\n if (!folderId) {\n resultEntries.push(entry);\n continue;\n }\n\n const permissions = await this.getPermissions(folderId);\n\n // If no FLP exists for the folder, the entry is accessible\n // This means the folder doesn't have any permission restrictions\n if (!permissions.length) {\n resultEntries.push(entry);\n continue;\n }\n\n // Check if user has read permission for the folder\n if (\n await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"r\"\n })\n ) {\n resultEntries.push(entry);\n } else {\n totalCount--;\n }\n }\n\n // Determine if we need to fetch more entries\n if (!meta.hasMoreItems || resultEntries.length >= limit) {\n fetchedAll = true;\n hasMoreItems = meta.hasMoreItems;\n cursor = meta.cursor;\n } else {\n afterCursor = meta.cursor;\n }\n }\n\n return { entries: resultEntries, meta: { totalCount, hasMoreItems, cursor } };\n }\n\n private async getPermissions(folderId: string): Promise<FolderPermission[]> {\n if (this.permissionsCache.has(folderId)) {\n return this.permissionsCache.get(folderId) ?? [];\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n this.permissionsCache.set(folderId, permissions);\n return permissions;\n }\n}\n"],"names":["ListEntriesFactory","folderLevelPermissions","Map","model","dataLoader","initialParams","limit","where","params","hasRootFolder","hasRootFolderId","resultEntries","totalCount","hasMoreItems","cursor","fetchedAll","afterCursor","queryParams","entries","meta","entry","folderId","permissions"],"mappings":";AAiBO,MAAMA;IAIT,YAAYC,sBAAwD,CAAE;QAClE,IAAI,CAAC,sBAAsB,GAAGA;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAIC;IAChC;IAEA,MAAa,QAAmD,EAC5DC,KAAK,EACLC,UAAU,EACVC,gBAAgB,CAAC,CAAC,EACgB,EAAkC;QACpE,MAAMC,QAAQD,eAAe,SAAS;QACtC,MAAME,QAAQF,eAAe;QAC7B,MAAMG,SAAS;YAAE,GAAGH,aAAa;YAAEC;QAAM;QACzC,MAAMG,gBAAgBC,gBAAgB;YAAEP;YAAOI;QAAM;QAGrD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,MAAME,eAC/D,OAAOL,WAAWI;QAGtB,MAAMG,gBAA+B,EAAE;QACvC,IAAIC,aAAa;QACjB,IAAIC,eAAe;QACnB,IAAIC,SAAwB;QAC5B,IAAIC,aAAa;QACjB,IAAIC,cAAcR,OAAO,KAAK;QAG9B,MAAO,CAACO,WAAY;YAChB,MAAME,cAAkC;gBAAE,GAAGT,MAAM;gBAAE,OAAOQ;YAAY;YACxE,MAAM,EAAEE,OAAO,EAAEC,IAAI,EAAE,GAAG,MAAMf,WAAWa;YAE3C,IAAIL,AAAe,MAAfA,YACAA,aAAaO,KAAK,UAAU;YAIhC,KAAK,MAAMC,SAASF,QAAS;gBACzB,MAAMG,WAAWD,MAAM,MAAM,EAAE,UAAU,YAAYA,MAAM,QAAQ,EAAE;gBAIrE,IAAI,CAACC,UAAU;oBACXV,cAAc,IAAI,CAACS;oBACnB;gBACJ;gBAEA,MAAME,cAAc,MAAM,IAAI,CAAC,cAAc,CAACD;gBAI9C,IAAI,CAACC,YAAY,MAAM,EAAE;oBACrBX,cAAc,IAAI,CAACS;oBACnB;gBACJ;gBAGA,IACI,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;oBACrDE;oBACA,KAAK;gBACT,IAEAX,cAAc,IAAI,CAACS;qBAEnBR;YAER;YAGA,IAAI,CAACO,KAAK,YAAY,IAAIR,cAAc,MAAM,IAAIL,OAAO;gBACrDS,aAAa;gBACbF,eAAeM,KAAK,YAAY;gBAChCL,SAASK,KAAK,MAAM;YACxB,OACIH,cAAcG,KAAK,MAAM;QAEjC;QAEA,OAAO;YAAE,SAASR;YAAe,MAAM;gBAAEC;gBAAYC;gBAAcC;YAAO;QAAE;IAChF;IAEA,MAAc,eAAeO,QAAgB,EAA+B;QACxE,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAACA,WAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAACA,aAAa,EAAE;QAGpD,MAAMC,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACD;QAChF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAACA,UAAUC;QACpC,OAAOA;IACX;AACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import isPlainObject from "lodash/isPlainObject.js";
|
|
2
|
+
import { isPageModel } from "./isPageModel.js";
|
|
3
|
+
import { ROOT_FOLDER } from "../../constants.js";
|
|
4
|
+
const hasRootFolderId = ({ model, where })=>{
|
|
5
|
+
if (!where) return false;
|
|
6
|
+
const key = isPageModel(model) ? "location" : "wbyAco_location";
|
|
7
|
+
const location = where[key];
|
|
8
|
+
if ("object" == typeof location && null !== location && isPlainObject(location)) return location.folderId === ROOT_FOLDER;
|
|
9
|
+
return false;
|
|
10
|
+
};
|
|
11
|
+
export { hasRootFolderId };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=hasRootFolderId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/decorators/hasRootFolderId.js","sources":["../../../src/utils/decorators/hasRootFolderId.ts"],"sourcesContent":["import isPlainObject from \"lodash/isPlainObject.js\";\nimport { isPageModel } from \"~/utils/decorators/isPageModel.js\";\nimport type { CmsEntryListWhere, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\ninterface Params {\n model: CmsModel;\n where: CmsEntryListWhere | undefined;\n}\n\nexport const hasRootFolderId = ({ model, where }: Params): boolean => {\n if (!where) {\n return false;\n }\n\n const key = isPageModel(model) ? \"location\" : \"wbyAco_location\";\n const location = where[key];\n\n if (typeof location === \"object\" && location !== null && isPlainObject(location)) {\n return (location as Record<string, any>).folderId === ROOT_FOLDER;\n }\n\n return false;\n};\n"],"names":["hasRootFolderId","model","where","key","isPageModel","location","isPlainObject","ROOT_FOLDER"],"mappings":";;;AAUO,MAAMA,kBAAkB,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAU;IACpD,IAAI,CAACA,OACD,OAAO;IAGX,MAAMC,MAAMC,YAAYH,SAAS,aAAa;IAC9C,MAAMI,WAAWH,KAAK,CAACC,IAAI;IAE3B,IAAI,AAAoB,YAApB,OAAOE,YAAyBA,AAAa,SAAbA,YAAqBC,cAAcD,WACnE,OAAQA,SAAiC,QAAQ,KAAKE;IAG1D,OAAO;AACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/decorators/isPageModel.js","sources":["../../../src/utils/decorators/isPageModel.ts"],"sourcesContent":["import type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\n/**\n * Keep this until we figure out how to fetch the folders.\n */\nexport const isPageModel = (model: CmsModel): boolean => {\n if (model.modelId === \"pbPage\") {\n return true;\n } else if (model.modelId === \"acoSearchRecord-pbpage\") {\n return true;\n }\n return false;\n};\n"],"names":["isPageModel","model"],"mappings":"AAKO,MAAMA,cAAc,CAACC;IACxB,IAAIA,AAAkB,aAAlBA,MAAM,OAAO,EACb,OAAO;IACJ,IAAIA,AAAkB,6BAAlBA,MAAM,OAAO,EACpB,OAAO;IAEX,OAAO;AACX"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/errors.js";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
const ensureAuthentication = (context)=>{
|
|
4
|
+
const identityContext = context.container.resolve(IdentityContext);
|
|
5
|
+
const identity = identityContext.getIdentity();
|
|
6
|
+
if (!identity.isAnonymous()) return;
|
|
7
|
+
throw new NotAuthorizedError();
|
|
8
|
+
};
|
|
9
|
+
export { ensureAuthentication };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=ensureAuthentication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/ensureAuthentication.js","sources":["../../src/utils/ensureAuthentication.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/errors.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nexport const ensureAuthentication = (context: ApiCoreContext) => {\n const identityContext = context.container.resolve(IdentityContext);\n const identity = identityContext.getIdentity();\n\n if (!identity.isAnonymous()) {\n return;\n }\n throw new NotAuthorizedError();\n};\n"],"names":["ensureAuthentication","context","identityContext","IdentityContext","identity","NotAuthorizedError"],"mappings":";;AAIO,MAAMA,uBAAuB,CAACC;IACjC,MAAMC,kBAAkBD,QAAQ,SAAS,CAAC,OAAO,CAACE;IAClD,MAAMC,WAAWF,gBAAgB,WAAW;IAE5C,IAAI,CAACE,SAAS,WAAW,IACrB;IAEJ,MAAM,IAAIC;AACd"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const baseFields = [
|
|
2
|
+
"id",
|
|
3
|
+
"tenant",
|
|
4
|
+
"createdOn",
|
|
5
|
+
"modifiedOn",
|
|
6
|
+
"savedOn",
|
|
7
|
+
"createdBy",
|
|
8
|
+
"modifiedBy",
|
|
9
|
+
"savedBy"
|
|
10
|
+
];
|
|
11
|
+
const pickBaseEntryFieldValues = (entry)=>{
|
|
12
|
+
const pickedValues = {};
|
|
13
|
+
for (const fieldName of baseFields){
|
|
14
|
+
const [srcFieldName, targetFieldName = srcFieldName] = fieldName.split(":");
|
|
15
|
+
if (srcFieldName in entry) Object.assign(pickedValues, {
|
|
16
|
+
[targetFieldName]: entry[srcFieldName]
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return pickedValues;
|
|
20
|
+
};
|
|
21
|
+
function pickEntryFieldValues(entry) {
|
|
22
|
+
return {
|
|
23
|
+
...pickBaseEntryFieldValues(entry),
|
|
24
|
+
...entry.values
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export { baseFields, pickEntryFieldValues };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=pickEntryFieldValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/pickEntryFieldValues.js","sources":["../../src/utils/pickEntryFieldValues.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport const baseFields = [\n // Entry ID is mapped to \"id\" (we don't use revisions with ACO entities).\n \"id\",\n \"tenant\",\n \"createdOn\",\n \"modifiedOn\",\n \"savedOn\",\n \"createdBy\",\n \"modifiedBy\",\n \"savedBy\"\n];\n\nconst pickBaseEntryFieldValues = (entry: CmsEntry) => {\n const pickedValues: Partial<CmsEntry> = {};\n for (const fieldName of baseFields) {\n const [srcFieldName, targetFieldName = srcFieldName] = fieldName.split(\":\");\n if (srcFieldName in entry) {\n Object.assign(pickedValues, {\n [targetFieldName]: entry[srcFieldName as keyof CmsEntry]\n });\n }\n }\n\n return pickedValues;\n};\n\nexport function pickEntryFieldValues<T>(entry: CmsEntry): T {\n return {\n ...pickBaseEntryFieldValues(entry),\n ...entry.values\n } as T;\n}\n"],"names":["baseFields","pickBaseEntryFieldValues","entry","pickedValues","fieldName","srcFieldName","targetFieldName","Object","pickEntryFieldValues"],"mappings":"AAEO,MAAMA,aAAa;IAEtB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AAED,MAAMC,2BAA2B,CAACC;IAC9B,MAAMC,eAAkC,CAAC;IACzC,KAAK,MAAMC,aAAaJ,WAAY;QAChC,MAAM,CAACK,cAAcC,kBAAkBD,YAAY,CAAC,GAAGD,UAAU,KAAK,CAAC;QACvE,IAAIC,gBAAgBH,OAChBK,OAAO,MAAM,CAACJ,cAAc;YACxB,CAACG,gBAAgB,EAAEJ,KAAK,CAACG,aAA+B;QAC5D;IAER;IAEA,OAAOF;AACX;AAEO,SAASK,qBAAwBN,KAAe;IACnD,OAAO;QACH,GAAGD,yBAAyBC,MAAM;QAClC,GAAGA,MAAM,MAAM;IACnB;AACJ"}
|
package/utils/resolve.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const resolve: (fn: () => Promise<any>) => Promise<Response<any
|
|
1
|
+
import { ErrorResponse, Response } from "@webiny/api-graphql";
|
|
2
|
+
export declare const resolve: (fn: () => Promise<any>) => Promise<ErrorResponse | Response<any>>;
|
package/utils/resolve.js
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
})
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const resolve = async fn => {
|
|
9
|
-
try {
|
|
10
|
-
return new _handlerGraphql.Response(await fn());
|
|
11
|
-
} catch (e) {
|
|
12
|
-
return new _handlerGraphql.ErrorResponse(e);
|
|
13
|
-
}
|
|
1
|
+
import { ErrorResponse, Response } from "@webiny/api-graphql";
|
|
2
|
+
const resolve = async (fn)=>{
|
|
3
|
+
try {
|
|
4
|
+
return new Response(await fn());
|
|
5
|
+
} catch (e) {
|
|
6
|
+
return new ErrorResponse(e);
|
|
7
|
+
}
|
|
14
8
|
};
|
|
15
|
-
|
|
9
|
+
export { resolve };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=resolve.js.map
|
package/utils/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/resolve.js","sources":["../../src/utils/resolve.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/api-graphql\";\n\nexport const resolve = async (fn: () => Promise<any>) => {\n try {\n return new Response(await fn());\n } catch (e) {\n return new ErrorResponse(e);\n }\n};\n"],"names":["resolve","fn","Response","e","ErrorResponse"],"mappings":";AAEO,MAAMA,UAAU,OAAOC;IAC1B,IAAI;QACA,OAAO,IAAIC,SAAS,MAAMD;IAC9B,EAAE,OAAOE,GAAG;QACR,OAAO,IAAIC,cAAcD;IAC7B;AACJ"}
|
package/context/folders.d.ts
DELETED