@webiny/api-aco 0.0.0-unstable.6844005670 → 0.0.0-unstable.7be00a75a9
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.d.ts +1 -1
- package/createAcoContext.js +75 -107
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.js +43 -44
- 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.d.ts +6 -0
- package/exports/api/aco/flp.js +6 -0
- package/exports/api/aco/folder.d.ts +10 -0
- package/exports/api/aco/folder.js +10 -0
- 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.d.ts +4 -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.d.ts +1 -0
- package/features/flp/CreateFlp/abstractions.js +2 -4
- package/features/flp/CreateFlp/abstractions.js.map +1 -1
- package/features/flp/CreateFlp/feature.d.ts +5 -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.d.ts +3 -3
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +28 -28
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
- package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -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.d.ts +1 -0
- package/features/flp/DeleteFlp/abstractions.js +2 -4
- package/features/flp/DeleteFlp/abstractions.js.map +1 -1
- package/features/flp/DeleteFlp/feature.d.ts +5 -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.d.ts +3 -3
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +28 -28
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
- package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -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.d.ts +3 -3
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +90 -111
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
- package/features/flp/FolderLevelPermissions/abstractions.d.ts +1 -0
- package/features/flp/FolderLevelPermissions/abstractions.js +2 -1
- package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
- package/features/flp/FolderLevelPermissions/feature.d.ts +5 -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.d.ts +1 -1
- 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.d.ts +1 -1
- 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.d.ts +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.d.ts +2 -2
- 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.d.ts +1 -0
- package/features/flp/GetFlp/abstractions.js +2 -1
- package/features/flp/GetFlp/abstractions.js.map +1 -1
- package/features/flp/GetFlp/feature.d.ts +4 -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.d.ts +1 -0
- package/features/flp/ListFlps/abstractions.js +2 -1
- package/features/flp/ListFlps/abstractions.js.map +1 -1
- package/features/flp/ListFlps/feature.d.ts +4 -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.d.ts +1 -0
- package/features/flp/UpdateFlp/abstractions.js +2 -4
- package/features/flp/UpdateFlp/abstractions.js.map +1 -1
- package/features/flp/UpdateFlp/feature.d.ts +5 -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.d.ts +3 -3
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +30 -30
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
- package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -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.d.ts +1 -1
- package/features/folder/CreateFolder/CreateFolderUseCase.js +28 -31
- package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
- package/features/folder/CreateFolder/abstractions.d.ts +9 -5
- package/features/folder/CreateFolder/abstractions.js +5 -18
- 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.d.ts +3 -3
- package/features/folder/CreateFolder/events.js +17 -15
- package/features/folder/CreateFolder/events.js.map +1 -1
- package/features/folder/CreateFolder/feature.d.ts +5 -1
- package/features/folder/CreateFolder/feature.js +8 -7
- package/features/folder/CreateFolder/feature.js.map +1 -1
- package/features/folder/CreateFolder/index.d.ts +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.d.ts +1 -1
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js +36 -44
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
- package/features/folder/DeleteFolder/abstractions.d.ts +9 -5
- package/features/folder/DeleteFolder/abstractions.js +5 -18
- 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.d.ts +3 -3
- package/features/folder/DeleteFolder/events.js +17 -15
- package/features/folder/DeleteFolder/events.js.map +1 -1
- package/features/folder/DeleteFolder/feature.d.ts +5 -1
- package/features/folder/DeleteFolder/feature.js +8 -7
- package/features/folder/DeleteFolder/feature.js.map +1 -1
- package/features/folder/DeleteFolder/index.d.ts +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.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -1
- package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
- package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -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.d.ts +3 -3
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +17 -21
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +4 -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.d.ts +3 -3
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +37 -45
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -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.d.ts +2 -0
- package/features/folder/GetAncestors/abstractions.js +3 -12
- package/features/folder/GetAncestors/abstractions.js.map +1 -1
- package/features/folder/GetAncestors/feature.d.ts +5 -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.d.ts +8 -5
- package/features/folder/GetFolder/abstractions.js +5 -18
- 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.d.ts +5 -1
- package/features/folder/GetFolder/feature.js +8 -7
- package/features/folder/GetFolder/feature.js.map +1 -1
- package/features/folder/GetFolder/index.d.ts +1 -1
- package/features/folder/GetFolder/index.js +1 -3
- 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.d.ts +2 -0
- package/features/folder/GetFolderHierarchy/abstractions.js +3 -12
- 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.d.ts +5 -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.d.ts +2 -2
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +67 -60
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -4
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
- package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -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.d.ts +2 -0
- package/features/folder/ListFolders/abstractions.js +3 -12
- 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.d.ts +5 -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.d.ts +1 -1
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js +39 -46
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
- package/features/folder/UpdateFolder/abstractions.d.ts +9 -5
- package/features/folder/UpdateFolder/abstractions.js +5 -18
- 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.d.ts +3 -3
- package/features/folder/UpdateFolder/events.js +17 -15
- package/features/folder/UpdateFolder/events.js.map +1 -1
- package/features/folder/UpdateFolder/feature.d.ts +5 -1
- package/features/folder/UpdateFolder/feature.js +8 -7
- package/features/folder/UpdateFolder/feature.js.map +1 -1
- package/features/folder/UpdateFolder/index.d.ts +1 -1
- package/features/folder/UpdateFolder/index.js +1 -3
- package/features/folder/shared/EntryToFolderMapper.js +20 -19
- package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
- package/features/folder/shared/abstractions.d.ts +1 -0
- package/features/folder/shared/abstractions.js +2 -1
- 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.d.ts +6 -4
- package/flp/tasks/createFlp.task.js +27 -26
- package/flp/tasks/createFlp.task.js.map +1 -1
- package/flp/tasks/deleteFlp.task.d.ts +6 -4
- package/flp/tasks/deleteFlp.task.js +27 -26
- 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.d.ts +6 -4
- package/flp/tasks/syncFlp.task.js +84 -111
- package/flp/tasks/syncFlp.task.js.map +1 -1
- package/flp/tasks/updateFlp.task.d.ts +6 -4
- package/flp/tasks/updateFlp.task.js +34 -31
- 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.d.ts +3 -2
- 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.d.ts +1 -1
- package/index.js +7 -4
- package/index.js.map +1 -1
- package/package.json +30 -40
- 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/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
- package/utils/acoRecordId.d.ts +0 -6
- package/utils/acoRecordId.js +0 -27
- package/utils/acoRecordId.js.map +0 -1
|
@@ -1,70 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
class DefaultPermissionsMerger {
|
|
2
|
+
static merge(identity, identityPermissions, folderPermissions) {
|
|
3
|
+
const hasFullAccess = identityPermissions.some((p)=>"*" === p.name);
|
|
4
|
+
if (hasFullAccess) return [
|
|
5
|
+
{
|
|
6
|
+
target: `admin:${identity.id}`,
|
|
7
|
+
level: "owner",
|
|
8
|
+
inheritedFrom: "role:full-access"
|
|
9
|
+
},
|
|
10
|
+
...folderPermissions.filter((p)=>p.target !== `admin:${identity.id}`)
|
|
11
|
+
];
|
|
12
|
+
if (0 === folderPermissions.length) return [
|
|
13
|
+
{
|
|
14
|
+
target: `admin:${identity.id}`,
|
|
15
|
+
level: "public",
|
|
16
|
+
inheritedFrom: "public"
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
const currentAdminPermissions = folderPermissions.filter((p)=>p.target === `admin:${identity.id}`);
|
|
20
|
+
if (0 === currentAdminPermissions.length) return folderPermissions;
|
|
21
|
+
const noAccessPermission = currentAdminPermissions.find((p)=>"no-access" === p.level && p.target === `admin:${identity.id}`);
|
|
22
|
+
if (noAccessPermission) {
|
|
23
|
+
const filteredPermissions = folderPermissions.filter((p)=>p.target !== `admin:${identity.id}`);
|
|
24
|
+
return [
|
|
25
|
+
...filteredPermissions,
|
|
26
|
+
noAccessPermission
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
const [firstAdminPermission, ...restAdminPermissions] = currentAdminPermissions;
|
|
30
|
+
const resultPermission = restAdminPermissions.reduce((winner, current)=>{
|
|
31
|
+
const winnerInherits = winner.inheritedFrom?.startsWith("parent:");
|
|
32
|
+
const currentInherits = current.inheritedFrom?.startsWith("parent:");
|
|
33
|
+
if (winnerInherits && !currentInherits) return current;
|
|
34
|
+
if (currentInherits && !winnerInherits) return winner;
|
|
35
|
+
if ("owner" === current.level) return current;
|
|
36
|
+
if ("editor" === current.level && "viewer" === winner.level) return current;
|
|
37
|
+
return winner;
|
|
38
|
+
}, firstAdminPermission);
|
|
39
|
+
return [
|
|
40
|
+
resultPermission,
|
|
41
|
+
...folderPermissions.filter((p)=>p.target !== `admin:${identity.id}`)
|
|
42
|
+
];
|
|
15
43
|
}
|
|
16
|
-
if (folderPermissions.length === 0) {
|
|
17
|
-
// No permissions provided. This means the folder is public.
|
|
18
|
-
// Add a specific "public" permission to the list to ensure the folder is accessible to everyone.
|
|
19
|
-
return [{
|
|
20
|
-
target: `admin:${identity.id}`,
|
|
21
|
-
level: "public",
|
|
22
|
-
inheritedFrom: "public"
|
|
23
|
-
}];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// If there are multiple `admin:${identity.id}` permissions in the array,
|
|
27
|
-
// we need to pick the one with the highest access level. We also remove
|
|
28
|
-
// other permissions for the same identity.
|
|
29
|
-
|
|
30
|
-
// Get permissions related to the current identity (admin).
|
|
31
|
-
const currentAdminPermissions = folderPermissions.filter(p => p.target === `admin:${identity.id}`);
|
|
32
|
-
if (currentAdminPermissions.length === 0) {
|
|
33
|
-
return folderPermissions;
|
|
34
|
-
}
|
|
35
|
-
const noAccessPermission = currentAdminPermissions.find(p => p.level === "no-access" && p.target === `admin:${identity.id}`);
|
|
36
|
-
if (noAccessPermission) {
|
|
37
|
-
// If one of the permissions is `no-access`, then we can immediately return it. This is
|
|
38
|
-
// because `no-access` is the ultimate level of access, and no other permission can override it.
|
|
39
|
-
// Remove all permissions for the current identity and add the winning one.
|
|
40
|
-
const filteredPermissions = folderPermissions.filter(p => p.target !== `admin:${identity.id}`);
|
|
41
|
-
return [...filteredPermissions, noAccessPermission];
|
|
42
|
-
}
|
|
43
|
-
const [firstAdminPermission, ...restAdminPermissions] = currentAdminPermissions;
|
|
44
|
-
const resultPermission = restAdminPermissions.reduce((winner, current) => {
|
|
45
|
-
const winnerInherits = winner.inheritedFrom?.startsWith("parent:");
|
|
46
|
-
const currentInherits = current.inheritedFrom?.startsWith("parent:");
|
|
47
|
-
if (winnerInherits && !currentInherits) {
|
|
48
|
-
return current;
|
|
49
|
-
}
|
|
50
|
-
if (currentInherits && !winnerInherits) {
|
|
51
|
-
return winner;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// At this point, we're either comparing two permissions with `inheritedFrom` or two without it.
|
|
55
|
-
// In other words, we're now at a point where we start comparing the levels (owner > editor > viewer).
|
|
56
|
-
if (current.level === "owner") {
|
|
57
|
-
return current;
|
|
58
|
-
}
|
|
59
|
-
if (current.level === "editor" && winner.level === "viewer") {
|
|
60
|
-
return current;
|
|
61
|
-
}
|
|
62
|
-
return winner;
|
|
63
|
-
}, firstAdminPermission);
|
|
64
|
-
|
|
65
|
-
// Remove all permissions for the current identity and add the winning one.
|
|
66
|
-
return [resultPermission, ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)];
|
|
67
|
-
}
|
|
68
44
|
}
|
|
45
|
+
export { DefaultPermissionsMerger };
|
|
69
46
|
|
|
70
47
|
//# sourceMappingURL=DefaultPermissionsMerger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js","sources":["../../../../../../src/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.ts"],"sourcesContent":["import { SecurityIdentity, SecurityPermission } from \"@webiny/api-core/types/security.js\";\nimport type { FolderAccessLevel, FolderPermission } from \"~/flp/flp.types.js\";\n\nexport class DefaultPermissionsMerger {\n static merge(\n identity: SecurityIdentity,\n identityPermissions: SecurityPermission[],\n folderPermissions: FolderPermission[]\n ): FolderPermission[] {\n // If the user has full access permission, add a specific \"owner\" permission to the list.\n // This ensures the user has complete control over the folder.\n const hasFullAccess = identityPermissions.some(p => p.name === \"*\");\n if (hasFullAccess) {\n return [\n {\n target: `admin:${identity.id}`,\n level: \"owner\" as FolderAccessLevel,\n inheritedFrom: \"role:full-access\"\n },\n\n // Remove any permissions related to the full access user,\n // as these are always superseded by the \"owner\" permission defined above.\n ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)\n ];\n }\n\n if (folderPermissions.length === 0) {\n // No permissions provided. This means the folder is public.\n // Add a specific \"public\" permission to the list to ensure the folder is accessible to everyone.\n return [\n {\n target: `admin:${identity.id}`,\n level: \"public\" as FolderAccessLevel,\n inheritedFrom: \"public\"\n }\n ];\n }\n\n // If there are multiple `admin:${identity.id}` permissions in the array,\n // we need to pick the one with the highest access level. We also remove\n // other permissions for the same identity.\n\n // Get permissions related to the current identity (admin).\n const currentAdminPermissions = folderPermissions.filter(\n p => p.target === `admin:${identity.id}`\n );\n\n if (currentAdminPermissions.length === 0) {\n return folderPermissions;\n }\n\n const noAccessPermission = currentAdminPermissions.find(\n p => p.level === \"no-access\" && p.target === `admin:${identity.id}`\n );\n\n if (noAccessPermission) {\n // If one of the permissions is `no-access`, then we can immediately return it. This is\n // because `no-access` is the ultimate level of access, and no other permission can override it.\n // Remove all permissions for the current identity and add the winning one.\n const filteredPermissions = folderPermissions.filter(\n p => p.target !== `admin:${identity.id}`\n );\n\n return [...filteredPermissions, noAccessPermission];\n }\n\n const [firstAdminPermission, ...restAdminPermissions] = currentAdminPermissions;\n\n const resultPermission = restAdminPermissions.reduce((winner, current) => {\n const winnerInherits = winner.inheritedFrom?.startsWith(\"parent:\");\n const currentInherits = current.inheritedFrom?.startsWith(\"parent:\");\n\n if (winnerInherits && !currentInherits) {\n return current;\n }\n if (currentInherits && !winnerInherits) {\n return winner;\n }\n\n // At this point, we're either comparing two permissions with `inheritedFrom` or two without it.\n // In other words, we're now at a point where we start comparing the levels (owner > editor > viewer).\n if (current.level === \"owner\") {\n return current;\n }\n\n if (current.level === \"editor\" && winner.level === \"viewer\") {\n return current;\n }\n\n return winner;\n }, firstAdminPermission);\n\n // Remove all permissions for the current identity and add the winning one.\n return [\n resultPermission,\n ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)\n ];\n }\n}\n"],"names":["DefaultPermissionsMerger","identity","identityPermissions","folderPermissions","hasFullAccess","p","currentAdminPermissions","noAccessPermission","filteredPermissions","firstAdminPermission","restAdminPermissions","resultPermission","winner","current","winnerInherits","currentInherits"],"mappings":"AAGO,MAAMA;IACT,OAAO,MACHC,QAA0B,EAC1BC,mBAAyC,EACzCC,iBAAqC,EACnB;QAGlB,MAAMC,gBAAgBF,oBAAoB,IAAI,CAACG,CAAAA,IAAKA,AAAW,QAAXA,EAAE,IAAI;QAC1D,IAAID,eACA,OAAO;YACH;gBACI,QAAQ,CAAC,MAAM,EAAEH,SAAS,EAAE,EAAE;gBAC9B,OAAO;gBACP,eAAe;YACnB;eAIGE,kBAAkB,MAAM,CAACE,CAAAA,IAAKA,EAAE,MAAM,KAAK,CAAC,MAAM,EAAEJ,SAAS,EAAE,EAAE;SACvE;QAGL,IAAIE,AAA6B,MAA7BA,kBAAkB,MAAM,EAGxB,OAAO;YACH;gBACI,QAAQ,CAAC,MAAM,EAAEF,SAAS,EAAE,EAAE;gBAC9B,OAAO;gBACP,eAAe;YACnB;SACH;QAQL,MAAMK,0BAA0BH,kBAAkB,MAAM,CACpDE,CAAAA,IAAKA,EAAE,MAAM,KAAK,CAAC,MAAM,EAAEJ,SAAS,EAAE,EAAE;QAG5C,IAAIK,AAAmC,MAAnCA,wBAAwB,MAAM,EAC9B,OAAOH;QAGX,MAAMI,qBAAqBD,wBAAwB,IAAI,CACnDD,CAAAA,IAAKA,AAAY,gBAAZA,EAAE,KAAK,IAAoBA,EAAE,MAAM,KAAK,CAAC,MAAM,EAAEJ,SAAS,EAAE,EAAE;QAGvE,IAAIM,oBAAoB;YAIpB,MAAMC,sBAAsBL,kBAAkB,MAAM,CAChDE,CAAAA,IAAKA,EAAE,MAAM,KAAK,CAAC,MAAM,EAAEJ,SAAS,EAAE,EAAE;YAG5C,OAAO;mBAAIO;gBAAqBD;aAAmB;QACvD;QAEA,MAAM,CAACE,sBAAsB,GAAGC,qBAAqB,GAAGJ;QAExD,MAAMK,mBAAmBD,qBAAqB,MAAM,CAAC,CAACE,QAAQC;YAC1D,MAAMC,iBAAiBF,OAAO,aAAa,EAAE,WAAW;YACxD,MAAMG,kBAAkBF,QAAQ,aAAa,EAAE,WAAW;YAE1D,IAAIC,kBAAkB,CAACC,iBACnB,OAAOF;YAEX,IAAIE,mBAAmB,CAACD,gBACpB,OAAOF;YAKX,IAAIC,AAAkB,YAAlBA,QAAQ,KAAK,EACb,OAAOA;YAGX,IAAIA,AAAkB,aAAlBA,QAAQ,KAAK,IAAiBD,AAAiB,aAAjBA,OAAO,KAAK,EAC1C,OAAOC;YAGX,OAAOD;QACX,GAAGH;QAGH,OAAO;YACHE;eACGR,kBAAkB,MAAM,CAACE,CAAAA,IAAKA,EAAE,MAAM,KAAK,CAAC,MAAM,EAAEJ,SAAS,EAAE,EAAE;SACvE;IACL;AACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
1
|
+
import type { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
2
2
|
import type { IGetDefaultPermissions } from "./IGetDefaultPermissions.js";
|
|
3
3
|
import type { FolderPermission } from "../../../../../flp/flp.types.js";
|
|
4
4
|
export declare class GetDefaultPermissions implements IGetDefaultPermissions {
|
package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { DefaultPermissionsMerger } from "./DefaultPermissionsMerger.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
class GetDefaultPermissions {
|
|
3
|
+
constructor(identityContext){
|
|
4
|
+
this.identityContext = identityContext;
|
|
5
|
+
}
|
|
6
|
+
async execute(permissions) {
|
|
7
|
+
const identity = this.identityContext.getIdentity();
|
|
8
|
+
const identityPermissions = await this.identityContext.listPermissions();
|
|
9
|
+
return DefaultPermissionsMerger.merge(identity, identityPermissions, permissions);
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
|
+
export { GetDefaultPermissions };
|
|
12
13
|
|
|
13
14
|
//# sourceMappingURL=GetDefaultPermissions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js","sources":["../../../../../../src/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.ts"],"sourcesContent":["import type { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport type { IGetDefaultPermissions } from \"./IGetDefaultPermissions.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { DefaultPermissionsMerger } from \"./DefaultPermissionsMerger.js\";\n\nexport class GetDefaultPermissions implements IGetDefaultPermissions {\n constructor(private identityContext: IdentityContext.Interface) {}\n\n async execute(permissions: FolderPermission[]) {\n const identity = this.identityContext.getIdentity();\n const identityPermissions = await this.identityContext.listPermissions();\n\n return DefaultPermissionsMerger.merge(identity, identityPermissions, permissions);\n }\n}\n"],"names":["GetDefaultPermissions","identityContext","permissions","identity","identityPermissions","DefaultPermissionsMerger"],"mappings":";AAKO,MAAMA;IACT,YAAoBC,eAA0C,CAAE;aAA5CA,eAAe,GAAfA;IAA6C;IAEjE,MAAM,QAAQC,WAA+B,EAAE;QAC3C,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QACjD,MAAMC,sBAAsB,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe;QAEtE,OAAOC,yBAAyB,KAAK,CAACF,UAAUC,qBAAqBF;IACzE;AACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IGetDefaultPermissions } from "./IGetDefaultPermissions.js";
|
|
2
2
|
import type { FolderPermission } from "../../../../../flp/flp.types.js";
|
|
3
|
-
import type { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
4
|
-
import { ListUserTeamsUseCase } from "@webiny/api-core/features/ListUserTeams";
|
|
3
|
+
import type { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
4
|
+
import { ListUserTeamsUseCase } from "@webiny/api-core/features/users/ListUserTeams/index.js";
|
|
5
5
|
export declare class GetDefaultPermissionsWithTeams implements IGetDefaultPermissions {
|
|
6
6
|
private identityContext;
|
|
7
7
|
private listUserTeamsUseCase;
|
|
@@ -1,38 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
for (const identityTeam of identityTeams) {
|
|
22
|
-
// Check if the team has permissions for the folder.
|
|
23
|
-
const teamPermission = permissions.find(p => p.target === `team:${identityTeam.slug}`);
|
|
24
|
-
if (teamPermission) {
|
|
25
|
-
// Grant the current identity the same permissions as the team, marking them as inherited.
|
|
26
|
-
permissions.push({
|
|
27
|
-
target: `admin:${identity.id}`,
|
|
28
|
-
level: teamPermission.level,
|
|
29
|
-
inheritedFrom: "team:" + identityTeam.slug
|
|
30
|
-
});
|
|
1
|
+
class GetDefaultPermissionsWithTeams {
|
|
2
|
+
constructor(identityContext, listUserTeamsUseCase, decoretee){
|
|
3
|
+
this.identityContext = identityContext;
|
|
4
|
+
this.listUserTeamsUseCase = listUserTeamsUseCase;
|
|
5
|
+
this.decoretee = decoretee;
|
|
6
|
+
}
|
|
7
|
+
async execute(originalPermissions) {
|
|
8
|
+
const identity = this.identityContext.getIdentity();
|
|
9
|
+
const listTeamsResult = await this.listUserTeamsUseCase.execute(identity.id);
|
|
10
|
+
const identityTeams = listTeamsResult.isOk() ? listTeamsResult.value : [];
|
|
11
|
+
const permissions = [
|
|
12
|
+
...originalPermissions
|
|
13
|
+
];
|
|
14
|
+
if (identity && identityTeams.length) for (const identityTeam of identityTeams){
|
|
15
|
+
const teamPermission = permissions.find((p)=>p.target === `team:${identityTeam.slug}`);
|
|
16
|
+
if (teamPermission) permissions.push({
|
|
17
|
+
target: `admin:${identity.id}`,
|
|
18
|
+
level: teamPermission.level,
|
|
19
|
+
inheritedFrom: "team:" + identityTeam.slug
|
|
20
|
+
});
|
|
31
21
|
}
|
|
32
|
-
|
|
22
|
+
return await this.decoretee.execute(permissions);
|
|
33
23
|
}
|
|
34
|
-
return await this.decoretee.execute(permissions);
|
|
35
|
-
}
|
|
36
24
|
}
|
|
25
|
+
export { GetDefaultPermissionsWithTeams };
|
|
37
26
|
|
|
38
27
|
//# sourceMappingURL=GetDefaultPermissionsWithTeams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js","sources":["../../../../../../src/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.ts"],"sourcesContent":["import type { IGetDefaultPermissions } from \"./IGetDefaultPermissions.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport type { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { ListUserTeamsUseCase } from \"@webiny/api-core/features/users/ListUserTeams/index.js\";\nimport type { Team } from \"@webiny/api-core/types/security.js\";\n\nexport class GetDefaultPermissionsWithTeams implements IGetDefaultPermissions {\n private identityContext: IdentityContext.Interface;\n private listUserTeamsUseCase: ListUserTeamsUseCase.Interface;\n private decoretee: IGetDefaultPermissions;\n\n constructor(\n identityContext: IdentityContext.Interface,\n listUserTeamsUseCase: ListUserTeamsUseCase.Interface,\n decoretee: IGetDefaultPermissions\n ) {\n this.identityContext = identityContext;\n this.listUserTeamsUseCase = listUserTeamsUseCase;\n this.decoretee = decoretee;\n }\n\n async execute(originalPermissions: FolderPermission[]) {\n /**\n * Retrieves the list of teams the current identity belongs to and checks if any of these teams\n * have permissions for the folder. If a team has permissions, the current identity is granted\n * the same permissions, inheriting them from the team.\n */\n const identity = this.identityContext.getIdentity();\n\n // Get teams for current identity\n const listTeamsResult = await this.listUserTeamsUseCase.execute(identity.id);\n const identityTeams: Team[] = listTeamsResult.isOk() ? listTeamsResult.value : [];\n\n const permissions = [...originalPermissions]; // Clone the original permissions to avoid mutation.\n\n if (identity && identityTeams.length) {\n for (const identityTeam of identityTeams) {\n // Check if the team has permissions for the folder.\n const teamPermission = permissions.find(\n p => p.target === `team:${identityTeam.slug}`\n );\n\n if (teamPermission) {\n // Grant the current identity the same permissions as the team, marking them as inherited.\n permissions.push({\n target: `admin:${identity.id}`,\n level: teamPermission.level,\n inheritedFrom: \"team:\" + identityTeam.slug\n });\n }\n }\n }\n\n return await this.decoretee.execute(permissions);\n }\n}\n"],"names":["GetDefaultPermissionsWithTeams","identityContext","listUserTeamsUseCase","decoretee","originalPermissions","identity","listTeamsResult","identityTeams","permissions","identityTeam","teamPermission","p"],"mappings":"AAMO,MAAMA;IAKT,YACIC,eAA0C,EAC1CC,oBAAoD,EACpDC,SAAiC,CACnC;QACE,IAAI,CAAC,eAAe,GAAGF;QACvB,IAAI,CAAC,oBAAoB,GAAGC;QAC5B,IAAI,CAAC,SAAS,GAAGC;IACrB;IAEA,MAAM,QAAQC,mBAAuC,EAAE;QAMnD,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QAGjD,MAAMC,kBAAkB,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAACD,SAAS,EAAE;QAC3E,MAAME,gBAAwBD,gBAAgB,IAAI,KAAKA,gBAAgB,KAAK,GAAG,EAAE;QAEjF,MAAME,cAAc;eAAIJ;SAAoB;QAE5C,IAAIC,YAAYE,cAAc,MAAM,EAChC,KAAK,MAAME,gBAAgBF,cAAe;YAEtC,MAAMG,iBAAiBF,YAAY,IAAI,CACnCG,CAAAA,IAAKA,EAAE,MAAM,KAAK,CAAC,KAAK,EAAEF,aAAa,IAAI,EAAE;YAGjD,IAAIC,gBAEAF,YAAY,IAAI,CAAC;gBACb,QAAQ,CAAC,MAAM,EAAEH,SAAS,EAAE,EAAE;gBAC9B,OAAOK,eAAe,KAAK;gBAC3B,eAAe,UAAUD,aAAa,IAAI;YAC9C;QAER;QAGJ,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD;IACxC;AACJ"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
class GetFlpUseCase {
|
|
2
|
+
constructor(get){
|
|
3
|
+
this.get = get;
|
|
4
|
+
}
|
|
5
|
+
async execute(id) {
|
|
6
|
+
return this.get(id);
|
|
7
|
+
}
|
|
8
8
|
}
|
|
9
|
+
export { GetFlpUseCase };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=GetFlpUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/GetFlp/GetFlpUseCase.js","sources":["../../../../src/features/flp/GetFlp/GetFlpUseCase.ts"],"sourcesContent":["import type { GetFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoFolderLevelPermissionsCrud, FolderLevelPermission } from \"~/flp/flp.types.js\";\n\nexport class GetFlpUseCase implements UseCaseAbstraction.Interface {\n private readonly get: AcoFolderLevelPermissionsCrud[\"get\"];\n\n constructor(get: AcoFolderLevelPermissionsCrud[\"get\"]) {\n this.get = get;\n }\n\n async execute(id: string): Promise<FolderLevelPermission | null> {\n return this.get(id);\n }\n}\n"],"names":["GetFlpUseCase","get","id"],"mappings":"AAGO,MAAMA;IAGT,YAAYC,GAAyC,CAAE;QACnD,IAAI,CAAC,GAAG,GAAGA;IACf;IAEA,MAAM,QAAQC,EAAU,EAAyC;QAC7D,OAAO,IAAI,CAAC,GAAG,CAACA;IACpB;AACJ"}
|
|
@@ -2,6 +2,7 @@ import type { FolderLevelPermission } from "../../../types.js";
|
|
|
2
2
|
export interface IGetFolderPermission {
|
|
3
3
|
execute: (id: string) => Promise<FolderLevelPermission | null>;
|
|
4
4
|
}
|
|
5
|
+
/** Retrieve a folder-level permission. */
|
|
5
6
|
export declare const GetFlpUseCase: import("@webiny/di").Abstraction<IGetFolderPermission>;
|
|
6
7
|
export declare namespace GetFlpUseCase {
|
|
7
8
|
type Interface = IGetFolderPermission;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/GetFlp/abstractions.js","sources":["../../../../src/features/flp/GetFlp/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\nexport interface IGetFolderPermission {\n execute: (id: string) => Promise<FolderLevelPermission | null>;\n}\n\n/** Retrieve a folder-level permission. */\nexport const GetFlpUseCase = createAbstraction<IGetFolderPermission>(\"GetFlpUseCase\");\n\nexport namespace GetFlpUseCase {\n export type Interface = IGetFolderPermission;\n}\n"],"names":["GetFlpUseCase","createAbstraction"],"mappings":";AAQO,MAAMA,gBAAgBC,kBAAwC"}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
export declare const GetFlpFeature:
|
|
1
|
+
export declare const GetFlpFeature: {
|
|
2
|
+
name: string;
|
|
3
|
+
register(container: import("@webiny/di").Container, context: import("~/types.js").AcoFolderLevelPermissionsCrud): void;
|
|
4
|
+
};
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { GetFlpUseCase } from "./GetFlpUseCase.js";
|
|
3
|
-
import { GetFlpUseCase as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
}
|
|
3
|
+
import { GetFlpUseCase as external_abstractions_js_GetFlpUseCase } from "./abstractions.js";
|
|
4
|
+
const GetFlpFeature = createFeature({
|
|
5
|
+
name: "GetFlpFeature",
|
|
6
|
+
register (container, context) {
|
|
7
|
+
container.registerFactory(external_abstractions_js_GetFlpUseCase, ()=>new GetFlpUseCase(context.get));
|
|
8
|
+
}
|
|
11
9
|
});
|
|
10
|
+
export { GetFlpFeature };
|
|
12
11
|
|
|
13
12
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/GetFlp/feature.js","sources":["../../../../src/features/flp/GetFlp/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetFlpUseCase } from \"./GetFlpUseCase.js\";\nimport { GetFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport const GetFlpFeature = createFeature<AcoContext[\"aco\"][\"flp\"]>({\n name: \"GetFlpFeature\",\n register(container, context) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new GetFlpUseCase(context.get);\n });\n }\n});\n"],"names":["GetFlpFeature","createFeature","container","context","UseCaseAbstraction","GetFlpUseCase"],"mappings":";;;AAKO,MAAMA,gBAAgBC,cAAwC;IACjE,MAAM;IACN,UAASC,SAAS,EAAEC,OAAO;QACvBD,UAAU,eAAe,CAACE,wCAAoB,IACnC,IAAIC,cAAcF,QAAQ,GAAG;IAE5C;AACJ"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
class ListFlpsUseCase {
|
|
2
|
+
constructor(list){
|
|
3
|
+
this.list = list;
|
|
4
|
+
}
|
|
5
|
+
async execute(params) {
|
|
6
|
+
return this.list(params);
|
|
7
|
+
}
|
|
8
8
|
}
|
|
9
|
+
export { ListFlpsUseCase };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=ListFlpsUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/ListFlps/ListFlpsUseCase.js","sources":["../../../../src/features/flp/ListFlps/ListFlpsUseCase.ts"],"sourcesContent":["import type { ListFlpsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoFolderLevelPermissionsCrud, ListFlpsParams } from \"~/flp/flp.types.js\";\n\nexport class ListFlpsUseCase implements UseCaseAbstraction.Interface {\n private readonly list: AcoFolderLevelPermissionsCrud[\"list\"];\n\n constructor(list: AcoFolderLevelPermissionsCrud[\"list\"]) {\n this.list = list;\n }\n\n async execute(params: ListFlpsParams) {\n return this.list(params);\n }\n}\n"],"names":["ListFlpsUseCase","list","params"],"mappings":"AAGO,MAAMA;IAGT,YAAYC,IAA2C,CAAE;QACrD,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEA,MAAM,QAAQC,MAAsB,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAACA;IACrB;AACJ"}
|
|
@@ -9,6 +9,7 @@ interface ListFlpsParams {
|
|
|
9
9
|
export interface IListFlps {
|
|
10
10
|
execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;
|
|
11
11
|
}
|
|
12
|
+
/** List folder-level permissions. */
|
|
12
13
|
export declare const ListFlpsUseCase: import("@webiny/di").Abstraction<IListFlps>;
|
|
13
14
|
export declare namespace ListFlpsUseCase {
|
|
14
15
|
type Interface = IListFlps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/ListFlps/abstractions.js","sources":["../../../../src/features/flp/ListFlps/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\ninterface ListFlpsParams {\n where: {\n path_startsWith?: string;\n parentId?: string;\n type: string;\n };\n}\n\nexport interface IListFlps {\n execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;\n}\n\n/** List folder-level permissions. */\nexport const ListFlpsUseCase = createAbstraction<IListFlps>(\"ListFlpsUseCase\");\n\nexport namespace ListFlpsUseCase {\n export type Interface = IListFlps;\n}\n"],"names":["ListFlpsUseCase","createAbstraction"],"mappings":";AAgBO,MAAMA,kBAAkBC,kBAA6B"}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
export declare const ListFlpsFeature:
|
|
1
|
+
export declare const ListFlpsFeature: {
|
|
2
|
+
name: string;
|
|
3
|
+
register(container: import("@webiny/di").Container, context: import("~/types.js").AcoFolderLevelPermissionsCrud): void;
|
|
4
|
+
};
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { ListFlpsUseCase } from "./ListFlpsUseCase.js";
|
|
3
|
-
import { ListFlpsUseCase as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
}
|
|
3
|
+
import { ListFlpsUseCase as external_abstractions_js_ListFlpsUseCase } from "./abstractions.js";
|
|
4
|
+
const ListFlpsFeature = createFeature({
|
|
5
|
+
name: "ListFlpsFeature",
|
|
6
|
+
register (container, context) {
|
|
7
|
+
container.registerFactory(external_abstractions_js_ListFlpsUseCase, ()=>new ListFlpsUseCase(context.list));
|
|
8
|
+
}
|
|
11
9
|
});
|
|
10
|
+
export { ListFlpsFeature };
|
|
12
11
|
|
|
13
12
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/flp/ListFlps/feature.js","sources":["../../../../src/features/flp/ListFlps/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListFlpsUseCase } from \"./ListFlpsUseCase.js\";\nimport { ListFlpsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport const ListFlpsFeature = createFeature<AcoContext[\"aco\"][\"flp\"]>({\n name: \"ListFlpsFeature\",\n register(container, context) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new ListFlpsUseCase(context.list);\n });\n }\n});\n"],"names":["ListFlpsFeature","createFeature","container","context","UseCaseAbstraction","ListFlpsUseCase"],"mappings":";;;AAKO,MAAMA,kBAAkBC,cAAwC;IACnE,MAAM;IACN,UAASC,SAAS,EAAEC,OAAO;QACvBD,UAAU,eAAe,CAACE,0CAAoB,IACnC,IAAIC,gBAAgBF,QAAQ,IAAI;IAE/C;AACJ"}
|