@webiny/api-aco 0.0.0-unstable.b14eaecf38 → 0.0.0-unstable.b6d7105cee
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -28
- package/constants.d.ts +2 -0
- package/constants.js +5 -0
- package/constants.js.map +1 -0
- package/createAcoContext.d.ts +2 -2
- package/createAcoContext.js +111 -61
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +3 -2
- package/createAcoGraphQL.js +55 -37
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoTasks.d.ts +1 -0
- package/createAcoTasks.js +14 -0
- package/createAcoTasks.js.map +1 -0
- package/domain/folder/abstractions.d.ts +9 -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 +58 -0
- package/domain/folder/folder.model.js.map +1 -0
- package/exports/api/aco/flp.d.ts +6 -0
- package/exports/api/aco/flp.js +6 -0
- package/exports/api/aco/folder.d.ts +11 -0
- package/exports/api/aco/folder.js +10 -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 +10 -0
- package/features/flp/CreateFlp/feature.js +12 -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 +14 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +37 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +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 +10 -0
- package/features/flp/DeleteFlp/feature.js +12 -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 +14 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +37 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +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/feature.d.ts +4 -0
- package/features/flp/GetFlp/feature.js +12 -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/feature.d.ts +4 -0
- package/features/flp/ListFlps/feature.js +12 -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 +19 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js +152 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
- package/features/flp/UpdateFlp/abstractions.d.ts +15 -0
- package/features/flp/UpdateFlp/abstractions.js +5 -0
- package/features/flp/UpdateFlp/abstractions.js.map +1 -0
- package/features/flp/UpdateFlp/feature.d.ts +10 -0
- package/features/flp/UpdateFlp/feature.js +12 -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 +14 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +39 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +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/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js +85 -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 +11 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +39 -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 +32 -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/GetAncestors/GetAncestorsRepository.d.ts +15 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js +58 -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 +33 -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 +84 -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 +52 -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/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js +84 -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 +13 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +58 -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 +10 -0
- package/features/folder/shared/abstractions.js +6 -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 +3 -0
- package/filter/filter.gql.js +130 -0
- package/filter/filter.gql.js.map +1 -0
- package/filter/filter.model.d.ts +9 -0
- package/filter/filter.model.js +50 -0
- package/filter/filter.model.js.map +1 -0
- package/filter/filter.so.d.ts +11 -0
- package/filter/filter.so.js +84 -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 +93 -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 +18 -0
- package/flp/tasks/createFlp.task.js +36 -0
- package/flp/tasks/createFlp.task.js.map +1 -0
- package/flp/tasks/deleteFlp.task.d.ts +18 -0
- package/flp/tasks/deleteFlp.task.js +36 -0
- package/flp/tasks/deleteFlp.task.js.map +1 -0
- package/flp/tasks/index.d.ts +5 -0
- package/flp/tasks/index.js +20 -0
- package/flp/tasks/index.js.map +1 -0
- package/flp/tasks/syncFlp.task.d.ts +22 -0
- package/flp/tasks/syncFlp.task.js +112 -0
- package/flp/tasks/syncFlp.task.js.map +1 -0
- package/flp/tasks/updateFlp.task.d.ts +18 -0
- package/flp/tasks/updateFlp.task.js +43 -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 +175 -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 -3
- package/index.js +12 -27
- package/index.js.map +1 -1
- package/package.json +34 -39
- package/types.d.ts +27 -22
- package/types.js +8 -38
- 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 +175 -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/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 -65
- 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 -4
- package/folder/folder.model.js +0 -75
- 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/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 -123
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -4
- package/record/record.model.js +0 -62
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -3
- package/record/record.so.js +0 -100
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -96
- 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 -5
- package/utils/createModelField.js +0 -37
- 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 -15
- package/utils/modelFactory.js +0 -25
- package/utils/modelFactory.js.map +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { GetPublishedEntriesByIdsUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetPublishedEntriesByIds/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
5
|
+
class GetPublishedEntriesByIdsWithFlpDecoratorImpl {
|
|
6
|
+
constructor(folderLevelPermissions, decoratee){
|
|
7
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
8
|
+
this.decoratee = decoratee;
|
|
9
|
+
}
|
|
10
|
+
async execute(model, ids) {
|
|
11
|
+
const result = await this.decoratee.execute(model, ids);
|
|
12
|
+
if (result.isFail()) return result;
|
|
13
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return result;
|
|
14
|
+
const entries = result.value;
|
|
15
|
+
const filteredEntries = await this.filterEntriesByFolder(entries);
|
|
16
|
+
return Result.ok(filteredEntries);
|
|
17
|
+
}
|
|
18
|
+
async filterEntriesByFolder(entries) {
|
|
19
|
+
const results = await Promise.all(entries.map(async (entry)=>{
|
|
20
|
+
const folderId = entry.location?.folderId;
|
|
21
|
+
if (!folderId || folderId === ROOT_FOLDER) return entry;
|
|
22
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
23
|
+
const canAccess = await this.folderLevelPermissions.canAccessFolderContent({
|
|
24
|
+
permissions,
|
|
25
|
+
rwd: "r"
|
|
26
|
+
});
|
|
27
|
+
return canAccess ? entry : null;
|
|
28
|
+
}));
|
|
29
|
+
return results.filter((entry)=>!!entry);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const GetPublishedEntriesByIdsWithFlpDecorator = createDecorator({
|
|
33
|
+
abstraction: GetPublishedEntriesByIdsUseCase,
|
|
34
|
+
decorator: GetPublishedEntriesByIdsWithFlpDecoratorImpl,
|
|
35
|
+
dependencies: [
|
|
36
|
+
FolderLevelPermissions
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
export { GetPublishedEntriesByIdsWithFlpDecorator };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=GetPublishedEntriesByIdsWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { GetPublishedEntriesByIdsUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetPublishedEntriesByIds/abstractions.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\nclass GetPublishedEntriesByIdsWithFlpDecoratorImpl\n implements GetPublishedEntriesByIdsUseCase.Interface\n{\n public constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: GetPublishedEntriesByIdsUseCase.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ): Promise<Result<CmsEntry<T>[], GetPublishedEntriesByIdsUseCase.Error>> {\n const result = await this.decoratee.execute<T>(model, ids);\n\n if (result.isFail()) {\n return result;\n }\n\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return result;\n }\n\n const entries = result.value;\n const filteredEntries = await this.filterEntriesByFolder<T>(entries);\n\n return Result.ok(filteredEntries);\n }\n\n private async filterEntriesByFolder<T extends CmsEntryValues = CmsEntryValues>(\n entries: CmsEntry<T>[]\n ): Promise<CmsEntry<T>[]> {\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 canAccess = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"r\"\n });\n return canAccess ? entry : null;\n })\n );\n\n return results.filter((entry): entry is CmsEntry<T> => !!entry);\n }\n}\n\nexport const GetPublishedEntriesByIdsWithFlpDecorator = createDecorator({\n abstraction: GetPublishedEntriesByIdsUseCase,\n decorator: GetPublishedEntriesByIdsWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["GetPublishedEntriesByIdsWithFlpDecoratorImpl","folderLevelPermissions","decoratee","model","ids","result","entries","filteredEntries","Result","results","Promise","entry","folderId","ROOT_FOLDER","permissions","canAccess","GetPublishedEntriesByIdsWithFlpDecorator","createDecorator","GetPublishedEntriesByIdsUseCase","FolderLevelPermissions"],"mappings":";;;;AAMA,MAAMA;IAGF,YACYC,sBAAwD,EACxDC,SAAoD,CAC9D;aAFUD,sBAAsB,GAAtBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,GAAa,EACwD;QACrE,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIF,OAAOC;QAEtD,IAAIC,OAAO,MAAM,IACb,OAAOA;QAGX,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAOA;QAGX,MAAMC,UAAUD,OAAO,KAAK;QAC5B,MAAME,kBAAkB,MAAM,IAAI,CAAC,qBAAqB,CAAID;QAE5D,OAAOE,OAAO,EAAE,CAACD;IACrB;IAEA,MAAc,sBACVD,OAAsB,EACA;QACtB,MAAMG,UAAU,MAAMC,QAAQ,GAAG,CAC7BJ,QAAQ,GAAG,CAAC,OAAMK;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,YAAY,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;gBACvED;gBACA,KAAK;YACT;YACA,OAAOC,YAAYJ,QAAQ;QAC/B;QAGJ,OAAOF,QAAQ,MAAM,CAAC,CAACE,QAAgC,CAAC,CAACA;IAC7D;AACJ;AAEO,MAAMK,2CAA2CC,gBAAgB;IACpE,aAAaC;IACb,WAAWlB;IACX,cAAc;QAACmB;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListDeletedEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
2
|
+
import type { CmsModel, CmsEntryValues, CmsEntryListParams } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
4
|
+
declare class ListDeletedEntriesWithFlpDecoratorImpl implements ListDeletedEntriesUseCase.Interface {
|
|
5
|
+
private decoratee;
|
|
6
|
+
private readonly listEntriesHandler;
|
|
7
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: ListDeletedEntriesUseCase.Interface);
|
|
8
|
+
execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): ListDeletedEntriesUseCase.Return<T>;
|
|
9
|
+
}
|
|
10
|
+
export declare const ListDeletedEntriesWithFlpDecorator: typeof ListDeletedEntriesWithFlpDecoratorImpl;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { ListDeletedEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ListEntriesFactory } from "../../../utils/decorators/ListEntriesFactory.js";
|
|
5
|
+
class ListDeletedEntriesWithFlpDecoratorImpl {
|
|
6
|
+
constructor(folderLevelPermissions, decoratee){
|
|
7
|
+
this.decoratee = decoratee;
|
|
8
|
+
this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
|
|
9
|
+
}
|
|
10
|
+
async execute(model, params) {
|
|
11
|
+
const loader = async (params)=>{
|
|
12
|
+
const result = await this.decoratee.execute(model, params);
|
|
13
|
+
if (result.isFail()) throw result.error;
|
|
14
|
+
return result.value;
|
|
15
|
+
};
|
|
16
|
+
const { entries, meta } = await this.listEntriesHandler.execute({
|
|
17
|
+
model,
|
|
18
|
+
dataLoader: loader,
|
|
19
|
+
initialParams: params
|
|
20
|
+
});
|
|
21
|
+
return Result.ok({
|
|
22
|
+
entries,
|
|
23
|
+
meta
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const ListDeletedEntriesWithFlpDecorator = createDecorator({
|
|
28
|
+
abstraction: ListDeletedEntriesUseCase,
|
|
29
|
+
decorator: ListDeletedEntriesWithFlpDecoratorImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
FolderLevelPermissions
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { ListDeletedEntriesWithFlpDecorator };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=ListDeletedEntriesWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListDeletedEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsModel,\n CmsEntryValues,\n CmsEntryListParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListEntriesFactory } from \"~/utils/decorators/ListEntriesFactory.js\";\n\nclass ListDeletedEntriesWithFlpDecoratorImpl implements ListDeletedEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListDeletedEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListDeletedEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n };\n\n const { entries, meta } = await this.listEntriesHandler.execute<T>({\n model,\n dataLoader: loader,\n initialParams: params\n });\n\n return Result.ok({ entries, meta });\n }\n}\n\nexport const ListDeletedEntriesWithFlpDecorator = createDecorator({\n abstraction: ListDeletedEntriesUseCase,\n decorator: ListDeletedEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListDeletedEntriesWithFlpDecoratorImpl","folderLevelPermissions","decoratee","ListEntriesFactory","model","params","loader","result","entries","meta","Result","ListDeletedEntriesWithFlpDecorator","createDecorator","ListDeletedEntriesUseCase","FolderLevelPermissions"],"mappings":";;;;AAWA,MAAMA;IAGF,YACIC,sBAAwD,EAChDC,SAA8C,CACxD;aADUA,SAAS,GAATA;QAER,IAAI,CAAC,kBAAkB,GAAG,IAAIC,mBAAmBF;IACrD;IAEA,MAAM,QACFG,KAAe,EACfC,MAA2B,EACQ;QACnC,MAAMC,SAAS,OAAOD;YAClB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC;YACtD,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;YAEtB,OAAOA,OAAO,KAAK;QACvB;QAEA,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAI;YAC/DL;YACA,YAAYE;YACZ,eAAeD;QACnB;QAEA,OAAOK,OAAO,EAAE,CAAC;YAAEF;YAASC;QAAK;IACrC;AACJ;AAEO,MAAME,qCAAqCC,gBAAgB;IAC9D,aAAaC;IACb,WAAWb;IACX,cAAc;QAACc;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
2
|
+
import type { CmsEntryListParams, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
4
|
+
declare class ListEntriesWithFlpDecoratorImpl implements ListEntriesUseCase.Interface {
|
|
5
|
+
private decoratee;
|
|
6
|
+
private readonly listEntriesHandler;
|
|
7
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: ListEntriesUseCase.Interface);
|
|
8
|
+
execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): ListEntriesUseCase.Return<T>;
|
|
9
|
+
}
|
|
10
|
+
export declare const ListEntriesWithFlpDecorator: typeof ListEntriesWithFlpDecoratorImpl;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { ListEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ListEntriesFactory } from "../../../utils/decorators/ListEntriesFactory.js";
|
|
5
|
+
class ListEntriesWithFlpDecoratorImpl {
|
|
6
|
+
constructor(folderLevelPermissions, decoratee){
|
|
7
|
+
this.decoratee = decoratee;
|
|
8
|
+
this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
|
|
9
|
+
}
|
|
10
|
+
async execute(model, params) {
|
|
11
|
+
const loader = async (params)=>{
|
|
12
|
+
const result = await this.decoratee.execute(model, params);
|
|
13
|
+
if (result.isFail()) throw result.error;
|
|
14
|
+
return result.value;
|
|
15
|
+
};
|
|
16
|
+
const { entries, meta } = await this.listEntriesHandler.execute({
|
|
17
|
+
model,
|
|
18
|
+
dataLoader: loader,
|
|
19
|
+
initialParams: params
|
|
20
|
+
});
|
|
21
|
+
return Result.ok({
|
|
22
|
+
entries,
|
|
23
|
+
meta
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const ListEntriesWithFlpDecorator = createDecorator({
|
|
28
|
+
abstraction: ListEntriesUseCase,
|
|
29
|
+
decorator: ListEntriesWithFlpDecoratorImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
FolderLevelPermissions
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { ListEntriesWithFlpDecorator };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=ListEntriesWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/ListEntriesWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/ListEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { ListEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsEntryListParams,\n CmsEntryValues,\n CmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListEntriesFactory } from \"~/utils/decorators/ListEntriesFactory.js\";\n\nclass ListEntriesWithFlpDecoratorImpl implements ListEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n };\n\n const { entries, meta } = await this.listEntriesHandler.execute<T>({\n model,\n dataLoader: loader,\n initialParams: params\n });\n\n return Result.ok({ entries, meta });\n }\n}\n\nexport const ListEntriesWithFlpDecorator = createDecorator({\n abstraction: ListEntriesUseCase,\n decorator: ListEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListEntriesWithFlpDecoratorImpl","folderLevelPermissions","decoratee","ListEntriesFactory","model","params","loader","result","entries","meta","Result","ListEntriesWithFlpDecorator","createDecorator","ListEntriesUseCase","FolderLevelPermissions"],"mappings":";;;;AAUA,MAAMA;IAGF,YACIC,sBAAwD,EAChDC,SAAuC,CACjD;aADUA,SAAS,GAATA;QAER,IAAI,CAAC,kBAAkB,GAAG,IAAIC,mBAAmBF;IACrD;IAEA,MAAM,QACFG,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAMC,SAAS,OAAOD;YAClB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC;YACtD,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;YAEtB,OAAOA,OAAO,KAAK;QACvB;QAEA,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAI;YAC/DL;YACA,YAAYE;YACZ,eAAeD;QACnB;QAEA,OAAOK,OAAO,EAAE,CAAC;YAAEF;YAASC;QAAK;IACrC;AACJ;AAEO,MAAME,8BAA8BC,gBAAgB;IACvD,aAAaC;IACb,WAAWb;IACX,cAAc;QAACc;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
2
|
+
import type { CmsModel, CmsEntryValues, CmsEntryListParams } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
4
|
+
declare class ListLatestEntriesWithFlpDecoratorImpl implements ListLatestEntriesUseCase.Interface {
|
|
5
|
+
private decoratee;
|
|
6
|
+
private readonly listEntriesHandler;
|
|
7
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: ListLatestEntriesUseCase.Interface);
|
|
8
|
+
execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): ListLatestEntriesUseCase.Return<T>;
|
|
9
|
+
}
|
|
10
|
+
export declare const ListLatestEntriesWithFlpDecorator: typeof ListLatestEntriesWithFlpDecoratorImpl;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ListEntriesFactory } from "../../../utils/decorators/ListEntriesFactory.js";
|
|
5
|
+
class ListLatestEntriesWithFlpDecoratorImpl {
|
|
6
|
+
constructor(folderLevelPermissions, decoratee){
|
|
7
|
+
this.decoratee = decoratee;
|
|
8
|
+
this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
|
|
9
|
+
}
|
|
10
|
+
async execute(model, params) {
|
|
11
|
+
const loader = async (params)=>{
|
|
12
|
+
const result = await this.decoratee.execute(model, params);
|
|
13
|
+
if (result.isFail()) throw result.error;
|
|
14
|
+
return result.value;
|
|
15
|
+
};
|
|
16
|
+
const { entries, meta } = await this.listEntriesHandler.execute({
|
|
17
|
+
model,
|
|
18
|
+
dataLoader: loader,
|
|
19
|
+
initialParams: params
|
|
20
|
+
});
|
|
21
|
+
return Result.ok({
|
|
22
|
+
entries,
|
|
23
|
+
meta
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const ListLatestEntriesWithFlpDecorator = createDecorator({
|
|
28
|
+
abstraction: ListLatestEntriesUseCase,
|
|
29
|
+
decorator: ListLatestEntriesWithFlpDecoratorImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
FolderLevelPermissions
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { ListLatestEntriesWithFlpDecorator };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=ListLatestEntriesWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/ListLatestEntriesWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/ListLatestEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsModel,\n CmsEntryValues,\n CmsEntryListParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListEntriesFactory } from \"~/utils/decorators/ListEntriesFactory.js\";\n\nclass ListLatestEntriesWithFlpDecoratorImpl implements ListLatestEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListLatestEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListLatestEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n };\n\n const { entries, meta } = await this.listEntriesHandler.execute<T>({\n model,\n dataLoader: loader,\n initialParams: params\n });\n\n return Result.ok({ entries, meta });\n }\n}\n\nexport const ListLatestEntriesWithFlpDecorator = createDecorator({\n abstraction: ListLatestEntriesUseCase,\n decorator: ListLatestEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListLatestEntriesWithFlpDecoratorImpl","folderLevelPermissions","decoratee","ListEntriesFactory","model","params","loader","result","entries","meta","Result","ListLatestEntriesWithFlpDecorator","createDecorator","ListLatestEntriesUseCase","FolderLevelPermissions"],"mappings":";;;;AAWA,MAAMA;IAGF,YACIC,sBAAwD,EAChDC,SAA6C,CACvD;aADUA,SAAS,GAATA;QAER,IAAI,CAAC,kBAAkB,GAAG,IAAIC,mBAAmBF;IACrD;IAEA,MAAM,QACFG,KAAe,EACfC,MAA2B,EACO;QAClC,MAAMC,SAAS,OAAOD;YAClB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC;YACtD,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;YAEtB,OAAOA,OAAO,KAAK;QACvB;QAEA,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAI;YAC/DL;YACA,YAAYE;YACZ,eAAeD;QACnB;QAEA,OAAOK,OAAO,EAAE,CAAC;YAAEF;YAASC;QAAK;IACrC;AACJ;AAEO,MAAME,oCAAoCC,gBAAgB;IAC7D,aAAaC;IACb,WAAWb;IACX,cAAc;QAACc;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListPublishedEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
2
|
+
import type { CmsModel, CmsEntryValues, CmsEntryListParams } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
4
|
+
declare class ListPublishedEntriesWithFlpDecoratorImpl implements ListPublishedEntriesUseCase.Interface {
|
|
5
|
+
private decoratee;
|
|
6
|
+
private readonly listEntriesHandler;
|
|
7
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: ListPublishedEntriesUseCase.Interface);
|
|
8
|
+
execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): ListPublishedEntriesUseCase.Return<T>;
|
|
9
|
+
}
|
|
10
|
+
export declare const ListPublishedEntriesWithFlpDecorator: typeof ListPublishedEntriesWithFlpDecoratorImpl;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { ListPublishedEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
3
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
4
|
+
import { ListEntriesFactory } from "../../../utils/decorators/ListEntriesFactory.js";
|
|
5
|
+
class ListPublishedEntriesWithFlpDecoratorImpl {
|
|
6
|
+
constructor(folderLevelPermissions, decoratee){
|
|
7
|
+
this.decoratee = decoratee;
|
|
8
|
+
this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
|
|
9
|
+
}
|
|
10
|
+
async execute(model, params) {
|
|
11
|
+
const loader = async (params)=>{
|
|
12
|
+
const result = await this.decoratee.execute(model, params);
|
|
13
|
+
if (result.isFail()) throw result.error;
|
|
14
|
+
return result.value;
|
|
15
|
+
};
|
|
16
|
+
const { entries, meta } = await this.listEntriesHandler.execute({
|
|
17
|
+
model,
|
|
18
|
+
dataLoader: loader,
|
|
19
|
+
initialParams: params
|
|
20
|
+
});
|
|
21
|
+
return Result.ok({
|
|
22
|
+
entries,
|
|
23
|
+
meta
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const ListPublishedEntriesWithFlpDecorator = createDecorator({
|
|
28
|
+
abstraction: ListPublishedEntriesUseCase,
|
|
29
|
+
decorator: ListPublishedEntriesWithFlpDecoratorImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
FolderLevelPermissions
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { ListPublishedEntriesWithFlpDecorator };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=ListPublishedEntriesWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListPublishedEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsModel,\n CmsEntryValues,\n CmsEntryListParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListEntriesFactory } from \"~/utils/decorators/ListEntriesFactory.js\";\n\nclass ListPublishedEntriesWithFlpDecoratorImpl implements ListPublishedEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListPublishedEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListPublishedEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n };\n\n const { entries, meta } = await this.listEntriesHandler.execute<T>({\n model,\n dataLoader: loader,\n initialParams: params\n });\n\n return Result.ok({ entries, meta });\n }\n}\n\nexport const ListPublishedEntriesWithFlpDecorator = createDecorator({\n abstraction: ListPublishedEntriesUseCase,\n decorator: ListPublishedEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListPublishedEntriesWithFlpDecoratorImpl","folderLevelPermissions","decoratee","ListEntriesFactory","model","params","loader","result","entries","meta","Result","ListPublishedEntriesWithFlpDecorator","createDecorator","ListPublishedEntriesUseCase","FolderLevelPermissions"],"mappings":";;;;AAWA,MAAMA;IAGF,YACIC,sBAAwD,EAChDC,SAAgD,CAC1D;aADUA,SAAS,GAATA;QAER,IAAI,CAAC,kBAAkB,GAAG,IAAIC,mBAAmBF;IACrD;IAEA,MAAM,QACFG,KAAe,EACfC,MAA2B,EACU;QACrC,MAAMC,SAAS,OAAOD;YAClB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC;YACtD,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;YAEtB,OAAOA,OAAO,KAAK;QACvB;QAEA,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAI;YAC/DL;YACA,YAAYE;YACZ,eAAeD;QACnB;QAEA,OAAOK,OAAO,EAAE,CAAC;YAAEF;YAASC;QAAK;IACrC;AACJ;AAEO,MAAME,uCAAuCC,gBAAgB;IAChE,aAAaC;IACb,WAAWb;IACX,cAAc;QAACc;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { MoveEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/MoveEntry/abstractions.js";
|
|
3
|
+
import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
|
|
4
|
+
import type { CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
5
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
6
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
|
|
7
|
+
declare class MoveEntryWithFlpDecoratorImpl implements MoveEntryUseCase.Interface {
|
|
8
|
+
private folderLevelPermissions;
|
|
9
|
+
private getRevisionById;
|
|
10
|
+
private decoratee;
|
|
11
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, decoratee: MoveEntryUseCase.Interface);
|
|
12
|
+
execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, targetFolderId: string): Promise<Result<import("@webiny/api-headless-cms/types/types").CmsEntry<T>, EntryNotAuthorizedError | import("@webiny/api-headless-cms/domain/contentEntry/errors.js").EntryNotFoundError | import("@webiny/api-headless-cms/domain/contentEntry/errors.js").EntryPersistenceError>>;
|
|
13
|
+
}
|
|
14
|
+
export declare const MoveEntryWithFlpDecorator: typeof MoveEntryWithFlpDecoratorImpl;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { MoveEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/MoveEntry/abstractions.js";
|
|
3
|
+
import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
5
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
6
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
|
|
7
|
+
class MoveEntryWithFlpDecoratorImpl {
|
|
8
|
+
constructor(folderLevelPermissions, getRevisionById, decoratee){
|
|
9
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
10
|
+
this.getRevisionById = getRevisionById;
|
|
11
|
+
this.decoratee = decoratee;
|
|
12
|
+
}
|
|
13
|
+
async execute(model, id, targetFolderId) {
|
|
14
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, id, targetFolderId);
|
|
15
|
+
const entryResult = await this.getRevisionById.execute(model, id);
|
|
16
|
+
if (entryResult.isFail()) return this.decoratee.execute(model, id, targetFolderId);
|
|
17
|
+
const entry = entryResult.value;
|
|
18
|
+
const currentFolderId = entry?.location?.folderId || ROOT_FOLDER;
|
|
19
|
+
if (currentFolderId === targetFolderId) return this.decoratee.execute(model, id, targetFolderId);
|
|
20
|
+
if (currentFolderId !== ROOT_FOLDER) {
|
|
21
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(currentFolderId);
|
|
22
|
+
const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
|
|
23
|
+
permissions,
|
|
24
|
+
rwd: "w"
|
|
25
|
+
});
|
|
26
|
+
if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
|
|
27
|
+
}
|
|
28
|
+
if (targetFolderId !== ROOT_FOLDER) {
|
|
29
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(targetFolderId);
|
|
30
|
+
const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
|
|
31
|
+
permissions,
|
|
32
|
+
rwd: "w"
|
|
33
|
+
});
|
|
34
|
+
if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
|
|
35
|
+
}
|
|
36
|
+
return this.decoratee.execute(model, id, targetFolderId);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const MoveEntryWithFlpDecorator = createDecorator({
|
|
40
|
+
abstraction: MoveEntryUseCase,
|
|
41
|
+
decorator: MoveEntryWithFlpDecoratorImpl,
|
|
42
|
+
dependencies: [
|
|
43
|
+
FolderLevelPermissions,
|
|
44
|
+
GetRevisionByIdUseCase
|
|
45
|
+
]
|
|
46
|
+
});
|
|
47
|
+
export { MoveEntryWithFlpDecorator };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=MoveEntryWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/MoveEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/MoveEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { MoveEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/MoveEntry/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type { CmsEntryValues, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass MoveEntryWithFlpDecoratorImpl implements MoveEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: MoveEntryUseCase.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n targetFolderId: string\n ) {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n // First, get the entry to check its current folder\n const entryResult = await this.getRevisionById.execute<T>(model, id);\n if (entryResult.isFail()) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n const entry = entryResult.value;\n const currentFolderId = 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 if (currentFolderId === targetFolderId) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n // If current folder is not ROOT, check for access\n if (currentFolderId !== ROOT_FOLDER) {\n const permissions =\n await this.folderLevelPermissions.getFolderLevelPermissions(currentFolderId);\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n }\n\n // If target folder is not ROOT, check for access\n if (targetFolderId !== ROOT_FOLDER) {\n const permissions =\n await this.folderLevelPermissions.getFolderLevelPermissions(targetFolderId);\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n }\n\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n}\n\nexport const MoveEntryWithFlpDecorator = createDecorator({\n abstraction: MoveEntryUseCase,\n decorator: MoveEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"names":["MoveEntryWithFlpDecoratorImpl","folderLevelPermissions","getRevisionById","decoratee","model","id","targetFolderId","entryResult","entry","currentFolderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","MoveEntryWithFlpDecorator","createDecorator","MoveEntryUseCase","FolderLevelPermissions","GetRevisionByIdUseCase"],"mappings":";;;;;;AAQA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAqC,CAC/C;aAHUF,sBAAsB,GAAtBA;aACAC,eAAe,GAAfA;aACAC,SAAS,GAATA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,EAAU,EACVC,cAAsB,EACxB;QACE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIF,OAAOC,IAAIC;QAIhD,MAAMC,cAAc,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIH,OAAOC;QACjE,IAAIE,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC,IAAIC;QAGhD,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,kBAAkBD,OAAO,UAAU,YAAYE;QAGrD,IAAID,oBAAoBH,gBACpB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIF,OAAOC,IAAIC;QAIhD,IAAIG,oBAAoBC,aAAa;YACjC,MAAMC,cACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;YAEhE,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;gBAC7ED;gBACA,KAAK;YACT;YAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE/B;QAGA,IAAIR,mBAAmBI,aAAa;YAChC,MAAMC,cACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACL;YAEhE,MAAMM,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;gBAC7ED;gBACA,KAAK;YACT;YAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE/B;QAEA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIV,OAAOC,IAAIC;IAChD;AACJ;AAEO,MAAMS,4BAA4BC,gBAAgB;IACrD,aAAaC;IACb,WAAWjB;IACX,cAAc;QAACkB;QAAwBC;KAAuB;AAClE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js";
|
|
3
|
+
import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
|
|
4
|
+
import type { CmsEntry, CmsEntryValues, CmsModel, UpdateCmsEntryInput, UpdateCmsEntryOptionsInput } from "@webiny/api-headless-cms/types/index.js";
|
|
5
|
+
import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
|
|
6
|
+
declare class UpdateEntryWithFlpDecoratorImpl implements UpdateEntryUseCase.Interface {
|
|
7
|
+
private folderLevelPermissions;
|
|
8
|
+
private getRevisionById;
|
|
9
|
+
private decoratee;
|
|
10
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, decoratee: UpdateEntryUseCase.Interface);
|
|
11
|
+
execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, input: UpdateCmsEntryInput<T>, options?: UpdateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, UpdateEntryUseCase.Error>>;
|
|
12
|
+
}
|
|
13
|
+
export declare const UpdateEntryWithFlpDecorator: typeof UpdateEntryWithFlpDecoratorImpl;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js";
|
|
3
|
+
import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
|
|
4
|
+
import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
|
|
5
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
6
|
+
import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
|
|
7
|
+
class UpdateEntryWithFlpDecoratorImpl {
|
|
8
|
+
constructor(folderLevelPermissions, getRevisionById, decoratee){
|
|
9
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
10
|
+
this.getRevisionById = getRevisionById;
|
|
11
|
+
this.decoratee = decoratee;
|
|
12
|
+
}
|
|
13
|
+
async execute(model, id, input, options) {
|
|
14
|
+
if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, id, input, options);
|
|
15
|
+
const entryResult = await this.getRevisionById.execute(model, id);
|
|
16
|
+
if (entryResult.isFail()) return this.decoratee.execute(model, id, input, options);
|
|
17
|
+
const entry = entryResult.value;
|
|
18
|
+
const folderId = entry?.location?.folderId;
|
|
19
|
+
if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, id, input, options);
|
|
20
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
|
|
21
|
+
const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
|
|
22
|
+
permissions,
|
|
23
|
+
rwd: "w"
|
|
24
|
+
});
|
|
25
|
+
if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
|
|
26
|
+
return this.decoratee.execute(model, id, input, options);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const UpdateEntryWithFlpDecorator = createDecorator({
|
|
30
|
+
abstraction: UpdateEntryUseCase,
|
|
31
|
+
decorator: UpdateEntryWithFlpDecoratorImpl,
|
|
32
|
+
dependencies: [
|
|
33
|
+
FolderLevelPermissions,
|
|
34
|
+
GetRevisionByIdUseCase
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
export { UpdateEntryWithFlpDecorator };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=UpdateEntryWithFlpDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/decorators/UpdateEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/UpdateEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass UpdateEntryWithFlpDecoratorImpl implements UpdateEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: UpdateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>,\n options?: UpdateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UpdateEntryUseCase.Error>> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, id, input, options);\n }\n\n const entryResult = await this.getRevisionById.execute(model, id);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, id, input, options);\n }\n\n const entry = entryResult.value;\n const folderId = entry?.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, id, input, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute<T>(model, id, input, options);\n }\n}\n\nexport const UpdateEntryWithFlpDecorator = createDecorator({\n abstraction: UpdateEntryUseCase,\n decorator: UpdateEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"names":["UpdateEntryWithFlpDecoratorImpl","folderLevelPermissions","getRevisionById","decoratee","model","id","input","options","entryResult","entry","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","UpdateEntryWithFlpDecorator","createDecorator","UpdateEntryUseCase","FolderLevelPermissions","GetRevisionByIdUseCase"],"mappings":";;;;;;AAcA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAuC,CACjD;aAHUF,sBAAsB,GAAtBA;aACAC,eAAe,GAAfA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,KAA6B,EAC7BC,OAAoC,EACkB;QACtD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACH,OAAOC,IAAIC,OAAOC;QAGpD,MAAMC,cAAc,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACJ,OAAOC;QAC9D,IAAIG,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACJ,OAAOC,IAAIC,OAAOC;QAGpD,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACP,OAAOC,IAAIC,OAAOC;QAGpD,MAAMK,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAC7ED;YACA,KAAK;QACT;QAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIX,OAAOC,IAAIC,OAAOC;IACvD;AACJ;AAEO,MAAMS,8BAA8BC,gBAAgB;IACvD,aAAaC;IACb,WAAWlB;IACX,cAAc;QAACmB;QAAwBC;KAAuB;AAClE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CreateEntryWithFlpDecorator } from "./decorators/CreateEntryWithFlpDecorator.js";
|
|
3
|
+
import { CreateEntryRevisionFromWithFlpDecorator } from "./decorators/CreateEntryRevisionFromWithFlpDecorator.js";
|
|
4
|
+
import { UpdateEntryWithFlpDecorator } from "./decorators/UpdateEntryWithFlpDecorator.js";
|
|
5
|
+
import { DeleteEntryWithFlpDecorator } from "./decorators/DeleteEntryWithFlpDecorator.js";
|
|
6
|
+
import { DeleteEntryRevisionWithFlpDecorator } from "./decorators/DeleteEntryRevisionWithFlpDecorator.js";
|
|
7
|
+
import { MoveEntryWithFlpDecorator } from "./decorators/MoveEntryWithFlpDecorator.js";
|
|
8
|
+
import { GetEntryWithFlpDecorator } from "./decorators/GetEntryWithFlpDecorator.js";
|
|
9
|
+
import { GetEntryByIdWithFlpDecorator } from "./decorators/GetEntryByIdWithFlpDecorator.js";
|
|
10
|
+
import { GetLatestEntriesByIdsWithFlpDecorator } from "./decorators/GetLatestEntriesByIdsWithFlpDecorator.js";
|
|
11
|
+
import { GetPublishedEntriesByIdsWithFlpDecorator } from "./decorators/GetPublishedEntriesByIdsWithFlpDecorator.js";
|
|
12
|
+
import { ListLatestEntriesWithFlpDecorator } from "./decorators/ListLatestEntriesWithFlpDecorator.js";
|
|
13
|
+
import { ListPublishedEntriesWithFlpDecorator } from "./decorators/ListPublishedEntriesWithFlpDecorator.js";
|
|
14
|
+
import { ListDeletedEntriesWithFlpDecorator } from "./decorators/ListDeletedEntriesWithFlpDecorator.js";
|
|
15
|
+
import { ListEntriesWithFlpDecorator } from "./decorators/ListEntriesWithFlpDecorator.js";
|
|
16
|
+
const CmsFlpFeature = createFeature({
|
|
17
|
+
name: "Aco/CmsFlp",
|
|
18
|
+
register (container) {
|
|
19
|
+
container.registerDecorator(CreateEntryWithFlpDecorator);
|
|
20
|
+
container.registerDecorator(CreateEntryRevisionFromWithFlpDecorator);
|
|
21
|
+
container.registerDecorator(UpdateEntryWithFlpDecorator);
|
|
22
|
+
container.registerDecorator(DeleteEntryWithFlpDecorator);
|
|
23
|
+
container.registerDecorator(DeleteEntryRevisionWithFlpDecorator);
|
|
24
|
+
container.registerDecorator(MoveEntryWithFlpDecorator);
|
|
25
|
+
container.registerDecorator(GetEntryWithFlpDecorator);
|
|
26
|
+
container.registerDecorator(GetEntryByIdWithFlpDecorator);
|
|
27
|
+
container.registerDecorator(GetLatestEntriesByIdsWithFlpDecorator);
|
|
28
|
+
container.registerDecorator(GetPublishedEntriesByIdsWithFlpDecorator);
|
|
29
|
+
container.registerDecorator(ListEntriesWithFlpDecorator);
|
|
30
|
+
container.registerDecorator(ListLatestEntriesWithFlpDecorator);
|
|
31
|
+
container.registerDecorator(ListPublishedEntriesWithFlpDecorator);
|
|
32
|
+
container.registerDecorator(ListDeletedEntriesWithFlpDecorator);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
export { CmsFlpFeature };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/cms/feature.js","sources":["../../../src/features/cms/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateEntryWithFlpDecorator } from \"./decorators/CreateEntryWithFlpDecorator.js\";\nimport { CreateEntryRevisionFromWithFlpDecorator } from \"./decorators/CreateEntryRevisionFromWithFlpDecorator.js\";\nimport { UpdateEntryWithFlpDecorator } from \"./decorators/UpdateEntryWithFlpDecorator.js\";\nimport { DeleteEntryWithFlpDecorator } from \"./decorators/DeleteEntryWithFlpDecorator.js\";\nimport { DeleteEntryRevisionWithFlpDecorator } from \"./decorators/DeleteEntryRevisionWithFlpDecorator.js\";\nimport { MoveEntryWithFlpDecorator } from \"./decorators/MoveEntryWithFlpDecorator.js\";\nimport { GetEntryWithFlpDecorator } from \"./decorators/GetEntryWithFlpDecorator.js\";\nimport { GetEntryByIdWithFlpDecorator } from \"./decorators/GetEntryByIdWithFlpDecorator.js\";\nimport { GetLatestEntriesByIdsWithFlpDecorator } from \"./decorators/GetLatestEntriesByIdsWithFlpDecorator.js\";\nimport { GetPublishedEntriesByIdsWithFlpDecorator } from \"./decorators/GetPublishedEntriesByIdsWithFlpDecorator.js\";\nimport { ListLatestEntriesWithFlpDecorator } from \"./decorators/ListLatestEntriesWithFlpDecorator.js\";\nimport { ListPublishedEntriesWithFlpDecorator } from \"./decorators/ListPublishedEntriesWithFlpDecorator.js\";\nimport { ListDeletedEntriesWithFlpDecorator } from \"./decorators/ListDeletedEntriesWithFlpDecorator.js\";\nimport { ListEntriesWithFlpDecorator } from \"./decorators/ListEntriesWithFlpDecorator.js\";\n\nexport const CmsFlpFeature = createFeature({\n name: \"Aco/CmsFlp\",\n register(container) {\n // Command decorators\n container.registerDecorator(CreateEntryWithFlpDecorator);\n container.registerDecorator(CreateEntryRevisionFromWithFlpDecorator);\n container.registerDecorator(UpdateEntryWithFlpDecorator);\n container.registerDecorator(DeleteEntryWithFlpDecorator);\n container.registerDecorator(DeleteEntryRevisionWithFlpDecorator);\n container.registerDecorator(MoveEntryWithFlpDecorator);\n\n // Query decorators - single entry\n container.registerDecorator(GetEntryWithFlpDecorator);\n container.registerDecorator(GetEntryByIdWithFlpDecorator);\n\n // Query decorators - multiple entries\n container.registerDecorator(GetLatestEntriesByIdsWithFlpDecorator);\n container.registerDecorator(GetPublishedEntriesByIdsWithFlpDecorator);\n\n // Query decorators - list entries\n container.registerDecorator(ListEntriesWithFlpDecorator);\n container.registerDecorator(ListLatestEntriesWithFlpDecorator);\n container.registerDecorator(ListPublishedEntriesWithFlpDecorator);\n container.registerDecorator(ListDeletedEntriesWithFlpDecorator);\n }\n});\n"],"names":["CmsFlpFeature","createFeature","container","CreateEntryWithFlpDecorator","CreateEntryRevisionFromWithFlpDecorator","UpdateEntryWithFlpDecorator","DeleteEntryWithFlpDecorator","DeleteEntryRevisionWithFlpDecorator","MoveEntryWithFlpDecorator","GetEntryWithFlpDecorator","GetEntryByIdWithFlpDecorator","GetLatestEntriesByIdsWithFlpDecorator","GetPublishedEntriesByIdsWithFlpDecorator","ListEntriesWithFlpDecorator","ListLatestEntriesWithFlpDecorator","ListPublishedEntriesWithFlpDecorator","ListDeletedEntriesWithFlpDecorator"],"mappings":";;;;;;;;;;;;;;;AAgBO,MAAMA,gBAAgBC,cAAc;IACvC,MAAM;IACN,UAASC,SAAS;QAEdA,UAAU,iBAAiB,CAACC;QAC5BD,UAAU,iBAAiB,CAACE;QAC5BF,UAAU,iBAAiB,CAACG;QAC5BH,UAAU,iBAAiB,CAACI;QAC5BJ,UAAU,iBAAiB,CAACK;QAC5BL,UAAU,iBAAiB,CAACM;QAG5BN,UAAU,iBAAiB,CAACO;QAC5BP,UAAU,iBAAiB,CAACQ;QAG5BR,UAAU,iBAAiB,CAACS;QAC5BT,UAAU,iBAAiB,CAACU;QAG5BV,UAAU,iBAAiB,CAACW;QAC5BX,UAAU,iBAAiB,CAACY;QAC5BZ,UAAU,iBAAiB,CAACa;QAC5Bb,UAAU,iBAAiB,CAACc;IAChC;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsFlpFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsFlpFeature } from "./feature.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CreateFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
2
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
3
|
+
import type { AcoContext } from "../../../types.js";
|
|
4
|
+
export declare class CreateFlpUseCase implements UseCaseAbstraction.Interface {
|
|
5
|
+
private context;
|
|
6
|
+
constructor(context: AcoContext);
|
|
7
|
+
execute(folder: Folder): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { Path } from "../../../utils/Path.js";
|
|
3
|
+
import { Permissions, ROOT_FOLDER } from "@webiny/shared-aco";
|
|
4
|
+
class CreateFlpUseCase {
|
|
5
|
+
constructor(context){
|
|
6
|
+
this.context = context;
|
|
7
|
+
}
|
|
8
|
+
async execute(folder) {
|
|
9
|
+
try {
|
|
10
|
+
const { id, type, slug, parentId, permissions } = folder;
|
|
11
|
+
let parentFlp = null;
|
|
12
|
+
if (parentId) {
|
|
13
|
+
parentFlp = await this.context.aco.flp.get(parentId);
|
|
14
|
+
if (!parentFlp) throw new WebinyError("Parent folder level permission not found. Unable to create a new record in the FLP catalog.", "ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND");
|
|
15
|
+
}
|
|
16
|
+
await this.context.aco.flp.create({
|
|
17
|
+
id,
|
|
18
|
+
type,
|
|
19
|
+
slug,
|
|
20
|
+
parentId: parentId ?? ROOT_FOLDER,
|
|
21
|
+
path: Path.create(slug, parentFlp?.path),
|
|
22
|
+
permissions: Permissions.create(permissions, parentFlp)
|
|
23
|
+
});
|
|
24
|
+
} catch (error) {
|
|
25
|
+
throw WebinyError.from(error, {
|
|
26
|
+
message: "Error while creating FLP",
|
|
27
|
+
code: "ERROR_CREATE_FLP_USE_CASE"
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export { CreateFlpUseCase };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=CreateFlpUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/CreateFlp/CreateFlpUseCase.js","sources":["../../../../src/features/flp/CreateFlp/CreateFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { Path } from \"~/utils/Path.js\";\nimport { Permissions, ROOT_FOLDER } from \"@webiny/shared-aco\";\nimport type { CreateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { FolderLevelPermission as IFolderLevelPermission } from \"~/flp/flp.types.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport class CreateFlpUseCase implements UseCaseAbstraction.Interface {\n constructor(private context: AcoContext) {}\n\n async execute(folder: Folder): Promise<void> {\n try {\n const { id, type, slug, parentId, permissions } = folder;\n let parentFlp: IFolderLevelPermission | null = null;\n\n if (parentId) {\n parentFlp = await this.context.aco.flp.get(parentId);\n\n if (!parentFlp) {\n throw new WebinyError(\n \"Parent folder level permission not found. Unable to create a new record in the FLP catalog.\",\n \"ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND\"\n );\n }\n }\n\n await this.context.aco.flp.create({\n id,\n type,\n slug,\n parentId: parentId ?? ROOT_FOLDER,\n path: Path.create(slug, parentFlp?.path),\n permissions: Permissions.create(permissions, parentFlp)\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while creating FLP\",\n code: \"ERROR_CREATE_FLP_USE_CASE\"\n });\n }\n }\n}\n"],"names":["CreateFlpUseCase","context","folder","id","type","slug","parentId","permissions","parentFlp","WebinyError","ROOT_FOLDER","Path","Permissions","error"],"mappings":";;;AAQO,MAAMA;IACT,YAAoBC,OAAmB,CAAE;aAArBA,OAAO,GAAPA;IAAsB;IAE1C,MAAM,QAAQC,MAAc,EAAiB;QACzC,IAAI;YACA,MAAM,EAAEC,EAAE,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,WAAW,EAAE,GAAGL;YAClD,IAAIM,YAA2C;YAE/C,IAAIF,UAAU;gBACVE,YAAY,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAACF;gBAE3C,IAAI,CAACE,WACD,MAAM,IAAIC,YACN,+FACA;YAGZ;YAEA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC9BN;gBACAC;gBACAC;gBACA,UAAUC,YAAYI;gBACtB,MAAMC,KAAK,MAAM,CAACN,MAAMG,WAAW;gBACnC,aAAaI,YAAY,MAAM,CAACL,aAAaC;YACjD;QACJ,EAAE,OAAOK,OAAO;YACZ,MAAMJ,YAAY,IAAI,CAACI,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Folder } from "../../../folder/folder.types.js";
|
|
2
|
+
export interface ICreateFlpUseCase {
|
|
3
|
+
execute: (folder: Folder) => Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
/** Create a folder-level permission. */
|
|
6
|
+
export declare const CreateFlpUseCase: import("@webiny/di").Abstraction<ICreateFlpUseCase>;
|
|
7
|
+
export declare namespace CreateFlpUseCase {
|
|
8
|
+
type Interface = ICreateFlpUseCase;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/CreateFlp/abstractions.js","sources":["../../../../src/features/flp/CreateFlp/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface ICreateFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\n/** Create a folder-level permission. */\nexport const CreateFlpUseCase = createAbstraction<ICreateFlpUseCase>(\"CreateFlpUseCase\");\n\nexport namespace CreateFlpUseCase {\n export type Interface = ICreateFlpUseCase;\n}\n"],"names":["CreateFlpUseCase","createAbstraction"],"mappings":";AASO,MAAMA,mBAAmBC,kBAAqC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Container } from "@webiny/di";
|
|
2
|
+
import type { AcoContext } from "../../../types.js";
|
|
3
|
+
interface LegacyDeps {
|
|
4
|
+
context: AcoContext;
|
|
5
|
+
}
|
|
6
|
+
export declare const CreateFlpFeature: {
|
|
7
|
+
name: string;
|
|
8
|
+
register(container: Container, context: LegacyDeps): void;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CreateFlpUseCase } from "./CreateFlpUseCase.js";
|
|
3
|
+
import { CreateFlpUseCase as external_abstractions_js_CreateFlpUseCase } from "./abstractions.js";
|
|
4
|
+
const CreateFlpFeature = createFeature({
|
|
5
|
+
name: "CreateFlp",
|
|
6
|
+
register (container, deps) {
|
|
7
|
+
container.registerFactory(external_abstractions_js_CreateFlpUseCase, ()=>new CreateFlpUseCase(deps.context));
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
export { CreateFlpFeature };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/flp/CreateFlp/feature.js","sources":["../../../../src/features/flp/CreateFlp/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { CreateFlpUseCase } from \"./CreateFlpUseCase.js\";\nimport { CreateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\ninterface LegacyDeps {\n context: AcoContext;\n}\n\nexport const CreateFlpFeature = createFeature({\n name: \"CreateFlp\",\n register(container: Container, deps: LegacyDeps) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new CreateFlpUseCase(deps.context);\n });\n }\n});\n"],"names":["CreateFlpFeature","createFeature","container","deps","UseCaseAbstraction","CreateFlpUseCase"],"mappings":";;;AAUO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAoB,EAAEC,IAAgB;QAC3CD,UAAU,eAAe,CAACE,2CAAoB,IACnC,IAAIC,iBAAiBF,KAAK,OAAO;IAEhD;AACJ"}
|