@webiny/api-aco 0.0.0-unstable.6f45466a1d → 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 -33
- 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 -32
- 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 +31 -41
- 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
package/constants.js
CHANGED
package/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export * from \"@webiny/shared-aco\";\nexport const FM_FILE_TYPE = \"FmFile\";\n"],"names":["FM_FILE_TYPE"],"mappings":";AACO,MAAMA,eAAe"}
|
package/createAcoContext.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ interface CreateAcoContextParams {
|
|
|
5
5
|
useFolderLevelPermissions?: boolean;
|
|
6
6
|
documentClient: DynamoDBDocument;
|
|
7
7
|
}
|
|
8
|
-
export declare const createAcoContext: (params: CreateAcoContextParams) => ContextPlugin<AcoContext
|
|
8
|
+
export declare const createAcoContext: (params: CreateAcoContextParams) => (ContextPlugin<AcoContext> | import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types").Context>)[];
|
|
9
9
|
export {};
|
package/createAcoContext.js
CHANGED
|
@@ -24,118 +24,86 @@ import { GetFlpFeature } from "./features/flp/GetFlp/feature.js";
|
|
|
24
24
|
import { ListFolderLevelPermissionsTargetsFeature } from "./features/folder/ListFolderLevelPermissionsTargets/feature.js";
|
|
25
25
|
import { CmsFlpFeature } from "./features/cms/index.js";
|
|
26
26
|
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
27
|
-
import { FolderModel
|
|
27
|
+
import { FolderModel } from "./domain/folder/abstractions.js";
|
|
28
28
|
import { CreateFlpOnFolderCreatedFeature } from "./features/flp/CreateFlpOnFolderCreated/index.js";
|
|
29
29
|
import { EnsureFolderIsEmptyFeature } from "./features/folder/EnsureFolderIsEmpty/feature.js";
|
|
30
|
-
import { FOLDER_MODEL_ID, FolderModel } from "./domain/folder/folder.model.js";
|
|
30
|
+
import { FOLDER_MODEL_ID, FolderModel as folder_model_js_FolderModel } from "./domain/folder/folder.model.js";
|
|
31
31
|
import { FilterPrivateModel } from "./filter/filter.model.js";
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
tenancy,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
DeleteFlpFeature.register(context.container, {
|
|
90
|
-
context
|
|
91
|
-
});
|
|
92
|
-
ListFlpsFeature.register(context.container, flpCrudMethods);
|
|
93
|
-
GetFlpFeature.register(context.container, flpCrudMethods);
|
|
94
|
-
CreateFlpOnFolderCreatedFeature.register(context.container);
|
|
95
|
-
UpdateFlpOnFolderUpdatedFeature.register(context.container, {
|
|
96
|
-
tasks: context.tasks
|
|
97
|
-
});
|
|
98
|
-
DeleteFlpOnFolderDeletedFeature.register(context.container, {
|
|
99
|
-
tasks: context.tasks
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Register folder event handlers
|
|
104
|
-
*/
|
|
105
|
-
EnsureFolderIsEmptyOnDeleteFeature.register(context.container);
|
|
106
|
-
EnsureHcmsFolderIsEmptyOnDeleteFeature.register(context.container);
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Setup legacy context
|
|
110
|
-
*/
|
|
111
|
-
const folderLevelPermissions = context.container.resolve(FolderLevelPermissions);
|
|
112
|
-
context.aco = {
|
|
113
|
-
filter: createFilterCrudMethods({
|
|
114
|
-
container: context.container,
|
|
115
|
-
getTenant,
|
|
116
|
-
storageOperations,
|
|
117
|
-
folderLevelPermissions
|
|
118
|
-
}),
|
|
119
|
-
flp: flpCrudMethods
|
|
120
|
-
};
|
|
121
|
-
if (context.wcp.canUseFolderLevelPermissions()) {
|
|
122
|
-
CmsFlpFeature.register(context.container);
|
|
123
|
-
}
|
|
32
|
+
import { createRegisterExtensionPlugin } from "@webiny/handler";
|
|
33
|
+
const setupAcoContext = async (context, setupAcoContextParams)=>{
|
|
34
|
+
const { tenancy, security } = context;
|
|
35
|
+
const getModel = context.container.resolve(GetModelUseCase);
|
|
36
|
+
await context.security.withoutAuthorization(async ()=>{
|
|
37
|
+
const folderModel = await getModel.execute(FOLDER_MODEL_ID);
|
|
38
|
+
context.container.registerInstance(FolderModel, folderModel.value);
|
|
39
|
+
});
|
|
40
|
+
const getTenant = ()=>tenancy.getCurrentTenant();
|
|
41
|
+
const storageOperations = await createAcoStorageOperations({
|
|
42
|
+
cms: context.cms,
|
|
43
|
+
container: context.container,
|
|
44
|
+
documentClient: setupAcoContextParams.documentClient,
|
|
45
|
+
security
|
|
46
|
+
});
|
|
47
|
+
const flpCrudMethods = createFlpCrudMethods({
|
|
48
|
+
getTenant,
|
|
49
|
+
storageOperations
|
|
50
|
+
});
|
|
51
|
+
FolderLevelPermissionsFeature.register(context.container);
|
|
52
|
+
context.container.registerInstance(FilterStorageOperations, storageOperations.filter);
|
|
53
|
+
CreateFolderFeature.register(context.container);
|
|
54
|
+
UpdateFolderFeature.register(context.container);
|
|
55
|
+
DeleteFolderFeature.register(context.container);
|
|
56
|
+
GetFolderFeature.register(context.container);
|
|
57
|
+
ListFoldersFeature.register(context.container);
|
|
58
|
+
ListFolderLevelPermissionsTargetsFeature.register(context.container);
|
|
59
|
+
GetFolderHierarchyFeature.register(context.container);
|
|
60
|
+
GetAncestorsFeature.register(context.container);
|
|
61
|
+
EnsureFolderIsEmptyFeature.register(context.container);
|
|
62
|
+
CreateFlpFeature.register(context.container, {
|
|
63
|
+
context
|
|
64
|
+
});
|
|
65
|
+
UpdateFlpFeature.register(context.container, {
|
|
66
|
+
context
|
|
67
|
+
});
|
|
68
|
+
DeleteFlpFeature.register(context.container, {
|
|
69
|
+
context
|
|
70
|
+
});
|
|
71
|
+
ListFlpsFeature.register(context.container, flpCrudMethods);
|
|
72
|
+
GetFlpFeature.register(context.container, flpCrudMethods);
|
|
73
|
+
CreateFlpOnFolderCreatedFeature.register(context.container);
|
|
74
|
+
UpdateFlpOnFolderUpdatedFeature.register(context.container);
|
|
75
|
+
DeleteFlpOnFolderDeletedFeature.register(context.container);
|
|
76
|
+
EnsureFolderIsEmptyOnDeleteFeature.register(context.container);
|
|
77
|
+
EnsureHcmsFolderIsEmptyOnDeleteFeature.register(context.container);
|
|
78
|
+
const folderLevelPermissions = context.container.resolve(FolderLevelPermissions);
|
|
79
|
+
context.aco = {
|
|
80
|
+
filter: createFilterCrudMethods({
|
|
81
|
+
container: context.container,
|
|
82
|
+
getTenant,
|
|
83
|
+
storageOperations,
|
|
84
|
+
folderLevelPermissions
|
|
85
|
+
}),
|
|
86
|
+
flp: flpCrudMethods
|
|
87
|
+
};
|
|
88
|
+
if (context.wcp.canUseFolderLevelPermissions()) CmsFlpFeature.register(context.container);
|
|
124
89
|
};
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
90
|
+
const createAcoContext = (params)=>{
|
|
91
|
+
const modelsPlugin = createRegisterExtensionPlugin((context)=>{
|
|
92
|
+
context.container.register(folder_model_js_FolderModel);
|
|
93
|
+
context.container.register(FilterPrivateModel);
|
|
94
|
+
});
|
|
95
|
+
const acoContextPlugin = new ContextPlugin(async (context)=>{
|
|
96
|
+
if (!await isHeadlessCmsReady(context)) return;
|
|
97
|
+
await context.benchmark.measure("aco.context.setup", async ()=>{
|
|
98
|
+
await setupAcoContext(context, params);
|
|
99
|
+
});
|
|
135
100
|
});
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
101
|
+
acoContextPlugin.name = "aco.createContext";
|
|
102
|
+
return [
|
|
103
|
+
acoContextPlugin,
|
|
104
|
+
modelsPlugin
|
|
105
|
+
];
|
|
139
106
|
};
|
|
107
|
+
export { createAcoContext };
|
|
140
108
|
|
|
141
109
|
//# sourceMappingURL=createAcoContext.js.map
|
package/createAcoContext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ContextPlugin","isHeadlessCmsReady","createAcoStorageOperations","createFilterCrudMethods","createFlpCrudMethods","FolderLevelPermissions","FolderLevelPermissionsFeature","UpdateFolderFeature","DeleteFolderFeature","CreateFolderFeature","GetFolderFeature","ListFoldersFeature","GetFolderHierarchyFeature","GetAncestorsFeature","UpdateFlpOnFolderUpdatedFeature","DeleteFlpOnFolderDeletedFeature","EnsureHcmsFolderIsEmptyOnDeleteFeature","CreateFlpFeature","DeleteFlpFeature","UpdateFlpFeature","EnsureFolderIsEmptyOnDeleteFeature","FilterStorageOperations","ListFlpsFeature","GetFlpFeature","ListFolderLevelPermissionsTargetsFeature","CmsFlpFeature","GetModelUseCase","FolderModel","FolderModelAbstraction","CreateFlpOnFolderCreatedFeature","EnsureFolderIsEmptyFeature","FOLDER_MODEL_ID","FilterPrivateModel","setupAcoContext","context","setupAcoContextParams","tenancy","security","container","register","getModel","resolve","withoutAuthorization","folderModel","execute","registerInstance","value","getTenant","getCurrentTenant","storageOperations","cms","documentClient","flpCrudMethods","filter","tasks","folderLevelPermissions","aco","flp","wcp","canUseFolderLevelPermissions","createAcoContext","params","plugin","benchmark","measure","name"],"sources":["createAcoContext.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createAcoStorageOperations } from \"~/createAcoStorageOperations.js\";\nimport type { AcoContext } from \"~/types.js\";\nimport { createFilterCrudMethods } from \"~/filter/filter.crud.js\";\nimport { createFlpCrudMethods } from \"~/flp/index.js\";\nimport {\n FolderLevelPermissions,\n FolderLevelPermissionsFeature\n} from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { UpdateFolderFeature } from \"~/features/folder/UpdateFolder/index.js\";\nimport { DeleteFolderFeature } from \"~/features/folder/DeleteFolder/index.js\";\nimport { CreateFolderFeature } from \"~/features/folder/CreateFolder/index.js\";\nimport { GetFolderFeature } from \"~/features/folder/GetFolder/index.js\";\nimport { ListFoldersFeature } from \"~/features/folder/ListFolders/index.js\";\nimport { GetFolderHierarchyFeature } from \"~/features/folder/GetFolderHierarchy/index.js\";\nimport { GetAncestorsFeature } from \"~/features/folder/GetAncestors/index.js\";\nimport { UpdateFlpOnFolderUpdatedFeature } from \"~/features/flp/UpdateFlpOnFolderUpdated/index.js\";\nimport { DeleteFlpOnFolderDeletedFeature } from \"~/features/flp/DeleteFlpOnFolderDeleted/index.js\";\nimport { EnsureHcmsFolderIsEmptyOnDeleteFeature } from \"~/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js\";\nimport { CreateFlpFeature } from \"~/features/flp/CreateFlp/index.js\";\nimport { DeleteFlpFeature } from \"~/features/flp/DeleteFlp/index.js\";\nimport { UpdateFlpFeature } from \"~/features/flp/UpdateFlp/index.js\";\nimport { EnsureFolderIsEmptyOnDeleteFeature } from \"~/features/folder/EnsureFolderIsEmptyOnDelete/index.js\";\nimport { FilterStorageOperations } from \"~/features/folder/shared/abstractions.js\";\nimport { ListFlpsFeature } from \"~/features/flp/ListFlps/feature.js\";\nimport { GetFlpFeature } from \"~/features/flp/GetFlp/feature.js\";\nimport { ListFolderLevelPermissionsTargetsFeature } from \"~/features/folder/ListFolderLevelPermissionsTargets/feature.js\";\nimport { Tenant } from \"@webiny/api-core/types/tenancy\";\nimport { CmsFlpFeature } from \"~/features/cms/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { FolderModel as FolderModelAbstraction } from \"~/domain/folder/abstractions.js\";\nimport { CreateFlpOnFolderCreatedFeature } from \"~/features/flp/CreateFlpOnFolderCreated/index.js\";\nimport { EnsureFolderIsEmptyFeature } from \"~/features/folder/EnsureFolderIsEmpty/feature.js\";\nimport { FOLDER_MODEL_ID, FolderModel } from \"~/domain/folder/folder.model.js\";\nimport { FilterPrivateModel } from \"~/filter/filter.model.js\";\n\ninterface CreateAcoContextParams {\n useFolderLevelPermissions?: boolean;\n documentClient: DynamoDBDocument;\n}\n\nconst setupAcoContext = async (\n context: AcoContext,\n setupAcoContextParams: CreateAcoContextParams\n): Promise<void> => {\n const { tenancy, security } = context;\n\n context.container.register(FolderModel);\n context.container.register(FilterPrivateModel);\n\n const getModel = context.container.resolve(GetModelUseCase);\n\n await context.security.withoutAuthorization(async () => {\n const folderModel = await getModel.execute(FOLDER_MODEL_ID);\n context.container.registerInstance(FolderModelAbstraction, folderModel.value);\n });\n\n const getTenant = (): Tenant => {\n return tenancy.getCurrentTenant();\n };\n\n const storageOperations = await createAcoStorageOperations({\n /**\n * TODO: We need to figure out a way to pass \"cms\" from outside (e.g. apps/api/graphql)\n */\n cms: context.cms,\n container: context.container,\n documentClient: setupAcoContextParams.documentClient,\n security\n });\n\n const flpCrudMethods = createFlpCrudMethods({\n getTenant,\n storageOperations\n });\n\n FolderLevelPermissionsFeature.register(context.container);\n\n /**\n * Register legacy dependencies via abstractions\n */\n context.container.registerInstance(FilterStorageOperations, storageOperations.filter);\n\n /**\n * Register folder features into DI container\n */\n CreateFolderFeature.register(context.container);\n\n UpdateFolderFeature.register(context.container);\n\n DeleteFolderFeature.register(context.container);\n\n GetFolderFeature.register(context.container);\n\n ListFoldersFeature.register(context.container);\n\n ListFolderLevelPermissionsTargetsFeature.register(context.container);\n\n GetFolderHierarchyFeature.register(context.container);\n\n GetAncestorsFeature.register(context.container);\n\n EnsureFolderIsEmptyFeature.register(context.container);\n\n /**\n * Register FLP use cases and event handlers\n */\n CreateFlpFeature.register(context.container, { context });\n UpdateFlpFeature.register(context.container, { context });\n DeleteFlpFeature.register(context.container, { context });\n ListFlpsFeature.register(context.container, flpCrudMethods);\n GetFlpFeature.register(context.container, flpCrudMethods);\n\n CreateFlpOnFolderCreatedFeature.register(context.container);\n\n UpdateFlpOnFolderUpdatedFeature.register(context.container, {\n tasks: context.tasks\n });\n\n DeleteFlpOnFolderDeletedFeature.register(context.container, {\n tasks: context.tasks\n });\n\n /**\n * Register folder event handlers\n */\n EnsureFolderIsEmptyOnDeleteFeature.register(context.container);\n EnsureHcmsFolderIsEmptyOnDeleteFeature.register(context.container);\n\n /**\n * Setup legacy context\n */\n const folderLevelPermissions = context.container.resolve(FolderLevelPermissions);\n\n context.aco = {\n filter: createFilterCrudMethods({\n container: context.container,\n getTenant,\n storageOperations,\n folderLevelPermissions\n }),\n flp: flpCrudMethods\n };\n\n if (context.wcp.canUseFolderLevelPermissions()) {\n CmsFlpFeature.register(context.container);\n }\n};\n\nexport const createAcoContext = (params: CreateAcoContextParams) => {\n const plugin = new ContextPlugin<AcoContext>(async context => {\n /**\n * We can skip the ACO initialization if the installation is pending.\n */\n if (!(await isHeadlessCmsReady(context))) {\n return;\n }\n\n await context.benchmark.measure(\"aco.context.setup\", async () => {\n await setupAcoContext(context, params);\n });\n });\n\n plugin.name = \"aco.createContext\";\n\n return plugin;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createAcoContext.js","sources":["../src/createAcoContext.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createAcoStorageOperations } from \"~/createAcoStorageOperations.js\";\nimport type { AcoContext } from \"~/types.js\";\nimport { createFilterCrudMethods } from \"~/filter/filter.crud.js\";\nimport { createFlpCrudMethods } from \"~/flp/index.js\";\nimport {\n FolderLevelPermissions,\n FolderLevelPermissionsFeature\n} from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { UpdateFolderFeature } from \"~/features/folder/UpdateFolder/index.js\";\nimport { DeleteFolderFeature } from \"~/features/folder/DeleteFolder/index.js\";\nimport { CreateFolderFeature } from \"~/features/folder/CreateFolder/index.js\";\nimport { GetFolderFeature } from \"~/features/folder/GetFolder/index.js\";\nimport { ListFoldersFeature } from \"~/features/folder/ListFolders/index.js\";\nimport { GetFolderHierarchyFeature } from \"~/features/folder/GetFolderHierarchy/index.js\";\nimport { GetAncestorsFeature } from \"~/features/folder/GetAncestors/index.js\";\nimport { UpdateFlpOnFolderUpdatedFeature } from \"~/features/flp/UpdateFlpOnFolderUpdated/index.js\";\nimport { DeleteFlpOnFolderDeletedFeature } from \"~/features/flp/DeleteFlpOnFolderDeleted/index.js\";\nimport { EnsureHcmsFolderIsEmptyOnDeleteFeature } from \"~/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js\";\nimport { CreateFlpFeature } from \"~/features/flp/CreateFlp/index.js\";\nimport { DeleteFlpFeature } from \"~/features/flp/DeleteFlp/index.js\";\nimport { UpdateFlpFeature } from \"~/features/flp/UpdateFlp/index.js\";\nimport { EnsureFolderIsEmptyOnDeleteFeature } from \"~/features/folder/EnsureFolderIsEmptyOnDelete/index.js\";\nimport { FilterStorageOperations } from \"~/features/folder/shared/abstractions.js\";\nimport { ListFlpsFeature } from \"~/features/flp/ListFlps/feature.js\";\nimport { GetFlpFeature } from \"~/features/flp/GetFlp/feature.js\";\nimport { ListFolderLevelPermissionsTargetsFeature } from \"~/features/folder/ListFolderLevelPermissionsTargets/feature.js\";\nimport { Tenant } from \"@webiny/api-core/types/tenancy\";\nimport { CmsFlpFeature } from \"~/features/cms/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { FolderModel as FolderModelAbstraction } from \"~/domain/folder/abstractions.js\";\nimport { CreateFlpOnFolderCreatedFeature } from \"~/features/flp/CreateFlpOnFolderCreated/index.js\";\nimport { EnsureFolderIsEmptyFeature } from \"~/features/folder/EnsureFolderIsEmpty/feature.js\";\nimport { FOLDER_MODEL_ID, FolderModel } from \"~/domain/folder/folder.model.js\";\nimport { FilterPrivateModel } from \"~/filter/filter.model.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\n\ninterface CreateAcoContextParams {\n useFolderLevelPermissions?: boolean;\n documentClient: DynamoDBDocument;\n}\n\nconst setupAcoContext = async (\n context: AcoContext,\n setupAcoContextParams: CreateAcoContextParams\n): Promise<void> => {\n const { tenancy, security } = context;\n\n const getModel = context.container.resolve(GetModelUseCase);\n\n await context.security.withoutAuthorization(async () => {\n const folderModel = await getModel.execute(FOLDER_MODEL_ID);\n context.container.registerInstance(FolderModelAbstraction, folderModel.value);\n });\n\n const getTenant = (): Tenant => {\n return tenancy.getCurrentTenant();\n };\n\n const storageOperations = await createAcoStorageOperations({\n /**\n * TODO: We need to figure out a way to pass \"cms\" from outside (e.g. apps/api/graphql)\n */\n cms: context.cms,\n container: context.container,\n documentClient: setupAcoContextParams.documentClient,\n security\n });\n\n const flpCrudMethods = createFlpCrudMethods({\n getTenant,\n storageOperations\n });\n\n FolderLevelPermissionsFeature.register(context.container);\n\n /**\n * Register legacy dependencies via abstractions\n */\n context.container.registerInstance(FilterStorageOperations, storageOperations.filter);\n\n /**\n * Register folder features into DI container\n */\n CreateFolderFeature.register(context.container);\n\n UpdateFolderFeature.register(context.container);\n\n DeleteFolderFeature.register(context.container);\n\n GetFolderFeature.register(context.container);\n\n ListFoldersFeature.register(context.container);\n\n ListFolderLevelPermissionsTargetsFeature.register(context.container);\n\n GetFolderHierarchyFeature.register(context.container);\n\n GetAncestorsFeature.register(context.container);\n\n EnsureFolderIsEmptyFeature.register(context.container);\n\n /**\n * Register FLP use cases and event handlers\n */\n CreateFlpFeature.register(context.container, { context });\n UpdateFlpFeature.register(context.container, { context });\n DeleteFlpFeature.register(context.container, { context });\n ListFlpsFeature.register(context.container, flpCrudMethods);\n GetFlpFeature.register(context.container, flpCrudMethods);\n\n CreateFlpOnFolderCreatedFeature.register(context.container);\n\n UpdateFlpOnFolderUpdatedFeature.register(context.container);\n\n DeleteFlpOnFolderDeletedFeature.register(context.container);\n\n /**\n * Register folder event handlers\n */\n EnsureFolderIsEmptyOnDeleteFeature.register(context.container);\n EnsureHcmsFolderIsEmptyOnDeleteFeature.register(context.container);\n\n /**\n * Setup legacy context\n */\n const folderLevelPermissions = context.container.resolve(FolderLevelPermissions);\n\n context.aco = {\n filter: createFilterCrudMethods({\n container: context.container,\n getTenant,\n storageOperations,\n folderLevelPermissions\n }),\n flp: flpCrudMethods\n };\n\n if (context.wcp.canUseFolderLevelPermissions()) {\n CmsFlpFeature.register(context.container);\n }\n};\n\nexport const createAcoContext = (params: CreateAcoContextParams) => {\n const modelsPlugin = createRegisterExtensionPlugin(context => {\n context.container.register(FolderModel);\n context.container.register(FilterPrivateModel);\n });\n\n const acoContextPlugin = new ContextPlugin<AcoContext>(async context => {\n /**\n * We can skip the ACO initialization if the installation is pending.\n */\n if (!(await isHeadlessCmsReady(context))) {\n return;\n }\n\n await context.benchmark.measure(\"aco.context.setup\", async () => {\n await setupAcoContext(context, params);\n });\n });\n\n acoContextPlugin.name = \"aco.createContext\";\n\n return [acoContextPlugin, modelsPlugin];\n};\n"],"names":["setupAcoContext","context","setupAcoContextParams","tenancy","security","getModel","GetModelUseCase","folderModel","FOLDER_MODEL_ID","FolderModelAbstraction","getTenant","storageOperations","createAcoStorageOperations","flpCrudMethods","createFlpCrudMethods","FolderLevelPermissionsFeature","FilterStorageOperations","CreateFolderFeature","UpdateFolderFeature","DeleteFolderFeature","GetFolderFeature","ListFoldersFeature","ListFolderLevelPermissionsTargetsFeature","GetFolderHierarchyFeature","GetAncestorsFeature","EnsureFolderIsEmptyFeature","CreateFlpFeature","UpdateFlpFeature","DeleteFlpFeature","ListFlpsFeature","GetFlpFeature","CreateFlpOnFolderCreatedFeature","UpdateFlpOnFolderUpdatedFeature","DeleteFlpOnFolderDeletedFeature","EnsureFolderIsEmptyOnDeleteFeature","EnsureHcmsFolderIsEmptyOnDeleteFeature","folderLevelPermissions","FolderLevelPermissions","createFilterCrudMethods","CmsFlpFeature","createAcoContext","params","modelsPlugin","createRegisterExtensionPlugin","FolderModel","FilterPrivateModel","acoContextPlugin","ContextPlugin","isHeadlessCmsReady"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAMA,kBAAkB,OACpBC,SACAC;IAEA,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGH;IAE9B,MAAMI,WAAWJ,QAAQ,SAAS,CAAC,OAAO,CAACK;IAE3C,MAAML,QAAQ,QAAQ,CAAC,oBAAoB,CAAC;QACxC,MAAMM,cAAc,MAAMF,SAAS,OAAO,CAACG;QAC3CP,QAAQ,SAAS,CAAC,gBAAgB,CAACQ,aAAwBF,YAAY,KAAK;IAChF;IAEA,MAAMG,YAAY,IACPP,QAAQ,gBAAgB;IAGnC,MAAMQ,oBAAoB,MAAMC,2BAA2B;QAIvD,KAAKX,QAAQ,GAAG;QAChB,WAAWA,QAAQ,SAAS;QAC5B,gBAAgBC,sBAAsB,cAAc;QACpDE;IACJ;IAEA,MAAMS,iBAAiBC,qBAAqB;QACxCJ;QACAC;IACJ;IAEAI,8BAA8B,QAAQ,CAACd,QAAQ,SAAS;IAKxDA,QAAQ,SAAS,CAAC,gBAAgB,CAACe,yBAAyBL,kBAAkB,MAAM;IAKpFM,oBAAoB,QAAQ,CAAChB,QAAQ,SAAS;IAE9CiB,oBAAoB,QAAQ,CAACjB,QAAQ,SAAS;IAE9CkB,oBAAoB,QAAQ,CAAClB,QAAQ,SAAS;IAE9CmB,iBAAiB,QAAQ,CAACnB,QAAQ,SAAS;IAE3CoB,mBAAmB,QAAQ,CAACpB,QAAQ,SAAS;IAE7CqB,yCAAyC,QAAQ,CAACrB,QAAQ,SAAS;IAEnEsB,0BAA0B,QAAQ,CAACtB,QAAQ,SAAS;IAEpDuB,oBAAoB,QAAQ,CAACvB,QAAQ,SAAS;IAE9CwB,2BAA2B,QAAQ,CAACxB,QAAQ,SAAS;IAKrDyB,iBAAiB,QAAQ,CAACzB,QAAQ,SAAS,EAAE;QAAEA;IAAQ;IACvD0B,iBAAiB,QAAQ,CAAC1B,QAAQ,SAAS,EAAE;QAAEA;IAAQ;IACvD2B,iBAAiB,QAAQ,CAAC3B,QAAQ,SAAS,EAAE;QAAEA;IAAQ;IACvD4B,gBAAgB,QAAQ,CAAC5B,QAAQ,SAAS,EAAEY;IAC5CiB,cAAc,QAAQ,CAAC7B,QAAQ,SAAS,EAAEY;IAE1CkB,gCAAgC,QAAQ,CAAC9B,QAAQ,SAAS;IAE1D+B,gCAAgC,QAAQ,CAAC/B,QAAQ,SAAS;IAE1DgC,gCAAgC,QAAQ,CAAChC,QAAQ,SAAS;IAK1DiC,mCAAmC,QAAQ,CAACjC,QAAQ,SAAS;IAC7DkC,uCAAuC,QAAQ,CAAClC,QAAQ,SAAS;IAKjE,MAAMmC,yBAAyBnC,QAAQ,SAAS,CAAC,OAAO,CAACoC;IAEzDpC,QAAQ,GAAG,GAAG;QACV,QAAQqC,wBAAwB;YAC5B,WAAWrC,QAAQ,SAAS;YAC5BS;YACAC;YACAyB;QACJ;QACA,KAAKvB;IACT;IAEA,IAAIZ,QAAQ,GAAG,CAAC,4BAA4B,IACxCsC,cAAc,QAAQ,CAACtC,QAAQ,SAAS;AAEhD;AAEO,MAAMuC,mBAAmB,CAACC;IAC7B,MAAMC,eAAeC,8BAA8B1C,CAAAA;QAC/CA,QAAQ,SAAS,CAAC,QAAQ,CAAC2C;QAC3B3C,QAAQ,SAAS,CAAC,QAAQ,CAAC4C;IAC/B;IAEA,MAAMC,mBAAmB,IAAIC,cAA0B,OAAM9C;QAIzD,IAAI,CAAE,MAAM+C,mBAAmB/C,UAC3B;QAGJ,MAAMA,QAAQ,SAAS,CAAC,OAAO,CAAC,qBAAqB;YACjD,MAAMD,gBAAgBC,SAASwC;QACnC;IACJ;IAEAK,iBAAiB,IAAI,GAAG;IAExB,OAAO;QAACA;QAAkBJ;KAAa;AAC3C"}
|
package/createAcoGraphQL.js
CHANGED
|
@@ -3,12 +3,12 @@ import { filterSchema } from "./filter/filter.gql.js";
|
|
|
3
3
|
import { createFoldersSchema } from "./folder/folder.gql.js";
|
|
4
4
|
import { ContextPlugin } from "@webiny/api";
|
|
5
5
|
import { isHeadlessCmsReady } from "@webiny/api-headless-cms";
|
|
6
|
-
import { createFieldTypePluginRecords } from "@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords.js";
|
|
7
6
|
import { createGraphQLSchemaPluginFromFieldPlugins } from "@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins.js";
|
|
8
7
|
import { FOLDER_MODEL_ID } from "./domain/folder/folder.model.js";
|
|
9
|
-
|
|
8
|
+
import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
|
|
9
|
+
const emptyResolver = ()=>({});
|
|
10
10
|
const baseSchema = new GraphQLSchemaPlugin({
|
|
11
|
-
|
|
11
|
+
typeDefs: `
|
|
12
12
|
type AcoQuery {
|
|
13
13
|
_empty: String
|
|
14
14
|
}
|
|
@@ -62,50 +62,49 @@ const baseSchema = new GraphQLSchemaPlugin({
|
|
|
62
62
|
aco: AcoMutation
|
|
63
63
|
}
|
|
64
64
|
`,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
resolvers: {
|
|
66
|
+
Query: {
|
|
67
|
+
aco: emptyResolver
|
|
68
|
+
},
|
|
69
|
+
Mutation: {
|
|
70
|
+
aco: emptyResolver
|
|
71
|
+
}
|
|
71
72
|
}
|
|
72
|
-
}
|
|
73
73
|
});
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
model,
|
|
102
|
-
models,
|
|
103
|
-
plugins: fieldPlugins
|
|
104
|
-
});
|
|
105
|
-
context.plugins.register([...plugins, graphQlPlugin]);
|
|
74
|
+
const createAcoGraphQL = ()=>{
|
|
75
|
+
const folderSchema = new ContextPlugin(async (context)=>{
|
|
76
|
+
if (!await isHeadlessCmsReady(context)) return;
|
|
77
|
+
const fieldRegistry = context.container.resolve(CmsModelFieldToGraphQLRegistry);
|
|
78
|
+
await context.security.withoutAuthorization(async ()=>{
|
|
79
|
+
const model = await context.cms.getModel(FOLDER_MODEL_ID);
|
|
80
|
+
const models = await context.cms.listModels();
|
|
81
|
+
const plugins = createGraphQLSchemaPluginFromFieldPlugins({
|
|
82
|
+
models,
|
|
83
|
+
type: "manage",
|
|
84
|
+
fieldRegistry,
|
|
85
|
+
createPlugin: ({ schema, type, fieldType })=>{
|
|
86
|
+
const plugin = new GraphQLSchemaPlugin(schema);
|
|
87
|
+
plugin.name = `aco.graphql.folder.schema.${type}.field.${fieldType}`;
|
|
88
|
+
return plugin;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
const graphQlPlugin = createFoldersSchema({
|
|
92
|
+
model,
|
|
93
|
+
models,
|
|
94
|
+
fieldRegistry
|
|
95
|
+
});
|
|
96
|
+
context.plugins.register([
|
|
97
|
+
...plugins,
|
|
98
|
+
graphQlPlugin
|
|
99
|
+
]);
|
|
100
|
+
});
|
|
106
101
|
});
|
|
107
|
-
|
|
108
|
-
|
|
102
|
+
return [
|
|
103
|
+
baseSchema,
|
|
104
|
+
folderSchema,
|
|
105
|
+
filterSchema
|
|
106
|
+
];
|
|
109
107
|
};
|
|
108
|
+
export { createAcoGraphQL };
|
|
110
109
|
|
|
111
110
|
//# sourceMappingURL=createAcoGraphQL.js.map
|
package/createAcoGraphQL.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"createAcoGraphQL.js","sources":["../src/createAcoGraphQL.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { filterSchema } from \"~/filter/filter.gql.js\";\nimport { createFoldersSchema } from \"~/folder/folder.gql.js\";\nimport type { AcoContext } from \"~/types.js\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins.js\";\nimport { FOLDER_MODEL_ID } from \"~/domain/folder/folder.model.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\n\nconst emptyResolver = () => ({});\n\nconst baseSchema = new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type AcoQuery {\n _empty: String\n }\n\n type AcoMutation {\n _empty: String\n }\n\n type AcoMeta {\n hasMoreItems: Boolean\n totalCount: Int\n cursor: String\n }\n\n type AcoUser {\n id: ID\n displayName: String\n type: String\n }\n\n type AcoError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AcoBooleanResponse {\n data: Boolean\n error: AcoError\n }\n\n enum AcoSortDirection {\n ASC\n DESC\n }\n\n input AcoSort {\n id: AcoSortDirection\n createdOn: AcoSortDirection\n modifiedOn: AcoSortDirection\n savedOn: AcoSortDirection\n title: AcoSortDirection\n }\n\n extend type Query {\n aco: AcoQuery\n }\n\n extend type Mutation {\n aco: AcoMutation\n }\n `,\n resolvers: {\n Query: {\n aco: emptyResolver\n },\n Mutation: {\n aco: emptyResolver\n }\n }\n});\n\nexport const createAcoGraphQL = () => {\n const folderSchema = new ContextPlugin<AcoContext>(async context => {\n if (!(await isHeadlessCmsReady(context))) {\n return;\n }\n\n const fieldRegistry = context.container.resolve(CmsModelFieldToGraphQLRegistry);\n\n await context.security.withoutAuthorization(async () => {\n const model = (await context.cms.getModel(FOLDER_MODEL_ID)) as CmsModel;\n const models = await context.cms.listModels();\n /**\n * We need to register all plugins for all the CMS fields.\n */\n const plugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n type: \"manage\",\n fieldRegistry,\n createPlugin: ({ schema, type, fieldType }) => {\n const plugin = new GraphQLSchemaPlugin(schema);\n plugin.name = `aco.graphql.folder.schema.${type}.field.${fieldType}`;\n return plugin;\n }\n });\n\n const graphQlPlugin = createFoldersSchema({\n model,\n models,\n fieldRegistry\n });\n\n context.plugins.register([...plugins, graphQlPlugin]);\n });\n });\n\n return [baseSchema, folderSchema, filterSchema];\n};\n"],"names":["emptyResolver","baseSchema","GraphQLSchemaPlugin","createAcoGraphQL","folderSchema","ContextPlugin","context","isHeadlessCmsReady","fieldRegistry","CmsModelFieldToGraphQLRegistry","model","FOLDER_MODEL_ID","models","plugins","createGraphQLSchemaPluginFromFieldPlugins","schema","type","fieldType","plugin","graphQlPlugin","createFoldersSchema","filterSchema"],"mappings":";;;;;;;;AAWA,MAAMA,gBAAgB,IAAO,EAAC;AAE9B,MAAMC,aAAa,IAAIC,oBAAoB;IACvC,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqDzB,CAAC;IACD,WAAW;QACP,OAAO;YACH,KAAKF;QACT;QACA,UAAU;YACN,KAAKA;QACT;IACJ;AACJ;AAEO,MAAMG,mBAAmB;IAC5B,MAAMC,eAAe,IAAIC,cAA0B,OAAMC;QACrD,IAAI,CAAE,MAAMC,mBAAmBD,UAC3B;QAGJ,MAAME,gBAAgBF,QAAQ,SAAS,CAAC,OAAO,CAACG;QAEhD,MAAMH,QAAQ,QAAQ,CAAC,oBAAoB,CAAC;YACxC,MAAMI,QAAS,MAAMJ,QAAQ,GAAG,CAAC,QAAQ,CAACK;YAC1C,MAAMC,SAAS,MAAMN,QAAQ,GAAG,CAAC,UAAU;YAI3C,MAAMO,UAAUC,0CAA0C;gBACtDF;gBACA,MAAM;gBACNJ;gBACA,cAAc,CAAC,EAAEO,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE;oBACtC,MAAMC,SAAS,IAAIhB,oBAAoBa;oBACvCG,OAAO,IAAI,GAAG,CAAC,0BAA0B,EAAEF,KAAK,OAAO,EAAEC,WAAW;oBACpE,OAAOC;gBACX;YACJ;YAEA,MAAMC,gBAAgBC,oBAAoB;gBACtCV;gBACAE;gBACAJ;YACJ;YAEAF,QAAQ,OAAO,CAAC,QAAQ,CAAC;mBAAIO;gBAASM;aAAc;QACxD;IACJ;IAEA,OAAO;QAAClB;QAAYG;QAAciB;KAAa;AACnD"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { createFilterOperations } from "./filter/filter.so.js";
|
|
2
2
|
import { createFlpOperations } from "./flp/index.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
3
|
+
const createAcoStorageOperations = async (params)=>({
|
|
4
|
+
filter: createFilterOperations(params),
|
|
5
|
+
flp: createFlpOperations(params)
|
|
6
|
+
});
|
|
7
|
+
export { createAcoStorageOperations };
|
|
9
8
|
|
|
10
9
|
//# sourceMappingURL=createAcoStorageOperations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"createAcoStorageOperations.js","sources":["../src/createAcoStorageOperations.ts"],"sourcesContent":["import type { HeadlessCms } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createFilterOperations } from \"~/filter/filter.so.js\";\nimport type { AcoStorageOperations } from \"~/types.js\";\nimport { createFlpOperations } from \"~/flp/index.js\";\nimport type { Security } from \"@webiny/api-core/types/security.js\";\nimport type { Container } from \"@webiny/di\";\n\nexport interface CreateAcoStorageOperationsParams {\n cms: HeadlessCms;\n security: Security;\n container: Container;\n documentClient: DynamoDBDocument;\n}\n\nexport const createAcoStorageOperations = async (\n params: CreateAcoStorageOperationsParams\n): Promise<AcoStorageOperations> => {\n return {\n filter: createFilterOperations(params),\n flp: createFlpOperations(params)\n };\n};\n"],"names":["createAcoStorageOperations","params","createFilterOperations","createFlpOperations"],"mappings":";;AAeO,MAAMA,6BAA6B,OACtCC,SAEO;QACH,QAAQC,uBAAuBD;QAC/B,KAAKE,oBAAoBF;IAC7B"}
|
package/createAcoTasks.js
CHANGED
|
@@ -3,13 +3,12 @@ import { CreateFlpTask } from "./flp/tasks/createFlp.task.js";
|
|
|
3
3
|
import { UpdateFlpTask } from "./flp/tasks/updateFlp.task.js";
|
|
4
4
|
import { DeleteFlpTask } from "./flp/tasks/deleteFlp.task.js";
|
|
5
5
|
import { SyncFlpTask } from "./flp/tasks/syncFlp.task.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
6
|
+
const createAcoTasks = ()=>createContextPlugin((context)=>{
|
|
7
|
+
context.container.register(CreateFlpTask);
|
|
8
|
+
context.container.register(UpdateFlpTask);
|
|
9
|
+
context.container.register(DeleteFlpTask);
|
|
10
|
+
context.container.register(SyncFlpTask);
|
|
11
|
+
});
|
|
12
|
+
export { createAcoTasks };
|
|
14
13
|
|
|
15
14
|
//# sourceMappingURL=createAcoTasks.js.map
|
package/createAcoTasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"createAcoTasks.js","sources":["../src/createAcoTasks.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport { CreateFlpTask } from \"~/flp/tasks/createFlp.task.js\";\nimport { UpdateFlpTask } from \"~/flp/tasks/updateFlp.task.js\";\nimport { DeleteFlpTask } from \"~/flp/tasks/deleteFlp.task.js\";\nimport { SyncFlpTask } from \"~/flp/tasks/syncFlp.task.js\";\n\nexport const createAcoTasks = () => {\n return createContextPlugin(context => {\n context.container.register(CreateFlpTask);\n context.container.register(UpdateFlpTask);\n context.container.register(DeleteFlpTask);\n context.container.register(SyncFlpTask);\n });\n};\n"],"names":["createAcoTasks","createContextPlugin","context","CreateFlpTask","UpdateFlpTask","DeleteFlpTask","SyncFlpTask"],"mappings":";;;;;AAMO,MAAMA,iBAAiB,IACnBC,oBAAoBC,CAAAA;QACvBA,QAAQ,SAAS,CAAC,QAAQ,CAACC;QAC3BD,QAAQ,SAAS,CAAC,QAAQ,CAACE;QAC3BF,QAAQ,SAAS,CAAC,QAAQ,CAACG;QAC3BH,QAAQ,SAAS,CAAC,QAAQ,CAACI;IAC/B"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* This will be registered via container.registerInstance in the composite feature.
|
|
5
|
-
*/
|
|
6
|
-
export const FolderModel = createAbstraction("FolderModel");
|
|
2
|
+
const FolderModel = createAbstraction("FolderModel");
|
|
3
|
+
export { FolderModel };
|
|
7
4
|
|
|
8
5
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"domain/folder/abstractions.js","sources":["../../../src/domain/folder/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\n\n/**\n * FolderModel abstraction - represents the ACO folder CMS model.\n * This will be registered via container.registerInstance in the composite feature.\n */\nexport const FolderModel = createAbstraction<CmsModel>(\"FolderModel\");\n\nexport namespace FolderModel {\n export type Interface = CmsModel;\n}\n"],"names":["FolderModel","createAbstraction"],"mappings":";AAOO,MAAMA,cAAcC,kBAA4B"}
|
package/domain/folder/errors.js
CHANGED
|
@@ -1,56 +1,51 @@
|
|
|
1
1
|
import { BaseError } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
}
|
|
2
|
+
class FolderNotFoundError extends BaseError {
|
|
3
|
+
constructor(id){
|
|
4
|
+
super({
|
|
5
|
+
message: "Folder not found!",
|
|
6
|
+
data: {
|
|
7
|
+
folder: {
|
|
8
|
+
id
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}), this.code = "Aco/Folder/NotFound";
|
|
12
|
+
}
|
|
14
13
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
}
|
|
14
|
+
class FolderNotAuthorizedError extends BaseError {
|
|
15
|
+
constructor(){
|
|
16
|
+
super({
|
|
17
|
+
message: "Not authorized."
|
|
18
|
+
}), this.code = "Aco/Folder/NotAuthorizedError";
|
|
19
|
+
}
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
}
|
|
21
|
+
class FolderPersistenceError extends BaseError {
|
|
22
|
+
constructor(error){
|
|
23
|
+
super({
|
|
24
|
+
message: error.message
|
|
25
|
+
}), this.code = "Aco/Folder/PersistenceError";
|
|
26
|
+
}
|
|
30
27
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
}
|
|
28
|
+
class FolderValidationError extends BaseError {
|
|
29
|
+
constructor(message){
|
|
30
|
+
super({
|
|
31
|
+
message
|
|
32
|
+
}), this.code = "Aco/Folder/ValidationError";
|
|
33
|
+
}
|
|
38
34
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
}
|
|
35
|
+
class FolderCannotMoveToNewParent extends BaseError {
|
|
36
|
+
constructor(){
|
|
37
|
+
super({
|
|
38
|
+
message: "Cannot move folder to a new parent because you don't have access to the new parent."
|
|
39
|
+
}), this.code = "Aco/Folder/CannotMoveToNewParent";
|
|
40
|
+
}
|
|
46
41
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
}
|
|
42
|
+
class FolderNotEmptyError extends BaseError {
|
|
43
|
+
constructor(){
|
|
44
|
+
super({
|
|
45
|
+
message: "Folder is not empty."
|
|
46
|
+
}), this.code = "Aco/Folder/NotEmpty";
|
|
47
|
+
}
|
|
54
48
|
}
|
|
49
|
+
export { FolderCannotMoveToNewParent, FolderNotAuthorizedError, FolderNotEmptyError, FolderNotFoundError, FolderPersistenceError, FolderValidationError };
|
|
55
50
|
|
|
56
51
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"domain/folder/errors.js","sources":["../../../src/domain/folder/errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\nexport class FolderNotFoundError extends BaseError<{ folder: { id: string } }> {\n override readonly code = \"Aco/Folder/NotFound\" as const;\n\n constructor(id: string) {\n super({\n message: \"Folder not found!\",\n data: {\n folder: {\n id\n }\n }\n });\n }\n}\n\nexport class FolderNotAuthorizedError extends BaseError {\n override readonly code = \"Aco/Folder/NotAuthorizedError\" as const;\n\n constructor() {\n super({\n message: `Not authorized.`\n });\n }\n}\n\nexport class FolderPersistenceError extends BaseError {\n override readonly code = \"Aco/Folder/PersistenceError\" as const;\n\n constructor(error: Error) {\n super({\n message: error.message\n });\n }\n}\n\nexport class FolderValidationError extends BaseError {\n override readonly code = \"Aco/Folder/ValidationError\" as const;\n\n constructor(message: string) {\n super({\n message\n });\n }\n}\n\nexport class FolderCannotMoveToNewParent extends BaseError {\n override readonly code = \"Aco/Folder/CannotMoveToNewParent\" as const;\n\n constructor() {\n super({\n message: `Cannot move folder to a new parent because you don't have access to the new parent.`\n });\n }\n}\n\nexport class FolderNotEmptyError extends BaseError {\n override readonly code = \"Aco/Folder/NotEmpty\" as const;\n\n constructor() {\n super({\n message: `Folder is not empty.`\n });\n }\n}\n"],"names":["FolderNotFoundError","BaseError","id","FolderNotAuthorizedError","FolderPersistenceError","error","FolderValidationError","message","FolderCannotMoveToNewParent","FolderNotEmptyError"],"mappings":";AAEO,MAAMA,4BAA4BC;IAGrC,YAAYC,EAAU,CAAE;QACpB,KAAK,CAAC;YACF,SAAS;YACT,MAAM;gBACF,QAAQ;oBACJA;gBACJ;YACJ;QACJ,SAVc,IAAI,GAAG;IAWzB;AACJ;AAEO,MAAMC,iCAAiCF;IAG1C,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMG,+BAA+BH;IAGxC,YAAYI,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAASA,MAAM,OAAO;QAC1B,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMC,8BAA8BL;IAGvC,YAAYM,OAAe,CAAE;QACzB,KAAK,CAAC;YACFA;QACJ,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMC,oCAAoCP;IAG7C,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMQ,4BAA4BR;IAGrC,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ"}
|