@webiny/api-aco 0.0.0-unstable.aa00eecd97 → 0.0.0-unstable.ac6ebf63c6
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 +48 -29
- 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 -112
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +51 -58
- package/folder/folder.types.js +2 -4
- package/folder/folder.types.js.map +1 -1
- package/index.d.ts +8 -3
- package/index.js +9 -27
- package/index.js.map +1 -1
- package/package.json +43 -35
- package/types.d.ts +27 -22
- package/types.js +6 -37
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +10 -0
- package/utils/FoldersCacheFactory.js +24 -0
- package/utils/FoldersCacheFactory.js.map +1 -0
- package/utils/ListCache.d.ts +23 -0
- package/utils/ListCache.js +23 -0
- package/utils/ListCache.js.map +1 -0
- package/utils/Path.d.ts +3 -0
- package/utils/Path.js +11 -0
- package/utils/Path.js.map +1 -0
- package/utils/acoRecordId.js +4 -10
- package/utils/acoRecordId.js.map +1 -1
- package/utils/compress.d.ts +4 -0
- package/utils/compress.js +12 -0
- package/utils/compress.js.map +1 -0
- package/utils/createListSort.d.ts +3 -2
- package/utils/createListSort.js +6 -9
- package/utils/createListSort.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +2 -2
- package/utils/createOperationsWrapper.js +11 -18
- package/utils/createOperationsWrapper.js.map +1 -1
- 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/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 -57
- 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 -75
- package/folder/folder.model.js.map +0 -1
- package/folder/folder.so.d.ts +0 -3
- package/folder/folder.so.js +0 -151
- 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/record/record.crud.d.ts +0 -3
- package/record/record.crud.js +0 -95
- package/record/record.crud.js.map +0 -1
- package/record/record.gql.d.ts +0 -3
- package/record/record.gql.js +0 -187
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -4
- package/record/record.model.js +0 -62
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -3
- package/record/record.so.js +0 -139
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -109
- package/record/record.types.js +0 -5
- package/record/record.types.js.map +0 -1
- package/utils/checkPermissions.d.ts +0 -2
- package/utils/checkPermissions.js +0 -14
- package/utils/checkPermissions.js.map +0 -1
- package/utils/createModelField.d.ts +0 -5
- package/utils/createModelField.js +0 -37
- 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 -5
- package/utils/getFieldValues.js +0 -16
- 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 -25
- 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":[]}
|