@strapi/review-workflows 5.12.1 → 5.12.2
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/dist/admin/{chunks/index-DcEF47R4.mjs → assets/balloon.png.js} +3 -1078
- package/dist/admin/assets/balloon.png.js.map +1 -0
- package/dist/admin/{chunks/index-CzdEqFOm.js → assets/balloon.png.mjs} +2 -1113
- package/dist/admin/assets/balloon.png.mjs.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
- package/dist/admin/{chunks/purchase-review-workflows-4n0KXAeo.mjs → assets/purchase-page-illustration-light.svg.js} +3 -197
- package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
- package/dist/admin/{chunks/purchase-review-workflows-BDLncDcz.js → assets/purchase-page-illustration-light.svg.mjs} +2 -200
- package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
- package/dist/admin/components/LimitsModal.js +122 -0
- package/dist/admin/components/LimitsModal.js.map +1 -0
- package/dist/admin/components/LimitsModal.mjs +120 -0
- package/dist/admin/components/LimitsModal.mjs.map +1 -0
- package/dist/admin/constants.js +18 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +12 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/index.js +87 -13
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +88 -12
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/modules/hooks.js +8 -0
- package/dist/admin/modules/hooks.js.map +1 -0
- package/dist/admin/modules/hooks.mjs +6 -0
- package/dist/admin/modules/hooks.mjs.map +1 -0
- package/dist/admin/{chunks/router-ChVwf8TN.js → router.js} +3 -3
- package/dist/admin/router.js.map +1 -0
- package/dist/admin/{chunks/router-D-YCUzYy.mjs → router.mjs} +3 -3
- package/dist/admin/router.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/components/TableColumns.js +44 -0
- package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -0
- package/dist/admin/routes/content-manager/model/components/TableColumns.mjs +41 -0
- package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/constants.js +60 -0
- package/dist/admin/routes/content-manager/model/constants.js.map +1 -0
- package/dist/admin/routes/content-manager/model/constants.mjs +58 -0
- package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js +169 -0
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs +148 -0
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/Header.js +31 -0
- package/dist/admin/routes/content-manager/model/id/components/Header.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/Header.mjs +29 -0
- package/dist/admin/routes/content-manager/model/id/components/Header.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/Panel.js +39 -0
- package/dist/admin/routes/content-manager/model/id/components/Panel.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/Panel.mjs +37 -0
- package/dist/admin/routes/content-manager/model/id/components/Panel.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.js +329 -0
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +308 -0
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/constants.js +8 -0
- package/dist/admin/routes/content-manager/model/id/components/constants.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/constants.mjs +5 -0
- package/dist/admin/routes/content-manager/model/id/components/constants.mjs.map +1 -0
- package/dist/admin/routes/purchase-review-workflows.js +194 -0
- package/dist/admin/routes/purchase-review-workflows.js.map +1 -0
- package/dist/admin/routes/purchase-review-workflows.mjs +192 -0
- package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -0
- package/dist/admin/routes/settings/components/AddStage.js +51 -0
- package/dist/admin/routes/settings/components/AddStage.js.map +1 -0
- package/dist/admin/routes/settings/components/AddStage.mjs +49 -0
- package/dist/admin/routes/settings/components/AddStage.mjs.map +1 -0
- package/dist/admin/routes/settings/components/Layout.js +86 -0
- package/dist/admin/routes/settings/components/Layout.js.map +1 -0
- package/dist/admin/routes/settings/components/Layout.mjs +82 -0
- package/dist/admin/routes/settings/components/Layout.mjs.map +1 -0
- package/dist/admin/routes/settings/components/StageDragPreview.js +40 -0
- package/dist/admin/routes/settings/components/StageDragPreview.js.map +1 -0
- package/dist/admin/routes/settings/components/StageDragPreview.mjs +38 -0
- package/dist/admin/routes/settings/components/StageDragPreview.mjs.map +1 -0
- package/dist/admin/routes/settings/components/Stages.js +593 -0
- package/dist/admin/routes/settings/components/Stages.js.map +1 -0
- package/dist/admin/routes/settings/components/Stages.mjs +572 -0
- package/dist/admin/routes/settings/components/Stages.mjs.map +1 -0
- package/dist/admin/routes/settings/components/WorkflowAttributes.js +203 -0
- package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -0
- package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +201 -0
- package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -0
- package/dist/admin/routes/settings/constants.js +8 -0
- package/dist/admin/routes/settings/constants.js.map +1 -0
- package/dist/admin/routes/settings/constants.mjs +6 -0
- package/dist/admin/routes/settings/constants.mjs.map +1 -0
- package/dist/admin/routes/settings/hooks/useDragAndDrop.js +193 -0
- package/dist/admin/routes/settings/hooks/useDragAndDrop.js.map +1 -0
- package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs +170 -0
- package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs.map +1 -0
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js +94 -0
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js.map +1 -0
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs +73 -0
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
- package/dist/admin/{chunks/Layout-C4ri_ldC.js → routes/settings/hooks/useReviewWorkflows.js} +6 -121
- package/dist/admin/routes/settings/hooks/useReviewWorkflows.js.map +1 -0
- package/dist/admin/{chunks/Layout-CF497D6H.mjs → routes/settings/hooks/useReviewWorkflows.mjs} +4 -115
- package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs.map +1 -0
- package/dist/admin/routes/settings/id.js +404 -0
- package/dist/admin/routes/settings/id.js.map +1 -0
- package/dist/admin/routes/settings/id.mjs +382 -0
- package/dist/admin/routes/settings/id.mjs.map +1 -0
- package/dist/admin/{chunks/index-CCx4kT-t.js → routes/settings/index.js} +15 -15
- package/dist/admin/routes/settings/index.js.map +1 -0
- package/dist/admin/{chunks/index-iChY7MsG.mjs → routes/settings/index.mjs} +7 -7
- package/dist/admin/routes/settings/index.mjs.map +1 -0
- package/dist/admin/services/admin.js +23 -0
- package/dist/admin/services/admin.js.map +1 -0
- package/dist/admin/services/admin.mjs +21 -0
- package/dist/admin/services/admin.mjs.map +1 -0
- package/dist/admin/services/api.js +15 -0
- package/dist/admin/services/api.js.map +1 -0
- package/dist/admin/services/api.mjs +13 -0
- package/dist/admin/services/api.mjs.map +1 -0
- package/dist/admin/services/content-manager.js +101 -0
- package/dist/admin/services/content-manager.js.map +1 -0
- package/dist/admin/services/content-manager.mjs +96 -0
- package/dist/admin/services/content-manager.mjs.map +1 -0
- package/dist/admin/services/settings.js +123 -0
- package/dist/admin/services/settings.js.map +1 -0
- package/dist/admin/services/settings.mjs +118 -0
- package/dist/admin/services/settings.mjs.map +1 -0
- package/dist/admin/{chunks/en-BNGiWajd.js → translations/en.json.js} +2 -2
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/{chunks/en-BrZXFtVv.mjs → translations/en.json.mjs} +1 -1
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/{chunks/uk-CbRUr1I7.js → translations/uk.json.js} +2 -2
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/{chunks/uk-DLlzEBUF.mjs → translations/uk.json.mjs} +1 -1
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/utils/api.js +22 -0
- package/dist/admin/utils/api.js.map +1 -0
- package/dist/admin/utils/api.mjs +19 -0
- package/dist/admin/utils/api.mjs.map +1 -0
- package/dist/admin/utils/cm-hooks.js +23 -0
- package/dist/admin/utils/cm-hooks.js.map +1 -0
- package/dist/admin/utils/cm-hooks.mjs +21 -0
- package/dist/admin/utils/cm-hooks.mjs.map +1 -0
- package/dist/admin/utils/colors.js +50 -0
- package/dist/admin/utils/colors.js.map +1 -0
- package/dist/admin/utils/colors.mjs +47 -0
- package/dist/admin/utils/colors.mjs.map +1 -0
- package/dist/admin/utils/translations.js +11 -0
- package/dist/admin/utils/translations.js.map +1 -0
- package/dist/admin/utils/translations.mjs +9 -0
- package/dist/admin/utils/translations.mjs.map +1 -0
- package/dist/admin/utils/users.js +17 -0
- package/dist/admin/utils/users.js.map +1 -0
- package/dist/admin/utils/users.mjs +15 -0
- package/dist/admin/utils/users.mjs.map +1 -0
- package/dist/server/bootstrap.js +54 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +52 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/config/actions.js +47 -0
- package/dist/server/config/actions.js.map +1 -0
- package/dist/server/config/actions.mjs +45 -0
- package/dist/server/config/actions.mjs.map +1 -0
- package/dist/server/constants/default-stages.json.js +23 -0
- package/dist/server/constants/default-stages.json.js.map +1 -0
- package/dist/server/constants/default-stages.json.mjs +21 -0
- package/dist/server/constants/default-stages.json.mjs.map +1 -0
- package/dist/server/constants/default-workflow.json.js +12 -0
- package/dist/server/constants/default-workflow.json.js.map +1 -0
- package/dist/server/constants/default-workflow.json.mjs +7 -0
- package/dist/server/constants/default-workflow.json.mjs.map +1 -0
- package/dist/server/constants/webhook-events.js +12 -0
- package/dist/server/constants/webhook-events.js.map +1 -0
- package/dist/server/constants/webhook-events.mjs +7 -0
- package/dist/server/constants/webhook-events.mjs.map +1 -0
- package/dist/server/constants/workflows.js +53 -0
- package/dist/server/constants/workflows.js.map +1 -0
- package/dist/server/constants/workflows.mjs +42 -0
- package/dist/server/constants/workflows.mjs.map +1 -0
- package/dist/server/content-types/index.js +12 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/index.mjs +10 -0
- package/dist/server/content-types/index.mjs.map +1 -0
- package/dist/server/content-types/workflow/index.js +50 -0
- package/dist/server/content-types/workflow/index.js.map +1 -0
- package/dist/server/content-types/workflow/index.mjs +48 -0
- package/dist/server/content-types/workflow/index.mjs.map +1 -0
- package/dist/server/content-types/workflow-stage/index.js +54 -0
- package/dist/server/content-types/workflow-stage/index.js.map +1 -0
- package/dist/server/content-types/workflow-stage/index.mjs +52 -0
- package/dist/server/content-types/workflow-stage/index.mjs.map +1 -0
- package/dist/server/controllers/assignees.js +57 -0
- package/dist/server/controllers/assignees.js.map +1 -0
- package/dist/server/controllers/assignees.mjs +55 -0
- package/dist/server/controllers/assignees.mjs.map +1 -0
- package/dist/server/controllers/index.js +14 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +12 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/stages.js +167 -0
- package/dist/server/controllers/stages.js.map +1 -0
- package/dist/server/controllers/stages.mjs +165 -0
- package/dist/server/controllers/stages.mjs.map +1 -0
- package/dist/server/controllers/workflows.js +136 -0
- package/dist/server/controllers/workflows.js.map +1 -0
- package/dist/server/controllers/workflows.mjs +134 -0
- package/dist/server/controllers/workflows.mjs.map +1 -0
- package/dist/server/destroy.js +6 -0
- package/dist/server/destroy.js.map +1 -0
- package/dist/server/destroy.mjs +4 -0
- package/dist/server/destroy.mjs.map +1 -0
- package/dist/server/index.js +12 -2333
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +7 -2328
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/middlewares/review-workflows.js +42 -0
- package/dist/server/middlewares/review-workflows.js.map +1 -0
- package/dist/server/middlewares/review-workflows.mjs +37 -0
- package/dist/server/middlewares/review-workflows.mjs.map +1 -0
- package/dist/server/migrations/handle-deleted-ct-in-workflows.js +40 -0
- package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -0
- package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs +38 -0
- package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -0
- package/dist/server/migrations/multiple-workflows.js +41 -0
- package/dist/server/migrations/multiple-workflows.js.map +1 -0
- package/dist/server/migrations/multiple-workflows.mjs +39 -0
- package/dist/server/migrations/multiple-workflows.mjs.map +1 -0
- package/dist/server/migrations/set-stages-default-color.js +22 -0
- package/dist/server/migrations/set-stages-default-color.js.map +1 -0
- package/dist/server/migrations/set-stages-default-color.mjs +20 -0
- package/dist/server/migrations/set-stages-default-color.mjs.map +1 -0
- package/dist/server/migrations/set-stages-roles.js +56 -0
- package/dist/server/migrations/set-stages-roles.js.map +1 -0
- package/dist/server/migrations/set-stages-roles.mjs +54 -0
- package/dist/server/migrations/set-stages-roles.mjs.map +1 -0
- package/dist/server/migrations/set-workflow-default-name.js +29 -0
- package/dist/server/migrations/set-workflow-default-name.js.map +1 -0
- package/dist/server/migrations/set-workflow-default-name.mjs +27 -0
- package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -0
- package/dist/server/migrations/shorten-stage-attribute.js +45 -0
- package/dist/server/migrations/shorten-stage-attribute.js.map +1 -0
- package/dist/server/migrations/shorten-stage-attribute.mjs +43 -0
- package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -0
- package/dist/server/register.js +116 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +114 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/index.js +10 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +8 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/routes/review-workflows.js +186 -0
- package/dist/server/routes/review-workflows.js.map +1 -0
- package/dist/server/routes/review-workflows.mjs +184 -0
- package/dist/server/routes/review-workflows.mjs.map +1 -0
- package/dist/server/routes/utils.js +11 -0
- package/dist/server/routes/utils.js.map +1 -0
- package/dist/server/routes/utils.mjs +9 -0
- package/dist/server/routes/utils.mjs.map +1 -0
- package/dist/server/services/assignees.js +68 -0
- package/dist/server/services/assignees.js.map +1 -0
- package/dist/server/services/assignees.mjs +66 -0
- package/dist/server/services/assignees.mjs.map +1 -0
- package/dist/server/services/document-service-middleware.js +130 -0
- package/dist/server/services/document-service-middleware.js.map +1 -0
- package/dist/server/services/document-service-middleware.mjs +128 -0
- package/dist/server/services/document-service-middleware.mjs.map +1 -0
- package/dist/server/services/index.js +24 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +22 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/metrics/index.js +67 -0
- package/dist/server/services/metrics/index.js.map +1 -0
- package/dist/server/services/metrics/index.mjs +55 -0
- package/dist/server/services/metrics/index.mjs.map +1 -0
- package/dist/server/services/metrics/weekly-metrics.js +84 -0
- package/dist/server/services/metrics/weekly-metrics.js.map +1 -0
- package/dist/server/services/metrics/weekly-metrics.mjs +82 -0
- package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -0
- package/dist/server/services/stage-permissions.js +59 -0
- package/dist/server/services/stage-permissions.js.map +1 -0
- package/dist/server/services/stage-permissions.mjs +57 -0
- package/dist/server/services/stage-permissions.mjs.map +1 -0
- package/dist/server/services/stages.js +353 -0
- package/dist/server/services/stages.js.map +1 -0
- package/dist/server/services/stages.mjs +351 -0
- package/dist/server/services/stages.mjs.map +1 -0
- package/dist/server/services/validation.js +69 -0
- package/dist/server/services/validation.js.map +1 -0
- package/dist/server/services/validation.mjs +67 -0
- package/dist/server/services/validation.mjs.map +1 -0
- package/dist/server/services/workflow-content-types.js +90 -0
- package/dist/server/services/workflow-content-types.js.map +1 -0
- package/dist/server/services/workflow-content-types.mjs +88 -0
- package/dist/server/services/workflow-content-types.mjs.map +1 -0
- package/dist/server/services/workflows.js +279 -0
- package/dist/server/services/workflows.js.map +1 -0
- package/dist/server/services/workflows.mjs +277 -0
- package/dist/server/services/workflows.mjs.map +1 -0
- package/dist/server/utils/index.js +16 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +13 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/server/utils/review-workflows.js +36 -0
- package/dist/server/utils/review-workflows.js.map +1 -0
- package/dist/server/utils/review-workflows.mjs +30 -0
- package/dist/server/utils/review-workflows.mjs.map +1 -0
- package/dist/server/validation/review-workflows.js +71 -0
- package/dist/server/validation/review-workflows.js.map +1 -0
- package/dist/server/validation/review-workflows.mjs +65 -0
- package/dist/server/validation/review-workflows.mjs.map +1 -0
- package/package.json +5 -5
- package/dist/admin/chunks/Layout-C4ri_ldC.js.map +0 -1
- package/dist/admin/chunks/Layout-CF497D6H.mjs.map +0 -1
- package/dist/admin/chunks/en-BNGiWajd.js.map +0 -1
- package/dist/admin/chunks/en-BrZXFtVv.mjs.map +0 -1
- package/dist/admin/chunks/id-DVOtqJqn.js +0 -1442
- package/dist/admin/chunks/id-DVOtqJqn.js.map +0 -1
- package/dist/admin/chunks/id-QD0V9dME.mjs +0 -1420
- package/dist/admin/chunks/id-QD0V9dME.mjs.map +0 -1
- package/dist/admin/chunks/index-CCx4kT-t.js.map +0 -1
- package/dist/admin/chunks/index-CzdEqFOm.js.map +0 -1
- package/dist/admin/chunks/index-DcEF47R4.mjs.map +0 -1
- package/dist/admin/chunks/index-iChY7MsG.mjs.map +0 -1
- package/dist/admin/chunks/purchase-review-workflows-4n0KXAeo.mjs.map +0 -1
- package/dist/admin/chunks/purchase-review-workflows-BDLncDcz.js.map +0 -1
- package/dist/admin/chunks/router-ChVwf8TN.js.map +0 -1
- package/dist/admin/chunks/router-D-YCUzYy.mjs.map +0 -1
- package/dist/admin/chunks/uk-CbRUr1I7.js.map +0 -1
- package/dist/admin/chunks/uk-DLlzEBUF.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.mjs","sources":["../../../admin/src/services/settings.ts"],"sourcesContent":["import { reviewWorkflowsApi } from './api';\n\nimport type { Create, Update, Delete, GetAll } from '../../../shared/contracts/review-workflows';\n\nconst settingsApi = reviewWorkflowsApi.injectEndpoints({\n endpoints: (builder) => ({\n getWorkflows: builder.query<\n {\n workflows: GetAll.Response['data'];\n meta?: GetAll.Response['meta'];\n },\n GetWorkflowsParams | void\n >({\n query: (args) => {\n return {\n url: '/review-workflows/workflows',\n method: 'GET',\n config: {\n params: args ?? {},\n },\n };\n },\n transformResponse: (res: GetAll.Response) => {\n return {\n workflows: res.data,\n meta: 'meta' in res ? res.meta : undefined,\n };\n },\n providesTags: (res) => {\n return [\n ...(res?.workflows.map(({ id }) => ({ type: 'ReviewWorkflow' as const, id })) ?? []),\n { type: 'ReviewWorkflow' as const, id: 'LIST' },\n ];\n },\n }),\n createWorkflow: builder.mutation<Create.Response['data'], Create.Request['body']>({\n query: (data) => ({\n url: '/review-workflows/workflows',\n method: 'POST',\n data,\n }),\n transformResponse: (res: Create.Response) => res.data,\n invalidatesTags(res) {\n return [\n { type: 'ReviewWorkflow' as const, id: 'LIST' },\n 'ReviewWorkflowStages',\n { type: 'Document', id: `ALL_LIST` },\n { type: 'ContentTypeSettings', id: 'LIST' },\n ...(res?.contentTypes.map((uid) => ({\n type: 'Document' as const,\n id: `${uid}_ALL_ITEMS`,\n })) ?? []),\n ];\n },\n }),\n updateWorkflow: builder.mutation<\n Update.Response['data'],\n Update.Request['body'] & Update.Params\n >({\n query: ({ id, ...data }) => ({\n url: `/review-workflows/workflows/${id}`,\n method: 'PUT',\n data,\n }),\n transformResponse: (res: Update.Response) => res.data,\n invalidatesTags: (res, _err, arg) => [\n { type: 'ReviewWorkflow' as const, id: arg.id },\n 'ReviewWorkflowStages',\n { type: 'Document', id: 'ALL_LIST' },\n { type: 'ContentTypeSettings', id: 'LIST' },\n ...(res?.contentTypes.map((uid) => ({\n type: 'Document' as const,\n id: `${uid}_ALL_ITEMS`,\n })) ?? []),\n ],\n }),\n deleteWorkflow: builder.mutation<Delete.Response['data'], Delete.Params>({\n query: ({ id }) => ({\n url: `/review-workflows/workflows/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (res: Delete.Response) => res.data,\n invalidatesTags: (res, _err, arg) => [\n { type: 'ReviewWorkflow' as const, id: arg.id },\n 'ReviewWorkflowStages',\n { type: 'Document', id: `ALL_LIST` },\n { type: 'ContentTypeSettings', id: 'LIST' },\n ],\n }),\n }),\n overrideExisting: false,\n});\n\ntype GetWorkflowsParams = GetAll.Request['query'];\n\nconst {\n useGetWorkflowsQuery,\n useCreateWorkflowMutation,\n useDeleteWorkflowMutation,\n useUpdateWorkflowMutation,\n} = settingsApi;\n\nexport {\n useGetWorkflowsQuery,\n useCreateWorkflowMutation,\n useDeleteWorkflowMutation,\n useUpdateWorkflowMutation,\n type GetWorkflowsParams,\n};\n"],"names":["settingsApi","reviewWorkflowsApi","injectEndpoints","endpoints","builder","getWorkflows","query","args","url","method","config","params","transformResponse","res","workflows","data","meta","undefined","providesTags","map","id","type","createWorkflow","mutation","invalidatesTags","contentTypes","uid","updateWorkflow","_err","arg","deleteWorkflow","overrideExisting","useGetWorkflowsQuery","useCreateWorkflowMutation","useDeleteWorkflowMutation","useUpdateWorkflowMutation"],"mappings":";;AAIA,MAAMA,WAAAA,GAAcC,kBAAmBC,CAAAA,eAAe,CAAC;IACrDC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,KAAK,CAMzB;AACAA,gBAAAA,KAAAA,EAAO,CAACC,IAAAA,GAAAA;oBACN,OAAO;wBACLC,GAAK,EAAA,6BAAA;wBACLC,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACNC,4BAAAA,MAAAA,EAAQJ,QAAQ;AAClB;AACF,qBAAA;AACF,iBAAA;AACAK,gBAAAA,iBAAAA,EAAmB,CAACC,GAAAA,GAAAA;oBAClB,OAAO;AACLC,wBAAAA,SAAAA,EAAWD,IAAIE,IAAI;AACnBC,wBAAAA,IAAAA,EAAM,MAAUH,IAAAA,GAAAA,GAAMA,GAAIG,CAAAA,IAAI,GAAGC;AACnC,qBAAA;AACF,iBAAA;AACAC,gBAAAA,YAAAA,EAAc,CAACL,GAAAA,GAAAA;oBACb,OAAO;AACDA,wBAAAA,GAAAA,GAAAA,EAAKC,UAAUK,GAAI,CAAA,CAAC,EAAEC,EAAE,EAAE,IAAM;gCAAEC,IAAM,EAAA,gBAAA;AAA2BD,gCAAAA;AAAG,6BAAA,MAAO,EAAE;AACnF,wBAAA;4BAAEC,IAAM,EAAA,gBAAA;4BAA2BD,EAAI,EAAA;AAAO;AAC/C,qBAAA;AACH;AACF,aAAA,CAAA;YACAE,cAAgBlB,EAAAA,OAAAA,CAAQmB,QAAQ,CAAkD;gBAChFjB,KAAO,EAAA,CAACS,QAAU;wBAChBP,GAAK,EAAA,6BAAA;wBACLC,MAAQ,EAAA,MAAA;AACRM,wBAAAA;qBACF,CAAA;gBACAH,iBAAmB,EAAA,CAACC,GAAyBA,GAAAA,GAAAA,CAAIE,IAAI;AACrDS,gBAAAA,eAAAA,CAAAA,CAAgBX,GAAG,EAAA;oBACjB,OAAO;AACL,wBAAA;4BAAEQ,IAAM,EAAA,gBAAA;4BAA2BD,EAAI,EAAA;AAAO,yBAAA;AAC9C,wBAAA,sBAAA;AACA,wBAAA;4BAAEC,IAAM,EAAA,UAAA;4BAAYD,EAAI,EAAA,CAAC,QAAQ;AAAE,yBAAA;AACnC,wBAAA;4BAAEC,IAAM,EAAA,qBAAA;4BAAuBD,EAAI,EAAA;AAAO,yBAAA;AACtCP,wBAAAA,GAAAA,GAAAA,EAAKY,YAAaN,CAAAA,GAAAA,CAAI,CAACO,GAAAA,IAAS;gCAClCL,IAAM,EAAA,UAAA;AACND,gCAAAA,EAAAA,EAAI,CAAC,EAAEM,GAAI,CAAA,UAAU;AACvB,6BAAA,MAAO;AACR,qBAAA;AACH;AACF,aAAA,CAAA;YACAC,cAAgBvB,EAAAA,OAAAA,CAAQmB,QAAQ,CAG9B;AACAjB,gBAAAA,KAAAA,EAAO,CAAC,EAAEc,EAAE,EAAE,GAAGL,IAAAA,EAAM,IAAM;AAC3BP,wBAAAA,GAAAA,EAAK,CAAC,4BAA4B,EAAEY,EAAAA,CAAG,CAAC;wBACxCX,MAAQ,EAAA,KAAA;AACRM,wBAAAA;qBACF,CAAA;gBACAH,iBAAmB,EAAA,CAACC,GAAyBA,GAAAA,GAAAA,CAAIE,IAAI;gBACrDS,eAAiB,EAAA,CAACX,GAAKe,EAAAA,IAAAA,EAAMC,GAAQ,GAAA;AACnC,wBAAA;4BAAER,IAAM,EAAA,gBAAA;AAA2BD,4BAAAA,EAAAA,EAAIS,IAAIT;AAAG,yBAAA;AAC9C,wBAAA,sBAAA;AACA,wBAAA;4BAAEC,IAAM,EAAA,UAAA;4BAAYD,EAAI,EAAA;AAAW,yBAAA;AACnC,wBAAA;4BAAEC,IAAM,EAAA,qBAAA;4BAAuBD,EAAI,EAAA;AAAO,yBAAA;AACtCP,wBAAAA,GAAAA,GAAAA,EAAKY,YAAaN,CAAAA,GAAAA,CAAI,CAACO,GAAAA,IAAS;gCAClCL,IAAM,EAAA,UAAA;AACND,gCAAAA,EAAAA,EAAI,CAAC,EAAEM,GAAI,CAAA,UAAU;AACvB,6BAAA,MAAO;AACR;AACH,aAAA,CAAA;YACAI,cAAgB1B,EAAAA,OAAAA,CAAQmB,QAAQ,CAAyC;AACvEjB,gBAAAA,KAAAA,EAAO,CAAC,EAAEc,EAAE,EAAE,IAAM;AAClBZ,wBAAAA,GAAAA,EAAK,CAAC,4BAA4B,EAAEY,EAAAA,CAAG,CAAC;wBACxCX,MAAQ,EAAA;qBACV,CAAA;gBACAG,iBAAmB,EAAA,CAACC,GAAyBA,GAAAA,GAAAA,CAAIE,IAAI;gBACrDS,eAAiB,EAAA,CAACX,GAAKe,EAAAA,IAAAA,EAAMC,GAAQ,GAAA;AACnC,wBAAA;4BAAER,IAAM,EAAA,gBAAA;AAA2BD,4BAAAA,EAAAA,EAAIS,IAAIT;AAAG,yBAAA;AAC9C,wBAAA,sBAAA;AACA,wBAAA;4BAAEC,IAAM,EAAA,UAAA;4BAAYD,EAAI,EAAA,CAAC,QAAQ;AAAE,yBAAA;AACnC,wBAAA;4BAAEC,IAAM,EAAA,qBAAA;4BAAuBD,EAAI,EAAA;AAAO;AAC3C;AACH,aAAA;SACF,CAAA;IACAW,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAIM,MAAA,EACJC,oBAAoB,EACpBC,yBAAyB,EACzBC,yBAAyB,EACzBC,yBAAyB,EAC1B,GAAGnC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
|
|
@@ -12,5 +12,5 @@ var uk = {
|
|
|
12
12
|
"settings.review-workflows.workflow.stageRequiredToPublish.hint": "Запобігає публікації записів, якщо вони не знаходяться на необхідному етапі."
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
exports
|
|
16
|
-
//# sourceMappingURL=uk
|
|
15
|
+
module.exports = uk;
|
|
16
|
+
//# sourceMappingURL=uk.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uk.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uk.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const isBaseQueryError = (error)=>{
|
|
4
|
+
return error.name !== undefined;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* @description
|
|
8
|
+
* Creates a valid query params object for get requests
|
|
9
|
+
* ie. plugins[18n][locale]=en becomes locale=en
|
|
10
|
+
*/ const buildValidParams = (query)=>{
|
|
11
|
+
if (!query) return query;
|
|
12
|
+
// Extract pluginOptions from the query, they shouldn't be part of the URL
|
|
13
|
+
const { plugins: _, ...validQueryParams } = {
|
|
14
|
+
...query,
|
|
15
|
+
...Object.values(query?.plugins ?? {}).reduce((acc, current)=>Object.assign(acc, current), {})
|
|
16
|
+
};
|
|
17
|
+
return validQueryParams;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.buildValidParams = buildValidParams;
|
|
21
|
+
exports.isBaseQueryError = isBaseQueryError;
|
|
22
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sources":["../../../admin/src/utils/api.ts"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { type UnknownApiError, type ApiError } from '@strapi/admin/strapi-admin';\n\nexport type BaseQueryError = ApiError | UnknownApiError | SerializedError;\n\nconst isBaseQueryError = (error: BaseQueryError): error is ApiError | UnknownApiError => {\n return error.name !== undefined;\n};\n\ninterface Query {\n plugins?: Record<string, unknown>;\n _q?: string;\n [key: string]: any;\n}\n\n/**\n * This type extracts the plugin options from the query\n * and appends them to the root of the query\n */\ntype TransformedQuery<TQuery extends Query> = Omit<TQuery, 'plugins'> & {\n [key: string]: string;\n};\n\n/**\n * @description\n * Creates a valid query params object for get requests\n * ie. plugins[18n][locale]=en becomes locale=en\n */\nconst buildValidParams = <TQuery extends Query>(query: TQuery): TransformedQuery<TQuery> => {\n if (!query) return query;\n\n // Extract pluginOptions from the query, they shouldn't be part of the URL\n const { plugins: _, ...validQueryParams } = {\n ...query,\n ...Object.values(query?.plugins ?? {}).reduce<Record<string, string>>(\n (acc, current) => Object.assign(acc, current),\n {}\n ),\n };\n\n return validQueryParams;\n};\n\nexport { isBaseQueryError, buildValidParams };\n"],"names":["isBaseQueryError","error","name","undefined","buildValidParams","query","plugins","_","validQueryParams","Object","values","reduce","acc","current","assign"],"mappings":";;AAKA,MAAMA,mBAAmB,CAACC,KAAAA,GAAAA;IACxB,OAAOA,KAAAA,CAAMC,IAAI,KAAKC,SAAAA;AACxB;AAgBA;;;;IAKA,MAAMC,mBAAmB,CAAuBC,KAAAA,GAAAA;IAC9C,IAAI,CAACA,OAAO,OAAOA,KAAAA;;AAGnB,IAAA,MAAM,EAAEC,OAASC,EAAAA,CAAC,EAAE,GAAGC,kBAAkB,GAAG;AAC1C,QAAA,GAAGH,KAAK;AACR,QAAA,GAAGI,OAAOC,MAAM,CAACL,OAAOC,OAAW,IAAA,IAAIK,MAAM,CAC3C,CAACC,GAAAA,EAAKC,UAAYJ,MAAOK,CAAAA,MAAM,CAACF,GAAKC,EAAAA,OAAAA,CAAAA,EACrC,EACD;AACH,KAAA;IAEA,OAAOL,gBAAAA;AACT;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const isBaseQueryError = (error)=>{
|
|
2
|
+
return error.name !== undefined;
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* @description
|
|
6
|
+
* Creates a valid query params object for get requests
|
|
7
|
+
* ie. plugins[18n][locale]=en becomes locale=en
|
|
8
|
+
*/ const buildValidParams = (query)=>{
|
|
9
|
+
if (!query) return query;
|
|
10
|
+
// Extract pluginOptions from the query, they shouldn't be part of the URL
|
|
11
|
+
const { plugins: _, ...validQueryParams } = {
|
|
12
|
+
...query,
|
|
13
|
+
...Object.values(query?.plugins ?? {}).reduce((acc, current)=>Object.assign(acc, current), {})
|
|
14
|
+
};
|
|
15
|
+
return validQueryParams;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { buildValidParams, isBaseQueryError };
|
|
19
|
+
//# sourceMappingURL=api.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.mjs","sources":["../../../admin/src/utils/api.ts"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { type UnknownApiError, type ApiError } from '@strapi/admin/strapi-admin';\n\nexport type BaseQueryError = ApiError | UnknownApiError | SerializedError;\n\nconst isBaseQueryError = (error: BaseQueryError): error is ApiError | UnknownApiError => {\n return error.name !== undefined;\n};\n\ninterface Query {\n plugins?: Record<string, unknown>;\n _q?: string;\n [key: string]: any;\n}\n\n/**\n * This type extracts the plugin options from the query\n * and appends them to the root of the query\n */\ntype TransformedQuery<TQuery extends Query> = Omit<TQuery, 'plugins'> & {\n [key: string]: string;\n};\n\n/**\n * @description\n * Creates a valid query params object for get requests\n * ie. plugins[18n][locale]=en becomes locale=en\n */\nconst buildValidParams = <TQuery extends Query>(query: TQuery): TransformedQuery<TQuery> => {\n if (!query) return query;\n\n // Extract pluginOptions from the query, they shouldn't be part of the URL\n const { plugins: _, ...validQueryParams } = {\n ...query,\n ...Object.values(query?.plugins ?? {}).reduce<Record<string, string>>(\n (acc, current) => Object.assign(acc, current),\n {}\n ),\n };\n\n return validQueryParams;\n};\n\nexport { isBaseQueryError, buildValidParams };\n"],"names":["isBaseQueryError","error","name","undefined","buildValidParams","query","plugins","_","validQueryParams","Object","values","reduce","acc","current","assign"],"mappings":"AAKA,MAAMA,mBAAmB,CAACC,KAAAA,GAAAA;IACxB,OAAOA,KAAAA,CAAMC,IAAI,KAAKC,SAAAA;AACxB;AAgBA;;;;IAKA,MAAMC,mBAAmB,CAAuBC,KAAAA,GAAAA;IAC9C,IAAI,CAACA,OAAO,OAAOA,KAAAA;;AAGnB,IAAA,MAAM,EAAEC,OAASC,EAAAA,CAAC,EAAE,GAAGC,kBAAkB,GAAG;AAC1C,QAAA,GAAGH,KAAK;AACR,QAAA,GAAGI,OAAOC,MAAM,CAACL,OAAOC,OAAW,IAAA,IAAIK,MAAM,CAC3C,CAACC,GAAAA,EAAKC,UAAYJ,MAAOK,CAAAA,MAAM,CAACF,GAAKC,EAAAA,OAAAA,CAAAA,EACrC,EACD;AACH,KAAA;IAEA,OAAOL,gBAAAA;AACT;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var constants = require('../routes/content-manager/model/constants.js');
|
|
4
|
+
|
|
5
|
+
const addColumnToTableHook = ({ displayedHeaders, layout })=>{
|
|
6
|
+
const { options } = layout;
|
|
7
|
+
if (!options.reviewWorkflows) {
|
|
8
|
+
return {
|
|
9
|
+
displayedHeaders,
|
|
10
|
+
layout
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
displayedHeaders: [
|
|
15
|
+
...displayedHeaders,
|
|
16
|
+
...constants.REVIEW_WORKFLOW_COLUMNS
|
|
17
|
+
],
|
|
18
|
+
layout
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.addColumnToTableHook = addColumnToTableHook;
|
|
23
|
+
//# sourceMappingURL=cm-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cm-hooks.js","sources":["../../../admin/src/utils/cm-hooks.ts"],"sourcesContent":["import { REVIEW_WORKFLOW_COLUMNS } from '../routes/content-manager/model/constants';\n\nimport type { ListFieldLayout, ListLayout } from '@strapi/content-manager/strapi-admin';\n\n/* -------------------------------------------------------------------------------------------------\n * addColumnToTableHook\n * -----------------------------------------------------------------------------------------------*/\ninterface AddColumnToTableHookArgs {\n layout: ListLayout;\n displayedHeaders: ListFieldLayout[];\n}\n\nconst addColumnToTableHook = ({ displayedHeaders, layout }: AddColumnToTableHookArgs) => {\n const { options } = layout;\n\n if (!options.reviewWorkflows) {\n return { displayedHeaders, layout };\n }\n\n return {\n displayedHeaders: [...displayedHeaders, ...REVIEW_WORKFLOW_COLUMNS],\n layout,\n };\n};\n\nexport { addColumnToTableHook };\n"],"names":["addColumnToTableHook","displayedHeaders","layout","options","reviewWorkflows","REVIEW_WORKFLOW_COLUMNS"],"mappings":";;;;AAYA,MAAMA,uBAAuB,CAAC,EAAEC,gBAAgB,EAAEC,MAAM,EAA4B,GAAA;IAClF,MAAM,EAAEC,OAAO,EAAE,GAAGD,MAAAA;IAEpB,IAAI,CAACC,OAAQC,CAAAA,eAAe,EAAE;QAC5B,OAAO;AAAEH,YAAAA,gBAAAA;AAAkBC,YAAAA;AAAO,SAAA;AACpC;IAEA,OAAO;QACLD,gBAAkB,EAAA;AAAIA,YAAAA,GAAAA,gBAAAA;AAAqBI,YAAAA,GAAAA;AAAwB,SAAA;AACnEH,QAAAA;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { REVIEW_WORKFLOW_COLUMNS } from '../routes/content-manager/model/constants.mjs';
|
|
2
|
+
|
|
3
|
+
const addColumnToTableHook = ({ displayedHeaders, layout })=>{
|
|
4
|
+
const { options } = layout;
|
|
5
|
+
if (!options.reviewWorkflows) {
|
|
6
|
+
return {
|
|
7
|
+
displayedHeaders,
|
|
8
|
+
layout
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
displayedHeaders: [
|
|
13
|
+
...displayedHeaders,
|
|
14
|
+
...REVIEW_WORKFLOW_COLUMNS
|
|
15
|
+
],
|
|
16
|
+
layout
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { addColumnToTableHook };
|
|
21
|
+
//# sourceMappingURL=cm-hooks.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cm-hooks.mjs","sources":["../../../admin/src/utils/cm-hooks.ts"],"sourcesContent":["import { REVIEW_WORKFLOW_COLUMNS } from '../routes/content-manager/model/constants';\n\nimport type { ListFieldLayout, ListLayout } from '@strapi/content-manager/strapi-admin';\n\n/* -------------------------------------------------------------------------------------------------\n * addColumnToTableHook\n * -----------------------------------------------------------------------------------------------*/\ninterface AddColumnToTableHookArgs {\n layout: ListLayout;\n displayedHeaders: ListFieldLayout[];\n}\n\nconst addColumnToTableHook = ({ displayedHeaders, layout }: AddColumnToTableHookArgs) => {\n const { options } = layout;\n\n if (!options.reviewWorkflows) {\n return { displayedHeaders, layout };\n }\n\n return {\n displayedHeaders: [...displayedHeaders, ...REVIEW_WORKFLOW_COLUMNS],\n layout,\n };\n};\n\nexport { addColumnToTableHook };\n"],"names":["addColumnToTableHook","displayedHeaders","layout","options","reviewWorkflows","REVIEW_WORKFLOW_COLUMNS"],"mappings":";;AAYA,MAAMA,uBAAuB,CAAC,EAAEC,gBAAgB,EAAEC,MAAM,EAA4B,GAAA;IAClF,MAAM,EAAEC,OAAO,EAAE,GAAGD,MAAAA;IAEpB,IAAI,CAACC,OAAQC,CAAAA,eAAe,EAAE;QAC5B,OAAO;AAAEH,YAAAA,gBAAAA;AAAkBC,YAAAA;AAAO,SAAA;AACpC;IAEA,OAAO;QACLD,gBAAkB,EAAA;AAAIA,YAAAA,GAAAA,gBAAAA;AAAqBI,YAAAA,GAAAA;AAAwB,SAAA;AACnEH,QAAAA;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var designSystem = require('@strapi/design-system');
|
|
4
|
+
|
|
5
|
+
const STAGE_COLORS = {
|
|
6
|
+
primary600: 'Blue',
|
|
7
|
+
primary200: 'Lilac',
|
|
8
|
+
alternative600: 'Violet',
|
|
9
|
+
alternative200: 'Lavender',
|
|
10
|
+
success600: 'Green',
|
|
11
|
+
success200: 'Pale Green',
|
|
12
|
+
danger500: 'Cherry',
|
|
13
|
+
danger200: 'Pink',
|
|
14
|
+
warning600: 'Orange',
|
|
15
|
+
warning200: 'Yellow',
|
|
16
|
+
secondary600: 'Teal',
|
|
17
|
+
secondary200: 'Baby Blue',
|
|
18
|
+
neutral400: 'Gray',
|
|
19
|
+
neutral0: 'White'
|
|
20
|
+
};
|
|
21
|
+
const getStageColorByHex = (hex)=>{
|
|
22
|
+
if (!hex) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
// there are multiple colors with the same hex code in the design tokens. In order to find
|
|
26
|
+
// the correct one we have to find all matching colors and then check, which ones are usable
|
|
27
|
+
// for stages.
|
|
28
|
+
const themeColors = Object.entries(designSystem.lightTheme.colors).filter(([, value])=>value.toUpperCase() === hex.toUpperCase());
|
|
29
|
+
const themeColorName = themeColors.reduce((acc, [name])=>{
|
|
30
|
+
if (STAGE_COLORS?.[name]) {
|
|
31
|
+
acc = name;
|
|
32
|
+
}
|
|
33
|
+
return acc;
|
|
34
|
+
}, null);
|
|
35
|
+
if (!themeColorName) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
themeColorName,
|
|
40
|
+
name: STAGE_COLORS[themeColorName]
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
const AVAILABLE_COLORS = Object.entries(STAGE_COLORS).map(([themeColorName, name])=>({
|
|
44
|
+
hex: designSystem.lightTheme.colors[themeColorName].toUpperCase(),
|
|
45
|
+
name
|
|
46
|
+
}));
|
|
47
|
+
|
|
48
|
+
exports.AVAILABLE_COLORS = AVAILABLE_COLORS;
|
|
49
|
+
exports.getStageColorByHex = getStageColorByHex;
|
|
50
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.js","sources":["../../../admin/src/utils/colors.ts"],"sourcesContent":["import { lightTheme } from '@strapi/design-system';\nimport { DefaultTheme } from 'styled-components';\n\nconst STAGE_COLORS: Record<string, string> = {\n primary600: 'Blue',\n primary200: 'Lilac',\n alternative600: 'Violet',\n alternative200: 'Lavender',\n success600: 'Green',\n success200: 'Pale Green',\n danger500: 'Cherry',\n danger200: 'Pink',\n warning600: 'Orange',\n warning200: 'Yellow',\n secondary600: 'Teal',\n secondary200: 'Baby Blue',\n neutral400: 'Gray',\n neutral0: 'White',\n};\n\nconst getStageColorByHex = (hex?: string) => {\n if (!hex) {\n return null;\n }\n\n // there are multiple colors with the same hex code in the design tokens. In order to find\n // the correct one we have to find all matching colors and then check, which ones are usable\n // for stages.\n const themeColors: [string, (keyof typeof STAGE_COLORS)[]][] = Object.entries(\n lightTheme.colors\n ).filter(([, value]) => value.toUpperCase() === hex.toUpperCase());\n\n const themeColorName = themeColors.reduce(\n (acc, [name]) => {\n if (STAGE_COLORS?.[name]) {\n acc = name;\n }\n\n return acc;\n },\n null as keyof typeof STAGE_COLORS | null\n );\n\n if (!themeColorName) {\n return null;\n }\n\n return {\n themeColorName,\n name: STAGE_COLORS[themeColorName],\n };\n};\n\nconst AVAILABLE_COLORS = Object.entries(STAGE_COLORS).map(([themeColorName, name]) => ({\n hex: lightTheme.colors[themeColorName as keyof DefaultTheme['colors']].toUpperCase(),\n name,\n}));\n\nexport { AVAILABLE_COLORS, getStageColorByHex };\n"],"names":["STAGE_COLORS","primary600","primary200","alternative600","alternative200","success600","success200","danger500","danger200","warning600","warning200","secondary600","secondary200","neutral400","neutral0","getStageColorByHex","hex","themeColors","Object","entries","lightTheme","colors","filter","value","toUpperCase","themeColorName","reduce","acc","name","AVAILABLE_COLORS","map"],"mappings":";;;;AAGA,MAAMA,YAAuC,GAAA;IAC3CC,UAAY,EAAA,MAAA;IACZC,UAAY,EAAA,OAAA;IACZC,cAAgB,EAAA,QAAA;IAChBC,cAAgB,EAAA,UAAA;IAChBC,UAAY,EAAA,OAAA;IACZC,UAAY,EAAA,YAAA;IACZC,SAAW,EAAA,QAAA;IACXC,SAAW,EAAA,MAAA;IACXC,UAAY,EAAA,QAAA;IACZC,UAAY,EAAA,QAAA;IACZC,YAAc,EAAA,MAAA;IACdC,YAAc,EAAA,WAAA;IACdC,UAAY,EAAA,MAAA;IACZC,QAAU,EAAA;AACZ,CAAA;AAEA,MAAMC,qBAAqB,CAACC,GAAAA,GAAAA;AAC1B,IAAA,IAAI,CAACA,GAAK,EAAA;QACR,OAAO,IAAA;AACT;;;;AAKA,IAAA,MAAMC,cAAyDC,MAAOC,CAAAA,OAAO,CAC3EC,uBAAAA,CAAWC,MAAM,CACjBC,CAAAA,MAAM,CAAC,CAAC,GAAGC,KAAM,CAAA,GAAKA,MAAMC,WAAW,EAAA,KAAOR,IAAIQ,WAAW,EAAA,CAAA;AAE/D,IAAA,MAAMC,iBAAiBR,WAAYS,CAAAA,MAAM,CACvC,CAACC,GAAAA,EAAK,CAACC,IAAK,CAAA,GAAA;QACV,IAAI5B,YAAAA,GAAe4B,IAAAA,CAAK,EAAE;YACxBD,GAAMC,GAAAA,IAAAA;AACR;QAEA,OAAOD,GAAAA;KAET,EAAA,IAAA,CAAA;AAGF,IAAA,IAAI,CAACF,cAAgB,EAAA;QACnB,OAAO,IAAA;AACT;IAEA,OAAO;AACLA,QAAAA,cAAAA;QACAG,IAAM5B,EAAAA,YAAY,CAACyB,cAAe;AACpC,KAAA;AACF;AAEA,MAAMI,gBAAmBX,GAAAA,MAAAA,CAAOC,OAAO,CAACnB,YAAc8B,CAAAA,CAAAA,GAAG,CAAC,CAAC,CAACL,cAAAA,EAAgBG,IAAK,CAAA,IAAM;AACrFZ,QAAAA,GAAAA,EAAKI,uBAAWC,CAAAA,MAAM,CAACI,cAAAA,CAA+C,CAACD,WAAW,EAAA;AAClFI,QAAAA;KACF,CAAA;;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { lightTheme } from '@strapi/design-system';
|
|
2
|
+
|
|
3
|
+
const STAGE_COLORS = {
|
|
4
|
+
primary600: 'Blue',
|
|
5
|
+
primary200: 'Lilac',
|
|
6
|
+
alternative600: 'Violet',
|
|
7
|
+
alternative200: 'Lavender',
|
|
8
|
+
success600: 'Green',
|
|
9
|
+
success200: 'Pale Green',
|
|
10
|
+
danger500: 'Cherry',
|
|
11
|
+
danger200: 'Pink',
|
|
12
|
+
warning600: 'Orange',
|
|
13
|
+
warning200: 'Yellow',
|
|
14
|
+
secondary600: 'Teal',
|
|
15
|
+
secondary200: 'Baby Blue',
|
|
16
|
+
neutral400: 'Gray',
|
|
17
|
+
neutral0: 'White'
|
|
18
|
+
};
|
|
19
|
+
const getStageColorByHex = (hex)=>{
|
|
20
|
+
if (!hex) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
// there are multiple colors with the same hex code in the design tokens. In order to find
|
|
24
|
+
// the correct one we have to find all matching colors and then check, which ones are usable
|
|
25
|
+
// for stages.
|
|
26
|
+
const themeColors = Object.entries(lightTheme.colors).filter(([, value])=>value.toUpperCase() === hex.toUpperCase());
|
|
27
|
+
const themeColorName = themeColors.reduce((acc, [name])=>{
|
|
28
|
+
if (STAGE_COLORS?.[name]) {
|
|
29
|
+
acc = name;
|
|
30
|
+
}
|
|
31
|
+
return acc;
|
|
32
|
+
}, null);
|
|
33
|
+
if (!themeColorName) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
themeColorName,
|
|
38
|
+
name: STAGE_COLORS[themeColorName]
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const AVAILABLE_COLORS = Object.entries(STAGE_COLORS).map(([themeColorName, name])=>({
|
|
42
|
+
hex: lightTheme.colors[themeColorName].toUpperCase(),
|
|
43
|
+
name
|
|
44
|
+
}));
|
|
45
|
+
|
|
46
|
+
export { AVAILABLE_COLORS, getStageColorByHex };
|
|
47
|
+
//# sourceMappingURL=colors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.mjs","sources":["../../../admin/src/utils/colors.ts"],"sourcesContent":["import { lightTheme } from '@strapi/design-system';\nimport { DefaultTheme } from 'styled-components';\n\nconst STAGE_COLORS: Record<string, string> = {\n primary600: 'Blue',\n primary200: 'Lilac',\n alternative600: 'Violet',\n alternative200: 'Lavender',\n success600: 'Green',\n success200: 'Pale Green',\n danger500: 'Cherry',\n danger200: 'Pink',\n warning600: 'Orange',\n warning200: 'Yellow',\n secondary600: 'Teal',\n secondary200: 'Baby Blue',\n neutral400: 'Gray',\n neutral0: 'White',\n};\n\nconst getStageColorByHex = (hex?: string) => {\n if (!hex) {\n return null;\n }\n\n // there are multiple colors with the same hex code in the design tokens. In order to find\n // the correct one we have to find all matching colors and then check, which ones are usable\n // for stages.\n const themeColors: [string, (keyof typeof STAGE_COLORS)[]][] = Object.entries(\n lightTheme.colors\n ).filter(([, value]) => value.toUpperCase() === hex.toUpperCase());\n\n const themeColorName = themeColors.reduce(\n (acc, [name]) => {\n if (STAGE_COLORS?.[name]) {\n acc = name;\n }\n\n return acc;\n },\n null as keyof typeof STAGE_COLORS | null\n );\n\n if (!themeColorName) {\n return null;\n }\n\n return {\n themeColorName,\n name: STAGE_COLORS[themeColorName],\n };\n};\n\nconst AVAILABLE_COLORS = Object.entries(STAGE_COLORS).map(([themeColorName, name]) => ({\n hex: lightTheme.colors[themeColorName as keyof DefaultTheme['colors']].toUpperCase(),\n name,\n}));\n\nexport { AVAILABLE_COLORS, getStageColorByHex };\n"],"names":["STAGE_COLORS","primary600","primary200","alternative600","alternative200","success600","success200","danger500","danger200","warning600","warning200","secondary600","secondary200","neutral400","neutral0","getStageColorByHex","hex","themeColors","Object","entries","lightTheme","colors","filter","value","toUpperCase","themeColorName","reduce","acc","name","AVAILABLE_COLORS","map"],"mappings":";;AAGA,MAAMA,YAAuC,GAAA;IAC3CC,UAAY,EAAA,MAAA;IACZC,UAAY,EAAA,OAAA;IACZC,cAAgB,EAAA,QAAA;IAChBC,cAAgB,EAAA,UAAA;IAChBC,UAAY,EAAA,OAAA;IACZC,UAAY,EAAA,YAAA;IACZC,SAAW,EAAA,QAAA;IACXC,SAAW,EAAA,MAAA;IACXC,UAAY,EAAA,QAAA;IACZC,UAAY,EAAA,QAAA;IACZC,YAAc,EAAA,MAAA;IACdC,YAAc,EAAA,WAAA;IACdC,UAAY,EAAA,MAAA;IACZC,QAAU,EAAA;AACZ,CAAA;AAEA,MAAMC,qBAAqB,CAACC,GAAAA,GAAAA;AAC1B,IAAA,IAAI,CAACA,GAAK,EAAA;QACR,OAAO,IAAA;AACT;;;;AAKA,IAAA,MAAMC,cAAyDC,MAAOC,CAAAA,OAAO,CAC3EC,UAAAA,CAAWC,MAAM,CACjBC,CAAAA,MAAM,CAAC,CAAC,GAAGC,KAAM,CAAA,GAAKA,MAAMC,WAAW,EAAA,KAAOR,IAAIQ,WAAW,EAAA,CAAA;AAE/D,IAAA,MAAMC,iBAAiBR,WAAYS,CAAAA,MAAM,CACvC,CAACC,GAAAA,EAAK,CAACC,IAAK,CAAA,GAAA;QACV,IAAI5B,YAAAA,GAAe4B,IAAAA,CAAK,EAAE;YACxBD,GAAMC,GAAAA,IAAAA;AACR;QAEA,OAAOD,GAAAA;KAET,EAAA,IAAA,CAAA;AAGF,IAAA,IAAI,CAACF,cAAgB,EAAA;QACnB,OAAO,IAAA;AACT;IAEA,OAAO;AACLA,QAAAA,cAAAA;QACAG,IAAM5B,EAAAA,YAAY,CAACyB,cAAe;AACpC,KAAA;AACF;AAEA,MAAMI,gBAAmBX,GAAAA,MAAAA,CAAOC,OAAO,CAACnB,YAAc8B,CAAAA,CAAAA,GAAG,CAAC,CAAC,CAACL,cAAAA,EAAgBG,IAAK,CAAA,IAAM;AACrFZ,QAAAA,GAAAA,EAAKI,UAAWC,CAAAA,MAAM,CAACI,cAAAA,CAA+C,CAACD,WAAW,EAAA;AAClFI,QAAAA;KACF,CAAA;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const prefixPluginTranslations = (trad, pluginId)=>{
|
|
4
|
+
return Object.keys(trad).reduce((acc, current)=>{
|
|
5
|
+
acc[`${pluginId}.${current}`] = trad[current];
|
|
6
|
+
return acc;
|
|
7
|
+
}, {});
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
exports.prefixPluginTranslations = prefixPluginTranslations;
|
|
11
|
+
//# sourceMappingURL=translations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translations.js","sources":["../../../admin/src/utils/translations.ts"],"sourcesContent":["type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n"],"names":["prefixPluginTranslations","trad","pluginId","Object","keys","reduce","acc","current"],"mappings":";;AAEMA,MAAAA,wBAAAA,GAA2B,CAACC,IAAmBC,EAAAA,QAAAA,GAAAA;AAInD,IAAA,OAAOC,OAAOC,IAAI,CAACH,MAAMI,MAAM,CAAC,CAACC,GAAKC,EAAAA,OAAAA,GAAAA;AACpCD,QAAAA,GAAG,CAAC,CAAC,EAAEJ,QAAAA,CAAS,CAAC,EAAEK,OAAQ,CAAA,CAAC,CAAC,GAAGN,IAAI,CAACM,OAAQ,CAAA;QAC7C,OAAOD,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AACN;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const prefixPluginTranslations = (trad, pluginId)=>{
|
|
2
|
+
return Object.keys(trad).reduce((acc, current)=>{
|
|
3
|
+
acc[`${pluginId}.${current}`] = trad[current];
|
|
4
|
+
return acc;
|
|
5
|
+
}, {});
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { prefixPluginTranslations };
|
|
9
|
+
//# sourceMappingURL=translations.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translations.mjs","sources":["../../../admin/src/utils/translations.ts"],"sourcesContent":["type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n"],"names":["prefixPluginTranslations","trad","pluginId","Object","keys","reduce","acc","current"],"mappings":"AAEMA,MAAAA,wBAAAA,GAA2B,CAACC,IAAmBC,EAAAA,QAAAA,GAAAA;AAInD,IAAA,OAAOC,OAAOC,IAAI,CAACH,MAAMI,MAAM,CAAC,CAACC,GAAKC,EAAAA,OAAAA,GAAAA;AACpCD,QAAAA,GAAG,CAAC,CAAC,EAAEJ,QAAAA,CAAS,CAAC,EAAEK,OAAQ,CAAA,CAAC,CAAC,GAAGN,IAAI,CAACM,OAAQ,CAAA;QAC7C,OAAOD,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AACN;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the display name of an admin panel user
|
|
5
|
+
*/ const getDisplayName = ({ firstname, lastname, username, email } = {})=>{
|
|
6
|
+
if (username) {
|
|
7
|
+
return username;
|
|
8
|
+
}
|
|
9
|
+
// firstname is not required if the user is created with a username
|
|
10
|
+
if (firstname) {
|
|
11
|
+
return `${firstname} ${lastname ?? ''}`.trim();
|
|
12
|
+
}
|
|
13
|
+
return email ?? '';
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.getDisplayName = getDisplayName;
|
|
17
|
+
//# sourceMappingURL=users.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.js","sources":["../../../admin/src/utils/users.ts"],"sourcesContent":["import type { SanitizedAdminUser } from '@strapi/admin/strapi-admin';\n\n/**\n * Retrieves the display name of an admin panel user\n */\nconst getDisplayName = ({\n firstname,\n lastname,\n username,\n email,\n}: Partial<\n Pick<SanitizedAdminUser, 'firstname' | 'lastname' | 'username' | 'email'>\n> = {}): string => {\n if (username) {\n return username;\n }\n\n // firstname is not required if the user is created with a username\n if (firstname) {\n return `${firstname} ${lastname ?? ''}`.trim();\n }\n\n return email ?? '';\n};\n\nexport { getDisplayName };\n"],"names":["getDisplayName","firstname","lastname","username","email","trim"],"mappings":";;AAEA;;AAEC,IACKA,MAAAA,cAAAA,GAAiB,CAAC,EACtBC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EAGN,GAAG,EAAE,GAAA;AACJ,IAAA,IAAID,QAAU,EAAA;QACZ,OAAOA,QAAAA;AACT;;AAGA,IAAA,IAAIF,SAAW,EAAA;QACb,OAAO,CAAC,EAAEA,SAAU,CAAA,CAAC,EAAEC,QAAY,IAAA,EAAA,CAAG,CAAC,CAACG,IAAI,EAAA;AAC9C;AAEA,IAAA,OAAOD,KAAS,IAAA,EAAA;AAClB;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the display name of an admin panel user
|
|
3
|
+
*/ const getDisplayName = ({ firstname, lastname, username, email } = {})=>{
|
|
4
|
+
if (username) {
|
|
5
|
+
return username;
|
|
6
|
+
}
|
|
7
|
+
// firstname is not required if the user is created with a username
|
|
8
|
+
if (firstname) {
|
|
9
|
+
return `${firstname} ${lastname ?? ''}`.trim();
|
|
10
|
+
}
|
|
11
|
+
return email ?? '';
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { getDisplayName };
|
|
15
|
+
//# sourceMappingURL=users.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.mjs","sources":["../../../admin/src/utils/users.ts"],"sourcesContent":["import type { SanitizedAdminUser } from '@strapi/admin/strapi-admin';\n\n/**\n * Retrieves the display name of an admin panel user\n */\nconst getDisplayName = ({\n firstname,\n lastname,\n username,\n email,\n}: Partial<\n Pick<SanitizedAdminUser, 'firstname' | 'lastname' | 'username' | 'email'>\n> = {}): string => {\n if (username) {\n return username;\n }\n\n // firstname is not required if the user is created with a username\n if (firstname) {\n return `${firstname} ${lastname ?? ''}`.trim();\n }\n\n return email ?? '';\n};\n\nexport { getDisplayName };\n"],"names":["getDisplayName","firstname","lastname","username","email","trim"],"mappings":"AAEA;;AAEC,IACKA,MAAAA,cAAAA,GAAiB,CAAC,EACtBC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EAGN,GAAG,EAAE,GAAA;AACJ,IAAA,IAAID,QAAU,EAAA;QACZ,OAAOA,QAAAA;AACT;;AAGA,IAAA,IAAIF,SAAW,EAAA;QACb,OAAO,CAAC,EAAEA,SAAU,CAAA,CAAC,EAAEC,QAAY,IAAA,EAAA,CAAG,CAAC,CAACG,IAAI,EAAA;AAC9C;AAEA,IAAA,OAAOD,KAAS,IAAA,EAAA;AAClB;;;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./utils/index.js');
|
|
4
|
+
var actions = require('./config/actions.js');
|
|
5
|
+
var defaultStages = require('./constants/default-stages.json.js');
|
|
6
|
+
var defaultWorkflow = require('./constants/default-workflow.json.js');
|
|
7
|
+
var webhookEvents = require('./constants/webhook-events.js');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Initialize the default workflow if there is no workflow in the database
|
|
11
|
+
*/ async function initDefaultWorkflow() {
|
|
12
|
+
const workflowsService = index.getService('workflows', {
|
|
13
|
+
strapi
|
|
14
|
+
});
|
|
15
|
+
const stagesService = index.getService('stages', {
|
|
16
|
+
strapi
|
|
17
|
+
});
|
|
18
|
+
const wfCount = await workflowsService.count();
|
|
19
|
+
const stagesCount = await stagesService.count();
|
|
20
|
+
// Check if there is nothing about review-workflow in DB
|
|
21
|
+
// If any, the feature has already been initialized with a workflow and stages
|
|
22
|
+
if (wfCount === 0 && stagesCount === 0) {
|
|
23
|
+
const workflow = {
|
|
24
|
+
...defaultWorkflow.default,
|
|
25
|
+
contentTypes: [],
|
|
26
|
+
stages: defaultStages
|
|
27
|
+
};
|
|
28
|
+
await workflowsService.create({
|
|
29
|
+
data: workflow
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Webhook store limits the events that can be triggered,
|
|
35
|
+
* this function extends it with the events review workflows can trigger
|
|
36
|
+
*/ const registerWebhookEvents = async ()=>Object.entries(webhookEvents.default).forEach(([eventKey, event])=>strapi.get('webhookStore').addAllowedEvent(eventKey, event));
|
|
37
|
+
var bootstrap = (async (args)=>{
|
|
38
|
+
// Permissions
|
|
39
|
+
const { actionProvider } = index.getAdminService('permission');
|
|
40
|
+
await actionProvider.registerMany(actions.reviewWorkflows);
|
|
41
|
+
// Webhooks and events
|
|
42
|
+
await registerWebhookEvents();
|
|
43
|
+
await index.getService('workflow-weekly-metrics').registerCron();
|
|
44
|
+
// Data initialization
|
|
45
|
+
await initDefaultWorkflow();
|
|
46
|
+
// Document service middleware
|
|
47
|
+
const docsMiddlewares = index.getService('document-service-middlewares');
|
|
48
|
+
strapi.documents.use(docsMiddlewares.assignStageOnCreate);
|
|
49
|
+
strapi.documents.use(docsMiddlewares.handleStageOnUpdate);
|
|
50
|
+
strapi.documents.use(docsMiddlewares.checkStageBeforePublish);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
module.exports = bootstrap;
|
|
54
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["import { getAdminService, getService } from './utils';\nimport actions from './config/actions';\n\nimport defaultStages from './constants/default-stages.json';\nimport defaultWorkflow from './constants/default-workflow.json';\nimport webhookEvents from './constants/webhook-events';\n\n/**\n * Initialize the default workflow if there is no workflow in the database\n */\n\nasync function initDefaultWorkflow() {\n const workflowsService = getService('workflows', { strapi });\n const stagesService = getService('stages', { strapi });\n\n const wfCount = await workflowsService.count();\n const stagesCount = await stagesService.count();\n\n // Check if there is nothing about review-workflow in DB\n // If any, the feature has already been initialized with a workflow and stages\n if (wfCount === 0 && stagesCount === 0) {\n const workflow = {\n ...defaultWorkflow,\n contentTypes: [],\n stages: defaultStages,\n };\n\n await workflowsService.create({ data: workflow });\n }\n}\n\n/**\n * Webhook store limits the events that can be triggered,\n * this function extends it with the events review workflows can trigger\n */\nconst registerWebhookEvents = async () =>\n Object.entries(webhookEvents).forEach(([eventKey, event]) =>\n strapi.get('webhookStore').addAllowedEvent(eventKey, event)\n );\n\nexport default async (args: any) => {\n // Permissions\n const { actionProvider } = getAdminService('permission');\n await actionProvider.registerMany(actions.reviewWorkflows);\n\n // Webhooks and events\n await registerWebhookEvents();\n await getService('workflow-weekly-metrics').registerCron();\n\n // Data initialization\n await initDefaultWorkflow();\n\n // Document service middleware\n const docsMiddlewares = getService('document-service-middlewares');\n strapi.documents.use(docsMiddlewares.assignStageOnCreate);\n strapi.documents.use(docsMiddlewares.handleStageOnUpdate);\n strapi.documents.use(docsMiddlewares.checkStageBeforePublish);\n};\n"],"names":["initDefaultWorkflow","workflowsService","getService","strapi","stagesService","wfCount","count","stagesCount","workflow","defaultWorkflow","contentTypes","stages","defaultStages","create","data","registerWebhookEvents","Object","entries","webhookEvents","forEach","eventKey","event","get","addAllowedEvent","args","actionProvider","getAdminService","registerMany","actions","reviewWorkflows","registerCron","docsMiddlewares","documents","use","assignStageOnCreate","handleStageOnUpdate","checkStageBeforePublish"],"mappings":";;;;;;;;AAOA;;AAEC,IAED,eAAeA,mBAAAA,GAAAA;IACb,MAAMC,gBAAAA,GAAmBC,iBAAW,WAAa,EAAA;AAAEC,QAAAA;AAAO,KAAA,CAAA;IAC1D,MAAMC,aAAAA,GAAgBF,iBAAW,QAAU,EAAA;AAAEC,QAAAA;AAAO,KAAA,CAAA;IAEpD,MAAME,OAAAA,GAAU,MAAMJ,gBAAAA,CAAiBK,KAAK,EAAA;IAC5C,MAAMC,WAAAA,GAAc,MAAMH,aAAAA,CAAcE,KAAK,EAAA;;;IAI7C,IAAID,OAAAA,KAAY,CAAKE,IAAAA,WAAAA,KAAgB,CAAG,EAAA;AACtC,QAAA,MAAMC,QAAW,GAAA;AACf,YAAA,GAAGC,uBAAe;AAClBC,YAAAA,YAAAA,EAAc,EAAE;YAChBC,MAAQC,EAAAA;AACV,SAAA;QAEA,MAAMX,gBAAAA,CAAiBY,MAAM,CAAC;YAAEC,IAAMN,EAAAA;AAAS,SAAA,CAAA;AACjD;AACF;AAEA;;;IAIA,MAAMO,wBAAwB,UAC5BC,MAAAA,CAAOC,OAAO,CAACC,qBAAAA,CAAAA,CAAeC,OAAO,CAAC,CAAC,CAACC,QAAUC,EAAAA,KAAAA,CAAM,GACtDlB,MAAOmB,CAAAA,GAAG,CAAC,cAAgBC,CAAAA,CAAAA,eAAe,CAACH,QAAUC,EAAAA,KAAAA,CAAAA,CAAAA;AAGzD,gBAAe,CAAA,OAAOG,IAAAA,GAAAA;;AAEpB,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,qBAAgB,CAAA,YAAA,CAAA;AAC3C,IAAA,MAAMD,cAAeE,CAAAA,YAAY,CAACC,OAAAA,CAAQC,eAAe,CAAA;;IAGzD,MAAMd,qBAAAA,EAAAA;IACN,MAAMb,gBAAAA,CAAW,2BAA2B4B,YAAY,EAAA;;IAGxD,MAAM9B,mBAAAA,EAAAA;;AAGN,IAAA,MAAM+B,kBAAkB7B,gBAAW,CAAA,8BAAA,CAAA;AACnCC,IAAAA,MAAAA,CAAO6B,SAAS,CAACC,GAAG,CAACF,gBAAgBG,mBAAmB,CAAA;AACxD/B,IAAAA,MAAAA,CAAO6B,SAAS,CAACC,GAAG,CAACF,gBAAgBI,mBAAmB,CAAA;AACxDhC,IAAAA,MAAAA,CAAO6B,SAAS,CAACC,GAAG,CAACF,gBAAgBK,uBAAuB,CAAA;AAC9D,CAAA;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { getAdminService, getService } from './utils/index.mjs';
|
|
2
|
+
import actions from './config/actions.mjs';
|
|
3
|
+
import defaultStages from './constants/default-stages.json.mjs';
|
|
4
|
+
import defaultWorkflow from './constants/default-workflow.json.mjs';
|
|
5
|
+
import webhookEvents from './constants/webhook-events.mjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Initialize the default workflow if there is no workflow in the database
|
|
9
|
+
*/ async function initDefaultWorkflow() {
|
|
10
|
+
const workflowsService = getService('workflows', {
|
|
11
|
+
strapi
|
|
12
|
+
});
|
|
13
|
+
const stagesService = getService('stages', {
|
|
14
|
+
strapi
|
|
15
|
+
});
|
|
16
|
+
const wfCount = await workflowsService.count();
|
|
17
|
+
const stagesCount = await stagesService.count();
|
|
18
|
+
// Check if there is nothing about review-workflow in DB
|
|
19
|
+
// If any, the feature has already been initialized with a workflow and stages
|
|
20
|
+
if (wfCount === 0 && stagesCount === 0) {
|
|
21
|
+
const workflow = {
|
|
22
|
+
...defaultWorkflow,
|
|
23
|
+
contentTypes: [],
|
|
24
|
+
stages: defaultStages
|
|
25
|
+
};
|
|
26
|
+
await workflowsService.create({
|
|
27
|
+
data: workflow
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Webhook store limits the events that can be triggered,
|
|
33
|
+
* this function extends it with the events review workflows can trigger
|
|
34
|
+
*/ const registerWebhookEvents = async ()=>Object.entries(webhookEvents).forEach(([eventKey, event])=>strapi.get('webhookStore').addAllowedEvent(eventKey, event));
|
|
35
|
+
var bootstrap = (async (args)=>{
|
|
36
|
+
// Permissions
|
|
37
|
+
const { actionProvider } = getAdminService('permission');
|
|
38
|
+
await actionProvider.registerMany(actions.reviewWorkflows);
|
|
39
|
+
// Webhooks and events
|
|
40
|
+
await registerWebhookEvents();
|
|
41
|
+
await getService('workflow-weekly-metrics').registerCron();
|
|
42
|
+
// Data initialization
|
|
43
|
+
await initDefaultWorkflow();
|
|
44
|
+
// Document service middleware
|
|
45
|
+
const docsMiddlewares = getService('document-service-middlewares');
|
|
46
|
+
strapi.documents.use(docsMiddlewares.assignStageOnCreate);
|
|
47
|
+
strapi.documents.use(docsMiddlewares.handleStageOnUpdate);
|
|
48
|
+
strapi.documents.use(docsMiddlewares.checkStageBeforePublish);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export { bootstrap as default };
|
|
52
|
+
//# sourceMappingURL=bootstrap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.mjs","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["import { getAdminService, getService } from './utils';\nimport actions from './config/actions';\n\nimport defaultStages from './constants/default-stages.json';\nimport defaultWorkflow from './constants/default-workflow.json';\nimport webhookEvents from './constants/webhook-events';\n\n/**\n * Initialize the default workflow if there is no workflow in the database\n */\n\nasync function initDefaultWorkflow() {\n const workflowsService = getService('workflows', { strapi });\n const stagesService = getService('stages', { strapi });\n\n const wfCount = await workflowsService.count();\n const stagesCount = await stagesService.count();\n\n // Check if there is nothing about review-workflow in DB\n // If any, the feature has already been initialized with a workflow and stages\n if (wfCount === 0 && stagesCount === 0) {\n const workflow = {\n ...defaultWorkflow,\n contentTypes: [],\n stages: defaultStages,\n };\n\n await workflowsService.create({ data: workflow });\n }\n}\n\n/**\n * Webhook store limits the events that can be triggered,\n * this function extends it with the events review workflows can trigger\n */\nconst registerWebhookEvents = async () =>\n Object.entries(webhookEvents).forEach(([eventKey, event]) =>\n strapi.get('webhookStore').addAllowedEvent(eventKey, event)\n );\n\nexport default async (args: any) => {\n // Permissions\n const { actionProvider } = getAdminService('permission');\n await actionProvider.registerMany(actions.reviewWorkflows);\n\n // Webhooks and events\n await registerWebhookEvents();\n await getService('workflow-weekly-metrics').registerCron();\n\n // Data initialization\n await initDefaultWorkflow();\n\n // Document service middleware\n const docsMiddlewares = getService('document-service-middlewares');\n strapi.documents.use(docsMiddlewares.assignStageOnCreate);\n strapi.documents.use(docsMiddlewares.handleStageOnUpdate);\n strapi.documents.use(docsMiddlewares.checkStageBeforePublish);\n};\n"],"names":["initDefaultWorkflow","workflowsService","getService","strapi","stagesService","wfCount","count","stagesCount","workflow","defaultWorkflow","contentTypes","stages","defaultStages","create","data","registerWebhookEvents","Object","entries","webhookEvents","forEach","eventKey","event","get","addAllowedEvent","args","actionProvider","getAdminService","registerMany","actions","reviewWorkflows","registerCron","docsMiddlewares","documents","use","assignStageOnCreate","handleStageOnUpdate","checkStageBeforePublish"],"mappings":";;;;;;AAOA;;AAEC,IAED,eAAeA,mBAAAA,GAAAA;IACb,MAAMC,gBAAAA,GAAmBC,WAAW,WAAa,EAAA;AAAEC,QAAAA;AAAO,KAAA,CAAA;IAC1D,MAAMC,aAAAA,GAAgBF,WAAW,QAAU,EAAA;AAAEC,QAAAA;AAAO,KAAA,CAAA;IAEpD,MAAME,OAAAA,GAAU,MAAMJ,gBAAAA,CAAiBK,KAAK,EAAA;IAC5C,MAAMC,WAAAA,GAAc,MAAMH,aAAAA,CAAcE,KAAK,EAAA;;;IAI7C,IAAID,OAAAA,KAAY,CAAKE,IAAAA,WAAAA,KAAgB,CAAG,EAAA;AACtC,QAAA,MAAMC,QAAW,GAAA;AACf,YAAA,GAAGC,eAAe;AAClBC,YAAAA,YAAAA,EAAc,EAAE;YAChBC,MAAQC,EAAAA;AACV,SAAA;QAEA,MAAMX,gBAAAA,CAAiBY,MAAM,CAAC;YAAEC,IAAMN,EAAAA;AAAS,SAAA,CAAA;AACjD;AACF;AAEA;;;IAIA,MAAMO,wBAAwB,UAC5BC,MAAAA,CAAOC,OAAO,CAACC,aAAAA,CAAAA,CAAeC,OAAO,CAAC,CAAC,CAACC,QAAUC,EAAAA,KAAAA,CAAM,GACtDlB,MAAOmB,CAAAA,GAAG,CAAC,cAAgBC,CAAAA,CAAAA,eAAe,CAACH,QAAUC,EAAAA,KAAAA,CAAAA,CAAAA;AAGzD,gBAAe,CAAA,OAAOG,IAAAA,GAAAA;;AAEpB,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,eAAgB,CAAA,YAAA,CAAA;AAC3C,IAAA,MAAMD,cAAeE,CAAAA,YAAY,CAACC,OAAAA,CAAQC,eAAe,CAAA;;IAGzD,MAAMd,qBAAAA,EAAAA;IACN,MAAMb,UAAAA,CAAW,2BAA2B4B,YAAY,EAAA;;IAGxD,MAAM9B,mBAAAA,EAAAA;;AAGN,IAAA,MAAM+B,kBAAkB7B,UAAW,CAAA,8BAAA,CAAA;AACnCC,IAAAA,MAAAA,CAAO6B,SAAS,CAACC,GAAG,CAACF,gBAAgBG,mBAAmB,CAAA;AACxD/B,IAAAA,MAAAA,CAAO6B,SAAS,CAACC,GAAG,CAACF,gBAAgBI,mBAAmB,CAAA;AACxDhC,IAAAA,MAAAA,CAAO6B,SAAS,CAACC,GAAG,CAACF,gBAAgBK,uBAAuB,CAAA;AAC9D,CAAA;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var actions = {
|
|
4
|
+
reviewWorkflows: [
|
|
5
|
+
{
|
|
6
|
+
uid: 'review-workflows.create',
|
|
7
|
+
displayName: 'Create',
|
|
8
|
+
pluginName: 'admin',
|
|
9
|
+
section: 'settings',
|
|
10
|
+
category: 'review workflows',
|
|
11
|
+
subCategory: 'options'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
uid: 'review-workflows.read',
|
|
15
|
+
displayName: 'Read',
|
|
16
|
+
pluginName: 'admin',
|
|
17
|
+
section: 'settings',
|
|
18
|
+
category: 'review workflows',
|
|
19
|
+
subCategory: 'options'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
uid: 'review-workflows.update',
|
|
23
|
+
displayName: 'Update',
|
|
24
|
+
pluginName: 'admin',
|
|
25
|
+
section: 'settings',
|
|
26
|
+
category: 'review workflows',
|
|
27
|
+
subCategory: 'options'
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
uid: 'review-workflows.delete',
|
|
31
|
+
displayName: 'Delete',
|
|
32
|
+
pluginName: 'admin',
|
|
33
|
+
section: 'settings',
|
|
34
|
+
category: 'review workflows',
|
|
35
|
+
subCategory: 'options'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
uid: 'review-workflows.stage.transition',
|
|
39
|
+
displayName: 'Change stage',
|
|
40
|
+
pluginName: 'admin',
|
|
41
|
+
section: 'internal'
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
module.exports = actions;
|
|
47
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sources":["../../../server/src/config/actions.ts"],"sourcesContent":["export default {\n reviewWorkflows: [\n {\n uid: 'review-workflows.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'review workflows',\n subCategory: 'options',\n },\n {\n uid: 'review-workflows.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'review workflows',\n subCategory: 'options',\n },\n {\n uid: 'review-workflows.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'review workflows',\n subCategory: 'options',\n },\n {\n uid: 'review-workflows.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'review workflows',\n subCategory: 'options',\n },\n {\n uid: 'review-workflows.stage.transition',\n displayName: 'Change stage',\n pluginName: 'admin',\n section: 'internal',\n },\n ],\n};\n"],"names":["reviewWorkflows","uid","displayName","pluginName","section","category","subCategory"],"mappings":";;AAAA,cAAe;IACbA,eAAiB,EAAA;AACf,QAAA;YACEC,GAAK,EAAA,yBAAA;YACLC,WAAa,EAAA,QAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA,UAAA;YACTC,QAAU,EAAA,kBAAA;YACVC,WAAa,EAAA;AACf,SAAA;AACA,QAAA;YACEL,GAAK,EAAA,uBAAA;YACLC,WAAa,EAAA,MAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA,UAAA;YACTC,QAAU,EAAA,kBAAA;YACVC,WAAa,EAAA;AACf,SAAA;AACA,QAAA;YACEL,GAAK,EAAA,yBAAA;YACLC,WAAa,EAAA,QAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA,UAAA;YACTC,QAAU,EAAA,kBAAA;YACVC,WAAa,EAAA;AACf,SAAA;AACA,QAAA;YACEL,GAAK,EAAA,yBAAA;YACLC,WAAa,EAAA,QAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA,UAAA;YACTC,QAAU,EAAA,kBAAA;YACVC,WAAa,EAAA;AACf,SAAA;AACA,QAAA;YACEL,GAAK,EAAA,mCAAA;YACLC,WAAa,EAAA,cAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA;AACX;AACD;AACH,CAAE;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var actions = {
|
|
2
|
+
reviewWorkflows: [
|
|
3
|
+
{
|
|
4
|
+
uid: 'review-workflows.create',
|
|
5
|
+
displayName: 'Create',
|
|
6
|
+
pluginName: 'admin',
|
|
7
|
+
section: 'settings',
|
|
8
|
+
category: 'review workflows',
|
|
9
|
+
subCategory: 'options'
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
uid: 'review-workflows.read',
|
|
13
|
+
displayName: 'Read',
|
|
14
|
+
pluginName: 'admin',
|
|
15
|
+
section: 'settings',
|
|
16
|
+
category: 'review workflows',
|
|
17
|
+
subCategory: 'options'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
uid: 'review-workflows.update',
|
|
21
|
+
displayName: 'Update',
|
|
22
|
+
pluginName: 'admin',
|
|
23
|
+
section: 'settings',
|
|
24
|
+
category: 'review workflows',
|
|
25
|
+
subCategory: 'options'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
uid: 'review-workflows.delete',
|
|
29
|
+
displayName: 'Delete',
|
|
30
|
+
pluginName: 'admin',
|
|
31
|
+
section: 'settings',
|
|
32
|
+
category: 'review workflows',
|
|
33
|
+
subCategory: 'options'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
uid: 'review-workflows.stage.transition',
|
|
37
|
+
displayName: 'Change stage',
|
|
38
|
+
pluginName: 'admin',
|
|
39
|
+
section: 'internal'
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { actions as default };
|
|
45
|
+
//# sourceMappingURL=actions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.mjs","sources":["../../../server/src/config/actions.ts"],"sourcesContent":["export default {\n reviewWorkflows: [\n {\n uid: 'review-workflows.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'review workflows',\n subCategory: 'options',\n },\n {\n uid: 'review-workflows.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'review workflows',\n subCategory: 'options',\n },\n {\n uid: 'review-workflows.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'review workflows',\n subCategory: 'options',\n },\n {\n uid: 'review-workflows.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'review workflows',\n subCategory: 'options',\n },\n {\n uid: 'review-workflows.stage.transition',\n displayName: 'Change stage',\n pluginName: 'admin',\n section: 'internal',\n },\n ],\n};\n"],"names":["reviewWorkflows","uid","displayName","pluginName","section","category","subCategory"],"mappings":"AAAA,cAAe;IACbA,eAAiB,EAAA;AACf,QAAA;YACEC,GAAK,EAAA,yBAAA;YACLC,WAAa,EAAA,QAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA,UAAA;YACTC,QAAU,EAAA,kBAAA;YACVC,WAAa,EAAA;AACf,SAAA;AACA,QAAA;YACEL,GAAK,EAAA,uBAAA;YACLC,WAAa,EAAA,MAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA,UAAA;YACTC,QAAU,EAAA,kBAAA;YACVC,WAAa,EAAA;AACf,SAAA;AACA,QAAA;YACEL,GAAK,EAAA,yBAAA;YACLC,WAAa,EAAA,QAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA,UAAA;YACTC,QAAU,EAAA,kBAAA;YACVC,WAAa,EAAA;AACf,SAAA;AACA,QAAA;YACEL,GAAK,EAAA,yBAAA;YACLC,WAAa,EAAA,QAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA,UAAA;YACTC,QAAU,EAAA,kBAAA;YACVC,WAAa,EAAA;AACf,SAAA;AACA,QAAA;YACEL,GAAK,EAAA,mCAAA;YACLC,WAAa,EAAA,cAAA;YACbC,UAAY,EAAA,OAAA;YACZC,OAAS,EAAA;AACX;AACD;AACH,CAAE;;;;"}
|