@webiny/api-aco 6.3.0-beta.4 → 6.4.0-beta.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/constants.js +2 -1
- package/constants.js.map +1 -1
- package/createAcoContext.js +69 -103
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.js +42 -43
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoStorageOperations.js +5 -6
- package/createAcoStorageOperations.js.map +1 -1
- package/createAcoTasks.js +7 -8
- package/createAcoTasks.js.map +1 -1
- package/domain/folder/abstractions.js +2 -5
- package/domain/folder/abstractions.js.map +1 -1
- package/domain/folder/errors.js +42 -47
- package/domain/folder/errors.js.map +1 -1
- package/domain/folder/folder.model.js +52 -36
- package/domain/folder/folder.model.js.map +1 -1
- package/exports/api/aco/flp.js +0 -2
- package/exports/api/aco/folder.js +4 -6
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +27 -31
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js +22 -25
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +27 -31
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +29 -33
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +25 -30
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/GetEntryWithFlpDecorator.js +25 -30
- package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +31 -35
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +31 -34
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +27 -28
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js +27 -27
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +27 -28
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +27 -28
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js +37 -51
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -1
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +1 -2
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +27 -31
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -1
- package/features/cms/feature.js +19 -25
- package/features/cms/feature.js.map +1 -1
- package/features/cms/index.js +0 -2
- package/features/flp/CreateFlp/CreateFlpUseCase.js +26 -33
- package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -1
- package/features/flp/CreateFlp/abstractions.js +2 -5
- package/features/flp/CreateFlp/abstractions.js.map +1 -1
- package/features/flp/CreateFlp/feature.js +7 -8
- package/features/flp/CreateFlp/feature.js.map +1 -1
- package/features/flp/CreateFlp/index.js +0 -2
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +27 -27
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
- package/features/flp/CreateFlpOnFolderCreated/feature.js +6 -5
- package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -1
- package/features/flp/CreateFlpOnFolderCreated/index.js +0 -2
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js +17 -18
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -1
- package/features/flp/DeleteFlp/abstractions.js +2 -5
- package/features/flp/DeleteFlp/abstractions.js.map +1 -1
- package/features/flp/DeleteFlp/feature.js +7 -8
- package/features/flp/DeleteFlp/feature.js.map +1 -1
- package/features/flp/DeleteFlp/index.js +0 -2
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +27 -27
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js +6 -5
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -1
- package/features/flp/DeleteFlpOnFolderDeleted/index.js +0 -2
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +87 -108
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
- package/features/flp/FolderLevelPermissions/abstractions.js +2 -2
- package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
- package/features/flp/FolderLevelPermissions/feature.js +6 -5
- package/features/flp/FolderLevelPermissions/feature.js.map +1 -1
- package/features/flp/FolderLevelPermissions/index.js +0 -2
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +14 -36
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -1
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -3
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -2
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +12 -29
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -1
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -3
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -2
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +5 -4
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -1
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -3
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -2
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +5 -4
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -1
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -3
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -2
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +43 -66
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -1
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +10 -9
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -1
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +22 -33
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -1
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -3
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -2
- package/features/flp/FolderLevelPermissions/useCases/index.js +0 -2
- package/features/flp/GetFlp/GetFlpUseCase.js +8 -7
- package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -1
- package/features/flp/GetFlp/abstractions.js +2 -2
- package/features/flp/GetFlp/abstractions.js.map +1 -1
- package/features/flp/GetFlp/feature.js +7 -8
- package/features/flp/GetFlp/feature.js.map +1 -1
- package/features/flp/GetFlp/index.js +0 -2
- package/features/flp/ListFlps/ListFlpsUseCase.js +8 -7
- package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -1
- package/features/flp/ListFlps/abstractions.js +2 -2
- package/features/flp/ListFlps/abstractions.js.map +1 -1
- package/features/flp/ListFlps/feature.js +7 -8
- package/features/flp/ListFlps/feature.js.map +1 -1
- package/features/flp/ListFlps/index.js +0 -2
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js +133 -184
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -1
- package/features/flp/UpdateFlp/abstractions.js +2 -5
- package/features/flp/UpdateFlp/abstractions.js.map +1 -1
- package/features/flp/UpdateFlp/feature.js +7 -8
- package/features/flp/UpdateFlp/feature.js.map +1 -1
- package/features/flp/UpdateFlp/index.js +0 -2
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +29 -29
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js +6 -5
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -1
- package/features/flp/UpdateFlpOnFolderUpdated/index.js +0 -2
- package/features/folder/CreateFolder/CreateFolderRepository.js +67 -90
- package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -1
- package/features/folder/CreateFolder/CreateFolderUseCase.js +27 -30
- package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
- package/features/folder/CreateFolder/abstractions.js +5 -22
- package/features/folder/CreateFolder/abstractions.js.map +1 -1
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +29 -34
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -1
- package/features/folder/CreateFolder/events.js +16 -14
- package/features/folder/CreateFolder/events.js.map +1 -1
- package/features/folder/CreateFolder/feature.js +8 -7
- package/features/folder/CreateFolder/feature.js.map +1 -1
- package/features/folder/CreateFolder/index.js +1 -3
- package/features/folder/DeleteFolder/DeleteFolderRepository.js +22 -20
- package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -1
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js +35 -43
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
- package/features/folder/DeleteFolder/abstractions.js +5 -22
- package/features/folder/DeleteFolder/abstractions.js.map +1 -1
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +21 -20
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -1
- package/features/folder/DeleteFolder/events.js +16 -14
- package/features/folder/DeleteFolder/events.js.map +1 -1
- package/features/folder/DeleteFolder/feature.js +8 -7
- package/features/folder/DeleteFolder/feature.js.map +1 -1
- package/features/folder/DeleteFolder/index.js +1 -3
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +43 -44
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -1
- package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -2
- package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
- package/features/folder/EnsureFolderIsEmpty/feature.js +6 -5
- package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -1
- package/features/folder/EnsureFolderIsEmpty/index.js +0 -2
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +16 -20
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +6 -12
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -1
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +0 -2
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +36 -44
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +6 -5
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -1
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +0 -2
- package/features/folder/GetAncestors/GetAncestorsRepository.js +45 -75
- package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -1
- package/features/folder/GetAncestors/GetAncestorsUseCase.js +14 -11
- package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -1
- package/features/folder/GetAncestors/abstractions.js +3 -14
- package/features/folder/GetAncestors/abstractions.js.map +1 -1
- package/features/folder/GetAncestors/feature.js +7 -6
- package/features/folder/GetAncestors/feature.js.map +1 -1
- package/features/folder/GetAncestors/index.js +0 -2
- package/features/folder/GetFolder/GetFolderRepository.js +21 -19
- package/features/folder/GetFolder/GetFolderRepository.js.map +1 -1
- package/features/folder/GetFolder/GetFolderUseCase.js +14 -11
- package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -1
- package/features/folder/GetFolder/abstractions.js +5 -21
- package/features/folder/GetFolder/abstractions.js.map +1 -1
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +23 -26
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -1
- package/features/folder/GetFolder/feature.js +8 -7
- package/features/folder/GetFolder/feature.js.map +1 -1
- package/features/folder/GetFolder/index.js +0 -2
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +67 -86
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +14 -11
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
- package/features/folder/GetFolderHierarchy/abstractions.js +3 -14
- package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +55 -56
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -1
- package/features/folder/GetFolderHierarchy/feature.js +8 -7
- package/features/folder/GetFolderHierarchy/feature.js.map +1 -1
- package/features/folder/GetFolderHierarchy/index.js +0 -2
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +65 -58
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -5
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js +6 -5
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -1
- package/features/folder/ListFolderLevelPermissionsTargets/index.js +0 -2
- package/features/folder/ListFolders/ListFoldersRepository.js +39 -41
- package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -1
- package/features/folder/ListFolders/ListFoldersUseCase.js +14 -11
- package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -1
- package/features/folder/ListFolders/abstractions.js +3 -14
- package/features/folder/ListFolders/abstractions.js.map +1 -1
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +55 -67
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -1
- package/features/folder/ListFolders/feature.js +8 -7
- package/features/folder/ListFolders/feature.js.map +1 -1
- package/features/folder/ListFolders/index.js +0 -2
- package/features/folder/UpdateFolder/UpdateFolderRepository.js +66 -92
- package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -1
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js +38 -45
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
- package/features/folder/UpdateFolder/abstractions.js +5 -22
- package/features/folder/UpdateFolder/abstractions.js.map +1 -1
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +45 -64
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -1
- package/features/folder/UpdateFolder/events.js +16 -14
- package/features/folder/UpdateFolder/events.js.map +1 -1
- package/features/folder/UpdateFolder/feature.js +8 -7
- package/features/folder/UpdateFolder/feature.js.map +1 -1
- package/features/folder/UpdateFolder/index.js +0 -2
- package/features/folder/shared/EntryToFolderMapper.js +20 -19
- package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
- package/features/folder/shared/abstractions.js +2 -2
- package/features/folder/shared/abstractions.js.map +1 -1
- package/filter/filter.crud.js +28 -31
- package/filter/filter.crud.js.map +1 -1
- package/filter/filter.gql.js +32 -48
- package/filter/filter.gql.js.map +1 -1
- package/filter/filter.model.js +44 -35
- package/filter/filter.model.js.map +1 -1
- package/filter/filter.so.js +73 -93
- package/filter/filter.so.js.map +1 -1
- package/filter/filter.types.js +5 -4
- package/filter/filter.types.js.map +1 -1
- package/flp/flp.crud.js +69 -86
- package/flp/flp.crud.js.map +1 -1
- package/flp/flp.so.js +162 -199
- package/flp/flp.so.js.map +1 -1
- package/flp/flp.types.js +0 -3
- package/flp/index.js +0 -2
- package/flp/tasks/createFlp.task.js +26 -27
- package/flp/tasks/createFlp.task.js.map +1 -1
- package/flp/tasks/deleteFlp.task.js +26 -27
- package/flp/tasks/deleteFlp.task.js.map +1 -1
- package/flp/tasks/index.js +13 -12
- package/flp/tasks/index.js.map +1 -1
- package/flp/tasks/syncFlp.task.js +83 -112
- package/flp/tasks/syncFlp.task.js.map +1 -1
- package/flp/tasks/updateFlp.task.js +33 -32
- package/flp/tasks/updateFlp.task.js.map +1 -1
- package/folder/createFolderModelModifier.js +50 -50
- package/folder/createFolderModelModifier.js.map +1 -1
- package/folder/createFolderTypeDefs.js +39 -50
- package/folder/createFolderTypeDefs.js.map +1 -1
- package/folder/folder.gql.js +100 -133
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.js +0 -3
- package/index.js +7 -4
- package/index.js.map +1 -1
- package/package.json +24 -24
- package/types.js +5 -4
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.js +20 -19
- package/utils/FoldersCacheFactory.js.map +1 -1
- package/utils/ListCache.js +20 -19
- package/utils/ListCache.js.map +1 -1
- package/utils/Path.js +5 -6
- package/utils/Path.js.map +1 -1
- package/utils/compress.js +8 -7
- package/utils/compress.js.map +1 -1
- package/utils/createListSort.js +4 -7
- package/utils/createListSort.js.map +1 -1
- package/utils/createOperationsWrapper.js +12 -19
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.js +165 -196
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
- package/utils/decorators/FilterEntriesByFolderFactory.js +18 -19
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
- package/utils/decorators/ListEntriesFactory.js +65 -98
- package/utils/decorators/ListEntriesFactory.js.map +1 -1
- package/utils/decorators/hasRootFolderId.js +6 -12
- package/utils/decorators/hasRootFolderId.js.map +1 -1
- package/utils/decorators/isPageModel.js +5 -10
- package/utils/decorators/isPageModel.js.map +1 -1
- package/utils/ensureAuthentication.js +6 -7
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/pickEntryFieldValues.js +24 -18
- package/utils/pickEntryFieldValues.js.map +1 -1
- package/utils/resolve.js +7 -6
- package/utils/resolve.js.map +1 -1
- package/exports/api/aco/flp.js.map +0 -1
- package/exports/api/aco/folder.js.map +0 -1
- package/features/cms/index.js.map +0 -1
- package/features/flp/CreateFlp/index.js.map +0 -1
- package/features/flp/CreateFlpOnFolderCreated/index.js.map +0 -1
- package/features/flp/DeleteFlp/index.js.map +0 -1
- package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +0 -1
- package/features/flp/FolderLevelPermissions/index.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
- package/features/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
- package/features/flp/GetFlp/index.js.map +0 -1
- package/features/flp/ListFlps/index.js.map +0 -1
- package/features/flp/UpdateFlp/index.js.map +0 -1
- package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +0 -1
- package/features/folder/CreateFolder/index.js.map +0 -1
- package/features/folder/DeleteFolder/index.js.map +0 -1
- package/features/folder/EnsureFolderIsEmpty/index.js.map +0 -1
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +0 -1
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +0 -1
- package/features/folder/GetAncestors/index.js.map +0 -1
- package/features/folder/GetFolder/index.js.map +0 -1
- package/features/folder/GetFolderHierarchy/index.js.map +0 -1
- package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +0 -1
- package/features/folder/ListFolders/index.js.map +0 -1
- package/features/folder/UpdateFolder/index.js.map +0 -1
- package/flp/flp.types.js.map +0 -1
- package/flp/index.js.map +0 -1
- package/folder/folder.types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js","sources":["../../../../src/features/folder/GetFolderHierarchy/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"],"names":["FIXED_FOLDER_LISTING_LIMIT","GetFolderHierarchyRepositoryImpl","getEntryById","listLatestEntries","folderModel","params","parents","siblings","rootFoldersResult","Result","FolderPersistenceError","rootEntries","entry","EntryToFolderMapper","ROOT_FOLDER","entryId","EntryId","folderResult","folder","getFolderParentResult","parentIds","f","childFoldersResult","childEntries","currentFolder","parentResult","parentFolder","GetFolderHierarchyRepository","RepositoryAbstraction","GetEntryByIdUseCase","ListLatestEntriesUseCase","FolderModel"],"mappings":";;;;;;;;;AAmBA,MAAMA,6BAA6B;AAEnC,MAAMC;IACF,YACYC,YAA2C,EAC3CC,iBAAqD,EACrDC,WAAkC,CAC5C;aAHUF,YAAY,GAAZA;aACAC,iBAAiB,GAAjBA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,QACFC,MAAgC,EACwC;QACxE,MAAMC,UAAoB,EAAE;QAC5B,MAAMC,WAAqB,EAAE;QAG7B,MAAMC,oBAAoB,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAC1D,IAAI,CAAC,WAAW,EAChB;YACI,OAAO;gBACH,QAAQ;oBACJ,MAAMH,OAAO,IAAI;oBACjB,UAAU;gBACd;YACJ;YACA,OAAOL;QACX;QAGJ,IAAIQ,kBAAkB,MAAM,IACxB,OAAOC,OAAO,IAAI,CAAC,IAAIC,uBAAuBF,kBAAkB,KAAK;QAGzE,MAAM,EAAE,SAASG,WAAW,EAAE,GAAGH,kBAAkB,KAAK;QACxDD,SAAS,IAAI,IAAII,YAAY,GAAG,CAACC,CAAAA,QAASC,oBAAoB,QAAQ,CAACD;QAEvE,IAAIP,OAAO,EAAE,KAAKS,aACd,OAAOL,OAAO,EAAE,CAAC;YACbH;YACAC;QACJ;QAIJ,MAAMQ,UAAUC,QAAQ,IAAI,CAACX,OAAO,EAAE;QACtC,MAAMY,eAAe,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAChD,IAAI,CAAC,WAAW,EAChBF,QAAQ,QAAQ;QAGpB,IAAIE,aAAa,MAAM,IACnB,OAAOR,OAAO,IAAI,CAAC,IAAIC,uBAAuBO,aAAa,KAAK;QAGpE,MAAMC,SAASL,oBAAoB,QAAQ,CAACI,aAAa,KAAK;QAC9DX,QAAQ,IAAI,CAACY;QAGb,MAAMC,wBAAwB,MAAM,IAAI,CAAC,eAAe,CAACD,QAAQZ;QACjE,IAAIa,sBAAsB,MAAM,IAC5B,OAAOV,OAAO,IAAI,CAACU,sBAAsB,KAAK;QAIlD,MAAMC,YAAYd,QAAQ,GAAG,CAACe,CAAAA,IAAKA,EAAE,EAAE;QAEvC,MAAMC,qBAAqB,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAC3D,IAAI,CAAC,WAAW,EAChB;YACI,OAAO;gBACH,gBAAgBF;gBAChB,QAAQ;oBACJ,MAAMF,OAAO,IAAI;oBACjB,aAAaE;gBACjB;YACJ;YACA,OAAOpB;QACX;QAGJ,IAAIsB,mBAAmB,MAAM,IACzB,OAAOb,OAAO,IAAI,CAAC,IAAIC,uBAAuBY,mBAAmB,KAAK;QAG1E,MAAM,EAAE,SAASC,YAAY,EAAE,GAAGD,mBAAmB,KAAK;QAC1Df,SAAS,IAAI,IAAIgB,aAAa,GAAG,CAACX,CAAAA,QAASC,oBAAoB,QAAQ,CAACD;QAExE,OAAOH,OAAO,EAAE,CAAC;YACbH;YACAC;QACJ;IACJ;IAEA,MAAc,gBACVW,MAAc,EACdZ,OAAiB,EACiC;QAClD,IAAIkB,gBAAgBN;QAEpB,MAAOM,cAAc,QAAQ,CAAE;YAC3B,MAAMC,eAAe,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAChD,IAAI,CAAC,WAAW,EAChBT,QAAQ,IAAI,CAACQ,cAAc,QAAQ,EAAE,QAAQ;YAGjD,IAAIC,aAAa,MAAM,IACnB,OAAOhB,OAAO,IAAI,CAAC,IAAIC,uBAAuBe,aAAa,KAAK;YAGpE,MAAMC,eAAeb,oBAAoB,QAAQ,CAACY,aAAa,KAAK;YACpEnB,QAAQ,IAAI,CAACoB;YACbF,gBAAgBE;QACpB;QAEA,OAAOjB,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMkB,4DAA+BC,6BAAAA,oBAA0C,CAAC;IACnF,gBAAgB3B;IAChB,cAAc;QAAC4B;QAAqBC;QAA0BC;KAAY;AAC9E"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GetFolderHierarchyRepository, GetFolderHierarchyUseCase } from "./abstractions.js";
|
|
2
2
|
import { createImplementation } from "@webiny/di";
|
|
3
3
|
class GetFolderHierarchyUseCaseImpl {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
constructor(repository){
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async execute(params) {
|
|
8
|
+
return await this.repository.execute(params);
|
|
9
|
+
}
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const GetFolderHierarchyUseCase_GetFolderHierarchyUseCase = createImplementation({
|
|
12
|
+
abstraction: GetFolderHierarchyUseCase,
|
|
13
|
+
implementation: GetFolderHierarchyUseCaseImpl,
|
|
14
|
+
dependencies: [
|
|
15
|
+
GetFolderHierarchyRepository
|
|
16
|
+
]
|
|
15
17
|
});
|
|
18
|
+
export { GetFolderHierarchyUseCase_GetFolderHierarchyUseCase as GetFolderHierarchyUseCase };
|
|
16
19
|
|
|
17
20
|
//# sourceMappingURL=GetFolderHierarchyUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js","sources":["../../../../src/features/folder/GetFolderHierarchy/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"],"names":["GetFolderHierarchyUseCaseImpl","repository","params","GetFolderHierarchyUseCase","createImplementation","UseCaseAbstraction","GetFolderHierarchyRepository"],"mappings":";;AAWA,MAAMA;IACF,YAAoBC,UAAkD,CAAE;aAApDA,UAAU,GAAVA;IAAqD;IAEzE,MAAM,QACFC,MAAgC,EACqC;QACrE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;IACzC;AACJ;AAEO,MAAMC,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBL;IAChB,cAAc;QAACM;KAA6B;AAChD"}
|
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/** Fetch folder hierarchy from storage. */
|
|
8
|
-
export const GetFolderHierarchyRepository = createAbstraction("GetFolderHierarchyRepository");
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* GetFolderHierarchy use case interface
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/** Retrieve the full folder hierarchy. */
|
|
15
|
-
export const GetFolderHierarchyUseCase = createAbstraction("GetFolderHierarchyUseCase");
|
|
2
|
+
const GetFolderHierarchyRepository = createAbstraction("GetFolderHierarchyRepository");
|
|
3
|
+
const GetFolderHierarchyUseCase = createAbstraction("GetFolderHierarchyUseCase");
|
|
4
|
+
export { GetFolderHierarchyRepository, GetFolderHierarchyUseCase };
|
|
16
5
|
|
|
17
6
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folder/GetFolderHierarchy/abstractions.js","sources":["../../../../src/features/folder/GetFolderHierarchy/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\n/** Fetch folder hierarchy from storage. */\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\n/** Retrieve the full folder hierarchy. */\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"],"names":["GetFolderHierarchyRepository","createAbstraction","GetFolderHierarchyUseCase"],"mappings":";AAyBO,MAAMA,+BAA+BC,kBACxC;AAyBG,MAAMC,4BAA4BD,kBACrC"}
|
|
@@ -1,64 +1,63 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
2
|
import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
|
|
3
3
|
import { GetFolderHierarchyUseCase } from "../abstractions.js";
|
|
4
4
|
class GetFolderHierarchyWithFolderLevelPermissionsImpl {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
constructor(folderLevelPermissions, decoratee){
|
|
6
|
+
this.folderLevelPermissions = folderLevelPermissions;
|
|
7
|
+
this.decoratee = decoratee;
|
|
8
|
+
this.flpCatalog = new Map();
|
|
9
|
+
}
|
|
10
|
+
async execute(params) {
|
|
11
|
+
const result = await this.decoratee.execute(params);
|
|
12
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
13
|
+
const { siblings, parents } = result.value;
|
|
14
|
+
const folders = [
|
|
15
|
+
...parents,
|
|
16
|
+
...siblings
|
|
17
|
+
];
|
|
18
|
+
await Promise.all(folders.map(async (folder)=>{
|
|
19
|
+
if (!this.hasFlp(folder.id)) {
|
|
20
|
+
const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folder.id);
|
|
21
|
+
this.setFlp(folder.id, permissions);
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
return Result.ok({
|
|
25
|
+
parents: await this.filterAccessibleFolders(parents),
|
|
26
|
+
siblings: await this.filterAccessibleFolders(siblings)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async filterAccessibleFolders(folders) {
|
|
30
|
+
const results = await Promise.all(folders.map(async (folder)=>{
|
|
31
|
+
const permissions = this.getFlp(folder.id);
|
|
32
|
+
if (!permissions) return folder;
|
|
33
|
+
const canAccess = await this.folderLevelPermissions.canAccessFolder({
|
|
34
|
+
permissions,
|
|
35
|
+
rwd: "r"
|
|
36
|
+
});
|
|
37
|
+
return canAccess ? {
|
|
38
|
+
...folder,
|
|
39
|
+
permissions
|
|
40
|
+
} : null;
|
|
41
|
+
}));
|
|
42
|
+
return results.filter((folder)=>null !== folder);
|
|
43
|
+
}
|
|
44
|
+
hasFlp(id) {
|
|
45
|
+
return this.flpCatalog.has(id);
|
|
46
|
+
}
|
|
47
|
+
getFlp(id) {
|
|
48
|
+
return this.flpCatalog.get(id);
|
|
49
|
+
}
|
|
50
|
+
setFlp(id, permissions) {
|
|
51
|
+
this.flpCatalog.set(id, permissions);
|
|
14
52
|
}
|
|
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
53
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
const GetFolderHierarchyWithFolderLevelPermissions = createDecorator({
|
|
55
|
+
abstraction: GetFolderHierarchyUseCase,
|
|
56
|
+
decorator: GetFolderHierarchyWithFolderLevelPermissionsImpl,
|
|
57
|
+
dependencies: [
|
|
58
|
+
FolderLevelPermissions
|
|
59
|
+
]
|
|
62
60
|
});
|
|
61
|
+
export { GetFolderHierarchyWithFolderLevelPermissions };
|
|
63
62
|
|
|
64
63
|
//# sourceMappingURL=GetFolderHierarchyWithFolderLevelPermissions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js","sources":["../../../../../src/features/folder/GetFolderHierarchy/decorators/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"],"names":["GetFolderHierarchyWithFolderLevelPermissionsImpl","folderLevelPermissions","decoratee","Map","params","result","Result","siblings","parents","folders","Promise","folder","permissions","results","canAccess","id","GetFolderHierarchyWithFolderLevelPermissions","createDecorator","GetFolderHierarchyUseCase","FolderLevelPermissions"],"mappings":";;;AAMA,MAAMA;IAKF,YACYC,sBAAwD,EACxDC,SAA8C,CACxD;aAFUD,sBAAsB,GAAtBA;aACAC,SAAS,GAATA;aAJJ,UAAU,GAAoC,IAAIC;IAKvD;IAEH,MAAM,QAAQC,MAAgC,EAAoC;QAC9E,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD;QAE5C,IAAIC,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAACD,OAAO,KAAK;QAGnC,MAAM,EAAEE,QAAQ,EAAEC,OAAO,EAAE,GAAGH,OAAO,KAAK;QAC1C,MAAMI,UAAU;eAAID;eAAYD;SAAS;QAEzC,MAAMG,QAAQ,GAAG,CACbD,QAAQ,GAAG,CAAC,OAAME;YACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAACA,OAAO,EAAE,GAAG;gBACzB,MAAMC,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAC3ED,OAAO,EAAE;gBAEb,IAAI,CAAC,MAAM,CAACA,OAAO,EAAE,EAAEC;YAC3B;QACJ;QAGJ,OAAON,OAAO,EAAE,CAAC;YACb,SAAS,MAAM,IAAI,CAAC,uBAAuB,CAACE;YAC5C,UAAU,MAAM,IAAI,CAAC,uBAAuB,CAACD;QACjD;IACJ;IAEA,MAAc,wBAAwBE,OAAiB,EAAqB;QACxE,MAAMI,UAAU,MAAMH,QAAQ,GAAG,CAC7BD,QAAQ,GAAG,CAAC,OAAME;YACd,MAAMC,cAAc,IAAI,CAAC,MAAM,CAACD,OAAO,EAAE;YACzC,IAAI,CAACC,aACD,OAAOD;YAGX,MAAMG,YAAY,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;gBAChEF;gBACA,KAAK;YACT;YAEA,OAAOE,YAAY;gBAAE,GAAGH,MAAM;gBAAEC;YAAY,IAAI;QACpD;QAEJ,OAAOC,QAAQ,MAAM,CAAC,CAACF,SAA6BA,AAAW,SAAXA;IACxD;IAEQ,OAAOI,EAAU,EAAW;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAACA;IAC/B;IAEQ,OAAOA,EAAU,EAAkC;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAACA;IAC/B;IAEQ,OAAOA,EAAU,EAAEH,WAA+B,EAAQ;QAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAACG,IAAIH;IAC5B;AACJ;AAEO,MAAMI,+CAA+CC,gBAAgB;IACxE,aAAaC;IACb,WAAWlB;IACX,cAAc;QAACmB;KAAuB;AAC1C"}
|
|
@@ -2,13 +2,14 @@ import { createFeature } from "@webiny/feature/api";
|
|
|
2
2
|
import { GetFolderHierarchyRepository } from "./GetFolderHierarchyRepository.js";
|
|
3
3
|
import { GetFolderHierarchyUseCase } from "./GetFolderHierarchyUseCase.js";
|
|
4
4
|
import { GetFolderHierarchyWithFolderLevelPermissions } from "./decorators/GetFolderHierarchyWithFolderLevelPermissions.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
const GetFolderHierarchyFeature = createFeature({
|
|
6
|
+
name: "GetFolderHierarchy",
|
|
7
|
+
register (container) {
|
|
8
|
+
container.register(GetFolderHierarchyRepository).inSingletonScope();
|
|
9
|
+
container.register(GetFolderHierarchyUseCase);
|
|
10
|
+
container.registerDecorator(GetFolderHierarchyWithFolderLevelPermissions);
|
|
11
|
+
}
|
|
12
12
|
});
|
|
13
|
+
export { GetFolderHierarchyFeature };
|
|
13
14
|
|
|
14
15
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folder/GetFolderHierarchy/feature.js","sources":["../../../../src/features/folder/GetFolderHierarchy/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"],"names":["GetFolderHierarchyFeature","createFeature","container","GetFolderHierarchyRepository","GetFolderHierarchyUseCase","GetFolderHierarchyWithFolderLevelPermissions"],"mappings":";;;;AAMO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC,8BAA8B,gBAAgB;QACjED,UAAU,QAAQ,CAACE;QACnBF,UAAU,iBAAiB,CAACG;IAChC;AACJ"}
|
|
@@ -1,68 +1,75 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { ListFolderLevelPermissionsTargetsUseCase
|
|
2
|
+
import { ListFolderLevelPermissionsTargetsUseCase } from "./abstractions.js";
|
|
3
3
|
import { validation } from "@webiny/validation";
|
|
4
4
|
import { ListUsersUseCase } from "@webiny/api-core/features/users/ListUsers/index.js";
|
|
5
5
|
import { ListTeamsUseCase } from "@webiny/api-core/features/security/teams/ListTeams/index.js";
|
|
6
6
|
class ListFolderLevelPermissionsTargetsUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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()) return Result.ok([
|
|
15
|
+
[],
|
|
16
|
+
{
|
|
17
|
+
totalCount: 0
|
|
18
|
+
}
|
|
19
|
+
]);
|
|
20
|
+
const adminUsers = adminUsersResult.value;
|
|
21
|
+
const teams = teamsResult.value;
|
|
22
|
+
const teamTargets = teams.map((team)=>({
|
|
23
|
+
id: team.id,
|
|
24
|
+
type: "team",
|
|
25
|
+
target: `team:${team.slug}`,
|
|
26
|
+
name: team.name || "",
|
|
27
|
+
meta: {}
|
|
28
|
+
}));
|
|
29
|
+
const adminUserTargets = adminUsers.map((user)=>{
|
|
30
|
+
let name = user.displayName;
|
|
31
|
+
if (!name) name = [
|
|
32
|
+
user.firstName,
|
|
33
|
+
user.lastName
|
|
34
|
+
].filter(Boolean).join(" ");
|
|
35
|
+
let email = user.email;
|
|
36
|
+
try {
|
|
37
|
+
validation.validateSync(email, "email");
|
|
38
|
+
} catch {
|
|
39
|
+
email = null;
|
|
40
|
+
}
|
|
41
|
+
const image = user.avatar?.src || null;
|
|
42
|
+
return {
|
|
43
|
+
id: user.id,
|
|
44
|
+
type: "admin",
|
|
45
|
+
target: `admin:${user.id}`,
|
|
46
|
+
name,
|
|
47
|
+
meta: {
|
|
48
|
+
email,
|
|
49
|
+
image
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
const results = [
|
|
54
|
+
...teamTargets,
|
|
55
|
+
...adminUserTargets
|
|
56
|
+
];
|
|
57
|
+
const meta = {
|
|
58
|
+
totalCount: results.length
|
|
59
|
+
};
|
|
60
|
+
return Result.ok([
|
|
61
|
+
results,
|
|
62
|
+
meta
|
|
63
|
+
]);
|
|
18
64
|
}
|
|
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.slug}`,
|
|
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
65
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
const ListFolderLevelPermissionsTargetsUseCase_ListFolderLevelPermissionsTargetsUseCase = ListFolderLevelPermissionsTargetsUseCase.createImplementation({
|
|
67
|
+
implementation: ListFolderLevelPermissionsTargetsUseCaseImpl,
|
|
68
|
+
dependencies: [
|
|
69
|
+
ListUsersUseCase,
|
|
70
|
+
ListTeamsUseCase
|
|
71
|
+
]
|
|
66
72
|
});
|
|
73
|
+
export { ListFolderLevelPermissionsTargetsUseCase_ListFolderLevelPermissionsTargetsUseCase as ListFolderLevelPermissionsTargetsUseCase };
|
|
67
74
|
|
|
68
75
|
//# sourceMappingURL=ListFolderLevelPermissionsTargetsUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js","sources":["../../../../src/features/folder/ListFolderLevelPermissionsTargets/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/users/ListUsers/index.js\";\nimport { ListTeamsUseCase } from \"@webiny/api-core/features/security/teams/ListTeams/index.js\";\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.slug}`,\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"],"names":["ListFolderLevelPermissionsTargetsUseCaseImpl","listAdminUsers","listTeams","adminUsersResult","teamsResult","Result","adminUsers","teams","teamTargets","team","adminUserTargets","user","name","Boolean","email","validation","image","results","meta","ListFolderLevelPermissionsTargetsUseCase","UseCaseAbstraction","ListUsersUseCase","ListTeamsUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,cAA0C,EAC1CC,SAAqC,CAC/C;aAFUD,cAAc,GAAdA;aACAC,SAAS,GAATA;IACT;IAEH,MAAa,UAAqC;QAC9C,MAAMC,mBAAmB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO;QAC1D,MAAMC,cAAc,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO;QAEhD,IAAID,iBAAiB,MAAM,MAAMC,YAAY,MAAM,IAC/C,OAAOC,OAAO,EAAE,CAAC;YAAC,EAAE;YAAE;gBAAE,YAAY;YAAE;SAAE;QAG5C,MAAMC,aAAaH,iBAAiB,KAAK;QACzC,MAAMI,QAAQH,YAAY,KAAK;QAE/B,MAAMI,cAAcD,MAAM,GAAG,CAACE,CAAAA,OAAS;gBACnC,IAAIA,KAAK,EAAE;gBACX,MAAM;gBACN,QAAQ,CAAC,KAAK,EAAEA,KAAK,IAAI,EAAE;gBAC3B,MAAMA,KAAK,IAAI,IAAI;gBACnB,MAAM,CAAC;YACX;QAEA,MAAMC,mBAAmBJ,WAAW,GAAG,CAACK,CAAAA;YACpC,IAAIC,OAAOD,KAAK,WAAW;YAC3B,IAAI,CAACC,MAEDA,OAAO;gBAACD,KAAK,SAAS;gBAAEA,KAAK,QAAQ;aAAC,CAAC,MAAM,CAACE,SAAS,IAAI,CAAC;YAMhE,IAAIC,QAAuBH,KAAK,KAAK;YACrC,IAAI;gBACAI,WAAW,YAAY,CAACD,OAAO;YACnC,EAAE,OAAM;gBACJA,QAAQ;YACZ;YAEA,MAAME,QAAQL,KAAK,MAAM,EAAE,OAAO;YAElC,OAAO;gBACH,IAAIA,KAAK,EAAE;gBACX,MAAM;gBACN,QAAQ,CAAC,MAAM,EAAEA,KAAK,EAAE,EAAE;gBAC1BC;gBACA,MAAM;oBACFE;oBACAE;gBACJ;YACJ;QACJ;QAEA,MAAMC,UAAU;eAAIT;eAAgBE;SAAiB;QACrD,MAAMQ,OAAO;YAAE,YAAYD,QAAQ,MAAM;QAAC;QAE1C,OAAOZ,OAAO,EAAE,CAAC;YAACY;YAASC;SAAK;IACpC;AACJ;AAEO,MAAMC,oFAA2CC,yCAAAA,oBAAuC,CAAC;IAC5F,gBAAgBpB;IAChB,cAAc;QAACqB;QAAkBC;KAAiB;AACtD"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/** List targets for folder-level permissions. */
|
|
6
|
-
export const ListFolderLevelPermissionsTargetsUseCase = createAbstraction("ListFolderLevelPermissionsTargetsUseCase");
|
|
2
|
+
const ListFolderLevelPermissionsTargetsUseCase = createAbstraction("ListFolderLevelPermissionsTargetsUseCase");
|
|
3
|
+
export { ListFolderLevelPermissionsTargetsUseCase };
|
|
7
4
|
|
|
8
5
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folder/ListFolderLevelPermissionsTargets/abstractions.js","sources":["../../../../src/features/folder/ListFolderLevelPermissionsTargets/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\n/** List targets for folder-level permissions. */\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"],"names":["ListFolderLevelPermissionsTargetsUseCase","createAbstraction"],"mappings":";AAcO,MAAMA,2CACTC,kBACI"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { ListFolderLevelPermissionsTargetsUseCase } from "./ListFolderLevelPermissionsTargetsUseCase.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const ListFolderLevelPermissionsTargetsFeature = createFeature({
|
|
4
|
+
name: "ListFolderLevelPermissionsTargets",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(ListFolderLevelPermissionsTargetsUseCase);
|
|
7
|
+
}
|
|
8
8
|
});
|
|
9
|
+
export { ListFolderLevelPermissionsTargetsFeature };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folder/ListFolderLevelPermissionsTargets/feature.js","sources":["../../../../src/features/folder/ListFolderLevelPermissionsTargets/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"],"names":["ListFolderLevelPermissionsTargetsFeature","createFeature","container","ListFolderLevelPermissionsTargetsUseCase"],"mappings":";;AAGO,MAAMA,2CAA2CC,cAAc;IAClE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|