@webiny/api-aco 0.0.0-unstable.bca7b3e350 → 0.0.0-unstable.c27f4d8a31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -28
- package/constants.d.ts +2 -0
- package/constants.js +4 -0
- package/constants.js.map +1 -0
- package/createAcoContext.d.ts +8 -2
- package/createAcoContext.js +128 -50
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +3 -2
- package/createAcoGraphQL.js +58 -38
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoStorageOperations.d.ts +8 -6
- package/createAcoStorageOperations.js +9 -18
- package/createAcoStorageOperations.js.map +1 -1
- package/createAcoTasks.d.ts +1 -0
- package/createAcoTasks.js +15 -0
- package/createAcoTasks.js.map +1 -0
- package/domain/folder/abstractions.d.ts +9 -0
- package/domain/folder/abstractions.js +8 -0
- package/domain/folder/abstractions.js.map +1 -0
- package/domain/folder/errors.d.ts +29 -0
- package/domain/folder/errors.js +56 -0
- package/domain/folder/errors.js.map +1 -0
- package/domain/folder/folder.model.d.ts +9 -0
- package/domain/folder/folder.model.js +42 -0
- package/domain/folder/folder.model.js.map +1 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +43 -0
- package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js +36 -0
- package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +43 -0
- package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +45 -0
- package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +41 -0
- package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.js +41 -0
- package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +45 -0
- package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +44 -0
- package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js +35 -0
- package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
- package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js +63 -0
- package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +15 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +43 -0
- package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
- package/features/cms/feature.d.ts +1 -0
- package/features/cms/feature.js +43 -0
- package/features/cms/feature.js.map +1 -0
- package/features/cms/index.d.ts +1 -0
- package/features/cms/index.js +3 -0
- package/features/cms/index.js.map +1 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js +41 -0
- package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
- package/features/flp/CreateFlp/abstractions.d.ts +8 -0
- package/features/flp/CreateFlp/abstractions.js +7 -0
- package/features/flp/CreateFlp/abstractions.js.map +1 -0
- package/features/flp/CreateFlp/feature.d.ts +6 -0
- package/features/flp/CreateFlp/feature.js +13 -0
- package/features/flp/CreateFlp/feature.js.map +1 -0
- package/features/flp/CreateFlp/index.d.ts +2 -0
- package/features/flp/CreateFlp/index.js +4 -0
- package/features/flp/CreateFlp/index.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +14 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +37 -0
- package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +1 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js +10 -0
- package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
- package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
- package/features/flp/CreateFlpOnFolderCreated/index.js +3 -0
- package/features/flp/CreateFlpOnFolderCreated/index.js.map +1 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js +23 -0
- package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
- package/features/flp/DeleteFlp/abstractions.d.ts +8 -0
- package/features/flp/DeleteFlp/abstractions.js +7 -0
- package/features/flp/DeleteFlp/abstractions.js.map +1 -0
- package/features/flp/DeleteFlp/feature.d.ts +6 -0
- package/features/flp/DeleteFlp/feature.js +13 -0
- package/features/flp/DeleteFlp/feature.js.map +1 -0
- package/features/flp/DeleteFlp/index.d.ts +2 -0
- package/features/flp/DeleteFlp/index.js +4 -0
- package/features/flp/DeleteFlp/index.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +14 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +37 -0
- package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js +10 -0
- package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.js +3 -0
- package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +133 -0
- package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/abstractions.d.ts +25 -0
- package/features/flp/FolderLevelPermissions/abstractions.js +4 -0
- package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/feature.d.ts +1 -0
- package/features/flp/FolderLevelPermissions/feature.js +10 -0
- package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
- package/features/flp/FolderLevelPermissions/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/index.js +4 -0
- package/features/flp/FolderLevelPermissions/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +41 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +34 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +7 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +70 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +13 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +38 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +3 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +4 -0
- package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
- package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
- package/features/flp/FolderLevelPermissions/useCases/index.js +7 -0
- package/features/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
- package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
- package/features/flp/GetFlp/GetFlpUseCase.js +10 -0
- package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
- package/features/flp/GetFlp/abstractions.d.ts +8 -0
- package/features/flp/GetFlp/abstractions.js +4 -0
- package/features/flp/GetFlp/abstractions.js.map +1 -0
- package/features/flp/GetFlp/feature.d.ts +1 -0
- package/features/flp/GetFlp/feature.js +13 -0
- package/features/flp/GetFlp/feature.js.map +1 -0
- package/features/flp/GetFlp/index.d.ts +1 -0
- package/features/flp/GetFlp/index.js +3 -0
- package/features/flp/GetFlp/index.js.map +1 -0
- package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js +10 -0
- package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
- package/features/flp/ListFlps/abstractions.d.ts +16 -0
- package/features/flp/ListFlps/abstractions.js +4 -0
- package/features/flp/ListFlps/abstractions.js.map +1 -0
- package/features/flp/ListFlps/feature.d.ts +1 -0
- package/features/flp/ListFlps/feature.js +13 -0
- package/features/flp/ListFlps/feature.js.map +1 -0
- package/features/flp/ListFlps/index.d.ts +1 -0
- package/features/flp/ListFlps/index.js +3 -0
- package/features/flp/ListFlps/index.js.map +1 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +19 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js +203 -0
- package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
- package/features/flp/UpdateFlp/abstractions.d.ts +14 -0
- package/features/flp/UpdateFlp/abstractions.js +7 -0
- package/features/flp/UpdateFlp/abstractions.js.map +1 -0
- package/features/flp/UpdateFlp/feature.d.ts +6 -0
- package/features/flp/UpdateFlp/feature.js +13 -0
- package/features/flp/UpdateFlp/feature.js.map +1 -0
- package/features/flp/UpdateFlp/index.d.ts +2 -0
- package/features/flp/UpdateFlp/index.js +4 -0
- package/features/flp/UpdateFlp/index.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +14 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +39 -0
- package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js +10 -0
- package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.js +3 -0
- package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +1 -0
- package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js +108 -0
- package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js +39 -0
- package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
- package/features/folder/CreateFolder/abstractions.d.ts +55 -0
- package/features/folder/CreateFolder/abstractions.js +21 -0
- package/features/folder/CreateFolder/abstractions.js.map +1 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +44 -0
- package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/CreateFolder/events.d.ts +10 -0
- package/features/folder/CreateFolder/events.js +19 -0
- package/features/folder/CreateFolder/events.js.map +1 -0
- package/features/folder/CreateFolder/feature.d.ts +1 -0
- package/features/folder/CreateFolder/feature.js +14 -0
- package/features/folder/CreateFolder/feature.js.map +1 -0
- package/features/folder/CreateFolder/index.d.ts +2 -0
- package/features/folder/CreateFolder/index.js +4 -0
- package/features/folder/CreateFolder/index.js.map +1 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js +30 -0
- package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js +55 -0
- package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
- package/features/folder/DeleteFolder/abstractions.d.ts +55 -0
- package/features/folder/DeleteFolder/abstractions.js +21 -0
- package/features/folder/DeleteFolder/abstractions.js.map +1 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +28 -0
- package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/DeleteFolder/events.d.ts +10 -0
- package/features/folder/DeleteFolder/events.js +19 -0
- package/features/folder/DeleteFolder/events.js.map +1 -0
- package/features/folder/DeleteFolder/feature.d.ts +1 -0
- package/features/folder/DeleteFolder/feature.js +14 -0
- package/features/folder/DeleteFolder/feature.js.map +1 -0
- package/features/folder/DeleteFolder/index.d.ts +2 -0
- package/features/folder/DeleteFolder/index.js +4 -0
- package/features/folder/DeleteFolder/index.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +56 -0
- package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +20 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js +4 -0
- package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js +10 -0
- package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
- package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmpty/index.js +3 -0
- package/features/folder/EnsureFolderIsEmpty/index.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +29 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +7 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +17 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +3 -0
- package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +56 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +10 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +3 -0
- package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +1 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js +88 -0
- package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js +17 -0
- package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
- package/features/folder/GetAncestors/abstractions.d.ts +38 -0
- package/features/folder/GetAncestors/abstractions.js +15 -0
- package/features/folder/GetAncestors/abstractions.js.map +1 -0
- package/features/folder/GetAncestors/feature.d.ts +1 -0
- package/features/folder/GetAncestors/feature.js +12 -0
- package/features/folder/GetAncestors/feature.js.map +1 -0
- package/features/folder/GetAncestors/index.d.ts +2 -0
- package/features/folder/GetAncestors/index.js +4 -0
- package/features/folder/GetAncestors/index.js.map +1 -0
- package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
- package/features/folder/GetFolder/GetFolderRepository.js +31 -0
- package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
- package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
- package/features/folder/GetFolder/GetFolderUseCase.js +17 -0
- package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
- package/features/folder/GetFolder/abstractions.d.ts +54 -0
- package/features/folder/GetFolder/abstractions.js +21 -0
- package/features/folder/GetFolder/abstractions.js.map +1 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +37 -0
- package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolder/feature.d.ts +1 -0
- package/features/folder/GetFolder/feature.js +14 -0
- package/features/folder/GetFolder/feature.js.map +1 -0
- package/features/folder/GetFolder/index.d.ts +2 -0
- package/features/folder/GetFolder/index.js +4 -0
- package/features/folder/GetFolder/index.js.map +1 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +103 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +17 -0
- package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
- package/features/folder/GetFolderHierarchy/abstractions.d.ts +36 -0
- package/features/folder/GetFolderHierarchy/abstractions.js +15 -0
- package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +64 -0
- package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/GetFolderHierarchy/feature.d.ts +1 -0
- package/features/folder/GetFolderHierarchy/feature.js +14 -0
- package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
- package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
- package/features/folder/GetFolderHierarchy/index.js +4 -0
- package/features/folder/GetFolderHierarchy/index.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +68 -0
- package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +10 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +7 -0
- package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js +10 -0
- package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.js +3 -0
- package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +1 -0
- package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
- package/features/folder/ListFolders/ListFoldersRepository.js +54 -0
- package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
- package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js +17 -0
- package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
- package/features/folder/ListFolders/abstractions.d.ts +42 -0
- package/features/folder/ListFolders/abstractions.js +15 -0
- package/features/folder/ListFolders/abstractions.js.map +1 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +77 -0
- package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/ListFolders/feature.d.ts +1 -0
- package/features/folder/ListFolders/feature.js +14 -0
- package/features/folder/ListFolders/feature.js.map +1 -0
- package/features/folder/ListFolders/index.d.ts +2 -0
- package/features/folder/ListFolders/index.js +4 -0
- package/features/folder/ListFolders/index.js.map +1 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js +110 -0
- package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js +55 -0
- package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
- package/features/folder/UpdateFolder/abstractions.d.ts +60 -0
- package/features/folder/UpdateFolder/abstractions.js +21 -0
- package/features/folder/UpdateFolder/abstractions.js.map +1 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +13 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +77 -0
- package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
- package/features/folder/UpdateFolder/events.d.ts +10 -0
- package/features/folder/UpdateFolder/events.js +19 -0
- package/features/folder/UpdateFolder/events.js.map +1 -0
- package/features/folder/UpdateFolder/feature.d.ts +1 -0
- package/features/folder/UpdateFolder/feature.js +14 -0
- package/features/folder/UpdateFolder/feature.js.map +1 -0
- package/features/folder/UpdateFolder/index.d.ts +2 -0
- package/features/folder/UpdateFolder/index.js +4 -0
- package/features/folder/UpdateFolder/index.js.map +1 -0
- package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
- package/features/folder/shared/EntryToFolderMapper.js +22 -0
- package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
- package/features/folder/shared/abstractions.d.ts +5 -0
- package/features/folder/shared/abstractions.js +4 -0
- package/features/folder/shared/abstractions.js.map +1 -0
- package/filter/filter.crud.d.ts +3 -0
- package/filter/filter.crud.js +33 -0
- package/filter/filter.crud.js.map +1 -0
- package/filter/filter.gql.d.ts +3 -0
- package/filter/filter.gql.js +146 -0
- package/filter/filter.gql.js.map +1 -0
- package/filter/filter.model.d.ts +9 -0
- package/filter/filter.model.js +41 -0
- package/filter/filter.model.js.map +1 -0
- package/filter/filter.so.d.ts +3 -0
- package/filter/filter.so.js +104 -0
- package/filter/filter.so.js.map +1 -0
- package/filter/filter.types.d.ts +67 -0
- package/filter/filter.types.js +7 -0
- package/filter/filter.types.js.map +1 -0
- package/flp/flp.crud.d.ts +7 -0
- package/flp/flp.crud.js +91 -0
- package/flp/flp.crud.js.map +1 -0
- package/flp/flp.so.d.ts +20 -0
- package/flp/flp.so.js +220 -0
- package/flp/flp.so.js.map +1 -0
- package/flp/flp.types.d.ts +93 -0
- package/flp/flp.types.js +3 -0
- package/flp/flp.types.js.map +1 -0
- package/flp/index.d.ts +3 -0
- package/flp/index.js +5 -0
- package/flp/index.js.map +1 -0
- package/flp/tasks/createFlp.task.d.ts +16 -0
- package/flp/tasks/createFlp.task.js +35 -0
- package/flp/tasks/createFlp.task.js.map +1 -0
- package/flp/tasks/deleteFlp.task.d.ts +16 -0
- package/flp/tasks/deleteFlp.task.js +35 -0
- package/flp/tasks/deleteFlp.task.js.map +1 -0
- package/flp/tasks/index.d.ts +5 -0
- package/flp/tasks/index.js +19 -0
- package/flp/tasks/index.js.map +1 -0
- package/flp/tasks/syncFlp.task.d.ts +20 -0
- package/flp/tasks/syncFlp.task.js +127 -0
- package/flp/tasks/syncFlp.task.js.map +1 -0
- package/flp/tasks/updateFlp.task.d.ts +16 -0
- package/flp/tasks/updateFlp.task.js +40 -0
- package/flp/tasks/updateFlp.task.js.map +1 -0
- package/folder/createFolderModelModifier.d.ts +36 -0
- package/folder/createFolderModelModifier.js +61 -0
- package/folder/createFolderModelModifier.js.map +1 -0
- package/folder/createFolderTypeDefs.d.ts +7 -0
- package/folder/createFolderTypeDefs.js +186 -0
- package/folder/createFolderTypeDefs.js.map +1 -0
- package/folder/folder.gql.d.ts +4 -3
- package/folder/folder.gql.js +146 -97
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +52 -59
- package/folder/folder.types.js +2 -4
- package/folder/folder.types.js.map +1 -1
- package/index.d.ts +8 -1
- package/index.js +9 -13
- package/index.js.map +1 -1
- package/package.json +44 -35
- package/types.d.ts +31 -15
- package/types.js +7 -4
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +10 -0
- package/utils/FoldersCacheFactory.js +24 -0
- package/utils/FoldersCacheFactory.js.map +1 -0
- package/utils/ListCache.d.ts +23 -0
- package/utils/ListCache.js +23 -0
- package/utils/ListCache.js.map +1 -0
- package/utils/Path.d.ts +3 -0
- package/utils/Path.js +11 -0
- package/utils/Path.js.map +1 -0
- package/utils/acoRecordId.d.ts +6 -0
- package/utils/acoRecordId.js +27 -0
- package/utils/acoRecordId.js.map +1 -0
- package/utils/compress.d.ts +4 -0
- package/utils/compress.js +12 -0
- package/utils/compress.js.map +1 -0
- package/utils/createListSort.d.ts +3 -0
- package/utils/createListSort.js +10 -0
- package/utils/createListSort.js.map +1 -0
- package/utils/createOperationsWrapper.d.ts +9 -0
- package/utils/createOperationsWrapper.js +22 -0
- package/utils/createOperationsWrapper.js.map +1 -0
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js +206 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
- package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js +23 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
- package/utils/decorators/ListEntriesFactory.d.ts +17 -0
- package/utils/decorators/ListEntriesFactory.js +106 -0
- package/utils/decorators/ListEntriesFactory.js.map +1 -0
- package/utils/decorators/hasRootFolderId.d.ts +7 -0
- package/utils/decorators/hasRootFolderId.js +19 -0
- package/utils/decorators/hasRootFolderId.js.map +1 -0
- package/utils/decorators/isPageModel.d.ts +5 -0
- package/utils/decorators/isPageModel.js +13 -0
- package/utils/decorators/isPageModel.js.map +1 -0
- package/utils/ensureAuthentication.d.ts +2 -0
- package/utils/ensureAuthentication.js +12 -0
- package/utils/ensureAuthentication.js.map +1 -0
- package/utils/pickEntryFieldValues.d.ts +3 -0
- package/utils/pickEntryFieldValues.js +23 -0
- package/utils/pickEntryFieldValues.js.map +1 -0
- package/utils/resolve.d.ts +1 -1
- package/utils/resolve.js +6 -11
- package/utils/resolve.js.map +1 -1
- package/context/folders.d.ts +0 -2
- package/context/folders.js +0 -261
- package/context/folders.js.map +0 -1
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -22
- package/context/index.js.map +0 -1
- package/context/links.d.ts +0 -2
- package/context/links.js +0 -270
- package/context/links.js.map +0 -1
- package/createAcoCrud.d.ts +0 -2
- package/createAcoCrud.js +0 -17
- package/createAcoCrud.js.map +0 -1
- package/createAcoFields.d.ts +0 -2
- package/createAcoFields.js +0 -40
- package/createAcoFields.js.map +0 -1
- package/createAcoHooks.d.ts +0 -2
- package/createAcoHooks.js +0 -11
- package/createAcoHooks.js.map +0 -1
- package/createAcoModels.d.ts +0 -2
- package/createAcoModels.js +0 -67
- package/createAcoModels.js.map +0 -1
- package/folder/folder.crud.d.ts +0 -3
- package/folder/folder.crud.js +0 -92
- package/folder/folder.crud.js.map +0 -1
- package/folder/folder.model.d.ts +0 -4
- package/folder/folder.model.js +0 -79
- package/folder/folder.model.js.map +0 -1
- package/folder/folder.so.d.ts +0 -8
- package/folder/folder.so.js +0 -156
- package/folder/folder.so.js.map +0 -1
- package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
- package/folder/onFolderBeforeDelete.hook.js +0 -53
- package/folder/onFolderBeforeDelete.hook.js.map +0 -1
- package/graphql/base.gql.d.ts +0 -3
- package/graphql/base.gql.js +0 -63
- package/graphql/base.gql.js.map +0 -1
- package/graphql/folders.gql.d.ts +0 -3
- package/graphql/folders.gql.js +0 -126
- package/graphql/folders.gql.js.map +0 -1
- package/graphql/index.d.ts +0 -1
- package/graphql/index.js +0 -15
- package/graphql/index.js.map +0 -1
- package/graphql/links.gql.d.ts +0 -3
- package/graphql/links.gql.js +0 -123
- package/graphql/links.gql.js.map +0 -1
- package/record/record.crud.d.ts +0 -3
- package/record/record.crud.js +0 -92
- package/record/record.crud.js.map +0 -1
- package/record/record.gql.d.ts +0 -3
- package/record/record.gql.js +0 -118
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -4
- package/record/record.model.js +0 -75
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -8
- package/record/record.so.js +0 -100
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -92
- package/record/record.types.js +0 -5
- package/record/record.types.js.map +0 -1
- package/subscriptions/afterFolderDelete.d.ts +0 -3
- package/subscriptions/afterFolderDelete.js +0 -62
- package/subscriptions/afterFolderDelete.js.map +0 -1
- package/subscriptions/index.d.ts +0 -3
- package/subscriptions/index.js +0 -14
- package/subscriptions/index.js.map +0 -1
- package/utils/createModelField.d.ts +0 -6
- package/utils/createModelField.js +0 -39
- package/utils/createModelField.js.map +0 -1
- package/utils/fieldResolver.d.ts +0 -16
- package/utils/fieldResolver.js +0 -44
- package/utils/fieldResolver.js.map +0 -1
- package/utils/getFieldValues.d.ts +0 -2
- package/utils/getFieldValues.js +0 -12
- package/utils/getFieldValues.js.map +0 -1
- package/utils/isInstallationPending.d.ts +0 -4
- package/utils/isInstallationPending.js +0 -21
- package/utils/isInstallationPending.js.map +0 -1
- package/utils/modelFactory.d.ts +0 -15
- package/utils/modelFactory.js +0 -23
- package/utils/modelFactory.js.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { AcoBaseFields, ListMeta, ListSort } from "../types.js";
|
|
2
|
+
export declare enum Operation {
|
|
3
|
+
AND = "AND",
|
|
4
|
+
OR = "OR"
|
|
5
|
+
}
|
|
6
|
+
export interface GroupFilter {
|
|
7
|
+
field: string;
|
|
8
|
+
condition: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}
|
|
11
|
+
export interface Group {
|
|
12
|
+
operation: Operation;
|
|
13
|
+
filters: GroupFilter[];
|
|
14
|
+
}
|
|
15
|
+
export interface Filter extends AcoBaseFields {
|
|
16
|
+
name: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
namespace: string;
|
|
19
|
+
operation: Operation;
|
|
20
|
+
groups: Group[];
|
|
21
|
+
}
|
|
22
|
+
export interface ListFiltersWhere {
|
|
23
|
+
namespace: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ListFiltersParams {
|
|
26
|
+
where: ListFiltersWhere;
|
|
27
|
+
sort?: ListSort;
|
|
28
|
+
limit?: number;
|
|
29
|
+
after?: string | null;
|
|
30
|
+
}
|
|
31
|
+
export type CreateFilterParams = Pick<Filter, "id" | "name" | "description" | "namespace" | "operation" | "groups">;
|
|
32
|
+
export interface UpdateFilterParams {
|
|
33
|
+
name?: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
namespace?: string;
|
|
36
|
+
operation?: Operation;
|
|
37
|
+
groups?: Group[];
|
|
38
|
+
}
|
|
39
|
+
export interface DeleteFilterParams {
|
|
40
|
+
id: string;
|
|
41
|
+
}
|
|
42
|
+
export interface StorageOperationsGetFilterParams {
|
|
43
|
+
id: string;
|
|
44
|
+
}
|
|
45
|
+
export type StorageOperationsListFiltersParams = ListFiltersParams;
|
|
46
|
+
export interface StorageOperationsCreateFilterParams {
|
|
47
|
+
data: CreateFilterParams;
|
|
48
|
+
}
|
|
49
|
+
export interface StorageOperationsUpdateFilterParams {
|
|
50
|
+
id: string;
|
|
51
|
+
data: UpdateFilterParams;
|
|
52
|
+
}
|
|
53
|
+
export type StorageOperationsDeleteFilterParams = DeleteFilterParams;
|
|
54
|
+
export interface AcoFilterCrud {
|
|
55
|
+
get(id: string): Promise<Filter>;
|
|
56
|
+
list(params: ListFiltersParams): Promise<[Filter[], ListMeta]>;
|
|
57
|
+
create(data: CreateFilterParams): Promise<Filter>;
|
|
58
|
+
update(id: string, data: UpdateFilterParams): Promise<Filter>;
|
|
59
|
+
delete(id: string): Promise<boolean>;
|
|
60
|
+
}
|
|
61
|
+
export interface AcoFilterStorageOperations {
|
|
62
|
+
getFilter(params: StorageOperationsGetFilterParams): Promise<Filter>;
|
|
63
|
+
listFilters(params: StorageOperationsListFiltersParams): Promise<[Filter[], ListMeta]>;
|
|
64
|
+
createFilter(params: StorageOperationsCreateFilterParams): Promise<Filter>;
|
|
65
|
+
updateFilter(params: StorageOperationsUpdateFilterParams): Promise<Filter>;
|
|
66
|
+
deleteFilter(params: StorageOperationsDeleteFilterParams): Promise<boolean>;
|
|
67
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Operation"],"sources":["filter.types.ts"],"sourcesContent":["import type { AcoBaseFields, ListMeta, ListSort } from \"~/types.js\";\n\nexport enum Operation {\n AND = \"AND\",\n OR = \"OR\"\n}\n\nexport interface GroupFilter {\n field: string;\n condition: string;\n value: string;\n}\n\nexport interface Group {\n operation: Operation;\n filters: GroupFilter[];\n}\n\nexport interface Filter extends AcoBaseFields {\n name: string;\n description?: string;\n namespace: string;\n operation: Operation;\n groups: Group[];\n}\n\nexport interface ListFiltersWhere {\n namespace: string;\n}\n\nexport interface ListFiltersParams {\n where: ListFiltersWhere;\n sort?: ListSort;\n limit?: number;\n after?: string | null;\n}\n\nexport type CreateFilterParams = Pick<\n Filter,\n \"id\" | \"name\" | \"description\" | \"namespace\" | \"operation\" | \"groups\"\n>;\n\nexport interface UpdateFilterParams {\n name?: string;\n description?: string;\n namespace?: string;\n operation?: Operation;\n groups?: Group[];\n}\n\nexport interface DeleteFilterParams {\n id: string;\n}\n\nexport interface StorageOperationsGetFilterParams {\n id: string;\n}\n\nexport type StorageOperationsListFiltersParams = ListFiltersParams;\n\nexport interface StorageOperationsCreateFilterParams {\n data: CreateFilterParams;\n}\n\nexport interface StorageOperationsUpdateFilterParams {\n id: string;\n data: UpdateFilterParams;\n}\n\nexport type StorageOperationsDeleteFilterParams = DeleteFilterParams;\n\nexport interface AcoFilterCrud {\n get(id: string): Promise<Filter>;\n list(params: ListFiltersParams): Promise<[Filter[], ListMeta]>;\n create(data: CreateFilterParams): Promise<Filter>;\n update(id: string, data: UpdateFilterParams): Promise<Filter>;\n delete(id: string): Promise<boolean>;\n}\n\nexport interface AcoFilterStorageOperations {\n getFilter(params: StorageOperationsGetFilterParams): Promise<Filter>;\n listFilters(params: StorageOperationsListFiltersParams): Promise<[Filter[], ListMeta]>;\n createFilter(params: StorageOperationsCreateFilterParams): Promise<Filter>;\n updateFilter(params: StorageOperationsUpdateFilterParams): Promise<Filter>;\n deleteFilter(params: StorageOperationsDeleteFilterParams): Promise<boolean>;\n}\n"],"mappings":"AAEA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type AcoFolderLevelPermissionsCrud, type AcoStorageOperations } from "../types.js";
|
|
2
|
+
import type { Tenant } from "@webiny/api-core/types/tenancy.js";
|
|
3
|
+
export interface CreateFlpCrudMethodsParams {
|
|
4
|
+
getTenant: () => Tenant;
|
|
5
|
+
storageOperations: AcoStorageOperations;
|
|
6
|
+
}
|
|
7
|
+
export declare const createFlpCrudMethods: ({ storageOperations, getTenant }: CreateFlpCrudMethodsParams) => AcoFolderLevelPermissionsCrud;
|
package/flp/flp.crud.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { EntryId } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
3
|
+
export const createFlpCrudMethods = ({
|
|
4
|
+
storageOperations,
|
|
5
|
+
getTenant
|
|
6
|
+
}) => {
|
|
7
|
+
return {
|
|
8
|
+
async create(params) {
|
|
9
|
+
return await storageOperations.flp.create({
|
|
10
|
+
data: {
|
|
11
|
+
...params,
|
|
12
|
+
tenant: getTenant().id
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
async update(id, data) {
|
|
17
|
+
const original = await this.get(id);
|
|
18
|
+
if (!original) {
|
|
19
|
+
throw new WebinyError(`Folder level permission with id "${id}" not found.`, "GET_ITEM_UPDATE_FLP_ERROR", {
|
|
20
|
+
id,
|
|
21
|
+
data
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return await storageOperations.flp.update({
|
|
25
|
+
original,
|
|
26
|
+
data: {
|
|
27
|
+
...data,
|
|
28
|
+
tenant: getTenant().id
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
async batchUpdate(items) {
|
|
33
|
+
const batchItems = (await Promise.all(items.map(async ({
|
|
34
|
+
id,
|
|
35
|
+
data
|
|
36
|
+
}) => {
|
|
37
|
+
const original = await this.get(id);
|
|
38
|
+
if (!original) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
original,
|
|
43
|
+
data: {
|
|
44
|
+
...data,
|
|
45
|
+
tenant: getTenant().id
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}))).filter(item => item !== null);
|
|
49
|
+
if (batchItems.length === 0) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
return await storageOperations.flp.batchUpdate({
|
|
53
|
+
items: batchItems
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
async delete(id) {
|
|
57
|
+
const flp = await this.get(id);
|
|
58
|
+
if (!flp) {
|
|
59
|
+
throw new WebinyError(`Folder level permission with id "${id}" not found.`, "GET_ITEM_DELETE_FLP_ERROR", {
|
|
60
|
+
id
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
await storageOperations.flp.delete({
|
|
64
|
+
flp: {
|
|
65
|
+
...flp,
|
|
66
|
+
tenant: getTenant().id
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
return true;
|
|
70
|
+
},
|
|
71
|
+
async get(id) {
|
|
72
|
+
const entryId = EntryId.from(id);
|
|
73
|
+
return await storageOperations.flp.get({
|
|
74
|
+
id: entryId.id,
|
|
75
|
+
tenant: getTenant().id
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
async list({
|
|
79
|
+
where
|
|
80
|
+
}) {
|
|
81
|
+
return await storageOperations.flp.list({
|
|
82
|
+
where: {
|
|
83
|
+
...where,
|
|
84
|
+
tenant: getTenant().id
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
//# sourceMappingURL=flp.crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WebinyError","EntryId","createFlpCrudMethods","storageOperations","getTenant","create","params","flp","data","tenant","id","update","original","get","batchUpdate","items","batchItems","Promise","all","map","filter","item","length","delete","entryId","from","list","where"],"sources":["flp.crud.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n type AcoFolderLevelPermissionsCrud,\n type AcoStorageOperations,\n type CreateFlpParams,\n type UpdateFlpParams\n} from \"~/types.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\nimport { EntryId } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\n\nexport interface CreateFlpCrudMethodsParams {\n getTenant: () => Tenant;\n storageOperations: AcoStorageOperations;\n}\n\nexport const createFlpCrudMethods = ({\n storageOperations,\n getTenant\n}: CreateFlpCrudMethodsParams): AcoFolderLevelPermissionsCrud => {\n return {\n async create(params: CreateFlpParams) {\n return await storageOperations.flp.create({\n data: { ...params, tenant: getTenant().id }\n });\n },\n async update(id: string, data: UpdateFlpParams) {\n const original = await this.get(id);\n if (!original) {\n throw new WebinyError(\n `Folder level permission with id \"${id}\" not found.`,\n \"GET_ITEM_UPDATE_FLP_ERROR\",\n {\n id,\n data\n }\n );\n }\n\n return await storageOperations.flp.update({\n original,\n data: {\n ...data,\n tenant: getTenant().id\n }\n });\n },\n async batchUpdate(items: Array<{ id: string; data: UpdateFlpParams }>) {\n const batchItems = (\n await Promise.all(\n items.map(async ({ id, data }) => {\n const original = await this.get(id);\n if (!original) {\n return null;\n }\n return {\n original,\n data: {\n ...data,\n tenant: getTenant().id\n }\n };\n })\n )\n ).filter((item): item is NonNullable<typeof item> => item !== null);\n\n if (batchItems.length === 0) {\n return [];\n }\n\n return await storageOperations.flp.batchUpdate({\n items: batchItems\n });\n },\n async delete(id: string) {\n const flp = await this.get(id);\n if (!flp) {\n throw new WebinyError(\n `Folder level permission with id \"${id}\" not found.`,\n \"GET_ITEM_DELETE_FLP_ERROR\",\n {\n id\n }\n );\n }\n\n await storageOperations.flp.delete({\n flp: {\n ...flp,\n tenant: getTenant().id\n }\n });\n\n return true;\n },\n async get(id: string) {\n const entryId = EntryId.from(id);\n return await storageOperations.flp.get({\n id: entryId.id,\n tenant: getTenant().id\n });\n },\n async list({ where }) {\n return await storageOperations.flp.list({\n where: {\n ...where,\n tenant: getTenant().id\n }\n });\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/flp/flp.so.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
|
+
import type { AcoFolderLevelPermissionsStorageOperations as IAcoFolderLevelPermissionsStorageOperations, FolderLevelPermission, StorageOperationsBatchUpdateFlpParams, StorageOperationsCreateFlpParams, StorageOperationsDeleteFlpParams, StorageOperationsGetFlpParams, StorageOperationsListFlpsParams, StorageOperationsUpdateFlpParams } from "../flp/flp.types.js";
|
|
3
|
+
interface StorageOperationsConfig {
|
|
4
|
+
documentClient: DynamoDBDocument;
|
|
5
|
+
}
|
|
6
|
+
declare class FolderLevelPermissionsStorageOperations implements IAcoFolderLevelPermissionsStorageOperations {
|
|
7
|
+
private readonly entity;
|
|
8
|
+
private readonly table;
|
|
9
|
+
constructor({ documentClient }: StorageOperationsConfig);
|
|
10
|
+
list({ where: { tenant, type, path_startsWith, parentId } }: StorageOperationsListFlpsParams): Promise<FolderLevelPermission[]>;
|
|
11
|
+
get({ tenant, id }: StorageOperationsGetFlpParams): Promise<FolderLevelPermission | null>;
|
|
12
|
+
create({ data }: StorageOperationsCreateFlpParams): Promise<FolderLevelPermission>;
|
|
13
|
+
update({ data: inputData, original }: StorageOperationsUpdateFlpParams): Promise<FolderLevelPermission>;
|
|
14
|
+
delete({ flp }: StorageOperationsDeleteFlpParams): Promise<void>;
|
|
15
|
+
batchUpdate({ items }: StorageOperationsBatchUpdateFlpParams): Promise<FolderLevelPermission[]>;
|
|
16
|
+
private createKeys;
|
|
17
|
+
private createGsiKeys;
|
|
18
|
+
}
|
|
19
|
+
export declare const createFlpOperations: (params: StorageOperationsConfig) => FolderLevelPermissionsStorageOperations;
|
|
20
|
+
export {};
|
package/flp/flp.so.js
ADDED
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { createStandardEntity, createTable } from "@webiny/db-dynamodb";
|
|
2
|
+
import { WebinyError } from "@webiny/error";
|
|
3
|
+
import { executeWithRetry } from "@webiny/utils";
|
|
4
|
+
class FolderLevelPermissionsStorageOperations {
|
|
5
|
+
constructor({
|
|
6
|
+
documentClient
|
|
7
|
+
}) {
|
|
8
|
+
this.table = createTable({
|
|
9
|
+
name: String(process.env.DB_TABLE),
|
|
10
|
+
documentClient
|
|
11
|
+
});
|
|
12
|
+
this.entity = createStandardEntity({
|
|
13
|
+
table: this.table.table,
|
|
14
|
+
name: "ACO.flp"
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async list({
|
|
18
|
+
where: {
|
|
19
|
+
tenant,
|
|
20
|
+
type,
|
|
21
|
+
path_startsWith,
|
|
22
|
+
parentId
|
|
23
|
+
}
|
|
24
|
+
}) {
|
|
25
|
+
try {
|
|
26
|
+
if (parentId) {
|
|
27
|
+
const entries = await this.entity.queryAll({
|
|
28
|
+
partitionKey: `T#${tenant}#FLP`,
|
|
29
|
+
options: {
|
|
30
|
+
index: "GSI2",
|
|
31
|
+
eq: parentId
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return entries.map(entry => entry.data);
|
|
35
|
+
}
|
|
36
|
+
if (path_startsWith) {
|
|
37
|
+
const entries = await this.entity.queryAll({
|
|
38
|
+
partitionKey: `T#${tenant}#AT#${type}#FLP`,
|
|
39
|
+
options: {
|
|
40
|
+
index: "GSI1",
|
|
41
|
+
beginsWith: path_startsWith
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
return entries.map(entry => entry.data);
|
|
45
|
+
}
|
|
46
|
+
throw new WebinyError("Missing required parameters.", "LIST_FLP_MISSING_PARAMETERS", {
|
|
47
|
+
tenant,
|
|
48
|
+
type,
|
|
49
|
+
path_startsWith,
|
|
50
|
+
parentId
|
|
51
|
+
});
|
|
52
|
+
} catch (err) {
|
|
53
|
+
throw WebinyError.from(err, {
|
|
54
|
+
message: "Could not list folder level permissions.",
|
|
55
|
+
code: "LIST_FLP_ERROR"
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async get({
|
|
60
|
+
tenant,
|
|
61
|
+
id
|
|
62
|
+
}) {
|
|
63
|
+
try {
|
|
64
|
+
const entry = await this.entity.get(this.createKeys({
|
|
65
|
+
tenant,
|
|
66
|
+
id
|
|
67
|
+
}));
|
|
68
|
+
if (!entry) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return entry.data;
|
|
72
|
+
} catch (err) {
|
|
73
|
+
throw WebinyError.from(err, {
|
|
74
|
+
message: "Could not load folder level permission.",
|
|
75
|
+
code: "GET_FLP_ERROR",
|
|
76
|
+
data: {
|
|
77
|
+
tenant,
|
|
78
|
+
id
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async create({
|
|
84
|
+
data
|
|
85
|
+
}) {
|
|
86
|
+
const keys = {
|
|
87
|
+
...this.createKeys(data),
|
|
88
|
+
...this.createGsiKeys(data)
|
|
89
|
+
};
|
|
90
|
+
try {
|
|
91
|
+
await this.entity.put({
|
|
92
|
+
...keys,
|
|
93
|
+
data
|
|
94
|
+
});
|
|
95
|
+
return data;
|
|
96
|
+
} catch (err) {
|
|
97
|
+
throw WebinyError.from(err, {
|
|
98
|
+
message: "Could not create folder level permission.",
|
|
99
|
+
code: "CREATE_FLP_ERROR",
|
|
100
|
+
data: {
|
|
101
|
+
keys,
|
|
102
|
+
data
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async update({
|
|
108
|
+
data: inputData,
|
|
109
|
+
original
|
|
110
|
+
}) {
|
|
111
|
+
try {
|
|
112
|
+
const data = {
|
|
113
|
+
...original,
|
|
114
|
+
...inputData
|
|
115
|
+
};
|
|
116
|
+
const keys = {
|
|
117
|
+
...this.createKeys(data),
|
|
118
|
+
...this.createGsiKeys(data)
|
|
119
|
+
};
|
|
120
|
+
await this.entity.put({
|
|
121
|
+
...keys,
|
|
122
|
+
data
|
|
123
|
+
});
|
|
124
|
+
return data;
|
|
125
|
+
} catch (err) {
|
|
126
|
+
throw WebinyError.from(err, {
|
|
127
|
+
message: "Could not update folder level permission.",
|
|
128
|
+
code: "UPDATE_FLP_ERROR",
|
|
129
|
+
data: {
|
|
130
|
+
inputData,
|
|
131
|
+
original
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async delete({
|
|
137
|
+
flp
|
|
138
|
+
}) {
|
|
139
|
+
const keys = this.createKeys(flp);
|
|
140
|
+
try {
|
|
141
|
+
await this.entity.delete(keys);
|
|
142
|
+
} catch (err) {
|
|
143
|
+
throw WebinyError.from(err, {
|
|
144
|
+
message: "Could not delete folder level permission.",
|
|
145
|
+
code: "DELETE_FLP_ERROR",
|
|
146
|
+
data: {
|
|
147
|
+
keys,
|
|
148
|
+
flp
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async batchUpdate({
|
|
154
|
+
items
|
|
155
|
+
}) {
|
|
156
|
+
try {
|
|
157
|
+
const batch = this.entity.createEntityWriter();
|
|
158
|
+
const updatedItems = [];
|
|
159
|
+
for (const {
|
|
160
|
+
original,
|
|
161
|
+
data: inputData
|
|
162
|
+
} of items) {
|
|
163
|
+
const data = {
|
|
164
|
+
...original,
|
|
165
|
+
...inputData
|
|
166
|
+
};
|
|
167
|
+
const keys = {
|
|
168
|
+
...this.createKeys(data),
|
|
169
|
+
...this.createGsiKeys(data)
|
|
170
|
+
};
|
|
171
|
+
batch.put({
|
|
172
|
+
...keys,
|
|
173
|
+
data
|
|
174
|
+
});
|
|
175
|
+
updatedItems.push(data);
|
|
176
|
+
}
|
|
177
|
+
await executeWithRetry(async () => {
|
|
178
|
+
return await batch.execute();
|
|
179
|
+
});
|
|
180
|
+
return updatedItems;
|
|
181
|
+
} catch (err) {
|
|
182
|
+
throw WebinyError.from(err, {
|
|
183
|
+
message: "Could not batch update folder level permissions.",
|
|
184
|
+
code: "BATCH_UPDATE_FLP_ERROR",
|
|
185
|
+
data: {
|
|
186
|
+
items
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
createKeys({
|
|
192
|
+
id,
|
|
193
|
+
tenant
|
|
194
|
+
}) {
|
|
195
|
+
return {
|
|
196
|
+
PK: `T#${tenant}#FLP#${id}`,
|
|
197
|
+
SK: `A`,
|
|
198
|
+
TYPE: "aco.flp"
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
createGsiKeys({
|
|
202
|
+
tenant,
|
|
203
|
+
type,
|
|
204
|
+
path,
|
|
205
|
+
parentId
|
|
206
|
+
}) {
|
|
207
|
+
return {
|
|
208
|
+
GSI1_PK: `T#${tenant}#AT#${type}#FLP`,
|
|
209
|
+
GSI1_SK: path,
|
|
210
|
+
GSI2_PK: `T#${tenant}#FLP`,
|
|
211
|
+
GSI2_SK: parentId,
|
|
212
|
+
GSI_TENANT: tenant
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
export const createFlpOperations = params => {
|
|
217
|
+
return new FolderLevelPermissionsStorageOperations(params);
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
//# sourceMappingURL=flp.so.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createStandardEntity","createTable","WebinyError","executeWithRetry","FolderLevelPermissionsStorageOperations","constructor","documentClient","table","name","String","process","env","DB_TABLE","entity","list","where","tenant","type","path_startsWith","parentId","entries","queryAll","partitionKey","options","index","eq","map","entry","data","beginsWith","err","from","message","code","get","id","createKeys","create","keys","createGsiKeys","put","update","inputData","original","delete","flp","batchUpdate","items","batch","createEntityWriter","updatedItems","push","execute","PK","SK","TYPE","path","GSI1_PK","GSI1_SK","GSI2_PK","GSI2_SK","GSI_TENANT","createFlpOperations","params"],"sources":["flp.so.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createStandardEntity, createTable } from \"@webiny/db-dynamodb\";\n\nimport { WebinyError } from \"@webiny/error\";\nimport type {\n AcoFolderLevelPermissionsStorageOperations as IAcoFolderLevelPermissionsStorageOperations,\n FolderLevelPermission,\n StorageOperationsBatchUpdateFlpParams,\n StorageOperationsCreateFlpParams,\n StorageOperationsDeleteFlpParams,\n StorageOperationsGetFlpParams,\n StorageOperationsListFlpsParams,\n StorageOperationsUpdateFlpParams\n} from \"~/flp/flp.types.js\";\nimport { executeWithRetry } from \"@webiny/utils\";\n\ninterface StorageOperationsConfig {\n documentClient: DynamoDBDocument;\n}\n\ninterface CreateKeysParams {\n tenant: string;\n id: string;\n}\n\ninterface CreateGsiKeysParams {\n tenant: string;\n id: string;\n type: string;\n path: string;\n parentId: string;\n}\n\nclass FolderLevelPermissionsStorageOperations\n implements IAcoFolderLevelPermissionsStorageOperations\n{\n private readonly entity;\n private readonly table;\n\n constructor({ documentClient }: StorageOperationsConfig) {\n this.table = createTable({\n name: String(process.env.DB_TABLE),\n documentClient\n });\n\n this.entity = createStandardEntity<FolderLevelPermission>({\n table: this.table.table,\n name: \"ACO.flp\"\n });\n }\n\n public async list({\n where: { tenant, type, path_startsWith, parentId }\n }: StorageOperationsListFlpsParams): Promise<FolderLevelPermission[]> {\n try {\n if (parentId) {\n const entries = await this.entity.queryAll({\n partitionKey: `T#${tenant}#FLP`,\n options: {\n index: \"GSI2\",\n eq: parentId\n }\n });\n return entries.map(entry => entry.data);\n }\n\n if (path_startsWith) {\n const entries = await this.entity.queryAll({\n partitionKey: `T#${tenant}#AT#${type}#FLP`,\n options: {\n index: \"GSI1\",\n beginsWith: path_startsWith\n }\n });\n return entries.map(entry => entry.data);\n }\n\n throw new WebinyError(\"Missing required parameters.\", \"LIST_FLP_MISSING_PARAMETERS\", {\n tenant,\n type,\n path_startsWith,\n parentId\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not list folder level permissions.\",\n code: \"LIST_FLP_ERROR\"\n });\n }\n }\n\n public async get({\n tenant,\n id\n }: StorageOperationsGetFlpParams): Promise<FolderLevelPermission | null> {\n try {\n const entry = await this.entity.get(this.createKeys({ tenant, id }));\n\n if (!entry) {\n return null;\n }\n\n return entry.data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load folder level permission.\",\n code: \"GET_FLP_ERROR\",\n data: { tenant, id }\n });\n }\n }\n\n public async create({\n data\n }: StorageOperationsCreateFlpParams): Promise<FolderLevelPermission> {\n const keys = {\n ...this.createKeys(data),\n ...this.createGsiKeys(data)\n };\n\n try {\n await this.entity.put({\n ...keys,\n data\n });\n\n return data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create folder level permission.\",\n code: \"CREATE_FLP_ERROR\",\n data: { keys, data }\n });\n }\n }\n\n public async update({\n data: inputData,\n original\n }: StorageOperationsUpdateFlpParams): Promise<FolderLevelPermission> {\n try {\n const data = {\n ...original,\n ...inputData\n };\n\n const keys = {\n ...this.createKeys(data),\n ...this.createGsiKeys(data)\n };\n\n await this.entity.put({\n ...keys,\n data\n });\n\n return data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update folder level permission.\",\n code: \"UPDATE_FLP_ERROR\",\n data: { inputData, original }\n });\n }\n }\n\n public async delete({ flp }: StorageOperationsDeleteFlpParams): Promise<void> {\n const keys = this.createKeys(flp);\n\n try {\n await this.entity.delete(keys);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not delete folder level permission.\",\n code: \"DELETE_FLP_ERROR\",\n data: {\n keys,\n flp\n }\n });\n }\n }\n\n public async batchUpdate({\n items\n }: StorageOperationsBatchUpdateFlpParams): Promise<FolderLevelPermission[]> {\n try {\n const batch = this.entity.createEntityWriter();\n\n const updatedItems: FolderLevelPermission[] = [];\n\n for (const { original, data: inputData } of items) {\n const data = {\n ...original,\n ...inputData\n };\n\n const keys = {\n ...this.createKeys(data),\n ...this.createGsiKeys(data)\n };\n\n batch.put({\n ...keys,\n data\n });\n\n updatedItems.push(data);\n }\n\n await executeWithRetry(async () => {\n return await batch.execute();\n });\n\n return updatedItems;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not batch update folder level permissions.\",\n code: \"BATCH_UPDATE_FLP_ERROR\",\n data: { items }\n });\n }\n }\n\n private createKeys({ id, tenant }: CreateKeysParams) {\n return {\n PK: `T#${tenant}#FLP#${id}`,\n SK: `A`,\n TYPE: \"aco.flp\"\n };\n }\n\n private createGsiKeys({ tenant, type, path, parentId }: CreateGsiKeysParams) {\n return {\n GSI1_PK: `T#${tenant}#AT#${type}#FLP`,\n GSI1_SK: path,\n GSI2_PK: `T#${tenant}#FLP`,\n GSI2_SK: parentId,\n GSI_TENANT: tenant\n };\n }\n}\n\nexport const createFlpOperations = (params: StorageOperationsConfig) => {\n return new FolderLevelPermissionsStorageOperations(params);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { type Folder } from "../types.js";
|
|
2
|
+
import type { FolderLevelPermission, FolderPermission } from "@webiny/shared-aco/flp/flp.types.js";
|
|
3
|
+
export type * from "@webiny/shared-aco/flp/flp.types.js";
|
|
4
|
+
/********
|
|
5
|
+
* CRUD operations
|
|
6
|
+
*******/
|
|
7
|
+
export interface ListFlpsParams {
|
|
8
|
+
where: {
|
|
9
|
+
path_startsWith?: string;
|
|
10
|
+
parentId?: string;
|
|
11
|
+
type: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export type CreateFlpParams = Pick<FolderLevelPermission, "id" | "type" | "permissions" | "path" | "parentId" | "slug">;
|
|
15
|
+
export interface UpdateFlpParams {
|
|
16
|
+
parentId?: string;
|
|
17
|
+
slug?: string;
|
|
18
|
+
path?: string;
|
|
19
|
+
permissions?: FolderPermission[];
|
|
20
|
+
type?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface AcoFolderLevelPermissionsCrud {
|
|
23
|
+
list(params: ListFlpsParams): Promise<FolderLevelPermission[]>;
|
|
24
|
+
get(id: string): Promise<FolderLevelPermission | null>;
|
|
25
|
+
create(params: CreateFlpParams): Promise<FolderLevelPermission>;
|
|
26
|
+
update(id: string, data: UpdateFlpParams): Promise<FolderLevelPermission>;
|
|
27
|
+
delete(id: string): Promise<boolean>;
|
|
28
|
+
batchUpdate(items: Array<{
|
|
29
|
+
id: string;
|
|
30
|
+
data: UpdateFlpParams;
|
|
31
|
+
}>): Promise<FolderLevelPermission[]>;
|
|
32
|
+
}
|
|
33
|
+
/********
|
|
34
|
+
* Storage operations
|
|
35
|
+
*******/
|
|
36
|
+
export interface StorageOperationsListFlpsParams {
|
|
37
|
+
where: ListFlpsParams["where"] & {
|
|
38
|
+
tenant: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface StorageOperationsGetFlpParams {
|
|
42
|
+
id: string;
|
|
43
|
+
tenant: string;
|
|
44
|
+
}
|
|
45
|
+
export type StorageOperationsCreateFlpParams = {
|
|
46
|
+
data: FolderLevelPermission & {
|
|
47
|
+
tenant: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export type StorageOperationsUpdateFlpParams = {
|
|
51
|
+
original: FolderLevelPermission;
|
|
52
|
+
data: UpdateFlpParams & {
|
|
53
|
+
tenant: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export type StorageOperationsDeleteFlpParams = {
|
|
57
|
+
flp: FolderLevelPermission & {
|
|
58
|
+
tenant: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export interface StorageOperationsBatchUpdateFlpParams {
|
|
62
|
+
items: Array<{
|
|
63
|
+
original: FolderLevelPermission;
|
|
64
|
+
data: UpdateFlpParams & {
|
|
65
|
+
tenant: string;
|
|
66
|
+
};
|
|
67
|
+
}>;
|
|
68
|
+
}
|
|
69
|
+
export interface AcoFolderLevelPermissionsStorageOperations {
|
|
70
|
+
list(params: StorageOperationsListFlpsParams): Promise<FolderLevelPermission[]>;
|
|
71
|
+
get(params: StorageOperationsGetFlpParams): Promise<FolderLevelPermission | null>;
|
|
72
|
+
create(params: StorageOperationsCreateFlpParams): Promise<FolderLevelPermission>;
|
|
73
|
+
update(params: StorageOperationsUpdateFlpParams): Promise<FolderLevelPermission>;
|
|
74
|
+
delete(params: StorageOperationsDeleteFlpParams): Promise<void>;
|
|
75
|
+
batchUpdate(params: StorageOperationsBatchUpdateFlpParams): Promise<FolderLevelPermission[]>;
|
|
76
|
+
}
|
|
77
|
+
/********
|
|
78
|
+
* Background Tasks
|
|
79
|
+
*******/
|
|
80
|
+
export interface ICreateFlpTaskInput {
|
|
81
|
+
folder: Folder;
|
|
82
|
+
}
|
|
83
|
+
export interface IUpdateFlpTaskInput {
|
|
84
|
+
folder: Folder;
|
|
85
|
+
queued?: string[];
|
|
86
|
+
}
|
|
87
|
+
export interface IDeleteFlpTaskInput {
|
|
88
|
+
folder: Folder;
|
|
89
|
+
}
|
|
90
|
+
export interface ISyncFlpTaskInput {
|
|
91
|
+
type?: string;
|
|
92
|
+
folderId?: string;
|
|
93
|
+
}
|
package/flp/flp.types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["flp.types.ts"],"sourcesContent":["import { type Folder } from \"~/types.js\";\nimport type { FolderLevelPermission, FolderPermission } from \"@webiny/shared-aco/flp/flp.types.js\";\n\nexport type * from \"@webiny/shared-aco/flp/flp.types.js\";\n\n/********\n * CRUD operations\n *******/\n\nexport interface ListFlpsParams {\n where: {\n path_startsWith?: string;\n parentId?: string;\n type: string;\n };\n}\n\nexport type CreateFlpParams = Pick<\n FolderLevelPermission,\n \"id\" | \"type\" | \"permissions\" | \"path\" | \"parentId\" | \"slug\"\n>;\n\nexport interface UpdateFlpParams {\n parentId?: string;\n slug?: string;\n path?: string;\n permissions?: FolderPermission[];\n type?: string;\n}\n\nexport interface AcoFolderLevelPermissionsCrud {\n list(params: ListFlpsParams): Promise<FolderLevelPermission[]>;\n get(id: string): Promise<FolderLevelPermission | null>;\n create(params: CreateFlpParams): Promise<FolderLevelPermission>;\n update(id: string, data: UpdateFlpParams): Promise<FolderLevelPermission>;\n delete(id: string): Promise<boolean>;\n batchUpdate(\n items: Array<{ id: string; data: UpdateFlpParams }>\n ): Promise<FolderLevelPermission[]>;\n}\n\n/********\n * Storage operations\n *******/\n\nexport interface StorageOperationsListFlpsParams {\n where: ListFlpsParams[\"where\"] & {\n tenant: string;\n };\n}\n\nexport interface StorageOperationsGetFlpParams {\n id: string;\n tenant: string;\n}\n\nexport type StorageOperationsCreateFlpParams = {\n data: FolderLevelPermission & {\n tenant: string;\n };\n};\n\nexport type StorageOperationsUpdateFlpParams = {\n original: FolderLevelPermission;\n data: UpdateFlpParams & {\n tenant: string;\n };\n};\n\nexport type StorageOperationsDeleteFlpParams = {\n flp: FolderLevelPermission & {\n tenant: string;\n };\n};\n\nexport interface StorageOperationsBatchUpdateFlpParams {\n items: Array<{\n original: FolderLevelPermission;\n data: UpdateFlpParams & {\n tenant: string;\n };\n }>;\n}\n\nexport interface AcoFolderLevelPermissionsStorageOperations {\n list(params: StorageOperationsListFlpsParams): Promise<FolderLevelPermission[]>;\n get(params: StorageOperationsGetFlpParams): Promise<FolderLevelPermission | null>;\n create(params: StorageOperationsCreateFlpParams): Promise<FolderLevelPermission>;\n update(params: StorageOperationsUpdateFlpParams): Promise<FolderLevelPermission>;\n delete(params: StorageOperationsDeleteFlpParams): Promise<void>;\n batchUpdate(params: StorageOperationsBatchUpdateFlpParams): Promise<FolderLevelPermission[]>;\n}\n\n/********\n * Background Tasks\n *******/\n\nexport interface ICreateFlpTaskInput {\n folder: Folder;\n}\n\nexport interface IUpdateFlpTaskInput {\n folder: Folder;\n queued?: string[];\n}\n\nexport interface IDeleteFlpTaskInput {\n folder: Folder;\n}\n\nexport interface ISyncFlpTaskInput {\n type?: string;\n folderId?: string;\n}\n"],"mappings":"","ignoreList":[]}
|
package/flp/index.d.ts
ADDED
package/flp/index.js
ADDED
package/flp/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./flp.crud.js\";\nexport * from \"./flp.so.js\";\nexport * from \"./tasks/index.js\";\n"],"mappings":"AAAA;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
|
|
2
|
+
import { type ICreateFlpTaskInput } from "../../types.js";
|
|
3
|
+
import { CreateFlpUseCase } from "../../features/flp/CreateFlp/index.js";
|
|
4
|
+
declare class CreateFlpTaskImpl implements TaskDefinition.Interface<ICreateFlpTaskInput> {
|
|
5
|
+
private createFlp;
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
databaseLogs: boolean;
|
|
10
|
+
constructor(createFlp: CreateFlpUseCase.Interface);
|
|
11
|
+
run({ input, controller }: TaskDefinition.RunParams<ICreateFlpTaskInput>): Promise<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskResultError | import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskResultAborted | TaskDefinition.ResultContinue<ICreateFlpTaskInput> | TaskDefinition.ResultDone<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
|
|
12
|
+
}
|
|
13
|
+
export declare const CreateFlpTask: typeof CreateFlpTaskImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskDefinition<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
|
|
2
|
+
import { CREATE_FLP_TASK_ID } from "./index.js";
|
|
3
|
+
import { CreateFlpUseCase } from "../../features/flp/CreateFlp/index.js";
|
|
4
|
+
class CreateFlpTaskImpl {
|
|
5
|
+
id = CREATE_FLP_TASK_ID;
|
|
6
|
+
title = "ACO - Create FLP record";
|
|
7
|
+
description = "Synchronizes the FLP catalog by creating the FLP record based on the provided folder.";
|
|
8
|
+
databaseLogs = false;
|
|
9
|
+
constructor(createFlp) {
|
|
10
|
+
this.createFlp = createFlp;
|
|
11
|
+
}
|
|
12
|
+
async run({
|
|
13
|
+
input,
|
|
14
|
+
controller
|
|
15
|
+
}) {
|
|
16
|
+
try {
|
|
17
|
+
if (controller.runtime.isAborted()) {
|
|
18
|
+
return controller.response.aborted();
|
|
19
|
+
}
|
|
20
|
+
if (controller.runtime.isCloseToTimeout()) {
|
|
21
|
+
return controller.response.continue(input);
|
|
22
|
+
}
|
|
23
|
+
await this.createFlp.execute(input.folder);
|
|
24
|
+
return controller.response.done("Task done: FLP record created.");
|
|
25
|
+
} catch (error) {
|
|
26
|
+
return controller.response.error(error);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export const CreateFlpTask = TaskDefinition.createImplementation({
|
|
31
|
+
implementation: CreateFlpTaskImpl,
|
|
32
|
+
dependencies: [CreateFlpUseCase]
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=createFlp.task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TaskDefinition","CREATE_FLP_TASK_ID","CreateFlpUseCase","CreateFlpTaskImpl","id","title","description","databaseLogs","constructor","createFlp","run","input","controller","runtime","isAborted","response","aborted","isCloseToTimeout","continue","execute","folder","done","error","CreateFlpTask","createImplementation","implementation","dependencies"],"sources":["createFlp.task.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { CREATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { type ICreateFlpTaskInput } from \"~/types.js\";\nimport { CreateFlpUseCase } from \"~/features/flp/CreateFlp/index.js\";\n\nclass CreateFlpTaskImpl implements TaskDefinition.Interface<ICreateFlpTaskInput> {\n id = CREATE_FLP_TASK_ID;\n title = \"ACO - Create FLP record\";\n description =\n \"Synchronizes the FLP catalog by creating the FLP record based on the provided folder.\";\n databaseLogs = false;\n\n constructor(private createFlp: CreateFlpUseCase.Interface) {}\n\n async run({ input, controller }: TaskDefinition.RunParams<ICreateFlpTaskInput>) {\n try {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue(input);\n }\n\n await this.createFlp.execute(input.folder);\n\n return controller.response.done(\"Task done: FLP record created.\");\n } catch (error) {\n return controller.response.error(error);\n }\n }\n}\n\nexport const CreateFlpTask = TaskDefinition.createImplementation({\n implementation: CreateFlpTaskImpl,\n dependencies: [CreateFlpUseCase]\n});\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,wDAAwD;AACvF,SAASC,kBAAkB;AAE3B,SAASC,gBAAgB;AAEzB,MAAMC,iBAAiB,CAA0D;EAC7EC,EAAE,GAAGH,kBAAkB;EACvBI,KAAK,GAAG,yBAAyB;EACjCC,WAAW,GACP,uFAAuF;EAC3FC,YAAY,GAAG,KAAK;EAEpBC,WAAWA,CAASC,SAAqC,EAAE;IAAA,KAAvCA,SAAqC,GAArCA,SAAqC;EAAG;EAE5D,MAAMC,GAAGA,CAAC;IAAEC,KAAK;IAAEC;EAA0D,CAAC,EAAE;IAC5E,IAAI;MACA,IAAIA,UAAU,CAACC,OAAO,CAACC,SAAS,CAAC,CAAC,EAAE;QAChC,OAAOF,UAAU,CAACG,QAAQ,CAACC,OAAO,CAAC,CAAC;MACxC;MAEA,IAAIJ,UAAU,CAACC,OAAO,CAACI,gBAAgB,CAAC,CAAC,EAAE;QACvC,OAAOL,UAAU,CAACG,QAAQ,CAACG,QAAQ,CAACP,KAAK,CAAC;MAC9C;MAEA,MAAM,IAAI,CAACF,SAAS,CAACU,OAAO,CAACR,KAAK,CAACS,MAAM,CAAC;MAE1C,OAAOR,UAAU,CAACG,QAAQ,CAACM,IAAI,CAAC,gCAAgC,CAAC;IACrE,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,OAAOV,UAAU,CAACG,QAAQ,CAACO,KAAK,CAACA,KAAK,CAAC;IAC3C;EACJ;AACJ;AAEA,OAAO,MAAMC,aAAa,GAAGvB,cAAc,CAACwB,oBAAoB,CAAC;EAC7DC,cAAc,EAAEtB,iBAAiB;EACjCuB,YAAY,EAAE,CAACxB,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
|