@webiny/app-headless-cms-workflows 0.0.0-unstable.0156a4c312
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/Components/CmsEntriesList/CmsReviewMoveEntryAction.d.ts +2 -0
- package/Components/CmsEntriesList/CmsReviewMoveEntryAction.js +43 -0
- package/Components/CmsEntriesList/CmsReviewMoveEntryAction.js.map +1 -0
- package/Components/CmsEntriesList/CmsReviewMoveEntryAction.test.d.ts +1 -0
- package/Components/CmsEntriesList/CmsReviewMoveEntryAction.test.js +118 -0
- package/Components/CmsEntriesList/CmsReviewMoveEntryAction.test.js.map +1 -0
- package/Components/CmsEntriesList/CmsReviewScheduleEntryAction.d.ts +2 -0
- package/Components/CmsEntriesList/CmsReviewScheduleEntryAction.js +22 -0
- package/Components/CmsEntriesList/CmsReviewScheduleEntryAction.js.map +1 -0
- package/Components/CmsEntriesList/CmsReviewScheduleEntryAction.test.d.ts +1 -0
- package/Components/CmsEntriesList/CmsReviewScheduleEntryAction.test.js +98 -0
- package/Components/CmsEntriesList/CmsReviewScheduleEntryAction.test.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewBar.d.ts +2 -0
- package/Components/ContentEntryForm/CmsEntryReviewBar.js +32 -0
- package/Components/ContentEntryForm/CmsEntryReviewBar.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewBar.test.d.ts +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewBar.test.js +128 -0
- package/Components/ContentEntryForm/CmsEntryReviewBar.test.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewBlockedActions.d.ts +2 -0
- package/Components/ContentEntryForm/CmsEntryReviewBlockedActions.js +46 -0
- package/Components/ContentEntryForm/CmsEntryReviewBlockedActions.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewBlockedActions.test.d.ts +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewBlockedActions.test.js +222 -0
- package/Components/ContentEntryForm/CmsEntryReviewBlockedActions.test.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewFormLock.d.ts +2 -0
- package/Components/ContentEntryForm/CmsEntryReviewFormLock.js +32 -0
- package/Components/ContentEntryForm/CmsEntryReviewFormLock.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewFormLock.test.d.ts +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewFormLock.test.js +94 -0
- package/Components/ContentEntryForm/CmsEntryReviewFormLock.test.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewNewRevision.d.ts +2 -0
- package/Components/ContentEntryForm/CmsEntryReviewNewRevision.js +56 -0
- package/Components/ContentEntryForm/CmsEntryReviewNewRevision.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewNewRevision.test.d.ts +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewNewRevision.test.js +186 -0
- package/Components/ContentEntryForm/CmsEntryReviewNewRevision.test.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewScheduleMenuItem.d.ts +2 -0
- package/Components/ContentEntryForm/CmsEntryReviewScheduleMenuItem.js +26 -0
- package/Components/ContentEntryForm/CmsEntryReviewScheduleMenuItem.js.map +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewScheduleMenuItem.test.d.ts +1 -0
- package/Components/ContentEntryForm/CmsEntryReviewScheduleMenuItem.test.js +78 -0
- package/Components/ContentEntryForm/CmsEntryReviewScheduleMenuItem.test.js.map +1 -0
- package/Components/ContentEntryForm/getModelFieldLabels.d.ts +3 -0
- package/Components/ContentEntryForm/getModelFieldLabels.js +8 -0
- package/Components/ContentEntryForm/getModelFieldLabels.js.map +1 -0
- package/Components/ContentEntryForm/index.d.ts +5 -0
- package/Components/ContentEntryForm/index.js +5 -0
- package/Components/ContentReviews/CmsContentReviews.d.ts +2 -0
- package/Components/ContentReviews/CmsContentReviews.js +11 -0
- package/Components/ContentReviews/CmsContentReviews.js.map +1 -0
- package/Components/ContentReviews/CmsContentReviews.test.d.ts +1 -0
- package/Components/ContentReviews/CmsContentReviews.test.js +214 -0
- package/Components/ContentReviews/CmsContentReviews.test.js.map +1 -0
- package/Components/ContentReviews/CmsContentReviewsMount.d.ts +4 -0
- package/Components/ContentReviews/CmsContentReviewsMount.js +44 -0
- package/Components/ContentReviews/CmsContentReviewsMount.js.map +1 -0
- package/Components/ContentReviews/CmsContentReviewsSidebarItem.d.ts +2 -0
- package/Components/ContentReviews/CmsContentReviewsSidebarItem.js +20 -0
- package/Components/ContentReviews/CmsContentReviewsSidebarItem.js.map +1 -0
- package/Components/ContentReviews/CmsContentReviewsSidebarItem.test.d.ts +1 -0
- package/Components/ContentReviews/CmsContentReviewsSidebarItem.test.js +83 -0
- package/Components/ContentReviews/CmsContentReviewsSidebarItem.test.js.map +1 -0
- package/Components/ModelDelete/ModelBoundToWorkflowErrorData.d.ts +8 -0
- package/Components/ModelDelete/ModelBoundToWorkflowErrorData.js +0 -0
- package/Components/ModelDelete/ModelDeleteWorkflowCopy.d.ts +10 -0
- package/Components/ModelDelete/ModelDeleteWorkflowCopy.js +0 -0
- package/Components/ModelDelete/ModelDeleteWorkflowError.d.ts +2 -0
- package/Components/ModelDelete/ModelDeleteWorkflowError.js +34 -0
- package/Components/ModelDelete/ModelDeleteWorkflowError.js.map +1 -0
- package/Components/ModelDelete/ModelDeleteWorkflowError.test.d.ts +1 -0
- package/Components/ModelDelete/ModelDeleteWorkflowError.test.js +73 -0
- package/Components/ModelDelete/ModelDeleteWorkflowError.test.js.map +1 -0
- package/Components/ModelDelete/getModelDeleteWorkflowCopy.d.ts +3 -0
- package/Components/ModelDelete/getModelDeleteWorkflowCopy.js +17 -0
- package/Components/ModelDelete/getModelDeleteWorkflowCopy.js.map +1 -0
- package/Components/ModelDelete/getModelDeleteWorkflowCopy.test.d.ts +1 -0
- package/Components/ModelDelete/getModelDeleteWorkflowCopy.test.js +28 -0
- package/Components/ModelDelete/getModelDeleteWorkflowCopy.test.js.map +1 -0
- package/Components/ignoreAction.d.ts +1 -0
- package/Components/ignoreAction.js +4 -0
- package/Components/ignoreAction.js.map +1 -0
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/Routes/CmsWorkflowEditor.d.ts +2 -0
- package/Routes/CmsWorkflowEditor.js +23 -0
- package/Routes/CmsWorkflowEditor.js.map +1 -0
- package/Routes/CmsWorkflowEditor.test.d.ts +1 -0
- package/Routes/CmsWorkflowEditor.test.js +141 -0
- package/Routes/CmsWorkflowEditor.test.js.map +1 -0
- package/Routes/index.d.ts +1 -0
- package/Routes/index.js +1 -0
- package/features/cache/CmsReviewCacheSyncHandler.d.ts +8 -0
- package/features/cache/CmsReviewCacheSyncHandler.js +14 -0
- package/features/cache/CmsReviewCacheSyncHandler.js.map +1 -0
- package/features/cache/CmsReviewCacheWriter.d.ts +14 -0
- package/features/cache/CmsReviewCacheWriter.js +39 -0
- package/features/cache/CmsReviewCacheWriter.js.map +1 -0
- package/features/cache/CmsReviewCacheWriter.test.d.ts +1 -0
- package/features/cache/CmsReviewCacheWriter.test.js +207 -0
- package/features/cache/CmsReviewCacheWriter.test.js.map +1 -0
- package/features/cache/CmsReviewEntriesCacheProviderDecorator.d.ts +12 -0
- package/features/cache/CmsReviewEntriesCacheProviderDecorator.js +17 -0
- package/features/cache/CmsReviewEntriesCacheProviderDecorator.js.map +1 -0
- package/features/cache/CmsReviewEntriesCacheProviderDecorator.test.d.ts +1 -0
- package/features/cache/CmsReviewEntriesCacheProviderDecorator.test.js +129 -0
- package/features/cache/CmsReviewEntriesCacheProviderDecorator.test.js.map +1 -0
- package/features/cache/ReviewPreservingEntriesCache.d.ts +18 -0
- package/features/cache/ReviewPreservingEntriesCache.js +54 -0
- package/features/cache/ReviewPreservingEntriesCache.js.map +1 -0
- package/features/cache/abstractions.d.ts +5 -0
- package/features/cache/abstractions.js +5 -0
- package/features/cache/abstractions.js.map +1 -0
- package/features/editorGateway/CmsWorkflowEditorGateway/CmsWorkflowEditorGateway.d.ts +26 -0
- package/features/editorGateway/CmsWorkflowEditorGateway/CmsWorkflowEditorGateway.js +104 -0
- package/features/editorGateway/CmsWorkflowEditorGateway/CmsWorkflowEditorGateway.js.map +1 -0
- package/features/editorGateway/CmsWorkflowEditorGateway/CmsWorkflowEditorGateway.test.d.ts +1 -0
- package/features/editorGateway/CmsWorkflowEditorGateway/CmsWorkflowEditorGateway.test.js +589 -0
- package/features/editorGateway/CmsWorkflowEditorGateway/CmsWorkflowEditorGateway.test.js.map +1 -0
- package/features/editorGateway/feature.d.ts +1 -0
- package/features/editorGateway/feature.js +11 -0
- package/features/editorGateway/feature.js.map +1 -0
- package/features/editorGateway/feature.test.d.ts +1 -0
- package/features/editorGateway/feature.test.js +272 -0
- package/features/editorGateway/feature.test.js.map +1 -0
- package/features/editorGateway/graphql/cmsEntryFolderExists.d.ts +1 -0
- package/features/editorGateway/graphql/cmsEntryFolderExists.js +16 -0
- package/features/editorGateway/graphql/cmsEntryFolderExists.js.map +1 -0
- package/features/editorGateway/graphql/deleteCmsEntryWorkflow.d.ts +1 -0
- package/features/editorGateway/graphql/deleteCmsEntryWorkflow.js +19 -0
- package/features/editorGateway/graphql/deleteCmsEntryWorkflow.js.map +1 -0
- package/features/editorGateway/graphql/getCmsEntryWorkflow.d.ts +1 -0
- package/features/editorGateway/graphql/getCmsEntryWorkflow.js +19 -0
- package/features/editorGateway/graphql/getCmsEntryWorkflow.js.map +1 -0
- package/features/editorGateway/graphql/inspectCmsEntryRouting.d.ts +1 -0
- package/features/editorGateway/graphql/inspectCmsEntryRouting.js +19 -0
- package/features/editorGateway/graphql/inspectCmsEntryRouting.js.map +1 -0
- package/features/editorGateway/graphql/listCmsEntryWorkflowModels.d.ts +1 -0
- package/features/editorGateway/graphql/listCmsEntryWorkflowModels.js +29 -0
- package/features/editorGateway/graphql/listCmsEntryWorkflowModels.js.map +1 -0
- package/features/editorGateway/graphql/storeCmsEntryWorkflow.d.ts +1 -0
- package/features/editorGateway/graphql/storeCmsEntryWorkflow.js +19 -0
- package/features/editorGateway/graphql/storeCmsEntryWorkflow.js.map +1 -0
- package/features/editorMounting/CmsWorkflowEditorAppAdapter.d.ts +25 -0
- package/features/editorMounting/CmsWorkflowEditorAppAdapter.js +51 -0
- package/features/editorMounting/CmsWorkflowEditorAppAdapter.js.map +1 -0
- package/features/editorMounting/CmsWorkflowEditorAppAdapter.test.d.ts +1 -0
- package/features/editorMounting/CmsWorkflowEditorAppAdapter.test.js +185 -0
- package/features/editorMounting/CmsWorkflowEditorAppAdapter.test.js.map +1 -0
- package/features/editorMounting/abstractions.d.ts +5 -0
- package/features/editorMounting/abstractions.js +5 -0
- package/features/editorMounting/abstractions.js.map +1 -0
- package/features/editorMounting/feature.d.ts +3 -0
- package/features/editorMounting/feature.js +19 -0
- package/features/editorMounting/feature.js.map +1 -0
- package/features/editorMounting/feature.test.d.ts +1 -0
- package/features/editorMounting/feature.test.js +100 -0
- package/features/editorMounting/feature.test.js.map +1 -0
- package/features/editorReview/CmsEntryReview.d.ts +8 -0
- package/features/editorReview/CmsEntryReview.js +14 -0
- package/features/editorReview/CmsEntryReview.js.map +1 -0
- package/features/editorReview/abstractions.d.ts +5 -0
- package/features/editorReview/abstractions.js +5 -0
- package/features/editorReview/abstractions.js.map +1 -0
- package/features/editorReview/feature.d.ts +3 -0
- package/features/editorReview/feature.js +17 -0
- package/features/editorReview/feature.js.map +1 -0
- package/features/editorReview/feature.test.d.ts +1 -0
- package/features/editorReview/feature.test.js +46 -0
- package/features/editorReview/feature.test.js.map +1 -0
- package/features/editorReview/useCmsEntryReview.d.ts +2 -0
- package/features/editorReview/useCmsEntryReview.js +8 -0
- package/features/editorReview/useCmsEntryReview.js.map +1 -0
- package/features/feature.d.ts +1 -0
- package/features/feature.js +15 -0
- package/features/feature.js.map +1 -0
- package/features/gateway/CmsReviewChangeMessageHandler.d.ts +8 -0
- package/features/gateway/CmsReviewChangeMessageHandler.js +16 -0
- package/features/gateway/CmsReviewChangeMessageHandler.js.map +1 -0
- package/features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.d.ts +16 -0
- package/features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.js +39 -0
- package/features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.js.map +1 -0
- package/features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.test.d.ts +1 -0
- package/features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.test.js +83 -0
- package/features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.test.js.map +1 -0
- package/features/gateway/CmsReviewContentAdapter/abstractions.d.ts +5 -0
- package/features/gateway/CmsReviewContentAdapter/abstractions.js +5 -0
- package/features/gateway/CmsReviewContentAdapter/abstractions.js.map +1 -0
- package/features/gateway/CmsReviewGateway/CmsReviewGateway.d.ts +52 -0
- package/features/gateway/CmsReviewGateway/CmsReviewGateway.js +221 -0
- package/features/gateway/CmsReviewGateway/CmsReviewGateway.js.map +1 -0
- package/features/gateway/CmsReviewGateway/CmsReviewGateway.test.d.ts +1 -0
- package/features/gateway/CmsReviewGateway/CmsReviewGateway.test.js +689 -0
- package/features/gateway/CmsReviewGateway/CmsReviewGateway.test.js.map +1 -0
- package/features/gateway/CmsReviewNotificationHandler.d.ts +8 -0
- package/features/gateway/CmsReviewNotificationHandler.js +16 -0
- package/features/gateway/CmsReviewNotificationHandler.js.map +1 -0
- package/features/gateway/CmsReviewRowProvider/CmsReviewRowProvider.d.ts +8 -0
- package/features/gateway/CmsReviewRowProvider/CmsReviewRowProvider.js +14 -0
- package/features/gateway/CmsReviewRowProvider/CmsReviewRowProvider.js.map +1 -0
- package/features/gateway/CmsReviewRowProvider/abstractions.d.ts +5 -0
- package/features/gateway/CmsReviewRowProvider/abstractions.js +5 -0
- package/features/gateway/CmsReviewRowProvider/abstractions.js.map +1 -0
- package/features/gateway/contentReviewsBindings.test.d.ts +1 -0
- package/features/gateway/contentReviewsBindings.test.js +125 -0
- package/features/gateway/contentReviewsBindings.test.js.map +1 -0
- package/features/gateway/feature.d.ts +4 -0
- package/features/gateway/feature.js +27 -0
- package/features/gateway/feature.js.map +1 -0
- package/features/gateway/feature.test.d.ts +1 -0
- package/features/gateway/feature.test.js +79 -0
- package/features/gateway/feature.test.js.map +1 -0
- package/features/gateway/graphql/CmsOperationResponse.d.ts +3 -0
- package/features/gateway/graphql/CmsOperationResponse.js +0 -0
- package/features/gateway/graphql/approveCmsEntryReviewStep.d.ts +1 -0
- package/features/gateway/graphql/approveCmsEntryReviewStep.js +18 -0
- package/features/gateway/graphql/approveCmsEntryReviewStep.js.map +1 -0
- package/features/gateway/graphql/cancelCmsEntryReview.d.ts +1 -0
- package/features/gateway/graphql/cancelCmsEntryReview.js +18 -0
- package/features/gateway/graphql/cancelCmsEntryReview.js.map +1 -0
- package/features/gateway/graphql/cancelCmsEntryReviewsForDelete.d.ts +1 -0
- package/features/gateway/graphql/cancelCmsEntryReviewsForDelete.js +28 -0
- package/features/gateway/graphql/cancelCmsEntryReviewsForDelete.js.map +1 -0
- package/features/gateway/graphql/getCmsEntryReview.d.ts +1 -0
- package/features/gateway/graphql/getCmsEntryReview.js +18 -0
- package/features/gateway/graphql/getCmsEntryReview.js.map +1 -0
- package/features/gateway/graphql/getCmsEntryReviewStepRun.d.ts +1 -0
- package/features/gateway/graphql/getCmsEntryReviewStepRun.js +18 -0
- package/features/gateway/graphql/getCmsEntryReviewStepRun.js.map +1 -0
- package/features/gateway/graphql/getCmsEntryTargetReview.d.ts +1 -0
- package/features/gateway/graphql/getCmsEntryTargetReview.js +18 -0
- package/features/gateway/graphql/getCmsEntryTargetReview.js.map +1 -0
- package/features/gateway/graphql/listCmsEntryBlockingReviews.d.ts +1 -0
- package/features/gateway/graphql/listCmsEntryBlockingReviews.js +18 -0
- package/features/gateway/graphql/listCmsEntryBlockingReviews.js.map +1 -0
- package/features/gateway/graphql/listCmsEntryReviewStepCandidates.d.ts +1 -0
- package/features/gateway/graphql/listCmsEntryReviewStepCandidates.js +18 -0
- package/features/gateway/graphql/listCmsEntryReviewStepCandidates.js.map +1 -0
- package/features/gateway/graphql/listCmsEntryReviews.d.ts +1 -0
- package/features/gateway/graphql/listCmsEntryReviews.js +34 -0
- package/features/gateway/graphql/listCmsEntryReviews.js.map +1 -0
- package/features/gateway/graphql/listCmsEntryStepCandidates.d.ts +1 -0
- package/features/gateway/graphql/listCmsEntryStepCandidates.js +28 -0
- package/features/gateway/graphql/listCmsEntryStepCandidates.js.map +1 -0
- package/features/gateway/graphql/listCmsEntryWorkflows.d.ts +1 -0
- package/features/gateway/graphql/listCmsEntryWorkflows.js +18 -0
- package/features/gateway/graphql/listCmsEntryWorkflows.js.map +1 -0
- package/features/gateway/graphql/reassignCmsEntryReviewStep.d.ts +1 -0
- package/features/gateway/graphql/reassignCmsEntryReviewStep.js +18 -0
- package/features/gateway/graphql/reassignCmsEntryReviewStep.js.map +1 -0
- package/features/gateway/graphql/rejectCmsEntryReviewStep.d.ts +1 -0
- package/features/gateway/graphql/rejectCmsEntryReviewStep.js +18 -0
- package/features/gateway/graphql/rejectCmsEntryReviewStep.js.map +1 -0
- package/features/gateway/graphql/requestCmsEntryReview.d.ts +1 -0
- package/features/gateway/graphql/requestCmsEntryReview.js +28 -0
- package/features/gateway/graphql/requestCmsEntryReview.js.map +1 -0
- package/features/gateway/graphql/restartCmsEntryReviewStep.d.ts +1 -0
- package/features/gateway/graphql/restartCmsEntryReviewStep.js +18 -0
- package/features/gateway/graphql/restartCmsEntryReviewStep.js.map +1 -0
- package/features/gateway/graphql/startCmsEntryReviewStep.d.ts +1 -0
- package/features/gateway/graphql/startCmsEntryReviewStep.js +18 -0
- package/features/gateway/graphql/startCmsEntryReviewStep.js.map +1 -0
- package/features/gateway/graphql/takeOverCmsEntryReviewStep.d.ts +1 -0
- package/features/gateway/graphql/takeOverCmsEntryReviewStep.js +22 -0
- package/features/gateway/graphql/takeOverCmsEntryReviewStep.js.map +1 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.d.ts +20 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.js +81 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.js.map +1 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.test.d.ts +1 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.test.js +693 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.test.js.map +1 -0
- package/features/trash/DeleteEntryRevisionUseCaseReviewDecorator.d.ts +13 -0
- package/features/trash/DeleteEntryRevisionUseCaseReviewDecorator.js +23 -0
- package/features/trash/DeleteEntryRevisionUseCaseReviewDecorator.js.map +1 -0
- package/features/trash/DeleteEntryRevisionUseCaseReviewDecorator.test.d.ts +1 -0
- package/features/trash/DeleteEntryRevisionUseCaseReviewDecorator.test.js +123 -0
- package/features/trash/DeleteEntryRevisionUseCaseReviewDecorator.test.js.map +1 -0
- package/features/trash/DeleteEntryUseCaseReviewDecorator.d.ts +13 -0
- package/features/trash/DeleteEntryUseCaseReviewDecorator.js +23 -0
- package/features/trash/DeleteEntryUseCaseReviewDecorator.js.map +1 -0
- package/features/trash/DeleteEntryUseCaseReviewDecorator.test.d.ts +1 -0
- package/features/trash/DeleteEntryUseCaseReviewDecorator.test.js +139 -0
- package/features/trash/DeleteEntryUseCaseReviewDecorator.test.js.map +1 -0
- package/features/trash/PermanentlyDeleteEntryUseCaseReviewDecorator.d.ts +13 -0
- package/features/trash/PermanentlyDeleteEntryUseCaseReviewDecorator.js +23 -0
- package/features/trash/PermanentlyDeleteEntryUseCaseReviewDecorator.js.map +1 -0
- package/features/trash/PermanentlyDeleteEntryUseCaseReviewDecorator.test.d.ts +1 -0
- package/features/trash/PermanentlyDeleteEntryUseCaseReviewDecorator.test.js +122 -0
- package/features/trash/PermanentlyDeleteEntryUseCaseReviewDecorator.test.js.map +1 -0
- package/features/trash/feature.d.ts +1 -0
- package/features/trash/feature.js +17 -0
- package/features/trash/feature.js.map +1 -0
- package/features/trash/feature.test.d.ts +1 -0
- package/features/trash/feature.test.js +213 -0
- package/features/trash/feature.test.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.editor.test.d.ts +1 -0
- package/index.editor.test.js +149 -0
- package/index.editor.test.js.map +1 -0
- package/index.js +41 -0
- package/index.js.map +1 -0
- package/index.lists.test.d.ts +1 -0
- package/index.lists.test.js +172 -0
- package/index.lists.test.js.map +1 -0
- package/index.mount.test.d.ts +1 -0
- package/index.mount.test.js +49 -0
- package/index.mount.test.js.map +1 -0
- package/index.test.d.ts +1 -0
- package/index.test.js +414 -0
- package/index.test.js.map +1 -0
- package/package.json +54 -0
- package/presentation/CmsEntryContentReloader.d.ts +8 -0
- package/presentation/CmsEntryContentReloader.js +20 -0
- package/presentation/CmsEntryContentReloader.js.map +1 -0
- package/presentation/CmsEntryContentReloader.test.d.ts +1 -0
- package/presentation/CmsEntryContentReloader.test.js +118 -0
- package/presentation/CmsEntryContentReloader.test.js.map +1 -0
- package/presentation/CmsEntryFormPresenterReviewDecorator.d.ts +27 -0
- package/presentation/CmsEntryFormPresenterReviewDecorator.js +167 -0
- package/presentation/CmsEntryFormPresenterReviewDecorator.js.map +1 -0
- package/presentation/CmsEntryFormPresenterReviewDecorator.test.d.ts +1 -0
- package/presentation/CmsEntryFormPresenterReviewDecorator.test.js +601 -0
- package/presentation/CmsEntryFormPresenterReviewDecorator.test.js.map +1 -0
- package/presentation/CmsEntryUnsavedChanges.d.ts +7 -0
- package/presentation/CmsEntryUnsavedChanges.js +12 -0
- package/presentation/CmsEntryUnsavedChanges.js.map +1 -0
- package/presentation/CmsEntryUnsavedChanges.test.d.ts +1 -0
- package/presentation/CmsEntryUnsavedChanges.test.js +23 -0
- package/presentation/CmsEntryUnsavedChanges.test.js.map +1 -0
- package/presentation/CmsReviewFieldSelections.test.d.ts +1 -0
- package/presentation/CmsReviewFieldSelections.test.js +27 -0
- package/presentation/CmsReviewFieldSelections.test.js.map +1 -0
- package/presentation/CmsReviewGetEntryFieldSelection.d.ts +8 -0
- package/presentation/CmsReviewGetEntryFieldSelection.js +16 -0
- package/presentation/CmsReviewGetEntryFieldSelection.js.map +1 -0
- package/presentation/CmsReviewListEntriesFieldSelection.d.ts +8 -0
- package/presentation/CmsReviewListEntriesFieldSelection.js +16 -0
- package/presentation/CmsReviewListEntriesFieldSelection.js.map +1 -0
- package/presentation/CmsReviewTableRowMapperDecorator.d.ts +11 -0
- package/presentation/CmsReviewTableRowMapperDecorator.js +24 -0
- package/presentation/CmsReviewTableRowMapperDecorator.js.map +1 -0
- package/presentation/CmsReviewTableRowMapperDecorator.test.d.ts +1 -0
- package/presentation/CmsReviewTableRowMapperDecorator.test.js +120 -0
- package/presentation/CmsReviewTableRowMapperDecorator.test.js.map +1 -0
- package/presentation/CmsRevisionsListPresenterDecorator.d.ts +24 -0
- package/presentation/CmsRevisionsListPresenterDecorator.js +66 -0
- package/presentation/CmsRevisionsListPresenterDecorator.js.map +1 -0
- package/presentation/CmsRevisionsListPresenterDecorator.test.d.ts +1 -0
- package/presentation/CmsRevisionsListPresenterDecorator.test.js +174 -0
- package/presentation/CmsRevisionsListPresenterDecorator.test.js.map +1 -0
- package/presentation/contentReviews/CmsContentReviewsPresenter.d.ts +28 -0
- package/presentation/contentReviews/CmsContentReviewsPresenter.js +103 -0
- package/presentation/contentReviews/CmsContentReviewsPresenter.js.map +1 -0
- package/presentation/contentReviews/CmsContentReviewsPresenter.test.d.ts +1 -0
- package/presentation/contentReviews/CmsContentReviewsPresenter.test.js +238 -0
- package/presentation/contentReviews/CmsContentReviewsPresenter.test.js.map +1 -0
- package/presentation/contentReviews/abstractions.d.ts +31 -0
- package/presentation/contentReviews/abstractions.js +5 -0
- package/presentation/contentReviews/abstractions.js.map +1 -0
- package/presentation/contentReviews/feature.d.ts +3 -0
- package/presentation/contentReviews/feature.js +17 -0
- package/presentation/contentReviews/feature.js.map +1 -0
- package/presentation/contentReviews/toContentTypes.d.ts +3 -0
- package/presentation/contentReviews/toContentTypes.js +14 -0
- package/presentation/contentReviews/toContentTypes.js.map +1 -0
- package/presentation/contentReviews/toContentTypes.test.d.ts +1 -0
- package/presentation/contentReviews/toContentTypes.test.js +20 -0
- package/presentation/contentReviews/toContentTypes.test.js.map +1 -0
- package/presentation/feature.d.ts +1 -0
- package/presentation/feature.js +19 -0
- package/presentation/feature.js.map +1 -0
- package/presentation/getCmsEntryReviewContext.d.ts +4 -0
- package/presentation/getCmsEntryReviewContext.js +12 -0
- package/presentation/getCmsEntryReviewContext.js.map +1 -0
- package/presentation/getCmsEntryReviewInitParams.d.ts +13 -0
- package/presentation/getCmsEntryReviewInitParams.js +18 -0
- package/presentation/getCmsEntryReviewInitParams.js.map +1 -0
- package/presentation/getCmsEntryReviewInitParams.test.d.ts +1 -0
- package/presentation/getCmsEntryReviewInitParams.test.js +69 -0
- package/presentation/getCmsEntryReviewInitParams.test.js.map +1 -0
- package/routes.d.ts +11 -0
- package/routes.js +21 -0
- package/routes.js.map +1 -0
- package/testing/createEntry.d.ts +3 -0
- package/testing/createEntry.js +22 -0
- package/testing/createEntry.js.map +1 -0
- package/testing/createEntrySession.d.ts +9 -0
- package/testing/createEntrySession.js +29 -0
- package/testing/createEntrySession.js.map +1 -0
- package/testing/createFolder.d.ts +2 -0
- package/testing/createFolder.js +13 -0
- package/testing/createFolder.js.map +1 -0
- package/testing/createFormVm.d.ts +2 -0
- package/testing/createFormVm.js +22 -0
- package/testing/createFormVm.js.map +1 -0
- package/testing/models.d.ts +4 -0
- package/testing/models.js +23 -0
- package/testing/models.js.map +1 -0
- package/testing/renderEditorTree.d.ts +17 -0
- package/testing/renderEditorTree.js +93 -0
- package/testing/renderEditorTree.js.map +1 -0
- package/testing/reviewStates.d.ts +17 -0
- package/testing/reviewStates.js +65 -0
- package/testing/reviewStates.js.map +1 -0
- package/types.d.ts +10 -0
- package/types.js +0 -0
- package/utils/appName.d.ts +4 -0
- package/utils/appName.js +13 -0
- package/utils/appName.js.map +1 -0
- package/utils/isReviewableModel.d.ts +2 -0
- package/utils/isReviewableModel.js +7 -0
- package/utils/isReviewableModel.js.map +1 -0
- package/utils/renderModelIcon.d.ts +3 -0
- package/utils/renderModelIcon.js +19 -0
- package/utils/renderModelIcon.js.map +1 -0
- package/utils/renderModelIconOrFallback.d.ts +3 -0
- package/utils/renderModelIconOrFallback.js +17 -0
- package/utils/renderModelIconOrFallback.js.map +1 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ModelsCache } from "@webiny/app-headless-cms/features/model/abstractions.js";
|
|
3
|
+
import type { ReviewContentRef } from "@webiny/app-workflows/review/content/IReviewContentAdapter.js";
|
|
4
|
+
import { CmsReviewContentAdapter as AdapterAbstraction } from "./abstractions.js";
|
|
5
|
+
declare class CmsReviewContentAdapterImpl implements AdapterAbstraction.Interface {
|
|
6
|
+
private modelsCache;
|
|
7
|
+
constructor(modelsCache: ModelsCache.Interface);
|
|
8
|
+
canHandle(namespace: string): boolean;
|
|
9
|
+
getContentUrl(ref: ReviewContentRef): string;
|
|
10
|
+
getContentTypeLabel(contentTypeId: string): string | null;
|
|
11
|
+
renderContentTypeIcon(contentTypeId: string): React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare const CmsReviewContentAdapter: typeof CmsReviewContentAdapterImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/app-workflows/review/content/IReviewContentAdapter.js").IReviewContentAdapter>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import { ModelsCache } from "@webiny/app-headless-cms/features/model/abstractions.js";
|
|
3
|
+
import { Routes } from "@webiny/app-headless-cms/routes.js";
|
|
4
|
+
import { renderModelIconOrFallback } from "../../../utils/renderModelIconOrFallback.js";
|
|
5
|
+
import { isCmsAppName, parseAppName } from "../../../utils/appName.js";
|
|
6
|
+
import { CmsReviewContentAdapter } from "./abstractions.js";
|
|
7
|
+
class CmsReviewContentAdapterImpl {
|
|
8
|
+
constructor(modelsCache){
|
|
9
|
+
this.modelsCache = modelsCache;
|
|
10
|
+
}
|
|
11
|
+
canHandle(namespace) {
|
|
12
|
+
return isCmsAppName(namespace);
|
|
13
|
+
}
|
|
14
|
+
getContentUrl(ref) {
|
|
15
|
+
const modelId = parseAppName(ref.namespace);
|
|
16
|
+
const encodedModelId = encodeURIComponent(modelId);
|
|
17
|
+
const encodedRevisionId = encodeURIComponent(ref.targetRevisionId);
|
|
18
|
+
const path = Routes.ContentEntries.List.path.replace(":modelId", encodedModelId);
|
|
19
|
+
return `${path}?id=${encodedRevisionId}`;
|
|
20
|
+
}
|
|
21
|
+
getContentTypeLabel(contentTypeId) {
|
|
22
|
+
const model = this.modelsCache.getItem((item)=>item.modelId === contentTypeId);
|
|
23
|
+
if (!model) return null;
|
|
24
|
+
return model.name;
|
|
25
|
+
}
|
|
26
|
+
renderContentTypeIcon(contentTypeId) {
|
|
27
|
+
const model = this.modelsCache.getItem((item)=>item.modelId === contentTypeId);
|
|
28
|
+
return renderModelIconOrFallback(model, contentTypeId);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const CmsReviewContentAdapter_CmsReviewContentAdapter = CmsReviewContentAdapter.createImplementation({
|
|
32
|
+
implementation: CmsReviewContentAdapterImpl,
|
|
33
|
+
dependencies: [
|
|
34
|
+
ModelsCache
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
export { CmsReviewContentAdapter_CmsReviewContentAdapter as CmsReviewContentAdapter };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=CmsReviewContentAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.js","sources":["../../../../src/features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.tsx"],"sourcesContent":["import React from \"react\";\nimport { ModelsCache } from \"@webiny/app-headless-cms/features/model/abstractions.js\";\nimport { Routes } from \"@webiny/app-headless-cms/routes.js\";\nimport type { ReviewContentRef } from \"@webiny/app-workflows/review/content/IReviewContentAdapter.js\";\nimport { renderModelIconOrFallback } from \"~/utils/renderModelIconOrFallback.js\";\nimport { isCmsAppName } from \"~/utils/appName.js\";\nimport { parseAppName } from \"~/utils/appName.js\";\nimport { CmsReviewContentAdapter as AdapterAbstraction } from \"./abstractions.js\";\n\nclass CmsReviewContentAdapterImpl implements AdapterAbstraction.Interface {\n constructor(private modelsCache: ModelsCache.Interface) {}\n\n canHandle(namespace: string): boolean {\n return isCmsAppName(namespace);\n }\n\n getContentUrl(ref: ReviewContentRef): string {\n const modelId = parseAppName(ref.namespace);\n const encodedModelId = encodeURIComponent(modelId);\n const encodedRevisionId = encodeURIComponent(ref.targetRevisionId);\n const path = Routes.ContentEntries.List.path.replace(\":modelId\", encodedModelId);\n\n return `${path}?id=${encodedRevisionId}`;\n }\n\n getContentTypeLabel(contentTypeId: string): string | null {\n const model = this.modelsCache.getItem(item => item.modelId === contentTypeId);\n\n if (!model) {\n return null;\n }\n\n return model.name;\n }\n\n renderContentTypeIcon(contentTypeId: string): React.ReactNode {\n const model = this.modelsCache.getItem(item => item.modelId === contentTypeId);\n return renderModelIconOrFallback(model, contentTypeId);\n }\n}\n\nexport const CmsReviewContentAdapter = AdapterAbstraction.createImplementation({\n implementation: CmsReviewContentAdapterImpl,\n dependencies: [ModelsCache]\n});\n"],"names":["CmsReviewContentAdapterImpl","modelsCache","namespace","isCmsAppName","ref","modelId","parseAppName","encodedModelId","encodeURIComponent","encodedRevisionId","path","Routes","contentTypeId","model","item","renderModelIconOrFallback","CmsReviewContentAdapter","AdapterAbstraction","ModelsCache"],"mappings":";;;;;;AASA,MAAMA;IACF,YAAoBC,WAAkC,CAAE;aAApCA,WAAW,GAAXA;IAAqC;IAEzD,UAAUC,SAAiB,EAAW;QAClC,OAAOC,aAAaD;IACxB;IAEA,cAAcE,GAAqB,EAAU;QACzC,MAAMC,UAAUC,aAAaF,IAAI,SAAS;QAC1C,MAAMG,iBAAiBC,mBAAmBH;QAC1C,MAAMI,oBAAoBD,mBAAmBJ,IAAI,gBAAgB;QACjE,MAAMM,OAAOC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAYJ;QAEjE,OAAO,GAAGG,KAAK,IAAI,EAAED,mBAAmB;IAC5C;IAEA,oBAAoBG,aAAqB,EAAiB;QACtD,MAAMC,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,CAACC,CAAAA,OAAQA,KAAK,OAAO,KAAKF;QAEhE,IAAI,CAACC,OACD,OAAO;QAGX,OAAOA,MAAM,IAAI;IACrB;IAEA,sBAAsBD,aAAqB,EAAmB;QAC1D,MAAMC,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,CAACC,CAAAA,OAAQA,KAAK,OAAO,KAAKF;QAChE,OAAOG,0BAA0BF,OAAOD;IAC5C;AACJ;AAEO,MAAMI,kDAA0BC,wBAAAA,oBAAuC,CAAC;IAC3E,gBAAgBjB;IAChB,cAAc;QAACkB;KAAY;AAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { beforeEach, describe, expect, it } from "vitest";
|
|
3
|
+
import { Container } from "@webiny/di";
|
|
4
|
+
import { ListCache } from "@webiny/app-admin/features/listCache/index.js";
|
|
5
|
+
import { ModelsCache } from "@webiny/app-headless-cms/features/model/abstractions.js";
|
|
6
|
+
import { CmsReviewContentAdapter } from "./abstractions.js";
|
|
7
|
+
import { CmsReviewContentAdapter as external_CmsReviewContentAdapter_js_CmsReviewContentAdapter } from "./CmsReviewContentAdapter.js";
|
|
8
|
+
describe("CmsReviewContentAdapter", ()=>{
|
|
9
|
+
const cache = new ListCache("modelId");
|
|
10
|
+
let adapter;
|
|
11
|
+
beforeEach(()=>{
|
|
12
|
+
const article = {
|
|
13
|
+
modelId: "article",
|
|
14
|
+
name: "Article"
|
|
15
|
+
};
|
|
16
|
+
cache.setItems([
|
|
17
|
+
article
|
|
18
|
+
]);
|
|
19
|
+
const container = new Container();
|
|
20
|
+
container.registerInstance(ModelsCache, cache);
|
|
21
|
+
container.register(external_CmsReviewContentAdapter_js_CmsReviewContentAdapter);
|
|
22
|
+
adapter = container.resolve(CmsReviewContentAdapter);
|
|
23
|
+
});
|
|
24
|
+
it("handles CMS namespaces only", ()=>{
|
|
25
|
+
expect(adapter.canHandle("cms.article")).toBe(true);
|
|
26
|
+
expect(adapter.canHandle("wb.page")).toBe(false);
|
|
27
|
+
expect(adapter.canHandle("cms")).toBe(false);
|
|
28
|
+
expect(adapter.canHandle("cms.article.extra")).toBe(false);
|
|
29
|
+
});
|
|
30
|
+
it("builds the entry URL from the content entries route with the revision id encoded", ()=>{
|
|
31
|
+
const url = adapter.getContentUrl({
|
|
32
|
+
namespace: "cms.article",
|
|
33
|
+
targetId: "entry-1",
|
|
34
|
+
targetRevisionId: "entry-1#0001",
|
|
35
|
+
contentTypeId: "article"
|
|
36
|
+
});
|
|
37
|
+
expect(url).toBe("/cms/content-entries/article?id=entry-1%230001");
|
|
38
|
+
});
|
|
39
|
+
it("throws for a namespace that is not a CMS one", ()=>{
|
|
40
|
+
expect(()=>{
|
|
41
|
+
adapter.getContentUrl({
|
|
42
|
+
namespace: "wb.page",
|
|
43
|
+
targetId: "page-1",
|
|
44
|
+
targetRevisionId: "page-1#0001",
|
|
45
|
+
contentTypeId: null
|
|
46
|
+
});
|
|
47
|
+
}).toThrow('Invalid app name: "wb.page".');
|
|
48
|
+
});
|
|
49
|
+
it("labels a content type with the model name", ()=>{
|
|
50
|
+
expect(adapter.getContentTypeLabel("article")).toBe("Article");
|
|
51
|
+
});
|
|
52
|
+
it("returns null for an unknown or not yet loaded model", ()=>{
|
|
53
|
+
expect(adapter.getContentTypeLabel("product")).toBeNull();
|
|
54
|
+
cache.clear();
|
|
55
|
+
expect(adapter.getContentTypeLabel("article")).toBeNull();
|
|
56
|
+
});
|
|
57
|
+
it("renders the model icon, or the fallback icon for a model without one", ()=>{
|
|
58
|
+
cache.setItems([
|
|
59
|
+
{
|
|
60
|
+
modelId: "article",
|
|
61
|
+
name: "Article",
|
|
62
|
+
icon: "fas/star"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
modelId: "plain",
|
|
66
|
+
name: "Plain"
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
const withIcon = adapter.renderContentTypeIcon("article");
|
|
70
|
+
const fallback = adapter.renderContentTypeIcon("plain");
|
|
71
|
+
if (!/*#__PURE__*/ react.isValidElement(withIcon)) throw new Error("The model icon is not an element.");
|
|
72
|
+
if (!/*#__PURE__*/ react.isValidElement(fallback)) throw new Error("The fallback icon is not an element.");
|
|
73
|
+
expect(withIcon.props.label).toBe("Article");
|
|
74
|
+
expect(withIcon.props.icon.props.icon).toEqual([
|
|
75
|
+
"fas",
|
|
76
|
+
"star"
|
|
77
|
+
]);
|
|
78
|
+
expect(fallback.props.label).toBe("Plain");
|
|
79
|
+
expect(fallback.props.icon.props.icon).toBeUndefined();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=CmsReviewContentAdapter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.test.js","sources":["../../../../src/features/gateway/CmsReviewContentAdapter/CmsReviewContentAdapter.test.tsx"],"sourcesContent":["import React from \"react\";\nimport { beforeEach } from \"vitest\";\nimport { describe } from \"vitest\";\nimport { expect } from \"vitest\";\nimport { it } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { ListCache } from \"@webiny/app-admin/features/listCache/index.js\";\nimport { ModelsCache } from \"@webiny/app-headless-cms/features/model/abstractions.js\";\nimport type { CmsModel } from \"@webiny/app-headless-cms/types.js\";\nimport { CmsReviewContentAdapter as AdapterAbstraction } from \"./abstractions.js\";\nimport { CmsReviewContentAdapter } from \"./CmsReviewContentAdapter.js\";\n\ninterface RenderedIconProps {\n label: string;\n icon: React.ReactElement<{ icon?: unknown }>;\n}\n\ndescribe(\"CmsReviewContentAdapter\", () => {\n const cache = new ListCache<CmsModel>(\"modelId\");\n let adapter: AdapterAbstraction.Interface;\n\n beforeEach(() => {\n const article = { modelId: \"article\", name: \"Article\" } as CmsModel;\n cache.setItems([article]);\n\n const container = new Container();\n container.registerInstance(ModelsCache, cache);\n container.register(CmsReviewContentAdapter);\n adapter = container.resolve(AdapterAbstraction);\n });\n\n it(\"handles CMS namespaces only\", () => {\n expect(adapter.canHandle(\"cms.article\")).toBe(true);\n expect(adapter.canHandle(\"wb.page\")).toBe(false);\n expect(adapter.canHandle(\"cms\")).toBe(false);\n expect(adapter.canHandle(\"cms.article.extra\")).toBe(false);\n });\n\n it(\"builds the entry URL from the content entries route with the revision id encoded\", () => {\n const url = adapter.getContentUrl({\n namespace: \"cms.article\",\n targetId: \"entry-1\",\n targetRevisionId: \"entry-1#0001\",\n contentTypeId: \"article\"\n });\n\n expect(url).toBe(\"/cms/content-entries/article?id=entry-1%230001\");\n });\n\n it(\"throws for a namespace that is not a CMS one\", () => {\n expect(() => {\n adapter.getContentUrl({\n namespace: \"wb.page\",\n targetId: \"page-1\",\n targetRevisionId: \"page-1#0001\",\n contentTypeId: null\n });\n }).toThrow('Invalid app name: \"wb.page\".');\n });\n\n it(\"labels a content type with the model name\", () => {\n expect(adapter.getContentTypeLabel(\"article\")).toBe(\"Article\");\n });\n\n it(\"returns null for an unknown or not yet loaded model\", () => {\n expect(adapter.getContentTypeLabel(\"product\")).toBeNull();\n\n cache.clear();\n\n expect(adapter.getContentTypeLabel(\"article\")).toBeNull();\n });\n\n it(\"renders the model icon, or the fallback icon for a model without one\", () => {\n cache.setItems([\n { modelId: \"article\", name: \"Article\", icon: \"fas/star\" } as CmsModel,\n { modelId: \"plain\", name: \"Plain\" } as CmsModel\n ]);\n\n const withIcon = adapter.renderContentTypeIcon(\"article\");\n const fallback = adapter.renderContentTypeIcon(\"plain\");\n\n if (!React.isValidElement<RenderedIconProps>(withIcon)) {\n throw new Error(\"The model icon is not an element.\");\n }\n if (!React.isValidElement<RenderedIconProps>(fallback)) {\n throw new Error(\"The fallback icon is not an element.\");\n }\n expect(withIcon.props.label).toBe(\"Article\");\n expect(withIcon.props.icon.props.icon).toEqual([\"fas\", \"star\"]);\n expect(fallback.props.label).toBe(\"Plain\");\n expect(fallback.props.icon.props.icon).toBeUndefined();\n });\n});\n"],"names":["describe","cache","ListCache","adapter","beforeEach","article","container","Container","ModelsCache","CmsReviewContentAdapter","AdapterAbstraction","it","expect","url","withIcon","fallback","React","Error"],"mappings":";;;;;;;AAiBAA,SAAS,2BAA2B;IAChC,MAAMC,QAAQ,IAAIC,UAAoB;IACtC,IAAIC;IAEJC,WAAW;QACP,MAAMC,UAAU;YAAE,SAAS;YAAW,MAAM;QAAU;QACtDJ,MAAM,QAAQ,CAAC;YAACI;SAAQ;QAExB,MAAMC,YAAY,IAAIC;QACtBD,UAAU,gBAAgB,CAACE,aAAaP;QACxCK,UAAU,QAAQ,CAACG;QACnBN,UAAUG,UAAU,OAAO,CAACI;IAChC;IAEAC,GAAG,+BAA+B;QAC9BC,OAAOT,QAAQ,SAAS,CAAC,gBAAgB,IAAI,CAAC;QAC9CS,OAAOT,QAAQ,SAAS,CAAC,YAAY,IAAI,CAAC;QAC1CS,OAAOT,QAAQ,SAAS,CAAC,QAAQ,IAAI,CAAC;QACtCS,OAAOT,QAAQ,SAAS,CAAC,sBAAsB,IAAI,CAAC;IACxD;IAEAQ,GAAG,oFAAoF;QACnF,MAAME,MAAMV,QAAQ,aAAa,CAAC;YAC9B,WAAW;YACX,UAAU;YACV,kBAAkB;YAClB,eAAe;QACnB;QAEAS,OAAOC,KAAK,IAAI,CAAC;IACrB;IAEAF,GAAG,gDAAgD;QAC/CC,OAAO;YACHT,QAAQ,aAAa,CAAC;gBAClB,WAAW;gBACX,UAAU;gBACV,kBAAkB;gBAClB,eAAe;YACnB;QACJ,GAAG,OAAO,CAAC;IACf;IAEAQ,GAAG,6CAA6C;QAC5CC,OAAOT,QAAQ,mBAAmB,CAAC,YAAY,IAAI,CAAC;IACxD;IAEAQ,GAAG,uDAAuD;QACtDC,OAAOT,QAAQ,mBAAmB,CAAC,YAAY,QAAQ;QAEvDF,MAAM,KAAK;QAEXW,OAAOT,QAAQ,mBAAmB,CAAC,YAAY,QAAQ;IAC3D;IAEAQ,GAAG,wEAAwE;QACvEV,MAAM,QAAQ,CAAC;YACX;gBAAE,SAAS;gBAAW,MAAM;gBAAW,MAAM;YAAW;YACxD;gBAAE,SAAS;gBAAS,MAAM;YAAQ;SACrC;QAED,MAAMa,WAAWX,QAAQ,qBAAqB,CAAC;QAC/C,MAAMY,WAAWZ,QAAQ,qBAAqB,CAAC;QAE/C,IAAI,CAAC,WAAD,GAACa,MAAAA,cAAoB,CAAoBF,WACzC,MAAM,IAAIG,MAAM;QAEpB,IAAI,CAAC,WAAD,GAACD,MAAAA,cAAoB,CAAoBD,WACzC,MAAM,IAAIE,MAAM;QAEpBL,OAAOE,SAAS,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;QAClCF,OAAOE,SAAS,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;YAAC;YAAO;SAAO;QAC9DF,OAAOG,SAAS,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;QAClCH,OAAOG,SAAS,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa;IACxD;AACJ"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IReviewContentAdapter } from "@webiny/app-workflows/review/content/IReviewContentAdapter.js";
|
|
2
|
+
export declare const CmsReviewContentAdapter: import("@webiny/di").Abstraction<IReviewContentAdapter>;
|
|
3
|
+
export declare namespace CmsReviewContentAdapter {
|
|
4
|
+
type Interface = IReviewContentAdapter;
|
|
5
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/gateway/CmsReviewContentAdapter/abstractions.js","sources":["../../../../src/features/gateway/CmsReviewContentAdapter/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { IReviewContentAdapter } from \"@webiny/app-workflows/review/content/IReviewContentAdapter.js\";\n\nexport const CmsReviewContentAdapter = createAbstraction<IReviewContentAdapter>(\n \"Cms/Workflows/ReviewContentAdapter\"\n);\n\nexport namespace CmsReviewContentAdapter {\n export type Interface = IReviewContentAdapter;\n}\n"],"names":["CmsReviewContentAdapter","createAbstraction"],"mappings":";AAGO,MAAMA,0BAA0BC,kBACnC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/abstractions.js";
|
|
2
|
+
import type { ReviewTarget } from "@webiny/app-workflows/review/domain/types.js";
|
|
3
|
+
import type { ReviewDto } from "@webiny/app-workflows/review/gateway/dto.js";
|
|
4
|
+
import type { ReviewEnvelope } from "@webiny/app-workflows/review/gateway/dto.js";
|
|
5
|
+
import type { ReviewListEnvelope } from "@webiny/app-workflows/review/gateway/dto.js";
|
|
6
|
+
import type { ReviewWithFlagsDto } from "@webiny/app-workflows/review/gateway/dto.js";
|
|
7
|
+
import type { StepCandidateDto } from "@webiny/app-workflows/review/gateway/dto.js";
|
|
8
|
+
import type { WorkflowDto } from "@webiny/app-workflows/review/gateway/dto.js";
|
|
9
|
+
import type { ApproveReviewParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
10
|
+
import type { CancelForDeleteParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
11
|
+
import type { CancelReviewParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
12
|
+
import type { ListReviewsParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
13
|
+
import type { ListReviewStepCandidatesParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
14
|
+
import type { ListStepCandidatesParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
15
|
+
import type { ReassignReviewParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
16
|
+
import type { RejectReviewParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
17
|
+
import type { RequestReviewParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
18
|
+
import type { ReviewStepRef } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
19
|
+
import type { TakeOverReviewParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
20
|
+
import type { WorkflowAppKind } from "@webiny/app-workflows/domain/WorkflowAppKind.js";
|
|
21
|
+
import { ReviewAppGateway as GatewayAbstraction } from "@webiny/app-workflows/review/appGateway/abstractions.js";
|
|
22
|
+
import type { BlockingReviewDto } from "@webiny/app-workflows/review/gateway/dto.js";
|
|
23
|
+
import type { ReviewStepRunInfoDto } from "@webiny/app-workflows/review/gateway/dto.js";
|
|
24
|
+
import type { GetStepRunParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
25
|
+
import type { ListBlockingReviewsParams } from "@webiny/app-workflows/review/appGateway/IReviewAppGateway.js";
|
|
26
|
+
declare class CmsReviewGatewayImpl implements GatewayAbstraction.Interface {
|
|
27
|
+
private client;
|
|
28
|
+
readonly app: WorkflowAppKind;
|
|
29
|
+
constructor(client: MainGraphQLClient.Interface);
|
|
30
|
+
canHandle(namespace: string): boolean;
|
|
31
|
+
listWorkflows(): Promise<ReviewEnvelope<WorkflowDto[]>>;
|
|
32
|
+
getTargetReview(target: ReviewTarget): Promise<ReviewEnvelope<ReviewWithFlagsDto | null>>;
|
|
33
|
+
getReview(reviewId: string): Promise<ReviewEnvelope<ReviewWithFlagsDto>>;
|
|
34
|
+
listStepCandidates(params: ListStepCandidatesParams): Promise<ReviewEnvelope<StepCandidateDto[]>>;
|
|
35
|
+
listReviewStepCandidates(params: ListReviewStepCandidatesParams): Promise<ReviewEnvelope<StepCandidateDto[]>>;
|
|
36
|
+
listReviews(params: ListReviewsParams): Promise<ReviewListEnvelope>;
|
|
37
|
+
requestReview(params: RequestReviewParams): Promise<ReviewEnvelope<ReviewDto>>;
|
|
38
|
+
startStep(params: ReviewStepRef): Promise<ReviewEnvelope<ReviewDto>>;
|
|
39
|
+
takeOverStep(params: TakeOverReviewParams): Promise<ReviewEnvelope<ReviewDto>>;
|
|
40
|
+
reassignStep(params: ReassignReviewParams): Promise<ReviewEnvelope<ReviewDto>>;
|
|
41
|
+
approveStep(params: ApproveReviewParams): Promise<ReviewEnvelope<ReviewDto>>;
|
|
42
|
+
rejectStep(params: RejectReviewParams): Promise<ReviewEnvelope<ReviewDto>>;
|
|
43
|
+
cancelReview(params: CancelReviewParams): Promise<ReviewEnvelope<ReviewDto>>;
|
|
44
|
+
restartStep(params: ReviewStepRef): Promise<ReviewEnvelope<ReviewDto>>;
|
|
45
|
+
getStepRun(params: GetStepRunParams): Promise<ReviewEnvelope<ReviewStepRunInfoDto | null>>;
|
|
46
|
+
listBlockingReviews(params: ListBlockingReviewsParams): Promise<ReviewEnvelope<BlockingReviewDto[]>>;
|
|
47
|
+
cancelForDelete(params: CancelForDeleteParams): Promise<ReviewEnvelope<ReviewDto[]>>;
|
|
48
|
+
}
|
|
49
|
+
export declare const CmsReviewGateway: typeof CmsReviewGatewayImpl & {
|
|
50
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/app-workflows/review/appGateway/IReviewAppGateway.js").IReviewAppGateway>;
|
|
51
|
+
};
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/abstractions.js";
|
|
2
|
+
import { isCmsAppName, parseAppName } from "../../../utils/appName.js";
|
|
3
|
+
import { ReviewAppGateway } from "@webiny/app-workflows/review/appGateway/abstractions.js";
|
|
4
|
+
import { APPROVE_CMS_ENTRY_REVIEW_STEP } from "../graphql/approveCmsEntryReviewStep.js";
|
|
5
|
+
import { CANCEL_CMS_ENTRY_REVIEW } from "../graphql/cancelCmsEntryReview.js";
|
|
6
|
+
import { CANCEL_CMS_ENTRY_REVIEWS_FOR_DELETE } from "../graphql/cancelCmsEntryReviewsForDelete.js";
|
|
7
|
+
import { GET_CMS_ENTRY_REVIEW } from "../graphql/getCmsEntryReview.js";
|
|
8
|
+
import { GET_CMS_ENTRY_TARGET_REVIEW } from "../graphql/getCmsEntryTargetReview.js";
|
|
9
|
+
import { LIST_CMS_ENTRY_REVIEW_STEP_CANDIDATES } from "../graphql/listCmsEntryReviewStepCandidates.js";
|
|
10
|
+
import { LIST_CMS_ENTRY_REVIEWS } from "../graphql/listCmsEntryReviews.js";
|
|
11
|
+
import { LIST_CMS_ENTRY_STEP_CANDIDATES } from "../graphql/listCmsEntryStepCandidates.js";
|
|
12
|
+
import { LIST_CMS_ENTRY_WORKFLOWS } from "../graphql/listCmsEntryWorkflows.js";
|
|
13
|
+
import { REASSIGN_CMS_ENTRY_REVIEW_STEP } from "../graphql/reassignCmsEntryReviewStep.js";
|
|
14
|
+
import { REJECT_CMS_ENTRY_REVIEW_STEP } from "../graphql/rejectCmsEntryReviewStep.js";
|
|
15
|
+
import { REQUEST_CMS_ENTRY_REVIEW } from "../graphql/requestCmsEntryReview.js";
|
|
16
|
+
import { START_CMS_ENTRY_REVIEW_STEP } from "../graphql/startCmsEntryReviewStep.js";
|
|
17
|
+
import { TAKE_OVER_CMS_ENTRY_REVIEW_STEP } from "../graphql/takeOverCmsEntryReviewStep.js";
|
|
18
|
+
import { GET_CMS_ENTRY_REVIEW_STEP_RUN } from "../graphql/getCmsEntryReviewStepRun.js";
|
|
19
|
+
import { LIST_CMS_ENTRY_BLOCKING_REVIEWS } from "../graphql/listCmsEntryBlockingReviews.js";
|
|
20
|
+
import { RESTART_CMS_ENTRY_REVIEW_STEP } from "../graphql/restartCmsEntryReviewStep.js";
|
|
21
|
+
class CmsReviewGatewayImpl {
|
|
22
|
+
constructor(client){
|
|
23
|
+
this.client = client;
|
|
24
|
+
this.app = "cms";
|
|
25
|
+
}
|
|
26
|
+
canHandle(namespace) {
|
|
27
|
+
return isCmsAppName(namespace);
|
|
28
|
+
}
|
|
29
|
+
async listWorkflows() {
|
|
30
|
+
const response = await this.client.execute({
|
|
31
|
+
query: LIST_CMS_ENTRY_WORKFLOWS
|
|
32
|
+
});
|
|
33
|
+
return response.cms.listCmsEntryWorkflows;
|
|
34
|
+
}
|
|
35
|
+
async getTargetReview(target) {
|
|
36
|
+
const modelId = parseAppName(target.namespace);
|
|
37
|
+
const response = await this.client.execute({
|
|
38
|
+
query: GET_CMS_ENTRY_TARGET_REVIEW,
|
|
39
|
+
variables: {
|
|
40
|
+
modelId,
|
|
41
|
+
revisionId: target.targetRevisionId
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
return response.cms.getCmsEntryTargetReview;
|
|
45
|
+
}
|
|
46
|
+
async getReview(reviewId) {
|
|
47
|
+
const response = await this.client.execute({
|
|
48
|
+
query: GET_CMS_ENTRY_REVIEW,
|
|
49
|
+
variables: {
|
|
50
|
+
id: reviewId
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return response.cms.getCmsEntryReview;
|
|
54
|
+
}
|
|
55
|
+
async listStepCandidates(params) {
|
|
56
|
+
const modelId = parseAppName(params.target.namespace);
|
|
57
|
+
const response = await this.client.execute({
|
|
58
|
+
query: LIST_CMS_ENTRY_STEP_CANDIDATES,
|
|
59
|
+
variables: {
|
|
60
|
+
workflowId: params.workflowId,
|
|
61
|
+
stepId: params.stepId,
|
|
62
|
+
modelId,
|
|
63
|
+
revisionId: params.target.targetRevisionId
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return response.cms.listCmsEntryStepCandidates;
|
|
67
|
+
}
|
|
68
|
+
async listReviewStepCandidates(params) {
|
|
69
|
+
const response = await this.client.execute({
|
|
70
|
+
query: LIST_CMS_ENTRY_REVIEW_STEP_CANDIDATES,
|
|
71
|
+
variables: {
|
|
72
|
+
reviewId: params.reviewId,
|
|
73
|
+
stepId: params.stepId
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return response.cms.listCmsEntryReviewStepCandidates;
|
|
77
|
+
}
|
|
78
|
+
async listReviews(params) {
|
|
79
|
+
const response = await this.client.execute({
|
|
80
|
+
query: LIST_CMS_ENTRY_REVIEWS,
|
|
81
|
+
variables: {
|
|
82
|
+
list: params.list,
|
|
83
|
+
where: params.where,
|
|
84
|
+
sort: params.sort,
|
|
85
|
+
limit: params.limit,
|
|
86
|
+
after: params.after
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
return response.cms.listCmsEntryReviews;
|
|
90
|
+
}
|
|
91
|
+
async requestReview(params) {
|
|
92
|
+
const modelId = parseAppName(params.target.namespace);
|
|
93
|
+
const response = await this.client.execute({
|
|
94
|
+
query: REQUEST_CMS_ENTRY_REVIEW,
|
|
95
|
+
variables: {
|
|
96
|
+
modelId,
|
|
97
|
+
revisionId: params.target.targetRevisionId,
|
|
98
|
+
title: params.title,
|
|
99
|
+
picks: params.picks
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
return response.cms.requestCmsEntryReview;
|
|
103
|
+
}
|
|
104
|
+
async startStep(params) {
|
|
105
|
+
const response = await this.client.execute({
|
|
106
|
+
query: START_CMS_ENTRY_REVIEW_STEP,
|
|
107
|
+
variables: {
|
|
108
|
+
reviewId: params.reviewId,
|
|
109
|
+
stepId: params.stepId
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
return response.cms.startCmsEntryReviewStep;
|
|
113
|
+
}
|
|
114
|
+
async takeOverStep(params) {
|
|
115
|
+
const response = await this.client.execute({
|
|
116
|
+
query: TAKE_OVER_CMS_ENTRY_REVIEW_STEP,
|
|
117
|
+
variables: {
|
|
118
|
+
reviewId: params.reviewId,
|
|
119
|
+
stepId: params.stepId,
|
|
120
|
+
notifyPreviousOwner: params.notifyPreviousOwner
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
return response.cms.takeOverCmsEntryReviewStep;
|
|
124
|
+
}
|
|
125
|
+
async reassignStep(params) {
|
|
126
|
+
const response = await this.client.execute({
|
|
127
|
+
query: REASSIGN_CMS_ENTRY_REVIEW_STEP,
|
|
128
|
+
variables: {
|
|
129
|
+
reviewId: params.reviewId,
|
|
130
|
+
stepId: params.stepId,
|
|
131
|
+
userId: params.userId
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return response.cms.reassignCmsEntryReviewStep;
|
|
135
|
+
}
|
|
136
|
+
async approveStep(params) {
|
|
137
|
+
const response = await this.client.execute({
|
|
138
|
+
query: APPROVE_CMS_ENTRY_REVIEW_STEP,
|
|
139
|
+
variables: {
|
|
140
|
+
reviewId: params.reviewId,
|
|
141
|
+
stepId: params.stepId,
|
|
142
|
+
comment: params.comment
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
return response.cms.approveCmsEntryReviewStep;
|
|
146
|
+
}
|
|
147
|
+
async rejectStep(params) {
|
|
148
|
+
const response = await this.client.execute({
|
|
149
|
+
query: REJECT_CMS_ENTRY_REVIEW_STEP,
|
|
150
|
+
variables: {
|
|
151
|
+
reviewId: params.reviewId,
|
|
152
|
+
stepId: params.stepId,
|
|
153
|
+
comment: params.comment
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
return response.cms.rejectCmsEntryReviewStep;
|
|
157
|
+
}
|
|
158
|
+
async cancelReview(params) {
|
|
159
|
+
const response = await this.client.execute({
|
|
160
|
+
query: CANCEL_CMS_ENTRY_REVIEW,
|
|
161
|
+
variables: {
|
|
162
|
+
reviewId: params.reviewId
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
return response.cms.cancelCmsEntryReview;
|
|
166
|
+
}
|
|
167
|
+
async restartStep(params) {
|
|
168
|
+
const response = await this.client.execute({
|
|
169
|
+
query: RESTART_CMS_ENTRY_REVIEW_STEP,
|
|
170
|
+
variables: {
|
|
171
|
+
reviewId: params.reviewId,
|
|
172
|
+
stepId: params.stepId
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
return response.cms.restartCmsEntryReviewStep;
|
|
176
|
+
}
|
|
177
|
+
async getStepRun(params) {
|
|
178
|
+
const response = await this.client.execute({
|
|
179
|
+
query: GET_CMS_ENTRY_REVIEW_STEP_RUN,
|
|
180
|
+
variables: {
|
|
181
|
+
reviewId: params.reviewId,
|
|
182
|
+
stepId: params.stepId,
|
|
183
|
+
taskId: params.taskId
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
return response.cms.getCmsEntryReviewStepRun;
|
|
187
|
+
}
|
|
188
|
+
async listBlockingReviews(params) {
|
|
189
|
+
const modelId = parseAppName(params.namespace);
|
|
190
|
+
const response = await this.client.execute({
|
|
191
|
+
query: LIST_CMS_ENTRY_BLOCKING_REVIEWS,
|
|
192
|
+
variables: {
|
|
193
|
+
modelId,
|
|
194
|
+
entryIds: params.targetIds
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
return response.cms.listCmsEntryBlockingReviews;
|
|
198
|
+
}
|
|
199
|
+
async cancelForDelete(params) {
|
|
200
|
+
const modelId = parseAppName(params.namespace);
|
|
201
|
+
const response = await this.client.execute({
|
|
202
|
+
query: CANCEL_CMS_ENTRY_REVIEWS_FOR_DELETE,
|
|
203
|
+
variables: {
|
|
204
|
+
modelId,
|
|
205
|
+
entryId: params.targetId,
|
|
206
|
+
revisionId: params.targetRevisionId,
|
|
207
|
+
action: params.action
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
return response.cms.cancelCmsEntryReviewsForDelete;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
const CmsReviewGateway = ReviewAppGateway.createImplementation({
|
|
214
|
+
implementation: CmsReviewGatewayImpl,
|
|
215
|
+
dependencies: [
|
|
216
|
+
MainGraphQLClient
|
|
217
|
+
]
|
|
218
|
+
});
|
|
219
|
+
export { CmsReviewGateway };
|
|
220
|
+
|
|
221
|
+
//# sourceMappingURL=CmsReviewGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/gateway/CmsReviewGateway/CmsReviewGateway.js","sources":["../../../../src/features/gateway/CmsReviewGateway/CmsReviewGateway.ts"],"sourcesContent":["import { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/abstractions.js\";\nimport type { ReviewTarget } from \"@webiny/app-workflows/review/domain/types.js\";\nimport type { ReviewDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ReviewEnvelope } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ReviewListEnvelope } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ReviewWithFlagsDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { StepCandidateDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { WorkflowDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ApproveReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { CancelForDeleteParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { CancelReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ListReviewsParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ListReviewStepCandidatesParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ListStepCandidatesParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ReassignReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { RejectReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { RequestReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ReviewStepRef } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { TakeOverReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { WorkflowAppKind } from \"@webiny/app-workflows/domain/WorkflowAppKind.js\";\nimport { isCmsAppName } from \"~/utils/appName.js\";\nimport { parseAppName } from \"~/utils/appName.js\";\nimport { ReviewAppGateway as GatewayAbstraction } from \"@webiny/app-workflows/review/appGateway/abstractions.js\";\nimport type { CmsOperationResponse } from \"../graphql/CmsOperationResponse.js\";\nimport type { BlockingReviewDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ReviewStepRunInfoDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { GetStepRunParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ListBlockingReviewsParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport { APPROVE_CMS_ENTRY_REVIEW_STEP } from \"../graphql/approveCmsEntryReviewStep.js\";\nimport { CANCEL_CMS_ENTRY_REVIEW } from \"../graphql/cancelCmsEntryReview.js\";\nimport { CANCEL_CMS_ENTRY_REVIEWS_FOR_DELETE } from \"../graphql/cancelCmsEntryReviewsForDelete.js\";\nimport { GET_CMS_ENTRY_REVIEW } from \"../graphql/getCmsEntryReview.js\";\nimport { GET_CMS_ENTRY_TARGET_REVIEW } from \"../graphql/getCmsEntryTargetReview.js\";\nimport { LIST_CMS_ENTRY_REVIEW_STEP_CANDIDATES } from \"../graphql/listCmsEntryReviewStepCandidates.js\";\nimport { LIST_CMS_ENTRY_REVIEWS } from \"../graphql/listCmsEntryReviews.js\";\nimport { LIST_CMS_ENTRY_STEP_CANDIDATES } from \"../graphql/listCmsEntryStepCandidates.js\";\nimport { LIST_CMS_ENTRY_WORKFLOWS } from \"../graphql/listCmsEntryWorkflows.js\";\nimport { REASSIGN_CMS_ENTRY_REVIEW_STEP } from \"../graphql/reassignCmsEntryReviewStep.js\";\nimport { REJECT_CMS_ENTRY_REVIEW_STEP } from \"../graphql/rejectCmsEntryReviewStep.js\";\nimport { REQUEST_CMS_ENTRY_REVIEW } from \"../graphql/requestCmsEntryReview.js\";\nimport { START_CMS_ENTRY_REVIEW_STEP } from \"../graphql/startCmsEntryReviewStep.js\";\nimport { TAKE_OVER_CMS_ENTRY_REVIEW_STEP } from \"../graphql/takeOverCmsEntryReviewStep.js\";\nimport { GET_CMS_ENTRY_REVIEW_STEP_RUN } from \"../graphql/getCmsEntryReviewStepRun.js\";\nimport { LIST_CMS_ENTRY_BLOCKING_REVIEWS } from \"../graphql/listCmsEntryBlockingReviews.js\";\nimport { RESTART_CMS_ENTRY_REVIEW_STEP } from \"../graphql/restartCmsEntryReviewStep.js\";\n\nclass CmsReviewGatewayImpl implements GatewayAbstraction.Interface {\n public readonly app: WorkflowAppKind = \"cms\";\n\n constructor(private client: MainGraphQLClient.Interface) {}\n\n // Every `cms.<modelId>` namespace (R347).\n canHandle(namespace: string): boolean {\n return isCmsAppName(namespace);\n }\n\n async listWorkflows(): Promise<ReviewEnvelope<WorkflowDto[]>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"listCmsEntryWorkflows\", ReviewEnvelope<WorkflowDto[]>>\n >({\n query: LIST_CMS_ENTRY_WORKFLOWS\n });\n\n return response.cms.listCmsEntryWorkflows;\n }\n\n async getTargetReview(\n target: ReviewTarget\n ): Promise<ReviewEnvelope<ReviewWithFlagsDto | null>> {\n const modelId = parseAppName(target.namespace);\n\n const response = await this.client.execute<\n CmsOperationResponse<\n \"getCmsEntryTargetReview\",\n ReviewEnvelope<ReviewWithFlagsDto | null>\n >\n >({\n query: GET_CMS_ENTRY_TARGET_REVIEW,\n variables: { modelId, revisionId: target.targetRevisionId }\n });\n\n return response.cms.getCmsEntryTargetReview;\n }\n\n async getReview(reviewId: string): Promise<ReviewEnvelope<ReviewWithFlagsDto>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"getCmsEntryReview\", ReviewEnvelope<ReviewWithFlagsDto>>\n >({\n query: GET_CMS_ENTRY_REVIEW,\n variables: { id: reviewId }\n });\n\n return response.cms.getCmsEntryReview;\n }\n\n async listStepCandidates(\n params: ListStepCandidatesParams\n ): Promise<ReviewEnvelope<StepCandidateDto[]>> {\n const modelId = parseAppName(params.target.namespace);\n\n const response = await this.client.execute<\n CmsOperationResponse<\"listCmsEntryStepCandidates\", ReviewEnvelope<StepCandidateDto[]>>\n >({\n query: LIST_CMS_ENTRY_STEP_CANDIDATES,\n variables: {\n workflowId: params.workflowId,\n stepId: params.stepId,\n modelId,\n revisionId: params.target.targetRevisionId\n }\n });\n\n return response.cms.listCmsEntryStepCandidates;\n }\n\n async listReviewStepCandidates(\n params: ListReviewStepCandidatesParams\n ): Promise<ReviewEnvelope<StepCandidateDto[]>> {\n const response = await this.client.execute<\n CmsOperationResponse<\n \"listCmsEntryReviewStepCandidates\",\n ReviewEnvelope<StepCandidateDto[]>\n >\n >({\n query: LIST_CMS_ENTRY_REVIEW_STEP_CANDIDATES,\n variables: { reviewId: params.reviewId, stepId: params.stepId }\n });\n\n return response.cms.listCmsEntryReviewStepCandidates;\n }\n\n async listReviews(params: ListReviewsParams): Promise<ReviewListEnvelope> {\n const response = await this.client.execute<\n CmsOperationResponse<\"listCmsEntryReviews\", ReviewListEnvelope>\n >({\n query: LIST_CMS_ENTRY_REVIEWS,\n variables: {\n list: params.list,\n where: params.where,\n sort: params.sort,\n limit: params.limit,\n after: params.after\n }\n });\n\n return response.cms.listCmsEntryReviews;\n }\n\n async requestReview(params: RequestReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const modelId = parseAppName(params.target.namespace);\n\n const response = await this.client.execute<\n CmsOperationResponse<\"requestCmsEntryReview\", ReviewEnvelope<ReviewDto>>\n >({\n query: REQUEST_CMS_ENTRY_REVIEW,\n variables: {\n modelId,\n revisionId: params.target.targetRevisionId,\n title: params.title,\n picks: params.picks\n }\n });\n\n return response.cms.requestCmsEntryReview;\n }\n\n async startStep(params: ReviewStepRef): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"startCmsEntryReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: START_CMS_ENTRY_REVIEW_STEP,\n variables: { reviewId: params.reviewId, stepId: params.stepId }\n });\n\n return response.cms.startCmsEntryReviewStep;\n }\n\n async takeOverStep(params: TakeOverReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"takeOverCmsEntryReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: TAKE_OVER_CMS_ENTRY_REVIEW_STEP,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n notifyPreviousOwner: params.notifyPreviousOwner\n }\n });\n\n return response.cms.takeOverCmsEntryReviewStep;\n }\n\n async reassignStep(params: ReassignReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"reassignCmsEntryReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: REASSIGN_CMS_ENTRY_REVIEW_STEP,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n userId: params.userId\n }\n });\n\n return response.cms.reassignCmsEntryReviewStep;\n }\n\n async approveStep(params: ApproveReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"approveCmsEntryReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: APPROVE_CMS_ENTRY_REVIEW_STEP,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n comment: params.comment\n }\n });\n\n return response.cms.approveCmsEntryReviewStep;\n }\n\n async rejectStep(params: RejectReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"rejectCmsEntryReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: REJECT_CMS_ENTRY_REVIEW_STEP,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n comment: params.comment\n }\n });\n\n return response.cms.rejectCmsEntryReviewStep;\n }\n\n async cancelReview(params: CancelReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"cancelCmsEntryReview\", ReviewEnvelope<ReviewDto>>\n >({\n query: CANCEL_CMS_ENTRY_REVIEW,\n variables: { reviewId: params.reviewId }\n });\n\n return response.cms.cancelCmsEntryReview;\n }\n\n async restartStep(params: ReviewStepRef): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n CmsOperationResponse<\"restartCmsEntryReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: RESTART_CMS_ENTRY_REVIEW_STEP,\n variables: { reviewId: params.reviewId, stepId: params.stepId }\n });\n\n return response.cms.restartCmsEntryReviewStep;\n }\n\n async getStepRun(\n params: GetStepRunParams\n ): Promise<ReviewEnvelope<ReviewStepRunInfoDto | null>> {\n const response = await this.client.execute<\n CmsOperationResponse<\n \"getCmsEntryReviewStepRun\",\n ReviewEnvelope<ReviewStepRunInfoDto | null>\n >\n >({\n query: GET_CMS_ENTRY_REVIEW_STEP_RUN,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n taskId: params.taskId\n }\n });\n\n return response.cms.getCmsEntryReviewStepRun;\n }\n\n async listBlockingReviews(\n params: ListBlockingReviewsParams\n ): Promise<ReviewEnvelope<BlockingReviewDto[]>> {\n const modelId = parseAppName(params.namespace);\n\n const response = await this.client.execute<\n CmsOperationResponse<\"listCmsEntryBlockingReviews\", ReviewEnvelope<BlockingReviewDto[]>>\n >({\n query: LIST_CMS_ENTRY_BLOCKING_REVIEWS,\n variables: { modelId, entryIds: params.targetIds }\n });\n\n return response.cms.listCmsEntryBlockingReviews;\n }\n\n async cancelForDelete(params: CancelForDeleteParams): Promise<ReviewEnvelope<ReviewDto[]>> {\n const modelId = parseAppName(params.namespace);\n\n const response = await this.client.execute<\n CmsOperationResponse<\"cancelCmsEntryReviewsForDelete\", ReviewEnvelope<ReviewDto[]>>\n >({\n query: CANCEL_CMS_ENTRY_REVIEWS_FOR_DELETE,\n variables: {\n modelId,\n entryId: params.targetId,\n revisionId: params.targetRevisionId,\n action: params.action\n }\n });\n\n return response.cms.cancelCmsEntryReviewsForDelete;\n }\n}\n\nexport const CmsReviewGateway = GatewayAbstraction.createImplementation({\n implementation: CmsReviewGatewayImpl,\n dependencies: [MainGraphQLClient]\n});\n"],"names":["CmsReviewGatewayImpl","client","namespace","isCmsAppName","response","LIST_CMS_ENTRY_WORKFLOWS","target","modelId","parseAppName","GET_CMS_ENTRY_TARGET_REVIEW","reviewId","GET_CMS_ENTRY_REVIEW","params","LIST_CMS_ENTRY_STEP_CANDIDATES","LIST_CMS_ENTRY_REVIEW_STEP_CANDIDATES","LIST_CMS_ENTRY_REVIEWS","REQUEST_CMS_ENTRY_REVIEW","START_CMS_ENTRY_REVIEW_STEP","TAKE_OVER_CMS_ENTRY_REVIEW_STEP","REASSIGN_CMS_ENTRY_REVIEW_STEP","APPROVE_CMS_ENTRY_REVIEW_STEP","REJECT_CMS_ENTRY_REVIEW_STEP","CANCEL_CMS_ENTRY_REVIEW","RESTART_CMS_ENTRY_REVIEW_STEP","GET_CMS_ENTRY_REVIEW_STEP_RUN","LIST_CMS_ENTRY_BLOCKING_REVIEWS","CANCEL_CMS_ENTRY_REVIEWS_FOR_DELETE","CmsReviewGateway","GatewayAbstraction","MainGraphQLClient"],"mappings":";;;;;;;;;;;;;;;;;;;;AA8CA,MAAMA;IAGF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;aAFJ,GAAG,GAAoB;IAEmB;IAG1D,UAAUC,SAAiB,EAAW;QAClC,OAAOC,aAAaD;IACxB;IAEA,MAAM,gBAAwD;QAC1D,MAAME,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOC;QACX;QAEA,OAAOD,SAAS,GAAG,CAAC,qBAAqB;IAC7C;IAEA,MAAM,gBACFE,MAAoB,EAC8B;QAClD,MAAMC,UAAUC,aAAaF,OAAO,SAAS;QAE7C,MAAMF,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAKxC;YACE,OAAOK;YACP,WAAW;gBAAEF;gBAAS,YAAYD,OAAO,gBAAgB;YAAC;QAC9D;QAEA,OAAOF,SAAS,GAAG,CAAC,uBAAuB;IAC/C;IAEA,MAAM,UAAUM,QAAgB,EAA+C;QAC3E,MAAMN,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOO;YACP,WAAW;gBAAE,IAAID;YAAS;QAC9B;QAEA,OAAON,SAAS,GAAG,CAAC,iBAAiB;IACzC;IAEA,MAAM,mBACFQ,MAAgC,EACW;QAC3C,MAAML,UAAUC,aAAaI,OAAO,MAAM,CAAC,SAAS;QAEpD,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOS;YACP,WAAW;gBACP,YAAYD,OAAO,UAAU;gBAC7B,QAAQA,OAAO,MAAM;gBACrBL;gBACA,YAAYK,OAAO,MAAM,CAAC,gBAAgB;YAC9C;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,0BAA0B;IAClD;IAEA,MAAM,yBACFQ,MAAsC,EACK;QAC3C,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAKxC;YACE,OAAOU;YACP,WAAW;gBAAE,UAAUF,OAAO,QAAQ;gBAAE,QAAQA,OAAO,MAAM;YAAC;QAClE;QAEA,OAAOR,SAAS,GAAG,CAAC,gCAAgC;IACxD;IAEA,MAAM,YAAYQ,MAAyB,EAA+B;QACtE,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOW;YACP,WAAW;gBACP,MAAMH,OAAO,IAAI;gBACjB,OAAOA,OAAO,KAAK;gBACnB,MAAMA,OAAO,IAAI;gBACjB,OAAOA,OAAO,KAAK;gBACnB,OAAOA,OAAO,KAAK;YACvB;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,mBAAmB;IAC3C;IAEA,MAAM,cAAcQ,MAA2B,EAAsC;QACjF,MAAML,UAAUC,aAAaI,OAAO,MAAM,CAAC,SAAS;QAEpD,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOY;YACP,WAAW;gBACPT;gBACA,YAAYK,OAAO,MAAM,CAAC,gBAAgB;gBAC1C,OAAOA,OAAO,KAAK;gBACnB,OAAOA,OAAO,KAAK;YACvB;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,qBAAqB;IAC7C;IAEA,MAAM,UAAUQ,MAAqB,EAAsC;QACvE,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOa;YACP,WAAW;gBAAE,UAAUL,OAAO,QAAQ;gBAAE,QAAQA,OAAO,MAAM;YAAC;QAClE;QAEA,OAAOR,SAAS,GAAG,CAAC,uBAAuB;IAC/C;IAEA,MAAM,aAAaQ,MAA4B,EAAsC;QACjF,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOc;YACP,WAAW;gBACP,UAAUN,OAAO,QAAQ;gBACzB,QAAQA,OAAO,MAAM;gBACrB,qBAAqBA,OAAO,mBAAmB;YACnD;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,0BAA0B;IAClD;IAEA,MAAM,aAAaQ,MAA4B,EAAsC;QACjF,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOe;YACP,WAAW;gBACP,UAAUP,OAAO,QAAQ;gBACzB,QAAQA,OAAO,MAAM;gBACrB,QAAQA,OAAO,MAAM;YACzB;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,0BAA0B;IAClD;IAEA,MAAM,YAAYQ,MAA2B,EAAsC;QAC/E,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOgB;YACP,WAAW;gBACP,UAAUR,OAAO,QAAQ;gBACzB,QAAQA,OAAO,MAAM;gBACrB,SAASA,OAAO,OAAO;YAC3B;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,yBAAyB;IACjD;IAEA,MAAM,WAAWQ,MAA0B,EAAsC;QAC7E,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOiB;YACP,WAAW;gBACP,UAAUT,OAAO,QAAQ;gBACzB,QAAQA,OAAO,MAAM;gBACrB,SAASA,OAAO,OAAO;YAC3B;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,wBAAwB;IAChD;IAEA,MAAM,aAAaQ,MAA0B,EAAsC;QAC/E,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOkB;YACP,WAAW;gBAAE,UAAUV,OAAO,QAAQ;YAAC;QAC3C;QAEA,OAAOR,SAAS,GAAG,CAAC,oBAAoB;IAC5C;IAEA,MAAM,YAAYQ,MAAqB,EAAsC;QACzE,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOmB;YACP,WAAW;gBAAE,UAAUX,OAAO,QAAQ;gBAAE,QAAQA,OAAO,MAAM;YAAC;QAClE;QAEA,OAAOR,SAAS,GAAG,CAAC,yBAAyB;IACjD;IAEA,MAAM,WACFQ,MAAwB,EAC4B;QACpD,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAKxC;YACE,OAAOoB;YACP,WAAW;gBACP,UAAUZ,OAAO,QAAQ;gBACzB,QAAQA,OAAO,MAAM;gBACrB,QAAQA,OAAO,MAAM;YACzB;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,wBAAwB;IAChD;IAEA,MAAM,oBACFQ,MAAiC,EACW;QAC5C,MAAML,UAAUC,aAAaI,OAAO,SAAS;QAE7C,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOqB;YACP,WAAW;gBAAElB;gBAAS,UAAUK,OAAO,SAAS;YAAC;QACrD;QAEA,OAAOR,SAAS,GAAG,CAAC,2BAA2B;IACnD;IAEA,MAAM,gBAAgBQ,MAA6B,EAAwC;QACvF,MAAML,UAAUC,aAAaI,OAAO,SAAS;QAE7C,MAAMR,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAExC;YACE,OAAOsB;YACP,WAAW;gBACPnB;gBACA,SAASK,OAAO,QAAQ;gBACxB,YAAYA,OAAO,gBAAgB;gBACnC,QAAQA,OAAO,MAAM;YACzB;QACJ;QAEA,OAAOR,SAAS,GAAG,CAAC,8BAA8B;IACtD;AACJ;AAEO,MAAMuB,mBAAmBC,iBAAAA,oBAAuC,CAAC;IACpE,gBAAgB5B;IAChB,cAAc;QAAC6B;KAAkB;AACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|