@webiny/api-aco 6.0.0-beta.0 → 6.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +4 -2
- package/createAcoContext.js +103 -168
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +3 -2
- package/createAcoGraphQL.js +46 -60
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoStorageOperations.d.ts +8 -5
- package/createAcoStorageOperations.js +5 -17
- 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 +2 -2
- package/filter/filter.crud.js +6 -67
- package/filter/filter.crud.js.map +1 -1
- package/filter/filter.gql.d.ts +2 -2
- package/filter/filter.gql.js +16 -22
- package/filter/filter.gql.js.map +1 -1
- package/filter/filter.model.d.ts +9 -2
- package/filter/filter.model.js +38 -121
- package/filter/filter.model.js.map +1 -1
- package/filter/filter.so.d.ts +2 -2
- package/filter/filter.so.js +38 -32
- package/filter/filter.so.js.map +1 -1
- package/filter/filter.types.d.ts +4 -32
- package/filter/filter.types.js +1 -7
- package/filter/filter.types.js.map +1 -1
- 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 +143 -185
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.types.d.ts +40 -79
- package/folder/folder.types.js +1 -5
- package/folder/folder.types.js.map +1 -1
- package/index.d.ts +5 -6
- package/index.js +7 -62
- package/index.js.map +1 -1
- package/package.json +43 -40
- package/types.d.ts +22 -76
- package/types.js +2 -53
- 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 +2 -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 +4 -9
- package/utils/createListSort.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +2 -2
- package/utils/createOperationsWrapper.js +7 -12
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +2 -2
- package/utils/decorators/CmsEntriesCrudDecorators.js +70 -98
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
- 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 +1 -1
- package/utils/decorators/isPageModel.js +1 -8
- package/utils/decorators/isPageModel.js.map +1 -1
- package/utils/ensureAuthentication.d.ts +2 -2
- package/utils/ensureAuthentication.js +8 -12
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +1 -1
- package/utils/pickEntryFieldValues.js +3 -10
- package/utils/pickEntryFieldValues.js.map +1 -1
- package/utils/resolve.d.ts +1 -2
- package/utils/resolve.js +4 -20
- package/utils/resolve.js.map +1 -1
- package/apps/AcoApp.d.ts +0 -21
- package/apps/AcoApp.js +0 -143
- package/apps/AcoApp.js.map +0 -1
- package/apps/AcoApps.d.ts +0 -10
- package/apps/AcoApps.js +0 -75
- package/apps/AcoApps.js.map +0 -1
- package/apps/app.gql.d.ts +0 -3
- package/apps/app.gql.js +0 -59
- package/apps/app.gql.js.map +0 -1
- package/apps/index.d.ts +0 -2
- package/apps/index.js +0 -29
- package/apps/index.js.map +0 -1
- package/createAcoHooks.d.ts +0 -2
- package/createAcoHooks.js +0 -17
- package/createAcoHooks.js.map +0 -1
- package/createAcoModels.d.ts +0 -2
- package/createAcoModels.js +0 -29
- package/createAcoModels.js.map +0 -1
- package/folder/folder.crud.d.ts +0 -10
- package/folder/folder.crud.js +0 -306
- package/folder/folder.crud.js.map +0 -1
- package/folder/folder.model.d.ts +0 -2
- package/folder/folder.model.js +0 -110
- package/folder/folder.model.js.map +0 -1
- package/folder/folder.so.d.ts +0 -3
- package/folder/folder.so.js +0 -170
- package/folder/folder.so.js.map +0 -1
- package/folder/onFolderBeforeDeleteAco.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteAco.hook.js +0 -67
- package/folder/onFolderBeforeDeleteAco.hook.js.map +0 -1
- package/folder/onFolderBeforeDeleteFm.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteFm.hook.js +0 -49
- package/folder/onFolderBeforeDeleteFm.hook.js.map +0 -1
- package/folder/onFolderBeforeDeleteHcms.hook.d.ts +0 -2
- package/folder/onFolderBeforeDeleteHcms.hook.js +0 -56
- package/folder/onFolderBeforeDeleteHcms.hook.js.map +0 -1
- package/plugins/AcoAppModifierPlugin.d.ts +0 -43
- package/plugins/AcoAppModifierPlugin.js +0 -58
- package/plugins/AcoAppModifierPlugin.js.map +0 -1
- package/plugins/AcoAppRegisterPlugin.d.ts +0 -8
- package/plugins/AcoAppRegisterPlugin.js +0 -21
- package/plugins/AcoAppRegisterPlugin.js.map +0 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -29
- package/plugins/index.js.map +0 -1
- package/record/graphql/createAppResolvers.d.ts +0 -14
- package/record/graphql/createAppResolvers.js +0 -115
- package/record/graphql/createAppResolvers.js.map +0 -1
- package/record/graphql/createAppSchema.d.ts +0 -9
- package/record/graphql/createAppSchema.js +0 -146
- package/record/graphql/createAppSchema.js.map +0 -1
- package/record/record.crud.d.ts +0 -3
- package/record/record.crud.js +0 -128
- package/record/record.crud.js.map +0 -1
- package/record/record.gql.d.ts +0 -8
- package/record/record.gql.js +0 -43
- package/record/record.gql.js.map +0 -1
- package/record/record.model.d.ts +0 -8
- package/record/record.model.js +0 -91
- package/record/record.model.js.map +0 -1
- package/record/record.so.d.ts +0 -3
- package/record/record.so.js +0 -147
- package/record/record.so.js.map +0 -1
- package/record/record.types.d.ts +0 -144
- package/record/record.types.js +0 -7
- package/record/record.types.js.map +0 -1
- package/utils/FolderLevelPermissions.d.ts +0 -74
- package/utils/FolderLevelPermissions.js +0 -386
- package/utils/FolderLevelPermissions.js.map +0 -1
- package/utils/createModelField.d.ts +0 -5
- package/utils/createModelField.js +0 -39
- package/utils/createModelField.js.map +0 -1
- package/utils/decorators/constants.d.ts +0 -1
- package/utils/decorators/constants.js +0 -9
- package/utils/decorators/constants.js.map +0 -1
- package/utils/decorators/createFolderType.d.ts +0 -2
- package/utils/decorators/createFolderType.js +0 -18
- package/utils/decorators/createFolderType.js.map +0 -1
- package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +0 -23
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js +0 -47
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +0 -1
- package/utils/decorators/filterEntriesByFolderFactory.d.ts +0 -6
- package/utils/decorators/filterEntriesByFolderFactory.js +0 -37
- package/utils/decorators/filterEntriesByFolderFactory.js.map +0 -1
- package/utils/decorators/where.d.ts +0 -15
- package/utils/decorators/where.js +0 -60
- package/utils/decorators/where.js.map +0 -1
- package/utils/getFolderAndItsAncestors.d.ts +0 -7
- package/utils/getFolderAndItsAncestors.js +0 -53
- package/utils/getFolderAndItsAncestors.js.map +0 -1
- package/utils/modelFactory.d.ts +0 -13
- package/utils/modelFactory.js +0 -22
- package/utils/modelFactory.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hasRootFolderId","ListEntriesFactory","constructor","folderLevelPermissions","permissionsCache","Map","execute","model","dataLoader","initialParams","limit","where","params","hasRootFolder","canUseFolderLevelPermissions","resultEntries","totalCount","hasMoreItems","cursor","fetchedAll","afterCursor","after","queryParams","entries","meta","entry","folderId","values","location","push","permissions","getPermissions","length","canAccessFolderContent","rwd","has","get","getFolderLevelPermissions","set"],"sources":["ListEntriesFactory.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryListParams,\n CmsEntryValues\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { type CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { IListEntriesResult } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport { hasRootFolderId } from \"~/utils/decorators/hasRootFolderId.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\n\ninterface ListEntriesFactoryCallbackParams<T extends CmsEntryValues> {\n model: CmsModel;\n dataLoader: (params?: CmsEntryListParams) => Promise<IListEntriesResult<T>>;\n initialParams?: CmsEntryListParams;\n}\n\nexport class ListEntriesFactory {\n private readonly folderLevelPermissions: FolderLevelPermissions.Interface;\n private readonly permissionsCache: Map<string, FolderPermission[]>;\n\n constructor(folderLevelPermissions: FolderLevelPermissions.Interface) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.permissionsCache = new Map();\n }\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>({\n model,\n dataLoader,\n initialParams = {}\n }: ListEntriesFactoryCallbackParams<T>): Promise<IListEntriesResult<T>> {\n const limit = initialParams?.limit || 50;\n const where = initialParams?.where;\n const params = { ...initialParams, limit };\n const hasRootFolder = hasRootFolderId({ model, where });\n\n // If FLP should be skipped, or we're querying the root folder, skip permission checks\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions() || hasRootFolder) {\n return dataLoader(params);\n }\n\n const resultEntries: CmsEntry<T>[] = [];\n let totalCount = 0;\n let hasMoreItems = true;\n let cursor: string | null = null;\n let fetchedAll = false;\n let afterCursor = params.after;\n\n // Process entries in batches until we have enough results or reach the end\n while (!fetchedAll) {\n const queryParams: CmsEntryListParams = { ...params, after: afterCursor };\n const { entries, meta } = await dataLoader(queryParams);\n\n if (totalCount === 0) {\n totalCount = meta.totalCount;\n }\n\n // Process each entry and check folder permissions\n for (const entry of entries) {\n const folderId = entry.values?.location?.folderId || entry.location?.folderId;\n\n // If entry has no folderId, it's not using ACO folders system\n // Include it in results as it's not subject to folder permissions\n if (!folderId) {\n resultEntries.push(entry);\n continue;\n }\n\n const permissions = await this.getPermissions(folderId);\n\n // If no FLP exists for the folder, the entry is accessible\n // This means the folder doesn't have any permission restrictions\n if (!permissions.length) {\n resultEntries.push(entry);\n continue;\n }\n\n // Check if user has read permission for the folder\n if (\n await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"r\"\n })\n ) {\n resultEntries.push(entry);\n } else {\n totalCount--;\n }\n }\n\n // Determine if we need to fetch more entries\n if (!meta.hasMoreItems || resultEntries.length >= limit) {\n fetchedAll = true;\n hasMoreItems = meta.hasMoreItems;\n cursor = meta.cursor;\n } else {\n afterCursor = meta.cursor;\n }\n }\n\n return { entries: resultEntries, meta: { totalCount, hasMoreItems, cursor } };\n }\n\n private async getPermissions(folderId: string): Promise<FolderPermission[]> {\n if (this.permissionsCache.has(folderId)) {\n return this.permissionsCache.get(folderId) ?? [];\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n this.permissionsCache.set(folderId, permissions);\n return permissions;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import isPlainObject from "lodash/isPlainObject.js";
|
|
2
|
+
import { isPageModel } from "./isPageModel.js";
|
|
3
|
+
import { ROOT_FOLDER } from "../../constants.js";
|
|
4
|
+
export const hasRootFolderId = ({
|
|
5
|
+
model,
|
|
6
|
+
where
|
|
7
|
+
}) => {
|
|
8
|
+
if (!where) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const key = isPageModel(model) ? "location" : "wbyAco_location";
|
|
12
|
+
const location = where[key];
|
|
13
|
+
if (typeof location === "object" && location !== null && isPlainObject(location)) {
|
|
14
|
+
return location.folderId === ROOT_FOLDER;
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=hasRootFolderId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isPlainObject","isPageModel","ROOT_FOLDER","hasRootFolderId","model","where","key","location","folderId"],"sources":["hasRootFolderId.ts"],"sourcesContent":["import isPlainObject from \"lodash/isPlainObject.js\";\nimport { isPageModel } from \"~/utils/decorators/isPageModel.js\";\nimport type { CmsEntryListWhere, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\ninterface Params {\n model: CmsModel;\n where: CmsEntryListWhere | undefined;\n}\n\nexport const hasRootFolderId = ({ model, where }: Params): boolean => {\n if (!where) {\n return false;\n }\n\n const key = isPageModel(model) ? \"location\" : \"wbyAco_location\";\n const location = where[key];\n\n if (typeof location === \"object\" && location !== null && isPlainObject(location)) {\n return (location as Record<string, any>).folderId === ROOT_FOLDER;\n }\n\n return false;\n};\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,yBAAyB;AACnD,SAASC,WAAW;AAEpB,SAASC,WAAW;AAOpB,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAc,CAAC,KAAc;EAClE,IAAI,CAACA,KAAK,EAAE;IACR,OAAO,KAAK;EAChB;EAEA,MAAMC,GAAG,GAAGL,WAAW,CAACG,KAAK,CAAC,GAAG,UAAU,GAAG,iBAAiB;EAC/D,MAAMG,QAAQ,GAAGF,KAAK,CAACC,GAAG,CAAC;EAE3B,IAAI,OAAOC,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,KAAK,IAAI,IAAIP,aAAa,CAACO,QAAQ,CAAC,EAAE;IAC9E,OAAQA,QAAQ,CAAyBC,QAAQ,KAAKN,WAAW;EACrE;EAEA,OAAO,KAAK;AAChB,CAAC","ignoreList":[]}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.isPageModel = void 0;
|
|
7
1
|
/**
|
|
8
2
|
* Keep this until we figure out how to fetch the folders.
|
|
9
3
|
*/
|
|
10
|
-
const isPageModel = model => {
|
|
4
|
+
export const isPageModel = model => {
|
|
11
5
|
if (model.modelId === "pbPage") {
|
|
12
6
|
return true;
|
|
13
7
|
} else if (model.modelId === "acoSearchRecord-pbpage") {
|
|
@@ -15,6 +9,5 @@ const isPageModel = model => {
|
|
|
15
9
|
}
|
|
16
10
|
return false;
|
|
17
11
|
};
|
|
18
|
-
exports.isPageModel = isPageModel;
|
|
19
12
|
|
|
20
13
|
//# sourceMappingURL=isPageModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isPageModel","model","modelId"
|
|
1
|
+
{"version":3,"names":["isPageModel","model","modelId"],"sources":["isPageModel.ts"],"sourcesContent":["import type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\n/**\n * Keep this until we figure out how to fetch the folders.\n */\nexport const isPageModel = (model: CmsModel): boolean => {\n if (model.modelId === \"pbPage\") {\n return true;\n } else if (model.modelId === \"acoSearchRecord-pbpage\") {\n return true;\n }\n return false;\n};\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,GAAIC,KAAe,IAAc;EACrD,IAAIA,KAAK,CAACC,OAAO,KAAK,QAAQ,EAAE;IAC5B,OAAO,IAAI;EACf,CAAC,MAAM,IAAID,KAAK,CAACC,OAAO,KAAK,wBAAwB,EAAE;IACnD,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AAChB,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const ensureAuthentication: (context:
|
|
1
|
+
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
2
|
+
export declare const ensureAuthentication: (context: ApiCoreContext) => void;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const ensureAuthentication = context => {
|
|
9
|
-
const identity = context.security.getIdentity();
|
|
10
|
-
if (!identity) {
|
|
11
|
-
throw new _apiSecurity.NotAuthorizedError();
|
|
1
|
+
import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/errors.js";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
export const ensureAuthentication = context => {
|
|
4
|
+
const identityContext = context.container.resolve(IdentityContext);
|
|
5
|
+
const identity = identityContext.getIdentity();
|
|
6
|
+
if (identity.isAdmin()) {
|
|
7
|
+
return;
|
|
12
8
|
}
|
|
9
|
+
throw new NotAuthorizedError();
|
|
13
10
|
};
|
|
14
|
-
exports.ensureAuthentication = ensureAuthentication;
|
|
15
11
|
|
|
16
12
|
//# sourceMappingURL=ensureAuthentication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["NotAuthorizedError","IdentityContext","ensureAuthentication","context","identityContext","container","resolve","identity","getIdentity","isAdmin"],"sources":["ensureAuthentication.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/errors.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nexport const ensureAuthentication = (context: ApiCoreContext) => {\n const identityContext = context.container.resolve(IdentityContext);\n const identity = identityContext.getIdentity();\n\n if (identity.isAdmin()) {\n return;\n }\n throw new NotAuthorizedError();\n};\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,qDAAqD;AAExF,SAASC,eAAe,QAAQ,6DAA6D;AAE7F,OAAO,MAAMC,oBAAoB,GAAIC,OAAuB,IAAK;EAC7D,MAAMC,eAAe,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACL,eAAe,CAAC;EAClE,MAAMM,QAAQ,GAAGH,eAAe,CAACI,WAAW,CAAC,CAAC;EAE9C,IAAID,QAAQ,CAACE,OAAO,CAAC,CAAC,EAAE;IACpB;EACJ;EACA,MAAM,IAAIT,kBAAkB,CAAC,CAAC;AAClC,CAAC","ignoreList":[]}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.baseFields = void 0;
|
|
7
|
-
exports.pickEntryFieldValues = pickEntryFieldValues;
|
|
8
|
-
const baseFields = exports.baseFields = [
|
|
1
|
+
export const baseFields = [
|
|
9
2
|
// Entry ID is mapped to "id" (we don't use revisions with ACO entities).
|
|
10
|
-
"id", "createdOn", "modifiedOn", "savedOn", "createdBy", "modifiedBy", "savedBy"];
|
|
3
|
+
"id", "tenant", "createdOn", "modifiedOn", "savedOn", "createdBy", "modifiedBy", "savedBy"];
|
|
11
4
|
const pickBaseEntryFieldValues = entry => {
|
|
12
5
|
const pickedValues = {};
|
|
13
6
|
for (const fieldName of baseFields) {
|
|
@@ -20,7 +13,7 @@ const pickBaseEntryFieldValues = entry => {
|
|
|
20
13
|
}
|
|
21
14
|
return pickedValues;
|
|
22
15
|
};
|
|
23
|
-
function pickEntryFieldValues(entry) {
|
|
16
|
+
export function pickEntryFieldValues(entry) {
|
|
24
17
|
return {
|
|
25
18
|
...pickBaseEntryFieldValues(entry),
|
|
26
19
|
...entry.values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["baseFields","
|
|
1
|
+
{"version":3,"names":["baseFields","pickBaseEntryFieldValues","entry","pickedValues","fieldName","srcFieldName","targetFieldName","split","Object","assign","pickEntryFieldValues","values"],"sources":["pickEntryFieldValues.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport const baseFields = [\n // Entry ID is mapped to \"id\" (we don't use revisions with ACO entities).\n \"id\",\n \"tenant\",\n \"createdOn\",\n \"modifiedOn\",\n \"savedOn\",\n \"createdBy\",\n \"modifiedBy\",\n \"savedBy\"\n];\n\nconst pickBaseEntryFieldValues = (entry: CmsEntry) => {\n const pickedValues: Partial<CmsEntry> = {};\n for (const fieldName of baseFields) {\n const [srcFieldName, targetFieldName = srcFieldName] = fieldName.split(\":\");\n if (srcFieldName in entry) {\n Object.assign(pickedValues, {\n [targetFieldName]: entry[srcFieldName as keyof CmsEntry]\n });\n }\n }\n\n return pickedValues;\n};\n\nexport function pickEntryFieldValues<T>(entry: CmsEntry): T {\n return {\n ...pickBaseEntryFieldValues(entry),\n ...entry.values\n } as T;\n}\n"],"mappings":"AAEA,OAAO,MAAMA,UAAU,GAAG;AACtB;AACA,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,SAAS,CACZ;AAED,MAAMC,wBAAwB,GAAIC,KAAe,IAAK;EAClD,MAAMC,YAA+B,GAAG,CAAC,CAAC;EAC1C,KAAK,MAAMC,SAAS,IAAIJ,UAAU,EAAE;IAChC,MAAM,CAACK,YAAY,EAAEC,eAAe,GAAGD,YAAY,CAAC,GAAGD,SAAS,CAACG,KAAK,CAAC,GAAG,CAAC;IAC3E,IAAIF,YAAY,IAAIH,KAAK,EAAE;MACvBM,MAAM,CAACC,MAAM,CAACN,YAAY,EAAE;QACxB,CAACG,eAAe,GAAGJ,KAAK,CAACG,YAAY;MACzC,CAAC,CAAC;IACN;EACJ;EAEA,OAAOF,YAAY;AACvB,CAAC;AAED,OAAO,SAASO,oBAAoBA,CAAIR,KAAe,EAAK;EACxD,OAAO;IACH,GAAGD,wBAAwB,CAACC,KAAK,CAAC;IAClC,GAAGA,KAAK,CAACS;EACb,CAAC;AACL","ignoreList":[]}
|
package/utils/resolve.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { ErrorResponse,
|
|
1
|
+
import { ErrorResponse, Response } from "@webiny/handler-graphql";
|
|
2
2
|
export declare const resolve: (fn: () => Promise<any>) => Promise<Response<any> | ErrorResponse>;
|
|
3
|
-
export declare const resolveList: (fn: () => Promise<any>) => Promise<ErrorResponse | ListResponse<unknown, any>>;
|
package/utils/resolve.js
CHANGED
|
@@ -1,26 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.resolveList = exports.resolve = void 0;
|
|
7
|
-
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
8
|
-
const resolve = async fn => {
|
|
9
|
-
try {
|
|
10
|
-
return new _handlerGraphql.Response(await fn());
|
|
11
|
-
} catch (e) {
|
|
12
|
-
return new _handlerGraphql.ErrorResponse(e);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
exports.resolve = resolve;
|
|
16
|
-
const resolveList = async fn => {
|
|
1
|
+
import { ErrorResponse, Response } from "@webiny/handler-graphql";
|
|
2
|
+
export const resolve = async fn => {
|
|
17
3
|
try {
|
|
18
|
-
|
|
19
|
-
return new _handlerGraphql.ListResponse(items, meta);
|
|
4
|
+
return new Response(await fn());
|
|
20
5
|
} catch (e) {
|
|
21
|
-
return new
|
|
6
|
+
return new ErrorResponse(e);
|
|
22
7
|
}
|
|
23
8
|
};
|
|
24
|
-
exports.resolveList = resolveList;
|
|
25
9
|
|
|
26
10
|
//# sourceMappingURL=resolve.js.map
|
package/utils/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ErrorResponse","Response","resolve","fn","e"],"sources":["resolve.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\n\nexport const resolve = async (fn: () => Promise<any>) => {\n try {\n return new Response(await fn());\n } catch (e) {\n return new ErrorResponse(e);\n }\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,yBAAyB;AAEjE,OAAO,MAAMC,OAAO,GAAG,MAAOC,EAAsB,IAAK;EACrD,IAAI;IACA,OAAO,IAAIF,QAAQ,CAAC,MAAME,EAAE,CAAC,CAAC,CAAC;EACnC,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR,OAAO,IAAIJ,aAAa,CAACI,CAAC,CAAC;EAC/B;AACJ,CAAC","ignoreList":[]}
|
package/apps/AcoApp.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { AcoContext, AcoSearchRecordCrudBase, IAcoApp, IAcoAppModifyFieldCallableCallback, IAcoAppParams } from "../types";
|
|
2
|
-
import { CmsModel, CmsModelField } from "@webiny/api-headless-cms/types";
|
|
3
|
-
export declare class AcoApp implements IAcoApp {
|
|
4
|
-
readonly name: string;
|
|
5
|
-
readonly context: AcoContext;
|
|
6
|
-
readonly model: CmsModel;
|
|
7
|
-
private readonly fields;
|
|
8
|
-
private readonly onEntry?;
|
|
9
|
-
private readonly onEntryList?;
|
|
10
|
-
private readonly onAnyRequest?;
|
|
11
|
-
get search(): AcoSearchRecordCrudBase;
|
|
12
|
-
get folder(): import("../types").AcoFolderCrud;
|
|
13
|
-
private getModel;
|
|
14
|
-
private constructor();
|
|
15
|
-
static create(context: AcoContext, params: IAcoAppParams): AcoApp;
|
|
16
|
-
getFields(): CmsModelField[];
|
|
17
|
-
addField(field: CmsModelField): void;
|
|
18
|
-
removeField(id: string): void;
|
|
19
|
-
modifyField(id: string, cb: IAcoAppModifyFieldCallableCallback): void;
|
|
20
|
-
private execOnAnyRequest;
|
|
21
|
-
}
|
package/apps/AcoApp.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.AcoApp = void 0;
|
|
8
|
-
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
-
var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
|
|
10
|
-
var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
|
|
11
|
-
var _record = require("../record/record.model");
|
|
12
|
-
const createApiName = name => {
|
|
13
|
-
return (0, _upperFirst.default)((0, _camelCase.default)(name));
|
|
14
|
-
};
|
|
15
|
-
class AcoApp {
|
|
16
|
-
get search() {
|
|
17
|
-
return {
|
|
18
|
-
create: async data => {
|
|
19
|
-
await this.execOnAnyRequest("create");
|
|
20
|
-
const result = await this.context.aco.search.create(this.getModel(), data);
|
|
21
|
-
if (!this.onEntry) {
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
return this.onEntry(result);
|
|
25
|
-
},
|
|
26
|
-
update: async (id, data) => {
|
|
27
|
-
await this.execOnAnyRequest("update");
|
|
28
|
-
const result = await this.context.aco.search.update(this.getModel(), id, data);
|
|
29
|
-
if (!this.onEntry) {
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
return this.onEntry(result);
|
|
33
|
-
},
|
|
34
|
-
move: async (id, folderId) => {
|
|
35
|
-
await this.execOnAnyRequest("move");
|
|
36
|
-
return this.context.aco.search.move(this.getModel(), id, folderId);
|
|
37
|
-
},
|
|
38
|
-
get: async id => {
|
|
39
|
-
await this.execOnAnyRequest("fetch");
|
|
40
|
-
const result = await this.context.aco.search.get(this.getModel(), id);
|
|
41
|
-
if (!result || !this.onEntry) {
|
|
42
|
-
return result;
|
|
43
|
-
}
|
|
44
|
-
return this.onEntry(result);
|
|
45
|
-
},
|
|
46
|
-
list: async params => {
|
|
47
|
-
await this.execOnAnyRequest("fetch");
|
|
48
|
-
const result = await this.context.aco.search.list(this.getModel(), params);
|
|
49
|
-
const onEntryList = this.onEntryList;
|
|
50
|
-
if (!onEntryList) {
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
const [entries, meta] = result;
|
|
54
|
-
const items = await onEntryList(entries);
|
|
55
|
-
return [items, meta];
|
|
56
|
-
},
|
|
57
|
-
delete: async id => {
|
|
58
|
-
await this.execOnAnyRequest("delete");
|
|
59
|
-
return this.context.aco.search.delete(this.getModel(), id);
|
|
60
|
-
},
|
|
61
|
-
listTags: async params => {
|
|
62
|
-
await this.execOnAnyRequest("fetch");
|
|
63
|
-
return this.context.aco.search.listTags(this.getModel(), params);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
get folder() {
|
|
68
|
-
return this.context.aco.folder;
|
|
69
|
-
}
|
|
70
|
-
getModel() {
|
|
71
|
-
const tenant = this.context.tenancy.getCurrentTenant().id;
|
|
72
|
-
const locale = this.context.i18n.getContentLocale().code;
|
|
73
|
-
return {
|
|
74
|
-
...this.model,
|
|
75
|
-
tenant,
|
|
76
|
-
locale
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
constructor(context, params) {
|
|
80
|
-
this.context = context;
|
|
81
|
-
this.name = params.name;
|
|
82
|
-
this.onEntry = params.onEntry;
|
|
83
|
-
this.onEntryList = params.onEntryList;
|
|
84
|
-
this.model = structuredClone(params.model);
|
|
85
|
-
/**
|
|
86
|
-
* We can safely define the api name of the model as we control everything here.
|
|
87
|
-
*/
|
|
88
|
-
this.model.name = `${this.model.name} ${this.name}`;
|
|
89
|
-
this.model.modelId = `${this.model.modelId}-${this.name.toLowerCase()}`;
|
|
90
|
-
const apiName = `AcoSearchRecord${createApiName(params.apiName)}`;
|
|
91
|
-
this.model.singularApiName = apiName;
|
|
92
|
-
this.model.pluralApiName = apiName;
|
|
93
|
-
const index = this.model.fields.findIndex(f => f.fieldId === "data");
|
|
94
|
-
if (index === -1) {
|
|
95
|
-
throw new _error.default(`The "data" field does not exist in model "${this.model.modelId}".`, "MODEL_DATA_FIELD_ERROR", {
|
|
96
|
-
modelId: this.model.modelId
|
|
97
|
-
});
|
|
98
|
-
} else if (!this.model.fields[index].settings?.fields) {
|
|
99
|
-
this.model.fields[index].settings.fields = [];
|
|
100
|
-
}
|
|
101
|
-
this.fields = this.model.fields[index].settings.fields;
|
|
102
|
-
this.fields.push(...params.fields);
|
|
103
|
-
}
|
|
104
|
-
static create(context, params) {
|
|
105
|
-
return new AcoApp(context, params);
|
|
106
|
-
}
|
|
107
|
-
getFields() {
|
|
108
|
-
return this.fields;
|
|
109
|
-
}
|
|
110
|
-
addField(field) {
|
|
111
|
-
this.fields.push(field);
|
|
112
|
-
}
|
|
113
|
-
removeField(id) {
|
|
114
|
-
if (_record.DEFAULT_FIELDS.includes(id)) {
|
|
115
|
-
throw new _error.default(`Cannot remove the default field from the ACO App.`, "REMOVE_DEFAULT_FIELD_ERROR", {
|
|
116
|
-
fieldId: id
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
const index = this.fields.findIndex(field => field.id === id);
|
|
120
|
-
if (index === -1) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
this.fields.splice(index, 1);
|
|
124
|
-
}
|
|
125
|
-
modifyField(id, cb) {
|
|
126
|
-
const index = this.fields.findIndex(field => field.id === id);
|
|
127
|
-
if (index === -1) {
|
|
128
|
-
throw new _error.default(`There is no field "${id}" in app "${this.name}".`, "FIELD_NOT_FOUND_ERROR", {
|
|
129
|
-
id
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
this.fields[index] = cb(structuredClone(this.fields[index]));
|
|
133
|
-
}
|
|
134
|
-
async execOnAnyRequest(action) {
|
|
135
|
-
if (!this.onAnyRequest) {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
await this.onAnyRequest(this.context, action);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
exports.AcoApp = AcoApp;
|
|
142
|
-
|
|
143
|
-
//# sourceMappingURL=AcoApp.js.map
|
package/apps/AcoApp.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_upperFirst","_camelCase","_record","createApiName","name","lodashUpperFirst","lodashCamelCase","AcoApp","search","create","data","execOnAnyRequest","result","context","aco","getModel","onEntry","update","id","move","folderId","get","list","params","onEntryList","entries","meta","items","delete","listTags","folder","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","code","model","constructor","structuredClone","modelId","toLowerCase","apiName","singularApiName","pluralApiName","index","fields","findIndex","f","fieldId","WebinyError","settings","push","getFields","addField","field","removeField","DEFAULT_FIELDS","includes","splice","modifyField","cb","action","onAnyRequest","exports"],"sources":["AcoApp.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n AcoContext,\n AcoRequestAction,\n AcoSearchRecordCrudBase,\n CreateSearchRecordParams,\n IAcoApp,\n IAcoAppModifyFieldCallableCallback,\n IAcoAppOnAnyRequest,\n IAcoAppOnEntry,\n IAcoAppOnEntryList,\n IAcoAppParams,\n ListSearchRecordsParams,\n ListSearchRecordTagsParams,\n SearchRecord\n} from \"~/types\";\nimport { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport lodashCamelCase from \"lodash/camelCase\";\nimport { DEFAULT_FIELDS } from \"~/record/record.model\";\n\nconst createApiName = (name: string) => {\n return lodashUpperFirst(lodashCamelCase(name));\n};\n\nexport class AcoApp implements IAcoApp {\n public readonly name: string;\n public readonly context: AcoContext;\n public readonly model: CmsModel;\n private readonly fields: CmsModelField[];\n private readonly onEntry?: IAcoAppOnEntry;\n private readonly onEntryList?: IAcoAppOnEntryList;\n private readonly onAnyRequest?: IAcoAppOnAnyRequest;\n\n public get search(): AcoSearchRecordCrudBase {\n return {\n create: async <TData>(data: CreateSearchRecordParams<TData>) => {\n await this.execOnAnyRequest(\"create\");\n const result = await this.context.aco.search.create<TData>(this.getModel(), data);\n if (!this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n update: async <TData>(id: string, data: SearchRecord<TData>) => {\n await this.execOnAnyRequest(\"update\");\n const result = await this.context.aco.search.update<TData>(\n this.getModel(),\n id,\n data\n );\n if (!this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n move: async (id: string, folderId?: string) => {\n await this.execOnAnyRequest(\"move\");\n return this.context.aco.search.move(this.getModel(), id, folderId);\n },\n get: async <TData>(id: string) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.get<TData>(this.getModel(), id);\n if (!result || !this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n list: async <TData>(params: ListSearchRecordsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.list<TData>(this.getModel(), params);\n const onEntryList = this.onEntryList;\n if (!onEntryList) {\n return result;\n }\n const [entries, meta] = result;\n const items = await onEntryList(entries);\n return [items, meta];\n },\n delete: async (id: string): Promise<boolean> => {\n await this.execOnAnyRequest(\"delete\");\n return this.context.aco.search.delete(this.getModel(), id);\n },\n listTags: async (params: ListSearchRecordTagsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n return this.context.aco.search.listTags(this.getModel(), params);\n }\n };\n }\n\n public get folder() {\n return this.context.aco.folder;\n }\n\n private getModel() {\n const tenant = this.context.tenancy.getCurrentTenant().id;\n const locale = this.context.i18n.getContentLocale()!.code;\n\n return { ...this.model, tenant, locale };\n }\n\n private constructor(context: AcoContext, params: IAcoAppParams) {\n this.context = context;\n this.name = params.name;\n this.onEntry = params.onEntry;\n this.onEntryList = params.onEntryList;\n this.model = structuredClone(params.model);\n /**\n * We can safely define the api name of the model as we control everything here.\n */\n this.model.name = `${this.model.name} ${this.name}`;\n this.model.modelId = `${this.model.modelId}-${this.name.toLowerCase()}`;\n const apiName = `AcoSearchRecord${createApiName(params.apiName)}`;\n this.model.singularApiName = apiName;\n this.model.pluralApiName = apiName;\n\n const index = this.model.fields.findIndex(f => f.fieldId === \"data\");\n if (index === -1) {\n throw new WebinyError(\n `The \"data\" field does not exist in model \"${this.model.modelId}\".`,\n \"MODEL_DATA_FIELD_ERROR\",\n {\n modelId: this.model.modelId\n }\n );\n } else if (!this.model.fields[index].settings?.fields) {\n this.model.fields[index].settings!.fields = [];\n }\n this.fields = this.model.fields[index].settings!.fields as CmsModelField[];\n this.fields.push(...params.fields);\n }\n\n public static create(context: AcoContext, params: IAcoAppParams) {\n return new AcoApp(context, params);\n }\n\n public getFields(): CmsModelField[] {\n return this.fields;\n }\n\n public addField(field: CmsModelField): void {\n this.fields.push(field);\n }\n\n public removeField(id: string): void {\n if (DEFAULT_FIELDS.includes(id)) {\n throw new WebinyError(\n `Cannot remove the default field from the ACO App.`,\n \"REMOVE_DEFAULT_FIELD_ERROR\",\n {\n fieldId: id\n }\n );\n }\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n return;\n }\n this.fields.splice(index, 1);\n }\n\n public modifyField(id: string, cb: IAcoAppModifyFieldCallableCallback): void {\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n throw new WebinyError(\n `There is no field \"${id}\" in app \"${this.name}\".`,\n \"FIELD_NOT_FOUND_ERROR\",\n {\n id\n }\n );\n }\n this.fields[index] = cb(structuredClone(this.fields[index]));\n }\n\n private async execOnAnyRequest(action: AcoRequestAction): Promise<void> {\n if (!this.onAnyRequest) {\n return;\n }\n await this.onAnyRequest(this.context, action);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/apps/AcoApps.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AcoContext, IAcoApp, IAcoAppParams, IAcoApps, IAcoAppsOptions } from "../types";
|
|
2
|
-
export declare class AcoApps implements IAcoApps {
|
|
3
|
-
private readonly apps;
|
|
4
|
-
private readonly context;
|
|
5
|
-
private readonly options;
|
|
6
|
-
constructor(context: AcoContext, options: IAcoAppsOptions);
|
|
7
|
-
get(name: string): IAcoApp;
|
|
8
|
-
list(): IAcoApp[];
|
|
9
|
-
register(options: IAcoAppParams): Promise<IAcoApp>;
|
|
10
|
-
}
|
package/apps/AcoApps.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.AcoApps = void 0;
|
|
8
|
-
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
-
var _AcoApp = require("./AcoApp");
|
|
10
|
-
var _plugins = require("../plugins");
|
|
11
|
-
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
12
|
-
var _record = require("../record/record.gql");
|
|
13
|
-
class AcoApps {
|
|
14
|
-
apps = new Map();
|
|
15
|
-
constructor(context, options) {
|
|
16
|
-
this.context = context;
|
|
17
|
-
this.options = options;
|
|
18
|
-
}
|
|
19
|
-
get(name) {
|
|
20
|
-
const app = this.apps.get(name);
|
|
21
|
-
if (app) {
|
|
22
|
-
return app;
|
|
23
|
-
}
|
|
24
|
-
throw new _error.default(`App "${name}" is not registered.`, "APP_NOT_REGISTERED", {
|
|
25
|
-
name,
|
|
26
|
-
apps: Array.from(this.apps.keys())
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
list() {
|
|
30
|
-
return Array.from(this.apps.values());
|
|
31
|
-
}
|
|
32
|
-
async register(options) {
|
|
33
|
-
const exists = this.apps.has(options.name);
|
|
34
|
-
if (exists) {
|
|
35
|
-
throw new _error.default(`An app with the name "${options.name}" is already registered.`, "APP_EXISTS", {
|
|
36
|
-
name: options.name
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* We need to create the app and run the modifiers on it.
|
|
41
|
-
*/
|
|
42
|
-
const app = _AcoApp.AcoApp.create(this.context, options);
|
|
43
|
-
const modifiers = this.context.plugins.byType(_plugins.AcoAppModifierPlugin.type);
|
|
44
|
-
for (const modifier of modifiers) {
|
|
45
|
-
if (modifier.canUse(app) === false) {
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
await modifier.modify({
|
|
49
|
-
context: this.context,
|
|
50
|
-
app
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Also, we need to register the app model as the plugin one, so it can be used in the CMS.
|
|
55
|
-
* We do not need to validate model or show it in the API.
|
|
56
|
-
*/
|
|
57
|
-
this.context.plugins.register(new _apiHeadlessCms.CmsModelPlugin({
|
|
58
|
-
...app.model,
|
|
59
|
-
singularApiName: undefined,
|
|
60
|
-
pluralApiName: undefined,
|
|
61
|
-
isPrivate: true,
|
|
62
|
-
noValidate: true
|
|
63
|
-
}));
|
|
64
|
-
this.apps.set(app.name, app);
|
|
65
|
-
const searchRecordSchema = await (0, _record.createSchema)({
|
|
66
|
-
context: this.context,
|
|
67
|
-
app
|
|
68
|
-
});
|
|
69
|
-
this.context.plugins.register(searchRecordSchema);
|
|
70
|
-
return app;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.AcoApps = AcoApps;
|
|
74
|
-
|
|
75
|
-
//# sourceMappingURL=AcoApps.js.map
|
package/apps/AcoApps.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_AcoApp","_plugins","_apiHeadlessCms","_record","AcoApps","apps","Map","constructor","context","options","get","name","app","WebinyError","Array","from","keys","list","values","register","exists","has","AcoApp","create","modifiers","plugins","byType","AcoAppModifierPlugin","type","modifier","canUse","modify","CmsModelPlugin","model","singularApiName","undefined","pluralApiName","isPrivate","noValidate","set","searchRecordSchema","createSchema","exports"],"sources":["AcoApps.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { AcoApp } from \"./AcoApp\";\nimport { AcoAppModifierPlugin } from \"~/plugins\";\nimport { AcoContext, IAcoApp, IAcoAppParams, IAcoApps, IAcoAppsOptions } from \"~/types\";\nimport { CmsModelPlugin } from \"@webiny/api-headless-cms\";\nimport { createSchema } from \"~/record/record.gql\";\n\nexport class AcoApps implements IAcoApps {\n private readonly apps: Map<string, IAcoApp> = new Map();\n private readonly context: AcoContext;\n private readonly options: IAcoAppsOptions;\n\n public constructor(context: AcoContext, options: IAcoAppsOptions) {\n this.context = context;\n this.options = options;\n }\n\n public get(name: string): IAcoApp {\n const app = this.apps.get(name);\n if (app) {\n return app;\n }\n throw new WebinyError(`App \"${name}\" is not registered.`, \"APP_NOT_REGISTERED\", {\n name,\n apps: Array.from(this.apps.keys())\n });\n }\n\n public list(): IAcoApp[] {\n return Array.from(this.apps.values());\n }\n\n public async register(options: IAcoAppParams): Promise<IAcoApp> {\n const exists = this.apps.has(options.name);\n if (exists) {\n throw new WebinyError(\n `An app with the name \"${options.name}\" is already registered.`,\n \"APP_EXISTS\",\n {\n name: options.name\n }\n );\n }\n /**\n * We need to create the app and run the modifiers on it.\n */\n const app = AcoApp.create(this.context, options);\n const modifiers = this.context.plugins.byType<AcoAppModifierPlugin>(\n AcoAppModifierPlugin.type\n );\n for (const modifier of modifiers) {\n if (modifier.canUse(app) === false) {\n continue;\n }\n await modifier.modify({\n context: this.context,\n app\n });\n }\n /**\n * Also, we need to register the app model as the plugin one, so it can be used in the CMS.\n * We do not need to validate model or show it in the API.\n */\n this.context.plugins.register(\n new CmsModelPlugin({\n ...app.model,\n singularApiName: undefined,\n pluralApiName: undefined,\n isPrivate: true,\n noValidate: true\n })\n );\n this.apps.set(app.name, app);\n\n const searchRecordSchema = await createSchema({\n context: this.context,\n app\n });\n this.context.plugins.register(searchRecordSchema);\n\n return app;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEO,MAAMK,OAAO,CAAqB;EACpBC,IAAI,GAAyB,IAAIC,GAAG,CAAC,CAAC;EAIhDC,WAAWA,CAACC,OAAmB,EAAEC,OAAwB,EAAE;IAC9D,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEOC,GAAGA,CAACC,IAAY,EAAW;IAC9B,MAAMC,GAAG,GAAG,IAAI,CAACP,IAAI,CAACK,GAAG,CAACC,IAAI,CAAC;IAC/B,IAAIC,GAAG,EAAE;MACL,OAAOA,GAAG;IACd;IACA,MAAM,IAAIC,cAAW,CAAE,QAAOF,IAAK,sBAAqB,EAAE,oBAAoB,EAAE;MAC5EA,IAAI;MACJN,IAAI,EAAES,KAAK,CAACC,IAAI,CAAC,IAAI,CAACV,IAAI,CAACW,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;EACN;EAEOC,IAAIA,CAAA,EAAc;IACrB,OAAOH,KAAK,CAACC,IAAI,CAAC,IAAI,CAACV,IAAI,CAACa,MAAM,CAAC,CAAC,CAAC;EACzC;EAEA,MAAaC,QAAQA,CAACV,OAAsB,EAAoB;IAC5D,MAAMW,MAAM,GAAG,IAAI,CAACf,IAAI,CAACgB,GAAG,CAACZ,OAAO,CAACE,IAAI,CAAC;IAC1C,IAAIS,MAAM,EAAE;MACR,MAAM,IAAIP,cAAW,CAChB,yBAAwBJ,OAAO,CAACE,IAAK,0BAAyB,EAC/D,YAAY,EACZ;QACIA,IAAI,EAAEF,OAAO,CAACE;MAClB,CACJ,CAAC;IACL;IACA;AACR;AACA;IACQ,MAAMC,GAAG,GAAGU,cAAM,CAACC,MAAM,CAAC,IAAI,CAACf,OAAO,EAAEC,OAAO,CAAC;IAChD,MAAMe,SAAS,GAAG,IAAI,CAAChB,OAAO,CAACiB,OAAO,CAACC,MAAM,CACzCC,6BAAoB,CAACC,IACzB,CAAC;IACD,KAAK,MAAMC,QAAQ,IAAIL,SAAS,EAAE;MAC9B,IAAIK,QAAQ,CAACC,MAAM,CAAClB,GAAG,CAAC,KAAK,KAAK,EAAE;QAChC;MACJ;MACA,MAAMiB,QAAQ,CAACE,MAAM,CAAC;QAClBvB,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBI;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;AACA;IACQ,IAAI,CAACJ,OAAO,CAACiB,OAAO,CAACN,QAAQ,CACzB,IAAIa,8BAAc,CAAC;MACf,GAAGpB,GAAG,CAACqB,KAAK;MACZC,eAAe,EAAEC,SAAS;MAC1BC,aAAa,EAAED,SAAS;MACxBE,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE;IAChB,CAAC,CACL,CAAC;IACD,IAAI,CAACjC,IAAI,CAACkC,GAAG,CAAC3B,GAAG,CAACD,IAAI,EAAEC,GAAG,CAAC;IAE5B,MAAM4B,kBAAkB,GAAG,MAAM,IAAAC,oBAAY,EAAC;MAC1CjC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBI;IACJ,CAAC,CAAC;IACF,IAAI,CAACJ,OAAO,CAACiB,OAAO,CAACN,QAAQ,CAACqB,kBAAkB,CAAC;IAEjD,OAAO5B,GAAG;EACd;AACJ;AAAC8B,OAAA,CAAAtC,OAAA,GAAAA,OAAA","ignoreList":[]}
|
package/apps/app.gql.d.ts
DELETED
package/apps/app.gql.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.appGql = void 0;
|
|
8
|
-
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
9
|
-
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
10
|
-
var _ensureAuthentication = require("../utils/ensureAuthentication");
|
|
11
|
-
var _resolve = require("../utils/resolve");
|
|
12
|
-
const cleanModel = model => {
|
|
13
|
-
return (0, _omit.default)(model, ["webinyVersion", "tags", "locale", "tenant", "layout", "group", "description", "isPrivate"]);
|
|
14
|
-
};
|
|
15
|
-
const appGql = exports.appGql = new _handlerGraphql.GraphQLSchemaPlugin({
|
|
16
|
-
typeDefs: /* GraphQL */`
|
|
17
|
-
type AcoApp {
|
|
18
|
-
id: ID!
|
|
19
|
-
name: String!
|
|
20
|
-
model: JSON!
|
|
21
|
-
}
|
|
22
|
-
type GetAppResponse {
|
|
23
|
-
data: AcoApp
|
|
24
|
-
error: AcoError
|
|
25
|
-
}
|
|
26
|
-
type GetAppModelResponse {
|
|
27
|
-
data: JSON
|
|
28
|
-
error: AcoError
|
|
29
|
-
}
|
|
30
|
-
extend type AcoQuery {
|
|
31
|
-
getApp(id: ID!): GetAppResponse!
|
|
32
|
-
getAppModel(id: ID!): GetAppModelResponse!
|
|
33
|
-
}
|
|
34
|
-
`,
|
|
35
|
-
resolvers: {
|
|
36
|
-
AcoQuery: {
|
|
37
|
-
getApp: async (_, args, context) => {
|
|
38
|
-
return (0, _resolve.resolve)(async () => {
|
|
39
|
-
(0, _ensureAuthentication.ensureAuthentication)(context);
|
|
40
|
-
const app = context.aco.getApp(args.id);
|
|
41
|
-
return {
|
|
42
|
-
id: args.id,
|
|
43
|
-
name: app.name,
|
|
44
|
-
model: cleanModel(app.model)
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
},
|
|
48
|
-
getAppModel: async (_, args, context) => {
|
|
49
|
-
return (0, _resolve.resolve)(async () => {
|
|
50
|
-
(0, _ensureAuthentication.ensureAuthentication)(context);
|
|
51
|
-
const app = context.aco.getApp(args.id);
|
|
52
|
-
return cleanModel(app.model);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=app.gql.js.map
|
package/apps/app.gql.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_handlerGraphql","require","_omit","_interopRequireDefault","_ensureAuthentication","_resolve","cleanModel","model","lodashOmit","appGql","exports","GraphQLSchemaPlugin","typeDefs","resolvers","AcoQuery","getApp","_","args","context","resolve","ensureAuthentication","app","aco","id","name","getAppModel"],"sources":["app.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { AcoContext } from \"~/types\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport lodashOmit from \"lodash/omit\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\n\nconst cleanModel = (model: CmsModel): Partial<CmsModel> => {\n return lodashOmit(model, [\n \"webinyVersion\",\n \"tags\",\n \"locale\",\n \"tenant\",\n \"layout\",\n \"group\",\n \"description\",\n \"isPrivate\"\n ]);\n};\n\nexport const appGql = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n type AcoApp {\n id: ID!\n name: String!\n model: JSON!\n }\n type GetAppResponse {\n data: AcoApp\n error: AcoError\n }\n type GetAppModelResponse {\n data: JSON\n error: AcoError\n }\n extend type AcoQuery {\n getApp(id: ID!): GetAppResponse!\n getAppModel(id: ID!): GetAppModelResponse!\n }\n `,\n resolvers: {\n AcoQuery: {\n getApp: async (_, args, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n const app = context.aco.getApp(args.id);\n return {\n id: args.id,\n name: app.name,\n model: cleanModel(app.model)\n };\n });\n },\n getAppModel: async (_, args, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n const app = context.aco.getApp(args.id);\n return cleanModel(app.model);\n });\n }\n }\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAEA,MAAMK,UAAU,GAAIC,KAAe,IAAwB;EACvD,OAAO,IAAAC,aAAU,EAACD,KAAK,EAAE,CACrB,eAAe,EACf,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,WAAW,CACd,CAAC;AACN,CAAC;AAEM,MAAME,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAIE,mCAAmB,CAAa;EACtDC,QAAQ,EAAE,aAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,QAAQ,EAAE;MACNC,MAAM,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QAChC,OAAO,IAAAC,gBAAO,EAAC,YAAY;UACvB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,MAAMG,GAAG,GAAGH,OAAO,CAACI,GAAG,CAACP,MAAM,CAACE,IAAI,CAACM,EAAE,CAAC;UACvC,OAAO;YACHA,EAAE,EAAEN,IAAI,CAACM,EAAE;YACXC,IAAI,EAAEH,GAAG,CAACG,IAAI;YACdjB,KAAK,EAAED,UAAU,CAACe,GAAG,CAACd,KAAK;UAC/B,CAAC;QACL,CAAC,CAAC;MACN,CAAC;MACDkB,WAAW,EAAE,MAAAA,CAAOT,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACrC,OAAO,IAAAC,gBAAO,EAAC,YAAY;UACvB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,MAAMG,GAAG,GAAGH,OAAO,CAACI,GAAG,CAACP,MAAM,CAACE,IAAI,CAACM,EAAE,CAAC;UACvC,OAAOjB,UAAU,CAACe,GAAG,CAACd,KAAK,CAAC;QAChC,CAAC,CAAC;MACN;IACJ;EACJ;AACJ,CAAC,CAAC","ignoreList":[]}
|
package/apps/index.d.ts
DELETED
package/apps/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _AcoApp = require("./AcoApp");
|
|
7
|
-
Object.keys(_AcoApp).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _AcoApp[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _AcoApp[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
var _AcoApps = require("./AcoApps");
|
|
18
|
-
Object.keys(_AcoApps).forEach(function (key) {
|
|
19
|
-
if (key === "default" || key === "__esModule") return;
|
|
20
|
-
if (key in exports && exports[key] === _AcoApps[key]) return;
|
|
21
|
-
Object.defineProperty(exports, key, {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () {
|
|
24
|
-
return _AcoApps[key];
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=index.js.map
|