@webiny/api-aco 6.0.0-beta.0 → 6.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -28
- package/constants.d.ts +2 -0
- package/constants.js +4 -0
- package/constants.js.map +1 -0
- package/createAcoContext.d.ts +4 -2
- package/createAcoContext.js +103 -168
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +3 -2
- package/createAcoGraphQL.js +46 -60
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoStorageOperations.d.ts +8 -5
- package/createAcoStorageOperations.js +5 -17
- package/createAcoStorageOperations.js.map +1 -1
- package/createAcoTasks.d.ts +1 -0
- package/createAcoTasks.js +15 -0
- package/createAcoTasks.js.map +1 -0
- package/domain/folder/abstractions.d.ts +9 -0
- package/domain/folder/abstractions.js +8 -0
- package/domain/folder/abstractions.js.map +1 -0
- package/domain/folder/errors.d.ts +29 -0
- package/domain/folder/errors.js +56 -0
- package/domain/folder/errors.js.map +1 -0
- package/domain/folder/folder.model.d.ts +9 -0
- package/domain/folder/folder.model.js +42 -0
- package/domain/folder/folder.model.js.map +1 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +43 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js +36 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +43 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +45 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +41 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.js +41 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +45 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +44 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js +35 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js +63 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +15 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +43 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/feature.d.ts +1 -0
- package/features/cms/feature.js +43 -0
- package/features/cms/feature.js.map +1 -0
- package/features/cms/index.d.ts +1 -0
- package/features/cms/index.js +3 -0
- package/features/cms/index.js.map +1 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js +41 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
- package/features/flp/CreateFlp/abstractions.d.ts +8 -0
- package/features/flp/CreateFlp/abstractions.js +7 -0
- package/features/flp/CreateFlp/abstractions.js.map +1 -0
- package/features/flp/CreateFlp/feature.d.ts +6 -0
- package/features/flp/CreateFlp/feature.js +13 -0
- package/features/flp/CreateFlp/feature.js.map +1 -0
- package/features/flp/CreateFlp/index.d.ts +2 -0
- package/features/flp/CreateFlp/index.js +4 -0
- package/features/flp/CreateFlp/index.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +14 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +37 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +1 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js +10 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
- package/features/flp/CreateFlpOnFolderCreated/index.js +3 -0
- package/features/flp/CreateFlpOnFolderCreated/index.js.map +1 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js +23 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
- package/features/flp/DeleteFlp/abstractions.d.ts +8 -0
- package/features/flp/DeleteFlp/abstractions.js +7 -0
- package/features/flp/DeleteFlp/abstractions.js.map +1 -0
- package/features/flp/DeleteFlp/feature.d.ts +6 -0
- package/features/flp/DeleteFlp/feature.js +13 -0
- package/features/flp/DeleteFlp/feature.js.map +1 -0
- package/features/flp/DeleteFlp/index.d.ts +2 -0
- package/features/flp/DeleteFlp/index.js +4 -0
- package/features/flp/DeleteFlp/index.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +14 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +37 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js +10 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.js +3 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +133 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/abstractions.d.ts +25 -0
- package/features/flp/FolderLevelPermissions/abstractions.js +4 -0
- package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/feature.d.ts +1 -0
- package/features/flp/FolderLevelPermissions/feature.js +10 -0
- package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
- package/features/flp/FolderLevelPermissions/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/index.js +4 -0
- package/features/flp/FolderLevelPermissions/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +41 -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 +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +34 -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 +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +70 -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 +13 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +38 -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 +3 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +4 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/index.js +7 -0
- package/features/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
- package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
- package/features/flp/GetFlp/GetFlpUseCase.js +10 -0
- package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
- package/features/flp/GetFlp/abstractions.d.ts +8 -0
- package/features/flp/GetFlp/abstractions.js +4 -0
- package/features/flp/GetFlp/abstractions.js.map +1 -0
- package/features/flp/GetFlp/feature.d.ts +1 -0
- package/features/flp/GetFlp/feature.js +13 -0
- package/features/flp/GetFlp/feature.js.map +1 -0
- package/features/flp/GetFlp/index.d.ts +1 -0
- package/features/flp/GetFlp/index.js +3 -0
- package/features/flp/GetFlp/index.js.map +1 -0
- package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js +10 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
- package/features/flp/ListFlps/abstractions.d.ts +16 -0
- package/features/flp/ListFlps/abstractions.js +4 -0
- package/features/flp/ListFlps/abstractions.js.map +1 -0
- package/features/flp/ListFlps/feature.d.ts +1 -0
- package/features/flp/ListFlps/feature.js +13 -0
- package/features/flp/ListFlps/feature.js.map +1 -0
- package/features/flp/ListFlps/index.d.ts +1 -0
- package/features/flp/ListFlps/index.js +3 -0
- package/features/flp/ListFlps/index.js.map +1 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +19 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js +203 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
- package/features/flp/UpdateFlp/abstractions.d.ts +14 -0
- package/features/flp/UpdateFlp/abstractions.js +7 -0
- package/features/flp/UpdateFlp/abstractions.js.map +1 -0
- package/features/flp/UpdateFlp/feature.d.ts +6 -0
- package/features/flp/UpdateFlp/feature.js +13 -0
- package/features/flp/UpdateFlp/feature.js.map +1 -0
- package/features/flp/UpdateFlp/index.d.ts +2 -0
- package/features/flp/UpdateFlp/index.js +4 -0
- package/features/flp/UpdateFlp/index.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +14 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +39 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js +10 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.js +3 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +1 -0
- package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js +108 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js +39 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
- package/features/folder/CreateFolder/abstractions.d.ts +55 -0
- package/features/folder/CreateFolder/abstractions.js +21 -0
- package/features/folder/CreateFolder/abstractions.js.map +1 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +44 -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 +19 -0
- package/features/folder/CreateFolder/events.js.map +1 -0
- package/features/folder/CreateFolder/feature.d.ts +1 -0
- package/features/folder/CreateFolder/feature.js +14 -0
- package/features/folder/CreateFolder/feature.js.map +1 -0
- package/features/folder/CreateFolder/index.d.ts +2 -0
- package/features/folder/CreateFolder/index.js +4 -0
- package/features/folder/CreateFolder/index.js.map +1 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js +30 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js +55 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
- package/features/folder/DeleteFolder/abstractions.d.ts +55 -0
- package/features/folder/DeleteFolder/abstractions.js +21 -0
- package/features/folder/DeleteFolder/abstractions.js.map +1 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +28 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/DeleteFolder/events.d.ts +10 -0
- package/features/folder/DeleteFolder/events.js +19 -0
- package/features/folder/DeleteFolder/events.js.map +1 -0
- package/features/folder/DeleteFolder/feature.d.ts +1 -0
- package/features/folder/DeleteFolder/feature.js +14 -0
- package/features/folder/DeleteFolder/feature.js.map +1 -0
- package/features/folder/DeleteFolder/index.d.ts +2 -0
- package/features/folder/DeleteFolder/index.js +4 -0
- package/features/folder/DeleteFolder/index.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +56 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +20 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js +4 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js +10 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmpty/index.js +3 -0
- package/features/folder/EnsureFolderIsEmpty/index.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +29 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +7 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +17 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +3 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +56 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +10 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +3 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +1 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js +88 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js +17 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
- package/features/folder/GetAncestors/abstractions.d.ts +38 -0
- package/features/folder/GetAncestors/abstractions.js +15 -0
- package/features/folder/GetAncestors/abstractions.js.map +1 -0
- package/features/folder/GetAncestors/feature.d.ts +1 -0
- package/features/folder/GetAncestors/feature.js +12 -0
- package/features/folder/GetAncestors/feature.js.map +1 -0
- package/features/folder/GetAncestors/index.d.ts +2 -0
- package/features/folder/GetAncestors/index.js +4 -0
- package/features/folder/GetAncestors/index.js.map +1 -0
- package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
- package/features/folder/GetFolder/GetFolderRepository.js +31 -0
- package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
- package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
- package/features/folder/GetFolder/GetFolderUseCase.js +17 -0
- package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
- package/features/folder/GetFolder/abstractions.d.ts +54 -0
- package/features/folder/GetFolder/abstractions.js +21 -0
- package/features/folder/GetFolder/abstractions.js.map +1 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +37 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolder/feature.d.ts +1 -0
- package/features/folder/GetFolder/feature.js +14 -0
- package/features/folder/GetFolder/feature.js.map +1 -0
- package/features/folder/GetFolder/index.d.ts +2 -0
- package/features/folder/GetFolder/index.js +4 -0
- package/features/folder/GetFolder/index.js.map +1 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +103 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +17 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
- package/features/folder/GetFolderHierarchy/abstractions.d.ts +36 -0
- package/features/folder/GetFolderHierarchy/abstractions.js +15 -0
- package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +64 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/feature.d.ts +1 -0
- package/features/folder/GetFolderHierarchy/feature.js +14 -0
- package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
- package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
- package/features/folder/GetFolderHierarchy/index.js +4 -0
- package/features/folder/GetFolderHierarchy/index.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +68 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +10 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +7 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js +10 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.js +3 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +1 -0
- package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
- package/features/folder/ListFolders/ListFoldersRepository.js +54 -0
- package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
- package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js +17 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
- package/features/folder/ListFolders/abstractions.d.ts +42 -0
- package/features/folder/ListFolders/abstractions.js +15 -0
- package/features/folder/ListFolders/abstractions.js.map +1 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +77 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/ListFolders/feature.d.ts +1 -0
- package/features/folder/ListFolders/feature.js +14 -0
- package/features/folder/ListFolders/feature.js.map +1 -0
- package/features/folder/ListFolders/index.d.ts +2 -0
- package/features/folder/ListFolders/index.js +4 -0
- package/features/folder/ListFolders/index.js.map +1 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js +110 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js +55 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
- package/features/folder/UpdateFolder/abstractions.d.ts +60 -0
- package/features/folder/UpdateFolder/abstractions.js +21 -0
- package/features/folder/UpdateFolder/abstractions.js.map +1 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +13 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +77 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/UpdateFolder/events.d.ts +10 -0
- package/features/folder/UpdateFolder/events.js +19 -0
- package/features/folder/UpdateFolder/events.js.map +1 -0
- package/features/folder/UpdateFolder/feature.d.ts +1 -0
- package/features/folder/UpdateFolder/feature.js +14 -0
- package/features/folder/UpdateFolder/feature.js.map +1 -0
- package/features/folder/UpdateFolder/index.d.ts +2 -0
- package/features/folder/UpdateFolder/index.js +4 -0
- package/features/folder/UpdateFolder/index.js.map +1 -0
- package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
- package/features/folder/shared/EntryToFolderMapper.js +22 -0
- package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
- package/features/folder/shared/abstractions.d.ts +5 -0
- package/features/folder/shared/abstractions.js +4 -0
- package/features/folder/shared/abstractions.js.map +1 -0
- package/filter/filter.crud.d.ts +2 -2
- package/filter/filter.crud.js +6 -67
- package/filter/filter.crud.js.map +1 -1
- package/filter/filter.gql.d.ts +2 -2
- package/filter/filter.gql.js +16 -22
- package/filter/filter.gql.js.map +1 -1
- package/filter/filter.model.d.ts +9 -2
- package/filter/filter.model.js +38 -121
- package/filter/filter.model.js.map +1 -1
- package/filter/filter.so.d.ts +2 -2
- package/filter/filter.so.js +38 -32
- package/filter/filter.so.js.map +1 -1
- package/filter/filter.types.d.ts +4 -32
- package/filter/filter.types.js +1 -7
- package/filter/filter.types.js.map +1 -1
- package/flp/flp.crud.d.ts +7 -0
- package/flp/flp.crud.js +91 -0
- package/flp/flp.crud.js.map +1 -0
- package/flp/flp.so.d.ts +20 -0
- package/flp/flp.so.js +220 -0
- package/flp/flp.so.js.map +1 -0
- package/flp/flp.types.d.ts +93 -0
- package/flp/flp.types.js +3 -0
- package/flp/flp.types.js.map +1 -0
- package/flp/index.d.ts +3 -0
- package/flp/index.js +5 -0
- package/flp/index.js.map +1 -0
- package/flp/tasks/createFlp.task.d.ts +16 -0
- package/flp/tasks/createFlp.task.js +35 -0
- package/flp/tasks/createFlp.task.js.map +1 -0
- package/flp/tasks/deleteFlp.task.d.ts +16 -0
- package/flp/tasks/deleteFlp.task.js +35 -0
- package/flp/tasks/deleteFlp.task.js.map +1 -0
- package/flp/tasks/index.d.ts +5 -0
- package/flp/tasks/index.js +19 -0
- package/flp/tasks/index.js.map +1 -0
- package/flp/tasks/syncFlp.task.d.ts +20 -0
- package/flp/tasks/syncFlp.task.js +127 -0
- package/flp/tasks/syncFlp.task.js.map +1 -0
- package/flp/tasks/updateFlp.task.d.ts +16 -0
- package/flp/tasks/updateFlp.task.js +40 -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 +7 -0
- package/folder/createFolderTypeDefs.js +186 -0
- package/folder/createFolderTypeDefs.js.map +1 -0
- package/folder/folder.gql.d.ts +4 -3
- package/folder/folder.gql.js +143 -185
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +40 -79
- package/folder/folder.types.js +1 -5
- package/folder/folder.types.js.map +1 -1
- package/index.d.ts +5 -6
- package/index.js +7 -62
- package/index.js.map +1 -1
- package/package.json +43 -40
- package/types.d.ts +22 -76
- package/types.js +2 -53
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +10 -0
- package/utils/FoldersCacheFactory.js +24 -0
- package/utils/FoldersCacheFactory.js.map +1 -0
- package/utils/ListCache.d.ts +23 -0
- package/utils/ListCache.js +23 -0
- package/utils/ListCache.js.map +1 -0
- package/utils/Path.d.ts +3 -0
- package/utils/Path.js +11 -0
- package/utils/Path.js.map +1 -0
- package/utils/acoRecordId.js +2 -10
- package/utils/acoRecordId.js.map +1 -1
- package/utils/compress.d.ts +4 -0
- package/utils/compress.js +12 -0
- package/utils/compress.js.map +1 -0
- package/utils/createListSort.d.ts +3 -2
- package/utils/createListSort.js +4 -9
- package/utils/createListSort.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +2 -2
- package/utils/createOperationsWrapper.js +7 -12
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +2 -2
- package/utils/decorators/CmsEntriesCrudDecorators.js +70 -98
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
- package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js +23 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
- package/utils/decorators/ListEntriesFactory.d.ts +17 -0
- package/utils/decorators/ListEntriesFactory.js +106 -0
- package/utils/decorators/ListEntriesFactory.js.map +1 -0
- package/utils/decorators/hasRootFolderId.d.ts +7 -0
- package/utils/decorators/hasRootFolderId.js +19 -0
- package/utils/decorators/hasRootFolderId.js.map +1 -0
- package/utils/decorators/isPageModel.d.ts +1 -1
- package/utils/decorators/isPageModel.js +1 -8
- package/utils/decorators/isPageModel.js.map +1 -1
- package/utils/ensureAuthentication.d.ts +2 -2
- package/utils/ensureAuthentication.js +8 -12
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +1 -1
- package/utils/pickEntryFieldValues.js +3 -10
- package/utils/pickEntryFieldValues.js.map +1 -1
- package/utils/resolve.d.ts +1 -2
- package/utils/resolve.js +4 -20
- package/utils/resolve.js.map +1 -1
- package/apps/AcoApp.d.ts +0 -21
- package/apps/AcoApp.js +0 -143
- package/apps/AcoApp.js.map +0 -1
- package/apps/AcoApps.d.ts +0 -10
- package/apps/AcoApps.js +0 -75
- package/apps/AcoApps.js.map +0 -1
- package/apps/app.gql.d.ts +0 -3
- package/apps/app.gql.js +0 -59
- package/apps/app.gql.js.map +0 -1
- package/apps/index.d.ts +0 -2
- package/apps/index.js +0 -29
- package/apps/index.js.map +0 -1
- package/createAcoHooks.d.ts +0 -2
- package/createAcoHooks.js +0 -17
- package/createAcoHooks.js.map +0 -1
- package/createAcoModels.d.ts +0 -2
- package/createAcoModels.js +0 -29
- package/createAcoModels.js.map +0 -1
- package/folder/folder.crud.d.ts +0 -10
- package/folder/folder.crud.js +0 -306
- package/folder/folder.crud.js.map +0 -1
- package/folder/folder.model.d.ts +0 -2
- package/folder/folder.model.js +0 -110
- package/folder/folder.model.js.map +0 -1
- package/folder/folder.so.d.ts +0 -3
- package/folder/folder.so.js +0 -170
- package/folder/folder.so.js.map +0 -1
- package/folder/onFolderBeforeDeleteAco.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteAco.hook.js +0 -67
- package/folder/onFolderBeforeDeleteAco.hook.js.map +0 -1
- package/folder/onFolderBeforeDeleteFm.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteFm.hook.js +0 -49
- package/folder/onFolderBeforeDeleteFm.hook.js.map +0 -1
- package/folder/onFolderBeforeDeleteHcms.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteHcms.hook.js +0 -56
- package/folder/onFolderBeforeDeleteHcms.hook.js.map +0 -1
- package/plugins/AcoAppModifierPlugin.d.ts +0 -43
- package/plugins/AcoAppModifierPlugin.js +0 -58
- package/plugins/AcoAppModifierPlugin.js.map +0 -1
- package/plugins/AcoAppRegisterPlugin.d.ts +0 -8
- package/plugins/AcoAppRegisterPlugin.js +0 -21
- package/plugins/AcoAppRegisterPlugin.js.map +0 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -29
- package/plugins/index.js.map +0 -1
- package/record/graphql/createAppResolvers.d.ts +0 -14
- package/record/graphql/createAppResolvers.js +0 -115
- package/record/graphql/createAppResolvers.js.map +0 -1
- package/record/graphql/createAppSchema.d.ts +0 -9
- package/record/graphql/createAppSchema.js +0 -146
- package/record/graphql/createAppSchema.js.map +0 -1
- package/record/record.crud.d.ts +0 -3
- package/record/record.crud.js +0 -128
- package/record/record.crud.js.map +0 -1
- package/record/record.gql.d.ts +0 -8
- package/record/record.gql.js +0 -43
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -8
- package/record/record.model.js +0 -91
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -3
- package/record/record.so.js +0 -147
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -144
- package/record/record.types.js +0 -7
- package/record/record.types.js.map +0 -1
- package/utils/FolderLevelPermissions.d.ts +0 -74
- package/utils/FolderLevelPermissions.js +0 -386
- package/utils/FolderLevelPermissions.js.map +0 -1
- package/utils/createModelField.d.ts +0 -5
- package/utils/createModelField.js +0 -39
- package/utils/createModelField.js.map +0 -1
- package/utils/decorators/constants.d.ts +0 -1
- package/utils/decorators/constants.js +0 -9
- package/utils/decorators/constants.js.map +0 -1
- package/utils/decorators/createFolderType.d.ts +0 -2
- package/utils/decorators/createFolderType.js +0 -18
- package/utils/decorators/createFolderType.js.map +0 -1
- package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +0 -23
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js +0 -47
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +0 -1
- package/utils/decorators/filterEntriesByFolderFactory.d.ts +0 -6
- package/utils/decorators/filterEntriesByFolderFactory.js +0 -37
- package/utils/decorators/filterEntriesByFolderFactory.js.map +0 -1
- package/utils/decorators/where.d.ts +0 -15
- package/utils/decorators/where.js +0 -60
- package/utils/decorators/where.js.map +0 -1
- package/utils/getFolderAndItsAncestors.d.ts +0 -7
- package/utils/getFolderAndItsAncestors.js +0 -53
- package/utils/getFolderAndItsAncestors.js.map +0 -1
- package/utils/modelFactory.d.ts +0 -13
- package/utils/modelFactory.js +0 -22
- package/utils/modelFactory.js.map +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GetFolderRepository } from "./GetFolderRepository.js";
|
|
3
|
+
import { GetFolderUseCase } from "./GetFolderUseCase.js";
|
|
4
|
+
import { GetFolderWithFolderLevelPermissions } from "./decorators/GetFolderWithFolderLevelPermissions.js";
|
|
5
|
+
export const GetFolderFeature = createFeature({
|
|
6
|
+
name: "GetFolder",
|
|
7
|
+
register(container) {
|
|
8
|
+
container.register(GetFolderRepository).inSingletonScope();
|
|
9
|
+
container.register(GetFolderUseCase);
|
|
10
|
+
container.registerDecorator(GetFolderWithFolderLevelPermissions);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","GetFolderRepository","GetFolderUseCase","GetFolderWithFolderLevelPermissions","GetFolderFeature","name","register","container","inSingletonScope","registerDecorator"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { GetFolderRepository } from \"./GetFolderRepository.js\";\nimport { GetFolderUseCase } from \"./GetFolderUseCase.js\";\nimport { GetFolderWithFolderLevelPermissions } from \"./decorators/GetFolderWithFolderLevelPermissions.js\";\n\nexport const GetFolderFeature = createFeature({\n name: \"GetFolder\",\n register(container: Container) {\n container.register(GetFolderRepository).inSingletonScope();\n container.register(GetFolderUseCase);\n container.registerDecorator(GetFolderWithFolderLevelPermissions);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,mCAAmC;AAE5C,OAAO,MAAMC,gBAAgB,GAAGJ,aAAa,CAAC;EAC1CK,IAAI,EAAE,WAAW;EACjBC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACL,mBAAmB,CAAC,CAACO,gBAAgB,CAAC,CAAC;IAC1DD,SAAS,CAACD,QAAQ,CAACJ,gBAAgB,CAAC;IACpCK,SAAS,CAACE,iBAAiB,CAACN,mCAAmC,CAAC;EACpE;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GetFolderFeature","FolderAfterGetHandler","FolderBeforeGetHandler","GetFolderUseCase"],"sources":["index.ts"],"sourcesContent":["export { GetFolderFeature } from \"./feature.js\";\nexport { FolderAfterGetHandler, FolderBeforeGetHandler, GetFolderUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,qBAAqB,EAAEC,sBAAsB,EAAEC,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetFolderHierarchyRepository as RepositoryAbstraction, type IGetFolderHierarchyRepository } from "./abstractions.js";
|
|
3
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
4
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
5
|
+
import { FolderModel } from "../../../domain/folder/abstractions.js";
|
|
6
|
+
import type { GetFolderHierarchyParams, GetFolderHierarchyResponse } from "../../../folder/folder.types.js";
|
|
7
|
+
declare class GetFolderHierarchyRepositoryImpl implements IGetFolderHierarchyRepository {
|
|
8
|
+
private getEntryById;
|
|
9
|
+
private listLatestEntries;
|
|
10
|
+
private folderModel;
|
|
11
|
+
constructor(getEntryById: GetEntryByIdUseCase.Interface, listLatestEntries: ListLatestEntriesUseCase.Interface, folderModel: FolderModel.Interface);
|
|
12
|
+
execute(params: GetFolderHierarchyParams): Promise<Result<GetFolderHierarchyResponse, RepositoryAbstraction.Error>>;
|
|
13
|
+
private getFolderParent;
|
|
14
|
+
}
|
|
15
|
+
export declare const GetFolderHierarchyRepository: typeof GetFolderHierarchyRepositoryImpl & {
|
|
16
|
+
__abstraction: import("@webiny/di").Abstraction<IGetFolderHierarchyRepository>;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetFolderHierarchyRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
4
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
5
|
+
import { EntryId } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
6
|
+
import { FolderModel } from "../../../domain/folder/abstractions.js";
|
|
7
|
+
import { EntryToFolderMapper } from "../shared/EntryToFolderMapper.js";
|
|
8
|
+
import { FolderPersistenceError } from "../../../domain/folder/errors.js";
|
|
9
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
10
|
+
const FIXED_FOLDER_LISTING_LIMIT = 10_000;
|
|
11
|
+
class GetFolderHierarchyRepositoryImpl {
|
|
12
|
+
constructor(getEntryById, listLatestEntries, folderModel) {
|
|
13
|
+
this.getEntryById = getEntryById;
|
|
14
|
+
this.listLatestEntries = listLatestEntries;
|
|
15
|
+
this.folderModel = folderModel;
|
|
16
|
+
}
|
|
17
|
+
async execute(params) {
|
|
18
|
+
const parents = [];
|
|
19
|
+
const siblings = [];
|
|
20
|
+
|
|
21
|
+
// Get root folders (siblings at root level)
|
|
22
|
+
const rootFoldersResult = await this.listLatestEntries.execute(this.folderModel, {
|
|
23
|
+
where: {
|
|
24
|
+
values: {
|
|
25
|
+
type: params.type,
|
|
26
|
+
parentId: null
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
limit: FIXED_FOLDER_LISTING_LIMIT
|
|
30
|
+
});
|
|
31
|
+
if (rootFoldersResult.isFail()) {
|
|
32
|
+
return Result.fail(new FolderPersistenceError(rootFoldersResult.error));
|
|
33
|
+
}
|
|
34
|
+
const {
|
|
35
|
+
entries: rootEntries
|
|
36
|
+
} = rootFoldersResult.value;
|
|
37
|
+
siblings.push(...rootEntries.map(entry => EntryToFolderMapper.toFolder(entry)));
|
|
38
|
+
if (params.id === ROOT_FOLDER) {
|
|
39
|
+
return Result.ok({
|
|
40
|
+
parents,
|
|
41
|
+
siblings
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Get the folder by id
|
|
46
|
+
const entryId = EntryId.from(params.id);
|
|
47
|
+
const folderResult = await this.getEntryById.execute(this.folderModel, entryId.toString());
|
|
48
|
+
if (folderResult.isFail()) {
|
|
49
|
+
return Result.fail(new FolderPersistenceError(folderResult.error));
|
|
50
|
+
}
|
|
51
|
+
const folder = EntryToFolderMapper.toFolder(folderResult.value);
|
|
52
|
+
parents.push(folder);
|
|
53
|
+
|
|
54
|
+
// Recursively get all parent folders
|
|
55
|
+
const getFolderParentResult = await this.getFolderParent(folder, parents);
|
|
56
|
+
if (getFolderParentResult.isFail()) {
|
|
57
|
+
return Result.fail(getFolderParentResult.error);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Get all child folders of all parents (these are siblings at different levels)
|
|
61
|
+
const parentIds = parents.map(f => f.id);
|
|
62
|
+
const childFoldersResult = await this.listLatestEntries.execute(this.folderModel, {
|
|
63
|
+
where: {
|
|
64
|
+
entryId_not_in: parentIds,
|
|
65
|
+
values: {
|
|
66
|
+
type: folder.type,
|
|
67
|
+
parentId_in: parentIds
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
limit: FIXED_FOLDER_LISTING_LIMIT
|
|
71
|
+
});
|
|
72
|
+
if (childFoldersResult.isFail()) {
|
|
73
|
+
return Result.fail(new FolderPersistenceError(childFoldersResult.error));
|
|
74
|
+
}
|
|
75
|
+
const {
|
|
76
|
+
entries: childEntries
|
|
77
|
+
} = childFoldersResult.value;
|
|
78
|
+
siblings.push(...childEntries.map(entry => EntryToFolderMapper.toFolder(entry)));
|
|
79
|
+
return Result.ok({
|
|
80
|
+
parents,
|
|
81
|
+
siblings
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
async getFolderParent(folder, parents) {
|
|
85
|
+
let currentFolder = folder;
|
|
86
|
+
while (currentFolder.parentId) {
|
|
87
|
+
const parentResult = await this.getEntryById.execute(this.folderModel, EntryId.from(currentFolder.parentId).toString());
|
|
88
|
+
if (parentResult.isFail()) {
|
|
89
|
+
return Result.fail(new FolderPersistenceError(parentResult.error));
|
|
90
|
+
}
|
|
91
|
+
const parentFolder = EntryToFolderMapper.toFolder(parentResult.value);
|
|
92
|
+
parents.push(parentFolder);
|
|
93
|
+
currentFolder = parentFolder;
|
|
94
|
+
}
|
|
95
|
+
return Result.ok();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export const GetFolderHierarchyRepository = RepositoryAbstraction.createImplementation({
|
|
99
|
+
implementation: GetFolderHierarchyRepositoryImpl,
|
|
100
|
+
dependencies: [GetEntryByIdUseCase, ListLatestEntriesUseCase, FolderModel]
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=GetFolderHierarchyRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","GetFolderHierarchyRepository","RepositoryAbstraction","GetEntryByIdUseCase","ListLatestEntriesUseCase","EntryId","FolderModel","EntryToFolderMapper","FolderPersistenceError","ROOT_FOLDER","FIXED_FOLDER_LISTING_LIMIT","GetFolderHierarchyRepositoryImpl","constructor","getEntryById","listLatestEntries","folderModel","execute","params","parents","siblings","rootFoldersResult","where","values","type","parentId","limit","isFail","fail","error","entries","rootEntries","value","push","map","entry","toFolder","id","ok","entryId","from","folderResult","toString","folder","getFolderParentResult","getFolderParent","parentIds","f","childFoldersResult","entryId_not_in","parentId_in","childEntries","currentFolder","parentResult","parentFolder","createImplementation","implementation","dependencies"],"sources":["GetFolderHierarchyRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetFolderHierarchyRepository as RepositoryAbstraction,\n type IGetFolderHierarchyRepository\n} from \"./abstractions.js\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport { EntryId } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport { FolderModel } from \"~/domain/folder/abstractions.js\";\nimport type {\n CmsEntryFolder,\n Folder,\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport { EntryToFolderMapper } from \"../shared/EntryToFolderMapper.js\";\nimport { FolderPersistenceError } from \"~/domain/folder/errors.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\nconst FIXED_FOLDER_LISTING_LIMIT = 10_000;\n\nclass GetFolderHierarchyRepositoryImpl implements IGetFolderHierarchyRepository {\n constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private folderModel: FolderModel.Interface\n ) {}\n\n async execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, RepositoryAbstraction.Error>> {\n const parents: Folder[] = [];\n const siblings: Folder[] = [];\n\n // Get root folders (siblings at root level)\n const rootFoldersResult = await this.listLatestEntries.execute<CmsEntryFolder>(\n this.folderModel,\n {\n where: {\n values: {\n type: params.type,\n parentId: null\n }\n },\n limit: FIXED_FOLDER_LISTING_LIMIT\n }\n );\n\n if (rootFoldersResult.isFail()) {\n return Result.fail(new FolderPersistenceError(rootFoldersResult.error));\n }\n\n const { entries: rootEntries } = rootFoldersResult.value;\n siblings.push(...rootEntries.map(entry => EntryToFolderMapper.toFolder(entry)));\n\n if (params.id === ROOT_FOLDER) {\n return Result.ok({\n parents,\n siblings\n });\n }\n\n // Get the folder by id\n const entryId = EntryId.from(params.id);\n const folderResult = await this.getEntryById.execute<CmsEntryFolder>(\n this.folderModel,\n entryId.toString()\n );\n\n if (folderResult.isFail()) {\n return Result.fail(new FolderPersistenceError(folderResult.error));\n }\n\n const folder = EntryToFolderMapper.toFolder(folderResult.value);\n parents.push(folder);\n\n // Recursively get all parent folders\n const getFolderParentResult = await this.getFolderParent(folder, parents);\n if (getFolderParentResult.isFail()) {\n return Result.fail(getFolderParentResult.error);\n }\n\n // Get all child folders of all parents (these are siblings at different levels)\n const parentIds = parents.map(f => f.id);\n\n const childFoldersResult = await this.listLatestEntries.execute<CmsEntryFolder>(\n this.folderModel,\n {\n where: {\n entryId_not_in: parentIds,\n values: {\n type: folder.type,\n parentId_in: parentIds\n }\n },\n limit: FIXED_FOLDER_LISTING_LIMIT\n }\n );\n\n if (childFoldersResult.isFail()) {\n return Result.fail(new FolderPersistenceError(childFoldersResult.error));\n }\n\n const { entries: childEntries } = childFoldersResult.value;\n siblings.push(...childEntries.map(entry => EntryToFolderMapper.toFolder(entry)));\n\n return Result.ok({\n parents,\n siblings\n });\n }\n\n private async getFolderParent(\n folder: Folder,\n parents: Folder[]\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n let currentFolder = folder;\n\n while (currentFolder.parentId) {\n const parentResult = await this.getEntryById.execute<CmsEntryFolder>(\n this.folderModel,\n EntryId.from(currentFolder.parentId).toString()\n );\n\n if (parentResult.isFail()) {\n return Result.fail(new FolderPersistenceError(parentResult.error));\n }\n\n const parentFolder = EntryToFolderMapper.toFolder(parentResult.value);\n parents.push(parentFolder);\n currentFolder = parentFolder;\n }\n\n return Result.ok();\n }\n}\n\nexport const GetFolderHierarchyRepository = RepositoryAbstraction.createImplementation({\n implementation: GetFolderHierarchyRepositoryImpl,\n dependencies: [GetEntryByIdUseCase, ListLatestEntriesUseCase, FolderModel]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,4BAA4B,IAAIC,qBAAqB;AAGzD,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,wBAAwB,QAAQ,4DAA4D;AACrG,SAASC,OAAO,QAAQ,mDAAmD;AAC3E,SAASC,WAAW;AAOpB,SAASC,mBAAmB;AAC5B,SAASC,sBAAsB;AAC/B,SAASC,WAAW;AAEpB,MAAMC,0BAA0B,GAAG,MAAM;AAEzC,MAAMC,gCAAgC,CAA0C;EAC5EC,WAAWA,CACCC,YAA2C,EAC3CC,iBAAqD,EACrDC,WAAkC,EAC5C;IAAA,KAHUF,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,iBAAqD,GAArDA,iBAAqD;IAAA,KACrDC,WAAkC,GAAlCA,WAAkC;EAC3C;EAEH,MAAMC,OAAOA,CACTC,MAAgC,EACwC;IACxE,MAAMC,OAAiB,GAAG,EAAE;IAC5B,MAAMC,QAAkB,GAAG,EAAE;;IAE7B;IACA,MAAMC,iBAAiB,GAAG,MAAM,IAAI,CAACN,iBAAiB,CAACE,OAAO,CAC1D,IAAI,CAACD,WAAW,EAChB;MACIM,KAAK,EAAE;QACHC,MAAM,EAAE;UACJC,IAAI,EAAEN,MAAM,CAACM,IAAI;UACjBC,QAAQ,EAAE;QACd;MACJ,CAAC;MACDC,KAAK,EAAEf;IACX,CACJ,CAAC;IAED,IAAIU,iBAAiB,CAACM,MAAM,CAAC,CAAC,EAAE;MAC5B,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAInB,sBAAsB,CAACY,iBAAiB,CAACQ,KAAK,CAAC,CAAC;IAC3E;IAEA,MAAM;MAAEC,OAAO,EAAEC;IAAY,CAAC,GAAGV,iBAAiB,CAACW,KAAK;IACxDZ,QAAQ,CAACa,IAAI,CAAC,GAAGF,WAAW,CAACG,GAAG,CAACC,KAAK,IAAI3B,mBAAmB,CAAC4B,QAAQ,CAACD,KAAK,CAAC,CAAC,CAAC;IAE/E,IAAIjB,MAAM,CAACmB,EAAE,KAAK3B,WAAW,EAAE;MAC3B,OAAOT,MAAM,CAACqC,EAAE,CAAC;QACbnB,OAAO;QACPC;MACJ,CAAC,CAAC;IACN;;IAEA;IACA,MAAMmB,OAAO,GAAGjC,OAAO,CAACkC,IAAI,CAACtB,MAAM,CAACmB,EAAE,CAAC;IACvC,MAAMI,YAAY,GAAG,MAAM,IAAI,CAAC3B,YAAY,CAACG,OAAO,CAChD,IAAI,CAACD,WAAW,EAChBuB,OAAO,CAACG,QAAQ,CAAC,CACrB,CAAC;IAED,IAAID,YAAY,CAACd,MAAM,CAAC,CAAC,EAAE;MACvB,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAInB,sBAAsB,CAACgC,YAAY,CAACZ,KAAK,CAAC,CAAC;IACtE;IAEA,MAAMc,MAAM,GAAGnC,mBAAmB,CAAC4B,QAAQ,CAACK,YAAY,CAACT,KAAK,CAAC;IAC/Db,OAAO,CAACc,IAAI,CAACU,MAAM,CAAC;;IAEpB;IACA,MAAMC,qBAAqB,GAAG,MAAM,IAAI,CAACC,eAAe,CAACF,MAAM,EAAExB,OAAO,CAAC;IACzE,IAAIyB,qBAAqB,CAACjB,MAAM,CAAC,CAAC,EAAE;MAChC,OAAO1B,MAAM,CAAC2B,IAAI,CAACgB,qBAAqB,CAACf,KAAK,CAAC;IACnD;;IAEA;IACA,MAAMiB,SAAS,GAAG3B,OAAO,CAACe,GAAG,CAACa,CAAC,IAAIA,CAAC,CAACV,EAAE,CAAC;IAExC,MAAMW,kBAAkB,GAAG,MAAM,IAAI,CAACjC,iBAAiB,CAACE,OAAO,CAC3D,IAAI,CAACD,WAAW,EAChB;MACIM,KAAK,EAAE;QACH2B,cAAc,EAAEH,SAAS;QACzBvB,MAAM,EAAE;UACJC,IAAI,EAAEmB,MAAM,CAACnB,IAAI;UACjB0B,WAAW,EAAEJ;QACjB;MACJ,CAAC;MACDpB,KAAK,EAAEf;IACX,CACJ,CAAC;IAED,IAAIqC,kBAAkB,CAACrB,MAAM,CAAC,CAAC,EAAE;MAC7B,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAInB,sBAAsB,CAACuC,kBAAkB,CAACnB,KAAK,CAAC,CAAC;IAC5E;IAEA,MAAM;MAAEC,OAAO,EAAEqB;IAAa,CAAC,GAAGH,kBAAkB,CAAChB,KAAK;IAC1DZ,QAAQ,CAACa,IAAI,CAAC,GAAGkB,YAAY,CAACjB,GAAG,CAACC,KAAK,IAAI3B,mBAAmB,CAAC4B,QAAQ,CAACD,KAAK,CAAC,CAAC,CAAC;IAEhF,OAAOlC,MAAM,CAACqC,EAAE,CAAC;MACbnB,OAAO;MACPC;IACJ,CAAC,CAAC;EACN;EAEA,MAAcyB,eAAeA,CACzBF,MAAc,EACdxB,OAAiB,EACiC;IAClD,IAAIiC,aAAa,GAAGT,MAAM;IAE1B,OAAOS,aAAa,CAAC3B,QAAQ,EAAE;MAC3B,MAAM4B,YAAY,GAAG,MAAM,IAAI,CAACvC,YAAY,CAACG,OAAO,CAChD,IAAI,CAACD,WAAW,EAChBV,OAAO,CAACkC,IAAI,CAACY,aAAa,CAAC3B,QAAQ,CAAC,CAACiB,QAAQ,CAAC,CAClD,CAAC;MAED,IAAIW,YAAY,CAAC1B,MAAM,CAAC,CAAC,EAAE;QACvB,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAInB,sBAAsB,CAAC4C,YAAY,CAACxB,KAAK,CAAC,CAAC;MACtE;MAEA,MAAMyB,YAAY,GAAG9C,mBAAmB,CAAC4B,QAAQ,CAACiB,YAAY,CAACrB,KAAK,CAAC;MACrEb,OAAO,CAACc,IAAI,CAACqB,YAAY,CAAC;MAC1BF,aAAa,GAAGE,YAAY;IAChC;IAEA,OAAOrD,MAAM,CAACqC,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAMpC,4BAA4B,GAAGC,qBAAqB,CAACoD,oBAAoB,CAAC;EACnFC,cAAc,EAAE5C,gCAAgC;EAChD6C,YAAY,EAAE,CAACrD,mBAAmB,EAAEC,wBAAwB,EAAEE,WAAW;AAC7E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetFolderHierarchyUseCase as UseCaseAbstraction, GetFolderHierarchyRepository } from "./abstractions.js";
|
|
3
|
+
import type { GetFolderHierarchyParams, GetFolderHierarchyResponse } from "../../../folder/folder.types.js";
|
|
4
|
+
declare class GetFolderHierarchyUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
5
|
+
private repository;
|
|
6
|
+
constructor(repository: GetFolderHierarchyRepository.Interface);
|
|
7
|
+
execute(params: GetFolderHierarchyParams): Promise<Result<GetFolderHierarchyResponse, UseCaseAbstraction.Error>>;
|
|
8
|
+
}
|
|
9
|
+
export declare const GetFolderHierarchyUseCase: import("@webiny/di").Implementation<typeof GetFolderHierarchyUseCaseImpl>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GetFolderHierarchyUseCase as UseCaseAbstraction, GetFolderHierarchyRepository } from "./abstractions.js";
|
|
2
|
+
import { createImplementation } from "@webiny/di";
|
|
3
|
+
class GetFolderHierarchyUseCaseImpl {
|
|
4
|
+
constructor(repository) {
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async execute(params) {
|
|
8
|
+
return await this.repository.execute(params);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export const GetFolderHierarchyUseCase = createImplementation({
|
|
12
|
+
abstraction: UseCaseAbstraction,
|
|
13
|
+
implementation: GetFolderHierarchyUseCaseImpl,
|
|
14
|
+
dependencies: [GetFolderHierarchyRepository]
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=GetFolderHierarchyUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GetFolderHierarchyUseCase","UseCaseAbstraction","GetFolderHierarchyRepository","createImplementation","GetFolderHierarchyUseCaseImpl","constructor","repository","execute","params","abstraction","implementation","dependencies"],"sources":["GetFolderHierarchyUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetFolderHierarchyUseCase as UseCaseAbstraction,\n GetFolderHierarchyRepository\n} from \"./abstractions.js\";\nimport type {\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport { createImplementation } from \"@webiny/di\";\n\nclass GetFolderHierarchyUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: GetFolderHierarchyRepository.Interface) {}\n\n async execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, UseCaseAbstraction.Error>> {\n return await this.repository.execute(params);\n }\n}\n\nexport const GetFolderHierarchyUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: GetFolderHierarchyUseCaseImpl,\n dependencies: [GetFolderHierarchyRepository]\n});\n"],"mappings":"AACA,SACIA,yBAAyB,IAAIC,kBAAkB,EAC/CC,4BAA4B;AAMhC,SAASC,oBAAoB,QAAQ,YAAY;AAEjD,MAAMC,6BAA6B,CAAyC;EACxEC,WAAWA,CAASC,UAAkD,EAAE;IAAA,KAApDA,UAAkD,GAAlDA,UAAkD;EAAG;EAEzE,MAAMC,OAAOA,CACTC,MAAgC,EACqC;IACrE,OAAO,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;EAChD;AACJ;AAEA,OAAO,MAAMR,yBAAyB,GAAGG,oBAAoB,CAAC;EAC1DM,WAAW,EAAER,kBAAkB;EAC/BS,cAAc,EAAEN,6BAA6B;EAC7CO,YAAY,EAAE,CAACT,4BAA4B;AAC/C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { GetFolderHierarchyParams, GetFolderHierarchyResponse } from "../../../folder/folder.types.js";
|
|
3
|
+
import type { FolderNotAuthorizedError, FolderPersistenceError } from "../../../domain/folder/errors.js";
|
|
4
|
+
/**
|
|
5
|
+
* GetFolderHierarchy repository interface
|
|
6
|
+
*/
|
|
7
|
+
export interface IGetFolderHierarchyRepository {
|
|
8
|
+
execute(params: GetFolderHierarchyParams): Promise<Result<GetFolderHierarchyResponse, RepositoryError>>;
|
|
9
|
+
}
|
|
10
|
+
export interface IGetFolderHierarchyRepositoryErrors {
|
|
11
|
+
persistence: FolderPersistenceError;
|
|
12
|
+
}
|
|
13
|
+
type RepositoryError = IGetFolderHierarchyRepositoryErrors[keyof IGetFolderHierarchyRepositoryErrors];
|
|
14
|
+
export declare const GetFolderHierarchyRepository: import("@webiny/di").Abstraction<IGetFolderHierarchyRepository>;
|
|
15
|
+
export declare namespace GetFolderHierarchyRepository {
|
|
16
|
+
type Interface = IGetFolderHierarchyRepository;
|
|
17
|
+
type Error = RepositoryError;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* GetFolderHierarchy use case interface
|
|
21
|
+
*/
|
|
22
|
+
export interface IGetFolderHierarchyUseCase {
|
|
23
|
+
execute(params: GetFolderHierarchyParams): Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;
|
|
24
|
+
}
|
|
25
|
+
export interface IGetFolderHierarchyUseCaseErrors {
|
|
26
|
+
notAuthorized: FolderNotAuthorizedError;
|
|
27
|
+
persistence: FolderPersistenceError;
|
|
28
|
+
}
|
|
29
|
+
type UseCaseError = IGetFolderHierarchyUseCaseErrors[keyof IGetFolderHierarchyUseCaseErrors];
|
|
30
|
+
export declare const GetFolderHierarchyUseCase: import("@webiny/di").Abstraction<IGetFolderHierarchyUseCase>;
|
|
31
|
+
export declare namespace GetFolderHierarchyUseCase {
|
|
32
|
+
type Interface = IGetFolderHierarchyUseCase;
|
|
33
|
+
type Return = Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;
|
|
34
|
+
type Error = UseCaseError;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* GetFolderHierarchy repository interface
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const GetFolderHierarchyRepository = createAbstraction("GetFolderHierarchyRepository");
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* GetFolderHierarchy use case interface
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export const GetFolderHierarchyUseCase = createAbstraction("GetFolderHierarchyUseCase");
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","GetFolderHierarchyRepository","GetFolderHierarchyUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type {\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\n/**\n * GetFolderHierarchy repository interface\n */\nexport interface IGetFolderHierarchyRepository {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, RepositoryError>>;\n}\n\nexport interface IGetFolderHierarchyRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError =\n IGetFolderHierarchyRepositoryErrors[keyof IGetFolderHierarchyRepositoryErrors];\n\nexport const GetFolderHierarchyRepository = createAbstraction<IGetFolderHierarchyRepository>(\n \"GetFolderHierarchyRepository\"\n);\n\nexport namespace GetFolderHierarchyRepository {\n export type Interface = IGetFolderHierarchyRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFolderHierarchy use case interface\n */\nexport interface IGetFolderHierarchyUseCase {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n}\n\nexport interface IGetFolderHierarchyUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetFolderHierarchyUseCaseErrors[keyof IGetFolderHierarchyUseCaseErrors];\n\nexport const GetFolderHierarchyUseCase = createAbstraction<IGetFolderHierarchyUseCase>(\n \"GetFolderHierarchyUseCase\"\n);\n\nexport namespace GetFolderHierarchyUseCase {\n export type Interface = IGetFolderHierarchyUseCase;\n export type Return = Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAQvD;AACA;AACA;;AAcA,OAAO,MAAMC,4BAA4B,GAAGD,iBAAiB,CACzD,8BACJ,CAAC;;AAOD;AACA;AACA;;AAcA,OAAO,MAAME,yBAAyB,GAAGF,iBAAiB,CACtD,2BACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FolderLevelPermissions } from "../../../../features/flp/FolderLevelPermissions/index.js";
|
|
2
|
+
import { GetFolderHierarchyUseCase } from "../abstractions.js";
|
|
3
|
+
import type { GetFolderHierarchyParams } from "../../../../folder/folder.types.js";
|
|
4
|
+
declare class GetFolderHierarchyWithFolderLevelPermissionsImpl implements GetFolderHierarchyUseCase.Interface {
|
|
5
|
+
private folderLevelPermissions;
|
|
6
|
+
private decoratee;
|
|
7
|
+
private flpCatalog;
|
|
8
|
+
constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: GetFolderHierarchyUseCase.Interface);
|
|
9
|
+
execute(params: GetFolderHierarchyParams): GetFolderHierarchyUseCase.Return;
|
|
10
|
+
private filterAccessibleFolders;
|
|
11
|
+
private hasFlp;
|
|
12
|
+
private getFlp;
|
|
13
|
+
private setFlp;
|
|
14
|
+
}
|
|
15
|
+
export declare const GetFolderHierarchyWithFolderLevelPermissions: typeof GetFolderHierarchyWithFolderLevelPermissionsImpl;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { createDecorator, Result } from "@webiny/feature/api";
|
|
2
|
+
import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
|
|
3
|
+
import { GetFolderHierarchyUseCase } from "../abstractions.js";
|
|
4
|
+
class GetFolderHierarchyWithFolderLevelPermissionsImpl {
|
|
5
|
+
flpCatalog = new Map();
|
|
6
|
+
constructor(folderLevelPermissions, decoratee) {
|
|
7
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
8
|
+
this.decoratee = decoratee;
|
|
9
|
+
}
|
|
10
|
+
async execute(params) {
|
|
11
|
+
const result = await this.decoratee.execute(params);
|
|
12
|
+
if (result.isFail()) {
|
|
13
|
+
return Result.fail(result.error);
|
|
14
|
+
}
|
|
15
|
+
const {
|
|
16
|
+
siblings,
|
|
17
|
+
parents
|
|
18
|
+
} = result.value;
|
|
19
|
+
const folders = [...parents, ...siblings];
|
|
20
|
+
await Promise.all(folders.map(async folder => {
|
|
21
|
+
if (!this.hasFlp(folder.id)) {
|
|
22
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folder.id);
|
|
23
|
+
this.setFlp(folder.id, permissions);
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
return Result.ok({
|
|
27
|
+
parents: await this.filterAccessibleFolders(parents),
|
|
28
|
+
siblings: await this.filterAccessibleFolders(siblings)
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async filterAccessibleFolders(folders) {
|
|
32
|
+
const results = await Promise.all(folders.map(async folder => {
|
|
33
|
+
const permissions = this.getFlp(folder.id);
|
|
34
|
+
if (!permissions) {
|
|
35
|
+
return folder;
|
|
36
|
+
}
|
|
37
|
+
const canAccess = await this.folderLevelPermissions.canAccessFolder({
|
|
38
|
+
permissions,
|
|
39
|
+
rwd: "r"
|
|
40
|
+
});
|
|
41
|
+
return canAccess ? {
|
|
42
|
+
...folder,
|
|
43
|
+
permissions
|
|
44
|
+
} : null;
|
|
45
|
+
}));
|
|
46
|
+
return results.filter(folder => folder !== null);
|
|
47
|
+
}
|
|
48
|
+
hasFlp(id) {
|
|
49
|
+
return this.flpCatalog.has(id);
|
|
50
|
+
}
|
|
51
|
+
getFlp(id) {
|
|
52
|
+
return this.flpCatalog.get(id);
|
|
53
|
+
}
|
|
54
|
+
setFlp(id, permissions) {
|
|
55
|
+
this.flpCatalog.set(id, permissions);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export const GetFolderHierarchyWithFolderLevelPermissions = createDecorator({
|
|
59
|
+
abstraction: GetFolderHierarchyUseCase,
|
|
60
|
+
decorator: GetFolderHierarchyWithFolderLevelPermissionsImpl,
|
|
61
|
+
dependencies: [FolderLevelPermissions]
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=GetFolderHierarchyWithFolderLevelPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createDecorator","Result","FolderLevelPermissions","GetFolderHierarchyUseCase","GetFolderHierarchyWithFolderLevelPermissionsImpl","flpCatalog","Map","constructor","folderLevelPermissions","decoratee","execute","params","result","isFail","fail","error","siblings","parents","value","folders","Promise","all","map","folder","hasFlp","id","permissions","getFolderLevelPermissions","setFlp","ok","filterAccessibleFolders","results","getFlp","canAccess","canAccessFolder","rwd","filter","has","get","set","GetFolderHierarchyWithFolderLevelPermissions","abstraction","decorator","dependencies"],"sources":["GetFolderHierarchyWithFolderLevelPermissions.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { GetFolderHierarchyUseCase } from \"../abstractions.js\";\nimport type { Folder, GetFolderHierarchyParams } from \"~/folder/folder.types.js\";\n\nclass GetFolderHierarchyWithFolderLevelPermissionsImpl\n implements GetFolderHierarchyUseCase.Interface\n{\n private flpCatalog: Map<string, FolderPermission[]> = new Map();\n\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: GetFolderHierarchyUseCase.Interface\n ) {}\n\n async execute(params: GetFolderHierarchyParams): GetFolderHierarchyUseCase.Return {\n const result = await this.decoratee.execute(params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const { siblings, parents } = result.value;\n const folders = [...parents, ...siblings];\n\n await Promise.all(\n folders.map(async folder => {\n if (!this.hasFlp(folder.id)) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(\n folder.id\n );\n this.setFlp(folder.id, permissions);\n }\n })\n );\n\n return Result.ok({\n parents: await this.filterAccessibleFolders(parents),\n siblings: await this.filterAccessibleFolders(siblings)\n });\n }\n\n private async filterAccessibleFolders(folders: Folder[]): Promise<Folder[]> {\n const results = await Promise.all(\n folders.map(async folder => {\n const permissions = this.getFlp(folder.id);\n if (!permissions) {\n return folder;\n }\n\n const canAccess = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"r\"\n });\n\n return canAccess ? { ...folder, permissions } : null;\n })\n );\n return results.filter((folder): folder is Folder => folder !== null);\n }\n\n private hasFlp(id: string): boolean {\n return this.flpCatalog.has(id);\n }\n\n private getFlp(id: string): FolderPermission[] | undefined {\n return this.flpCatalog.get(id);\n }\n\n private setFlp(id: string, permissions: FolderPermission[]): void {\n this.flpCatalog.set(id, permissions);\n }\n}\n\nexport const GetFolderHierarchyWithFolderLevelPermissions = createDecorator({\n abstraction: GetFolderHierarchyUseCase,\n decorator: GetFolderHierarchyWithFolderLevelPermissionsImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAE7D,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAGlC,MAAMC,gDAAgD,CAEtD;EACYC,UAAU,GAAoC,IAAIC,GAAG,CAAC,CAAC;EAE/DC,WAAWA,CACCC,sBAAwD,EACxDC,SAA8C,EACxD;IAAA,KAFUD,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,SAA8C,GAA9CA,SAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,MAAgC,EAAoC;IAC9E,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IAEnD,IAAIC,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOZ,MAAM,CAACa,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;IACpC;IAEA,MAAM;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGL,MAAM,CAACM,KAAK;IAC1C,MAAMC,OAAO,GAAG,CAAC,GAAGF,OAAO,EAAE,GAAGD,QAAQ,CAAC;IAEzC,MAAMI,OAAO,CAACC,GAAG,CACbF,OAAO,CAACG,GAAG,CAAC,MAAMC,MAAM,IAAI;MACxB,IAAI,CAAC,IAAI,CAACC,MAAM,CAACD,MAAM,CAACE,EAAE,CAAC,EAAE;QACzB,MAAMC,WAAW,GAAG,MAAM,IAAI,CAAClB,sBAAsB,CAACmB,yBAAyB,CAC3EJ,MAAM,CAACE,EACX,CAAC;QACD,IAAI,CAACG,MAAM,CAACL,MAAM,CAACE,EAAE,EAAEC,WAAW,CAAC;MACvC;IACJ,CAAC,CACL,CAAC;IAED,OAAOzB,MAAM,CAAC4B,EAAE,CAAC;MACbZ,OAAO,EAAE,MAAM,IAAI,CAACa,uBAAuB,CAACb,OAAO,CAAC;MACpDD,QAAQ,EAAE,MAAM,IAAI,CAACc,uBAAuB,CAACd,QAAQ;IACzD,CAAC,CAAC;EACN;EAEA,MAAcc,uBAAuBA,CAACX,OAAiB,EAAqB;IACxE,MAAMY,OAAO,GAAG,MAAMX,OAAO,CAACC,GAAG,CAC7BF,OAAO,CAACG,GAAG,CAAC,MAAMC,MAAM,IAAI;MACxB,MAAMG,WAAW,GAAG,IAAI,CAACM,MAAM,CAACT,MAAM,CAACE,EAAE,CAAC;MAC1C,IAAI,CAACC,WAAW,EAAE;QACd,OAAOH,MAAM;MACjB;MAEA,MAAMU,SAAS,GAAG,MAAM,IAAI,CAACzB,sBAAsB,CAAC0B,eAAe,CAAC;QAChER,WAAW;QACXS,GAAG,EAAE;MACT,CAAC,CAAC;MAEF,OAAOF,SAAS,GAAG;QAAE,GAAGV,MAAM;QAAEG;MAAY,CAAC,GAAG,IAAI;IACxD,CAAC,CACL,CAAC;IACD,OAAOK,OAAO,CAACK,MAAM,CAAEb,MAAM,IAAuBA,MAAM,KAAK,IAAI,CAAC;EACxE;EAEQC,MAAMA,CAACC,EAAU,EAAW;IAChC,OAAO,IAAI,CAACpB,UAAU,CAACgC,GAAG,CAACZ,EAAE,CAAC;EAClC;EAEQO,MAAMA,CAACP,EAAU,EAAkC;IACvD,OAAO,IAAI,CAACpB,UAAU,CAACiC,GAAG,CAACb,EAAE,CAAC;EAClC;EAEQG,MAAMA,CAACH,EAAU,EAAEC,WAA+B,EAAQ;IAC9D,IAAI,CAACrB,UAAU,CAACkC,GAAG,CAACd,EAAE,EAAEC,WAAW,CAAC;EACxC;AACJ;AAEA,OAAO,MAAMc,4CAA4C,GAAGxC,eAAe,CAAC;EACxEyC,WAAW,EAAEtC,yBAAyB;EACtCuC,SAAS,EAAEtC,gDAAgD;EAC3DuC,YAAY,EAAE,CAACzC,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GetFolderHierarchyFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GetFolderHierarchyRepository } from "./GetFolderHierarchyRepository.js";
|
|
3
|
+
import { GetFolderHierarchyUseCase } from "./GetFolderHierarchyUseCase.js";
|
|
4
|
+
import { GetFolderHierarchyWithFolderLevelPermissions } from "./decorators/GetFolderHierarchyWithFolderLevelPermissions.js";
|
|
5
|
+
export const GetFolderHierarchyFeature = createFeature({
|
|
6
|
+
name: "GetFolderHierarchy",
|
|
7
|
+
register(container) {
|
|
8
|
+
container.register(GetFolderHierarchyRepository).inSingletonScope();
|
|
9
|
+
container.register(GetFolderHierarchyUseCase);
|
|
10
|
+
container.registerDecorator(GetFolderHierarchyWithFolderLevelPermissions);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","GetFolderHierarchyRepository","GetFolderHierarchyUseCase","GetFolderHierarchyWithFolderLevelPermissions","GetFolderHierarchyFeature","name","register","container","inSingletonScope","registerDecorator"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { GetFolderHierarchyRepository } from \"./GetFolderHierarchyRepository.js\";\nimport { GetFolderHierarchyUseCase } from \"./GetFolderHierarchyUseCase.js\";\nimport { GetFolderHierarchyWithFolderLevelPermissions } from \"./decorators/GetFolderHierarchyWithFolderLevelPermissions.js\";\n\nexport const GetFolderHierarchyFeature = createFeature({\n name: \"GetFolderHierarchy\",\n register(container: Container) {\n container.register(GetFolderHierarchyRepository).inSingletonScope();\n container.register(GetFolderHierarchyUseCase);\n container.registerDecorator(GetFolderHierarchyWithFolderLevelPermissions);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,4BAA4B;AACrC,SAASC,yBAAyB;AAClC,SAASC,4CAA4C;AAErD,OAAO,MAAMC,yBAAyB,GAAGJ,aAAa,CAAC;EACnDK,IAAI,EAAE,oBAAoB;EAC1BC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACL,4BAA4B,CAAC,CAACO,gBAAgB,CAAC,CAAC;IACnED,SAAS,CAACD,QAAQ,CAACJ,yBAAyB,CAAC;IAC7CK,SAAS,CAACE,iBAAiB,CAACN,4CAA4C,CAAC;EAC7E;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GetFolderHierarchyFeature","GetFolderHierarchyUseCase"],"sources":["index.ts"],"sourcesContent":["export { GetFolderHierarchyFeature } from \"./feature.js\";\nexport { GetFolderHierarchyUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,yBAAyB;AAClC,SAASC,yBAAyB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ListFolderLevelPermissionsTargetsUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
2
|
+
import { ListUsersUseCase } from "@webiny/api-core/features/ListUsers";
|
|
3
|
+
import { ListTeamsUseCase } from "@webiny/api-core/features/ListTeams";
|
|
4
|
+
declare class ListFolderLevelPermissionsTargetsUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
5
|
+
private listAdminUsers;
|
|
6
|
+
private listTeams;
|
|
7
|
+
constructor(listAdminUsers: ListUsersUseCase.Interface, listTeams: ListTeamsUseCase.Interface);
|
|
8
|
+
execute(): UseCaseAbstraction.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const ListFolderLevelPermissionsTargetsUseCase: typeof ListFolderLevelPermissionsTargetsUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListFolderLevelPermissionsTargetsUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { ListFolderLevelPermissionsTargetsUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import { validation } from "@webiny/validation";
|
|
4
|
+
import { ListUsersUseCase } from "@webiny/api-core/features/ListUsers";
|
|
5
|
+
import { ListTeamsUseCase } from "@webiny/api-core/features/ListTeams";
|
|
6
|
+
class ListFolderLevelPermissionsTargetsUseCaseImpl {
|
|
7
|
+
constructor(listAdminUsers, listTeams) {
|
|
8
|
+
this.listAdminUsers = listAdminUsers;
|
|
9
|
+
this.listTeams = listTeams;
|
|
10
|
+
}
|
|
11
|
+
async execute() {
|
|
12
|
+
const adminUsersResult = await this.listAdminUsers.execute();
|
|
13
|
+
const teamsResult = await this.listTeams.execute();
|
|
14
|
+
if (adminUsersResult.isFail() || teamsResult.isFail()) {
|
|
15
|
+
return Result.ok([[], {
|
|
16
|
+
totalCount: 0
|
|
17
|
+
}]);
|
|
18
|
+
}
|
|
19
|
+
const adminUsers = adminUsersResult.value;
|
|
20
|
+
const teams = teamsResult.value;
|
|
21
|
+
const teamTargets = teams.map(team => ({
|
|
22
|
+
id: team.id,
|
|
23
|
+
type: "team",
|
|
24
|
+
target: `team:${team.id}`,
|
|
25
|
+
name: team.name || "",
|
|
26
|
+
meta: {}
|
|
27
|
+
}));
|
|
28
|
+
const adminUserTargets = adminUsers.map(user => {
|
|
29
|
+
let name = user.displayName;
|
|
30
|
+
if (!name) {
|
|
31
|
+
// For backwards compatibility, we also want to try concatenating first and last name.
|
|
32
|
+
name = [user.firstName, user.lastName].filter(Boolean).join(" ");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// We're doing the validation because, with non-Cognito IdPs (Okta, Auth0), the email
|
|
36
|
+
// field might actually contain a non-email value: `id:${IdP_Identity_ID}`. In that case,
|
|
37
|
+
// let's not assign anything to the `email` field.
|
|
38
|
+
let email = user.email;
|
|
39
|
+
try {
|
|
40
|
+
validation.validateSync(email, "email");
|
|
41
|
+
} catch {
|
|
42
|
+
email = null;
|
|
43
|
+
}
|
|
44
|
+
const image = user.avatar?.src || null;
|
|
45
|
+
return {
|
|
46
|
+
id: user.id,
|
|
47
|
+
type: "admin",
|
|
48
|
+
target: `admin:${user.id}`,
|
|
49
|
+
name,
|
|
50
|
+
meta: {
|
|
51
|
+
email,
|
|
52
|
+
image
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
const results = [...teamTargets, ...adminUserTargets];
|
|
57
|
+
const meta = {
|
|
58
|
+
totalCount: results.length
|
|
59
|
+
};
|
|
60
|
+
return Result.ok([results, meta]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export const ListFolderLevelPermissionsTargetsUseCase = UseCaseAbstraction.createImplementation({
|
|
64
|
+
implementation: ListFolderLevelPermissionsTargetsUseCaseImpl,
|
|
65
|
+
dependencies: [ListUsersUseCase, ListTeamsUseCase]
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=ListFolderLevelPermissionsTargetsUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","ListFolderLevelPermissionsTargetsUseCase","UseCaseAbstraction","validation","ListUsersUseCase","ListTeamsUseCase","ListFolderLevelPermissionsTargetsUseCaseImpl","constructor","listAdminUsers","listTeams","execute","adminUsersResult","teamsResult","isFail","ok","totalCount","adminUsers","value","teams","teamTargets","map","team","id","type","target","name","meta","adminUserTargets","user","displayName","firstName","lastName","filter","Boolean","join","email","validateSync","image","avatar","src","results","length","createImplementation","implementation","dependencies"],"sources":["ListFolderLevelPermissionsTargetsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListFolderLevelPermissionsTargetsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { validation } from \"@webiny/validation\";\nimport { ListUsersUseCase } from \"@webiny/api-core/features/ListUsers\";\nimport { ListTeamsUseCase } from \"@webiny/api-core/features/ListTeams\";\n\nclass ListFolderLevelPermissionsTargetsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private listAdminUsers: ListUsersUseCase.Interface,\n private listTeams: ListTeamsUseCase.Interface\n ) {}\n\n public async execute(): UseCaseAbstraction.Return {\n const adminUsersResult = await this.listAdminUsers.execute();\n const teamsResult = await this.listTeams.execute();\n\n if (adminUsersResult.isFail() || teamsResult.isFail()) {\n return Result.ok([[], { totalCount: 0 }]);\n }\n\n const adminUsers = adminUsersResult.value;\n const teams = teamsResult.value;\n\n const teamTargets = teams.map(team => ({\n id: team.id,\n type: \"team\",\n target: `team:${team.id}`,\n name: team.name || \"\",\n meta: {}\n }));\n\n const adminUserTargets = adminUsers.map(user => {\n let name = user.displayName;\n if (!name) {\n // For backwards compatibility, we also want to try concatenating first and last name.\n name = [user.firstName, user.lastName].filter(Boolean).join(\" \");\n }\n\n // We're doing the validation because, with non-Cognito IdPs (Okta, Auth0), the email\n // field might actually contain a non-email value: `id:${IdP_Identity_ID}`. In that case,\n // let's not assign anything to the `email` field.\n let email: string | null = user.email;\n try {\n validation.validateSync(email, \"email\");\n } catch {\n email = null;\n }\n\n const image = user.avatar?.src || null;\n\n return {\n id: user.id,\n type: \"admin\",\n target: `admin:${user.id}`,\n name,\n meta: {\n email,\n image\n }\n };\n });\n\n const results = [...teamTargets, ...adminUserTargets];\n const meta = { totalCount: results.length };\n\n return Result.ok([results, meta]);\n }\n}\n\nexport const ListFolderLevelPermissionsTargetsUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListFolderLevelPermissionsTargetsUseCaseImpl,\n dependencies: [ListUsersUseCase, ListTeamsUseCase]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,wCAAwC,IAAIC,kBAAkB;AACvE,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,gBAAgB,QAAQ,qCAAqC;AACtE,SAASC,gBAAgB,QAAQ,qCAAqC;AAEtE,MAAMC,4CAA4C,CAAyC;EACvFC,WAAWA,CACCC,cAA0C,EAC1CC,SAAqC,EAC/C;IAAA,KAFUD,cAA0C,GAA1CA,cAA0C;IAAA,KAC1CC,SAAqC,GAArCA,SAAqC;EAC9C;EAEH,MAAaC,OAAOA,CAAA,EAA8B;IAC9C,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACH,cAAc,CAACE,OAAO,CAAC,CAAC;IAC5D,MAAME,WAAW,GAAG,MAAM,IAAI,CAACH,SAAS,CAACC,OAAO,CAAC,CAAC;IAElD,IAAIC,gBAAgB,CAACE,MAAM,CAAC,CAAC,IAAID,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACnD,OAAOb,MAAM,CAACc,EAAE,CAAC,CAAC,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAE,CAAC,CAAC,CAAC;IAC7C;IAEA,MAAMC,UAAU,GAAGL,gBAAgB,CAACM,KAAK;IACzC,MAAMC,KAAK,GAAGN,WAAW,CAACK,KAAK;IAE/B,MAAME,WAAW,GAAGD,KAAK,CAACE,GAAG,CAACC,IAAI,KAAK;MACnCC,EAAE,EAAED,IAAI,CAACC,EAAE;MACXC,IAAI,EAAE,MAAM;MACZC,MAAM,EAAE,QAAQH,IAAI,CAACC,EAAE,EAAE;MACzBG,IAAI,EAAEJ,IAAI,CAACI,IAAI,IAAI,EAAE;MACrBC,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAMC,gBAAgB,GAAGX,UAAU,CAACI,GAAG,CAACQ,IAAI,IAAI;MAC5C,IAAIH,IAAI,GAAGG,IAAI,CAACC,WAAW;MAC3B,IAAI,CAACJ,IAAI,EAAE;QACP;QACAA,IAAI,GAAG,CAACG,IAAI,CAACE,SAAS,EAAEF,IAAI,CAACG,QAAQ,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MACpE;;MAEA;MACA;MACA;MACA,IAAIC,KAAoB,GAAGP,IAAI,CAACO,KAAK;MACrC,IAAI;QACAhC,UAAU,CAACiC,YAAY,CAACD,KAAK,EAAE,OAAO,CAAC;MAC3C,CAAC,CAAC,MAAM;QACJA,KAAK,GAAG,IAAI;MAChB;MAEA,MAAME,KAAK,GAAGT,IAAI,CAACU,MAAM,EAAEC,GAAG,IAAI,IAAI;MAEtC,OAAO;QACHjB,EAAE,EAAEM,IAAI,CAACN,EAAE;QACXC,IAAI,EAAE,OAAO;QACbC,MAAM,EAAE,SAASI,IAAI,CAACN,EAAE,EAAE;QAC1BG,IAAI;QACJC,IAAI,EAAE;UACFS,KAAK;UACLE;QACJ;MACJ,CAAC;IACL,CAAC,CAAC;IAEF,MAAMG,OAAO,GAAG,CAAC,GAAGrB,WAAW,EAAE,GAAGQ,gBAAgB,CAAC;IACrD,MAAMD,IAAI,GAAG;MAAEX,UAAU,EAAEyB,OAAO,CAACC;IAAO,CAAC;IAE3C,OAAOzC,MAAM,CAACc,EAAE,CAAC,CAAC0B,OAAO,EAAEd,IAAI,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMzB,wCAAwC,GAAGC,kBAAkB,CAACwC,oBAAoB,CAAC;EAC5FC,cAAc,EAAErC,4CAA4C;EAC5DsC,YAAY,EAAE,CAACxC,gBAAgB,EAAEC,gBAAgB;AACrD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { FolderLevelPermissionsTarget, FolderLevelPermissionsTargetListMeta } from "../../../folder/folder.types.js";
|
|
3
|
+
export interface IListFolderLevelPermissionsTargetsUseCase {
|
|
4
|
+
execute: () => Promise<Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>>;
|
|
5
|
+
}
|
|
6
|
+
export declare const ListFolderLevelPermissionsTargetsUseCase: import("@webiny/di").Abstraction<IListFolderLevelPermissionsTargetsUseCase>;
|
|
7
|
+
export declare namespace ListFolderLevelPermissionsTargetsUseCase {
|
|
8
|
+
type Interface = IListFolderLevelPermissionsTargetsUseCase;
|
|
9
|
+
type Return = Promise<Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","ListFolderLevelPermissionsTargetsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n FolderLevelPermissionsTarget,\n FolderLevelPermissionsTargetListMeta\n} from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IListFolderLevelPermissionsTargetsUseCase {\n execute: () => Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n\nexport const ListFolderLevelPermissionsTargetsUseCase =\n createAbstraction<IListFolderLevelPermissionsTargetsUseCase>(\n \"ListFolderLevelPermissionsTargetsUseCase\"\n );\n\nexport namespace ListFolderLevelPermissionsTargetsUseCase {\n export type Interface = IListFolderLevelPermissionsTargetsUseCase;\n export type Return = Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAM/D;;AAOA,OAAO,MAAMC,wCAAwC,GACjDD,iBAAiB,CACb,0CACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ListFolderLevelPermissionsTargetsFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListFolderLevelPermissionsTargetsUseCase } from "./ListFolderLevelPermissionsTargetsUseCase.js";
|
|
3
|
+
export const ListFolderLevelPermissionsTargetsFeature = createFeature({
|
|
4
|
+
name: "ListFolderLevelPermissionsTargets",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(ListFolderLevelPermissionsTargetsUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","ListFolderLevelPermissionsTargetsUseCase","ListFolderLevelPermissionsTargetsFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListFolderLevelPermissionsTargetsUseCase } from \"./ListFolderLevelPermissionsTargetsUseCase.js\";\n\nexport const ListFolderLevelPermissionsTargetsFeature = createFeature({\n name: \"ListFolderLevelPermissionsTargets\",\n register(container) {\n container.register(ListFolderLevelPermissionsTargetsUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,wCAAwC;AAEjD,OAAO,MAAMC,wCAAwC,GAAGF,aAAa,CAAC;EAClEG,IAAI,EAAE,mCAAmC;EACzCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,wCAAwC,CAAC;EAChE;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ListFolderLevelPermissionsTargetsUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListFolderLevelPermissionsTargetsUseCase"],"sources":["index.ts"],"sourcesContent":["export { ListFolderLevelPermissionsTargetsUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,wCAAwC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type IListFoldersRepository, ListFoldersRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
2
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
3
|
+
import { FolderModel } from "../../../domain/folder/abstractions.js";
|
|
4
|
+
import type { ListFoldersParams } from "../../../folder/folder.types.js";
|
|
5
|
+
import { CmsSortMapper, CmsWhereMapper } from "@webiny/api-headless-cms";
|
|
6
|
+
declare class ListFoldersRepositoryImpl implements IListFoldersRepository {
|
|
7
|
+
private listLatestEntries;
|
|
8
|
+
private folderModel;
|
|
9
|
+
private cmsWhereMapper;
|
|
10
|
+
private cmsSortMapper;
|
|
11
|
+
constructor(listLatestEntries: ListLatestEntriesUseCase.Interface, folderModel: FolderModel.Interface, cmsWhereMapper: CmsWhereMapper.Interface, cmsSortMapper: CmsSortMapper.Interface);
|
|
12
|
+
execute(params: ListFoldersParams): RepositoryAbstraction.Return;
|
|
13
|
+
}
|
|
14
|
+
export declare const ListFoldersRepository: typeof ListFoldersRepositoryImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<IListFoldersRepository>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|