@strapi/review-workflows 5.12.0 → 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,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var defaultStages = [
|
|
4
|
+
{
|
|
5
|
+
name: "To do",
|
|
6
|
+
color: "#4945FF"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: "Ready to review",
|
|
10
|
+
color: "#9736E8"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: "In progress",
|
|
14
|
+
color: "#EE5E52"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: "Reviewed",
|
|
18
|
+
color: "#328048"
|
|
19
|
+
}
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
module.exports = defaultStages;
|
|
23
|
+
//# sourceMappingURL=default-stages.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-stages.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var defaultStages = [
|
|
2
|
+
{
|
|
3
|
+
name: "To do",
|
|
4
|
+
color: "#4945FF"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
name: "Ready to review",
|
|
8
|
+
color: "#9736E8"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "In progress",
|
|
12
|
+
color: "#EE5E52"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: "Reviewed",
|
|
16
|
+
color: "#328048"
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
export { defaultStages as default };
|
|
21
|
+
//# sourceMappingURL=default-stages.json.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-stages.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var name = "Default";
|
|
6
|
+
var defaultWorkflow = {
|
|
7
|
+
name: name
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
exports.default = defaultWorkflow;
|
|
11
|
+
exports.name = name;
|
|
12
|
+
//# sourceMappingURL=default-workflow.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-workflow.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-workflow.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const WORKFLOW_UPDATE_STAGE = 'review-workflows.updateEntryStage';
|
|
6
|
+
var webhookEvents = {
|
|
7
|
+
WORKFLOW_UPDATE_STAGE
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
exports.WORKFLOW_UPDATE_STAGE = WORKFLOW_UPDATE_STAGE;
|
|
11
|
+
exports.default = webhookEvents;
|
|
12
|
+
//# sourceMappingURL=webhook-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-events.js","sources":["../../../server/src/constants/webhook-events.ts"],"sourcesContent":["export const WORKFLOW_UPDATE_STAGE = 'review-workflows.updateEntryStage';\n\nexport default {\n WORKFLOW_UPDATE_STAGE,\n};\n"],"names":["WORKFLOW_UPDATE_STAGE"],"mappings":";;;;AAAO,MAAMA,wBAAwB;AAErC,oBAAe;AACbA,IAAAA;AACF,CAAE;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-events.mjs","sources":["../../../server/src/constants/webhook-events.ts"],"sourcesContent":["export const WORKFLOW_UPDATE_STAGE = 'review-workflows.updateEntryStage';\n\nexport default {\n WORKFLOW_UPDATE_STAGE,\n};\n"],"names":["WORKFLOW_UPDATE_STAGE"],"mappings":"AAAO,MAAMA,wBAAwB;AAErC,oBAAe;AACbA,IAAAA;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const WORKFLOW_MODEL_UID = 'plugin::review-workflows.workflow';
|
|
4
|
+
const STAGE_MODEL_UID = 'plugin::review-workflows.workflow-stage';
|
|
5
|
+
/**
|
|
6
|
+
* TODO: For V4 compatibility, the old UID was kept, when review workflows was in the admin package
|
|
7
|
+
*
|
|
8
|
+
* NOTE!: if you change this string you need to change it here too: strapi/packages/core/review-workflows/admin/src/routes/settings/components/Stages.tsx
|
|
9
|
+
*/ const STAGE_TRANSITION_UID = 'admin::review-workflows.stage.transition';
|
|
10
|
+
const STAGE_DEFAULT_COLOR = '#4945FF';
|
|
11
|
+
const ENTITY_STAGE_ATTRIBUTE = 'strapi_stage';
|
|
12
|
+
const ENTITY_ASSIGNEE_ATTRIBUTE = 'strapi_assignee';
|
|
13
|
+
const MAX_WORKFLOWS = 200;
|
|
14
|
+
const MAX_STAGES_PER_WORKFLOW = 200;
|
|
15
|
+
const ERRORS = {
|
|
16
|
+
WORKFLOW_WITHOUT_STAGES: 'A workflow must have at least one stage.',
|
|
17
|
+
WORKFLOWS_LIMIT: 'You’ve reached the limit of workflows in your plan. Delete a workflow or contact Sales to enable more workflows.',
|
|
18
|
+
STAGES_LIMIT: 'You’ve reached the limit of stages for this workflow in your plan. Try deleting some stages or contact Sales to enable more stages.',
|
|
19
|
+
DUPLICATED_STAGE_NAME: 'Stage names must be unique.'
|
|
20
|
+
};
|
|
21
|
+
const WORKFLOW_POPULATE = {
|
|
22
|
+
stages: {
|
|
23
|
+
populate: {
|
|
24
|
+
permissions: {
|
|
25
|
+
fields: [
|
|
26
|
+
'action',
|
|
27
|
+
'actionParameters'
|
|
28
|
+
],
|
|
29
|
+
populate: {
|
|
30
|
+
role: {
|
|
31
|
+
fields: [
|
|
32
|
+
'id',
|
|
33
|
+
'name'
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
stageRequiredToPublish: true
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
exports.ENTITY_ASSIGNEE_ATTRIBUTE = ENTITY_ASSIGNEE_ATTRIBUTE;
|
|
44
|
+
exports.ENTITY_STAGE_ATTRIBUTE = ENTITY_STAGE_ATTRIBUTE;
|
|
45
|
+
exports.ERRORS = ERRORS;
|
|
46
|
+
exports.MAX_STAGES_PER_WORKFLOW = MAX_STAGES_PER_WORKFLOW;
|
|
47
|
+
exports.MAX_WORKFLOWS = MAX_WORKFLOWS;
|
|
48
|
+
exports.STAGE_DEFAULT_COLOR = STAGE_DEFAULT_COLOR;
|
|
49
|
+
exports.STAGE_MODEL_UID = STAGE_MODEL_UID;
|
|
50
|
+
exports.STAGE_TRANSITION_UID = STAGE_TRANSITION_UID;
|
|
51
|
+
exports.WORKFLOW_MODEL_UID = WORKFLOW_MODEL_UID;
|
|
52
|
+
exports.WORKFLOW_POPULATE = WORKFLOW_POPULATE;
|
|
53
|
+
//# sourceMappingURL=workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","sources":["../../../server/src/constants/workflows.ts"],"sourcesContent":["export const WORKFLOW_MODEL_UID = 'plugin::review-workflows.workflow';\nexport const STAGE_MODEL_UID = 'plugin::review-workflows.workflow-stage';\n/**\n * TODO: For V4 compatibility, the old UID was kept, when review workflows was in the admin package\n *\n * NOTE!: if you change this string you need to change it here too: strapi/packages/core/review-workflows/admin/src/routes/settings/components/Stages.tsx\n */\nexport const STAGE_TRANSITION_UID = 'admin::review-workflows.stage.transition';\n\nexport const STAGE_DEFAULT_COLOR = '#4945FF';\nexport const ENTITY_STAGE_ATTRIBUTE = 'strapi_stage';\nexport const ENTITY_ASSIGNEE_ATTRIBUTE = 'strapi_assignee';\n\nexport const MAX_WORKFLOWS = 200;\nexport const MAX_STAGES_PER_WORKFLOW = 200;\n\nexport const ERRORS = {\n WORKFLOW_WITHOUT_STAGES: 'A workflow must have at least one stage.',\n WORKFLOWS_LIMIT:\n 'You’ve reached the limit of workflows in your plan. Delete a workflow or contact Sales to enable more workflows.',\n STAGES_LIMIT:\n 'You’ve reached the limit of stages for this workflow in your plan. Try deleting some stages or contact Sales to enable more stages.',\n DUPLICATED_STAGE_NAME: 'Stage names must be unique.',\n};\n\nexport const WORKFLOW_POPULATE = {\n stages: {\n populate: {\n permissions: {\n fields: ['action', 'actionParameters'],\n populate: {\n role: { fields: ['id', 'name'] },\n },\n },\n },\n },\n stageRequiredToPublish: true,\n};\n"],"names":["WORKFLOW_MODEL_UID","STAGE_MODEL_UID","STAGE_TRANSITION_UID","STAGE_DEFAULT_COLOR","ENTITY_STAGE_ATTRIBUTE","ENTITY_ASSIGNEE_ATTRIBUTE","MAX_WORKFLOWS","MAX_STAGES_PER_WORKFLOW","ERRORS","WORKFLOW_WITHOUT_STAGES","WORKFLOWS_LIMIT","STAGES_LIMIT","DUPLICATED_STAGE_NAME","WORKFLOW_POPULATE","stages","populate","permissions","fields","role","stageRequiredToPublish"],"mappings":";;AAAO,MAAMA,qBAAqB;AAC3B,MAAMC,kBAAkB;AAC/B;;;;IAKaC,MAAAA,oBAAAA,GAAuB;AAE7B,MAAMC,sBAAsB;AAC5B,MAAMC,yBAAyB;AAC/B,MAAMC,4BAA4B;AAElC,MAAMC,gBAAgB;AACtB,MAAMC,0BAA0B;MAE1BC,MAAS,GAAA;IACpBC,uBAAyB,EAAA,0CAAA;IACzBC,eACE,EAAA,kHAAA;IACFC,YACE,EAAA,qIAAA;IACFC,qBAAuB,EAAA;AACzB;MAEaC,iBAAoB,GAAA;IAC/BC,MAAQ,EAAA;QACNC,QAAU,EAAA;YACRC,WAAa,EAAA;gBACXC,MAAQ,EAAA;AAAC,oBAAA,QAAA;AAAU,oBAAA;AAAmB,iBAAA;gBACtCF,QAAU,EAAA;oBACRG,IAAM,EAAA;wBAAED,MAAQ,EAAA;AAAC,4BAAA,IAAA;AAAM,4BAAA;AAAO;AAAC;AACjC;AACF;AACF;AACF,KAAA;IACAE,sBAAwB,EAAA;AAC1B;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const WORKFLOW_MODEL_UID = 'plugin::review-workflows.workflow';
|
|
2
|
+
const STAGE_MODEL_UID = 'plugin::review-workflows.workflow-stage';
|
|
3
|
+
/**
|
|
4
|
+
* TODO: For V4 compatibility, the old UID was kept, when review workflows was in the admin package
|
|
5
|
+
*
|
|
6
|
+
* NOTE!: if you change this string you need to change it here too: strapi/packages/core/review-workflows/admin/src/routes/settings/components/Stages.tsx
|
|
7
|
+
*/ const STAGE_TRANSITION_UID = 'admin::review-workflows.stage.transition';
|
|
8
|
+
const STAGE_DEFAULT_COLOR = '#4945FF';
|
|
9
|
+
const ENTITY_STAGE_ATTRIBUTE = 'strapi_stage';
|
|
10
|
+
const ENTITY_ASSIGNEE_ATTRIBUTE = 'strapi_assignee';
|
|
11
|
+
const MAX_WORKFLOWS = 200;
|
|
12
|
+
const MAX_STAGES_PER_WORKFLOW = 200;
|
|
13
|
+
const ERRORS = {
|
|
14
|
+
WORKFLOW_WITHOUT_STAGES: 'A workflow must have at least one stage.',
|
|
15
|
+
WORKFLOWS_LIMIT: 'You’ve reached the limit of workflows in your plan. Delete a workflow or contact Sales to enable more workflows.',
|
|
16
|
+
STAGES_LIMIT: 'You’ve reached the limit of stages for this workflow in your plan. Try deleting some stages or contact Sales to enable more stages.',
|
|
17
|
+
DUPLICATED_STAGE_NAME: 'Stage names must be unique.'
|
|
18
|
+
};
|
|
19
|
+
const WORKFLOW_POPULATE = {
|
|
20
|
+
stages: {
|
|
21
|
+
populate: {
|
|
22
|
+
permissions: {
|
|
23
|
+
fields: [
|
|
24
|
+
'action',
|
|
25
|
+
'actionParameters'
|
|
26
|
+
],
|
|
27
|
+
populate: {
|
|
28
|
+
role: {
|
|
29
|
+
fields: [
|
|
30
|
+
'id',
|
|
31
|
+
'name'
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
stageRequiredToPublish: true
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { ENTITY_ASSIGNEE_ATTRIBUTE, ENTITY_STAGE_ATTRIBUTE, ERRORS, MAX_STAGES_PER_WORKFLOW, MAX_WORKFLOWS, STAGE_DEFAULT_COLOR, STAGE_MODEL_UID, STAGE_TRANSITION_UID, WORKFLOW_MODEL_UID, WORKFLOW_POPULATE };
|
|
42
|
+
//# sourceMappingURL=workflows.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.mjs","sources":["../../../server/src/constants/workflows.ts"],"sourcesContent":["export const WORKFLOW_MODEL_UID = 'plugin::review-workflows.workflow';\nexport const STAGE_MODEL_UID = 'plugin::review-workflows.workflow-stage';\n/**\n * TODO: For V4 compatibility, the old UID was kept, when review workflows was in the admin package\n *\n * NOTE!: if you change this string you need to change it here too: strapi/packages/core/review-workflows/admin/src/routes/settings/components/Stages.tsx\n */\nexport const STAGE_TRANSITION_UID = 'admin::review-workflows.stage.transition';\n\nexport const STAGE_DEFAULT_COLOR = '#4945FF';\nexport const ENTITY_STAGE_ATTRIBUTE = 'strapi_stage';\nexport const ENTITY_ASSIGNEE_ATTRIBUTE = 'strapi_assignee';\n\nexport const MAX_WORKFLOWS = 200;\nexport const MAX_STAGES_PER_WORKFLOW = 200;\n\nexport const ERRORS = {\n WORKFLOW_WITHOUT_STAGES: 'A workflow must have at least one stage.',\n WORKFLOWS_LIMIT:\n 'You’ve reached the limit of workflows in your plan. Delete a workflow or contact Sales to enable more workflows.',\n STAGES_LIMIT:\n 'You’ve reached the limit of stages for this workflow in your plan. Try deleting some stages or contact Sales to enable more stages.',\n DUPLICATED_STAGE_NAME: 'Stage names must be unique.',\n};\n\nexport const WORKFLOW_POPULATE = {\n stages: {\n populate: {\n permissions: {\n fields: ['action', 'actionParameters'],\n populate: {\n role: { fields: ['id', 'name'] },\n },\n },\n },\n },\n stageRequiredToPublish: true,\n};\n"],"names":["WORKFLOW_MODEL_UID","STAGE_MODEL_UID","STAGE_TRANSITION_UID","STAGE_DEFAULT_COLOR","ENTITY_STAGE_ATTRIBUTE","ENTITY_ASSIGNEE_ATTRIBUTE","MAX_WORKFLOWS","MAX_STAGES_PER_WORKFLOW","ERRORS","WORKFLOW_WITHOUT_STAGES","WORKFLOWS_LIMIT","STAGES_LIMIT","DUPLICATED_STAGE_NAME","WORKFLOW_POPULATE","stages","populate","permissions","fields","role","stageRequiredToPublish"],"mappings":"AAAO,MAAMA,qBAAqB;AAC3B,MAAMC,kBAAkB;AAC/B;;;;IAKaC,MAAAA,oBAAAA,GAAuB;AAE7B,MAAMC,sBAAsB;AAC5B,MAAMC,yBAAyB;AAC/B,MAAMC,4BAA4B;AAElC,MAAMC,gBAAgB;AACtB,MAAMC,0BAA0B;MAE1BC,MAAS,GAAA;IACpBC,uBAAyB,EAAA,0CAAA;IACzBC,eACE,EAAA,kHAAA;IACFC,YACE,EAAA,qIAAA;IACFC,qBAAuB,EAAA;AACzB;MAEaC,iBAAoB,GAAA;IAC/BC,MAAQ,EAAA;QACNC,QAAU,EAAA;YACRC,WAAa,EAAA;gBACXC,MAAQ,EAAA;AAAC,oBAAA,QAAA;AAAU,oBAAA;AAAmB,iBAAA;gBACtCF,QAAU,EAAA;oBACRG,IAAM,EAAA;wBAAED,MAAQ,EAAA;AAAC,4BAAA,IAAA;AAAM,4BAAA;AAAO;AAAC;AACjC;AACF;AACF;AACF,KAAA;IACAE,sBAAwB,EAAA;AAC1B;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./workflow/index.js');
|
|
4
|
+
var index$1 = require('./workflow-stage/index.js');
|
|
5
|
+
|
|
6
|
+
var contentTypes = {
|
|
7
|
+
workflow: index,
|
|
8
|
+
'workflow-stage': index$1
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
module.exports = contentTypes;
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../server/src/content-types/index.ts"],"sourcesContent":["import workflow from './workflow';\nimport workflowStage from './workflow-stage';\n\nexport default {\n workflow,\n 'workflow-stage': workflowStage,\n};\n"],"names":["workflow","workflowStage"],"mappings":";;;;;AAGA,mBAAe;AACbA,cAAAA,KAAAA;IACA,gBAAkBC,EAAAA;AACpB,CAAE;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/src/content-types/index.ts"],"sourcesContent":["import workflow from './workflow';\nimport workflowStage from './workflow-stage';\n\nexport default {\n workflow,\n 'workflow-stage': workflowStage,\n};\n"],"names":["workflow","workflowStage"],"mappings":";;;AAGA,mBAAe;AACbA,IAAAA,QAAAA;IACA,gBAAkBC,EAAAA;AACpB,CAAE;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var workflow = {
|
|
4
|
+
schema: {
|
|
5
|
+
collectionName: 'strapi_workflows',
|
|
6
|
+
info: {
|
|
7
|
+
name: 'Workflow',
|
|
8
|
+
description: '',
|
|
9
|
+
singularName: 'workflow',
|
|
10
|
+
pluralName: 'workflows',
|
|
11
|
+
displayName: 'Workflow'
|
|
12
|
+
},
|
|
13
|
+
options: {},
|
|
14
|
+
pluginOptions: {
|
|
15
|
+
'content-manager': {
|
|
16
|
+
visible: false
|
|
17
|
+
},
|
|
18
|
+
'content-type-builder': {
|
|
19
|
+
visible: false
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
attributes: {
|
|
23
|
+
name: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
required: true,
|
|
26
|
+
unique: true
|
|
27
|
+
},
|
|
28
|
+
stages: {
|
|
29
|
+
type: 'relation',
|
|
30
|
+
target: 'plugin::review-workflows.workflow-stage',
|
|
31
|
+
relation: 'oneToMany',
|
|
32
|
+
mappedBy: 'workflow'
|
|
33
|
+
},
|
|
34
|
+
stageRequiredToPublish: {
|
|
35
|
+
type: 'relation',
|
|
36
|
+
target: 'plugin::review-workflows.workflow-stage',
|
|
37
|
+
relation: 'oneToOne',
|
|
38
|
+
required: false
|
|
39
|
+
},
|
|
40
|
+
contentTypes: {
|
|
41
|
+
type: 'json',
|
|
42
|
+
required: true,
|
|
43
|
+
default: '[]'
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
module.exports = workflow;
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../server/src/content-types/workflow/index.ts"],"sourcesContent":["export default {\n schema: {\n collectionName: 'strapi_workflows',\n info: {\n name: 'Workflow',\n description: '',\n singularName: 'workflow',\n pluralName: 'workflows',\n displayName: 'Workflow',\n },\n options: {},\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n required: true,\n unique: true,\n },\n stages: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow-stage',\n relation: 'oneToMany',\n mappedBy: 'workflow',\n },\n stageRequiredToPublish: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow-stage',\n relation: 'oneToOne',\n required: false,\n },\n contentTypes: {\n type: 'json',\n required: true,\n default: '[]',\n },\n },\n },\n};\n"],"names":["schema","collectionName","info","name","description","singularName","pluralName","displayName","options","pluginOptions","visible","attributes","type","required","unique","stages","target","relation","mappedBy","stageRequiredToPublish","contentTypes","default"],"mappings":";;AAAA,eAAe;IACbA,MAAQ,EAAA;QACNC,cAAgB,EAAA,kBAAA;QAChBC,IAAM,EAAA;YACJC,IAAM,EAAA,UAAA;YACNC,WAAa,EAAA,EAAA;YACbC,YAAc,EAAA,UAAA;YACdC,UAAY,EAAA,WAAA;YACZC,WAAa,EAAA;AACf,SAAA;AACAC,QAAAA,OAAAA,EAAS,EAAC;QACVC,aAAe,EAAA;YACb,iBAAmB,EAAA;gBACjBC,OAAS,EAAA;AACX,aAAA;YACA,sBAAwB,EAAA;gBACtBA,OAAS,EAAA;AACX;AACF,SAAA;QACAC,UAAY,EAAA;YACVR,IAAM,EAAA;gBACJS,IAAM,EAAA,QAAA;gBACNC,QAAU,EAAA,IAAA;gBACVC,MAAQ,EAAA;AACV,aAAA;YACAC,MAAQ,EAAA;gBACNH,IAAM,EAAA,UAAA;gBACNI,MAAQ,EAAA,yCAAA;gBACRC,QAAU,EAAA,WAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;YACAC,sBAAwB,EAAA;gBACtBP,IAAM,EAAA,UAAA;gBACNI,MAAQ,EAAA,yCAAA;gBACRC,QAAU,EAAA,UAAA;gBACVJ,QAAU,EAAA;AACZ,aAAA;YACAO,YAAc,EAAA;gBACZR,IAAM,EAAA,MAAA;gBACNC,QAAU,EAAA,IAAA;gBACVQ,OAAS,EAAA;AACX;AACF;AACF;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var workflow = {
|
|
2
|
+
schema: {
|
|
3
|
+
collectionName: 'strapi_workflows',
|
|
4
|
+
info: {
|
|
5
|
+
name: 'Workflow',
|
|
6
|
+
description: '',
|
|
7
|
+
singularName: 'workflow',
|
|
8
|
+
pluralName: 'workflows',
|
|
9
|
+
displayName: 'Workflow'
|
|
10
|
+
},
|
|
11
|
+
options: {},
|
|
12
|
+
pluginOptions: {
|
|
13
|
+
'content-manager': {
|
|
14
|
+
visible: false
|
|
15
|
+
},
|
|
16
|
+
'content-type-builder': {
|
|
17
|
+
visible: false
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
attributes: {
|
|
21
|
+
name: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
required: true,
|
|
24
|
+
unique: true
|
|
25
|
+
},
|
|
26
|
+
stages: {
|
|
27
|
+
type: 'relation',
|
|
28
|
+
target: 'plugin::review-workflows.workflow-stage',
|
|
29
|
+
relation: 'oneToMany',
|
|
30
|
+
mappedBy: 'workflow'
|
|
31
|
+
},
|
|
32
|
+
stageRequiredToPublish: {
|
|
33
|
+
type: 'relation',
|
|
34
|
+
target: 'plugin::review-workflows.workflow-stage',
|
|
35
|
+
relation: 'oneToOne',
|
|
36
|
+
required: false
|
|
37
|
+
},
|
|
38
|
+
contentTypes: {
|
|
39
|
+
type: 'json',
|
|
40
|
+
required: true,
|
|
41
|
+
default: '[]'
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export { workflow as default };
|
|
48
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../server/src/content-types/workflow/index.ts"],"sourcesContent":["export default {\n schema: {\n collectionName: 'strapi_workflows',\n info: {\n name: 'Workflow',\n description: '',\n singularName: 'workflow',\n pluralName: 'workflows',\n displayName: 'Workflow',\n },\n options: {},\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n required: true,\n unique: true,\n },\n stages: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow-stage',\n relation: 'oneToMany',\n mappedBy: 'workflow',\n },\n stageRequiredToPublish: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow-stage',\n relation: 'oneToOne',\n required: false,\n },\n contentTypes: {\n type: 'json',\n required: true,\n default: '[]',\n },\n },\n },\n};\n"],"names":["schema","collectionName","info","name","description","singularName","pluralName","displayName","options","pluginOptions","visible","attributes","type","required","unique","stages","target","relation","mappedBy","stageRequiredToPublish","contentTypes","default"],"mappings":"AAAA,eAAe;IACbA,MAAQ,EAAA;QACNC,cAAgB,EAAA,kBAAA;QAChBC,IAAM,EAAA;YACJC,IAAM,EAAA,UAAA;YACNC,WAAa,EAAA,EAAA;YACbC,YAAc,EAAA,UAAA;YACdC,UAAY,EAAA,WAAA;YACZC,WAAa,EAAA;AACf,SAAA;AACAC,QAAAA,OAAAA,EAAS,EAAC;QACVC,aAAe,EAAA;YACb,iBAAmB,EAAA;gBACjBC,OAAS,EAAA;AACX,aAAA;YACA,sBAAwB,EAAA;gBACtBA,OAAS,EAAA;AACX;AACF,SAAA;QACAC,UAAY,EAAA;YACVR,IAAM,EAAA;gBACJS,IAAM,EAAA,QAAA;gBACNC,QAAU,EAAA,IAAA;gBACVC,MAAQ,EAAA;AACV,aAAA;YACAC,MAAQ,EAAA;gBACNH,IAAM,EAAA,UAAA;gBACNI,MAAQ,EAAA,yCAAA;gBACRC,QAAU,EAAA,WAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;YACAC,sBAAwB,EAAA;gBACtBP,IAAM,EAAA,UAAA;gBACNI,MAAQ,EAAA,yCAAA;gBACRC,QAAU,EAAA,UAAA;gBACVJ,QAAU,EAAA;AACZ,aAAA;YACAO,YAAc,EAAA;gBACZR,IAAM,EAAA,MAAA;gBACNC,QAAU,EAAA,IAAA;gBACVQ,OAAS,EAAA;AACX;AACF;AACF;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var workflows = require('../../constants/workflows.js');
|
|
4
|
+
|
|
5
|
+
var workflowStage = {
|
|
6
|
+
schema: {
|
|
7
|
+
collectionName: 'strapi_workflows_stages',
|
|
8
|
+
info: {
|
|
9
|
+
name: 'Workflow Stage',
|
|
10
|
+
description: '',
|
|
11
|
+
singularName: 'workflow-stage',
|
|
12
|
+
pluralName: 'workflow-stages',
|
|
13
|
+
displayName: 'Stages'
|
|
14
|
+
},
|
|
15
|
+
options: {
|
|
16
|
+
version: '1.1.0'
|
|
17
|
+
},
|
|
18
|
+
pluginOptions: {
|
|
19
|
+
'content-manager': {
|
|
20
|
+
visible: false
|
|
21
|
+
},
|
|
22
|
+
'content-type-builder': {
|
|
23
|
+
visible: false
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
attributes: {
|
|
27
|
+
name: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
configurable: false
|
|
30
|
+
},
|
|
31
|
+
color: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
configurable: false,
|
|
34
|
+
default: workflows.STAGE_DEFAULT_COLOR
|
|
35
|
+
},
|
|
36
|
+
workflow: {
|
|
37
|
+
type: 'relation',
|
|
38
|
+
target: 'plugin::review-workflows.workflow',
|
|
39
|
+
relation: 'manyToOne',
|
|
40
|
+
inversedBy: 'stages',
|
|
41
|
+
configurable: false
|
|
42
|
+
},
|
|
43
|
+
permissions: {
|
|
44
|
+
type: 'relation',
|
|
45
|
+
target: 'admin::permission',
|
|
46
|
+
relation: 'manyToMany',
|
|
47
|
+
configurable: false
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
module.exports = workflowStage;
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../server/src/content-types/workflow-stage/index.ts"],"sourcesContent":["import { STAGE_DEFAULT_COLOR } from '../../constants/workflows';\n\nexport default {\n schema: {\n collectionName: 'strapi_workflows_stages',\n info: {\n name: 'Workflow Stage',\n description: '',\n singularName: 'workflow-stage',\n pluralName: 'workflow-stages',\n displayName: 'Stages',\n },\n options: {\n version: '1.1.0',\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n configurable: false,\n },\n color: {\n type: 'string',\n configurable: false,\n default: STAGE_DEFAULT_COLOR,\n },\n workflow: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow',\n relation: 'manyToOne',\n inversedBy: 'stages',\n configurable: false,\n },\n permissions: {\n type: 'relation',\n target: 'admin::permission',\n relation: 'manyToMany',\n configurable: false,\n },\n },\n },\n};\n"],"names":["schema","collectionName","info","name","description","singularName","pluralName","displayName","options","version","pluginOptions","visible","attributes","type","configurable","color","default","STAGE_DEFAULT_COLOR","workflow","target","relation","inversedBy","permissions"],"mappings":";;;;AAEA,oBAAe;IACbA,MAAQ,EAAA;QACNC,cAAgB,EAAA,yBAAA;QAChBC,IAAM,EAAA;YACJC,IAAM,EAAA,gBAAA;YACNC,WAAa,EAAA,EAAA;YACbC,YAAc,EAAA,gBAAA;YACdC,UAAY,EAAA,iBAAA;YACZC,WAAa,EAAA;AACf,SAAA;QACAC,OAAS,EAAA;YACPC,OAAS,EAAA;AACX,SAAA;QACAC,aAAe,EAAA;YACb,iBAAmB,EAAA;gBACjBC,OAAS,EAAA;AACX,aAAA;YACA,sBAAwB,EAAA;gBACtBA,OAAS,EAAA;AACX;AACF,SAAA;QACAC,UAAY,EAAA;YACVT,IAAM,EAAA;gBACJU,IAAM,EAAA,QAAA;gBACNC,YAAc,EAAA;AAChB,aAAA;YACAC,KAAO,EAAA;gBACLF,IAAM,EAAA,QAAA;gBACNC,YAAc,EAAA,KAAA;gBACdE,OAASC,EAAAA;AACX,aAAA;YACAC,QAAU,EAAA;gBACRL,IAAM,EAAA,UAAA;gBACNM,MAAQ,EAAA,mCAAA;gBACRC,QAAU,EAAA,WAAA;gBACVC,UAAY,EAAA,QAAA;gBACZP,YAAc,EAAA;AAChB,aAAA;YACAQ,WAAa,EAAA;gBACXT,IAAM,EAAA,UAAA;gBACNM,MAAQ,EAAA,mBAAA;gBACRC,QAAU,EAAA,YAAA;gBACVN,YAAc,EAAA;AAChB;AACF;AACF;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { STAGE_DEFAULT_COLOR } from '../../constants/workflows.mjs';
|
|
2
|
+
|
|
3
|
+
var workflowStage = {
|
|
4
|
+
schema: {
|
|
5
|
+
collectionName: 'strapi_workflows_stages',
|
|
6
|
+
info: {
|
|
7
|
+
name: 'Workflow Stage',
|
|
8
|
+
description: '',
|
|
9
|
+
singularName: 'workflow-stage',
|
|
10
|
+
pluralName: 'workflow-stages',
|
|
11
|
+
displayName: 'Stages'
|
|
12
|
+
},
|
|
13
|
+
options: {
|
|
14
|
+
version: '1.1.0'
|
|
15
|
+
},
|
|
16
|
+
pluginOptions: {
|
|
17
|
+
'content-manager': {
|
|
18
|
+
visible: false
|
|
19
|
+
},
|
|
20
|
+
'content-type-builder': {
|
|
21
|
+
visible: false
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
attributes: {
|
|
25
|
+
name: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
configurable: false
|
|
28
|
+
},
|
|
29
|
+
color: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
configurable: false,
|
|
32
|
+
default: STAGE_DEFAULT_COLOR
|
|
33
|
+
},
|
|
34
|
+
workflow: {
|
|
35
|
+
type: 'relation',
|
|
36
|
+
target: 'plugin::review-workflows.workflow',
|
|
37
|
+
relation: 'manyToOne',
|
|
38
|
+
inversedBy: 'stages',
|
|
39
|
+
configurable: false
|
|
40
|
+
},
|
|
41
|
+
permissions: {
|
|
42
|
+
type: 'relation',
|
|
43
|
+
target: 'admin::permission',
|
|
44
|
+
relation: 'manyToMany',
|
|
45
|
+
configurable: false
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { workflowStage as default };
|
|
52
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../server/src/content-types/workflow-stage/index.ts"],"sourcesContent":["import { STAGE_DEFAULT_COLOR } from '../../constants/workflows';\n\nexport default {\n schema: {\n collectionName: 'strapi_workflows_stages',\n info: {\n name: 'Workflow Stage',\n description: '',\n singularName: 'workflow-stage',\n pluralName: 'workflow-stages',\n displayName: 'Stages',\n },\n options: {\n version: '1.1.0',\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n configurable: false,\n },\n color: {\n type: 'string',\n configurable: false,\n default: STAGE_DEFAULT_COLOR,\n },\n workflow: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow',\n relation: 'manyToOne',\n inversedBy: 'stages',\n configurable: false,\n },\n permissions: {\n type: 'relation',\n target: 'admin::permission',\n relation: 'manyToMany',\n configurable: false,\n },\n },\n },\n};\n"],"names":["schema","collectionName","info","name","description","singularName","pluralName","displayName","options","version","pluginOptions","visible","attributes","type","configurable","color","default","STAGE_DEFAULT_COLOR","workflow","target","relation","inversedBy","permissions"],"mappings":";;AAEA,oBAAe;IACbA,MAAQ,EAAA;QACNC,cAAgB,EAAA,yBAAA;QAChBC,IAAM,EAAA;YACJC,IAAM,EAAA,gBAAA;YACNC,WAAa,EAAA,EAAA;YACbC,YAAc,EAAA,gBAAA;YACdC,UAAY,EAAA,iBAAA;YACZC,WAAa,EAAA;AACf,SAAA;QACAC,OAAS,EAAA;YACPC,OAAS,EAAA;AACX,SAAA;QACAC,aAAe,EAAA;YACb,iBAAmB,EAAA;gBACjBC,OAAS,EAAA;AACX,aAAA;YACA,sBAAwB,EAAA;gBACtBA,OAAS,EAAA;AACX;AACF,SAAA;QACAC,UAAY,EAAA;YACVT,IAAM,EAAA;gBACJU,IAAM,EAAA,QAAA;gBACNC,YAAc,EAAA;AAChB,aAAA;YACAC,KAAO,EAAA;gBACLF,IAAM,EAAA,QAAA;gBACNC,YAAc,EAAA,KAAA;gBACdE,OAASC,EAAAA;AACX,aAAA;YACAC,QAAU,EAAA;gBACRL,IAAM,EAAA,UAAA;gBACNM,MAAQ,EAAA,mCAAA;gBACRC,QAAU,EAAA,WAAA;gBACVC,UAAY,EAAA,QAAA;gBACZP,YAAc,EAAA;AAChB,aAAA;YACAQ,WAAa,EAAA;gBACXT,IAAM,EAAA,UAAA;gBACNM,MAAQ,EAAA,mBAAA;gBACRC,QAAU,EAAA,YAAA;gBACVN,YAAc,EAAA;AAChB;AACF;AACF;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('../utils/index.js');
|
|
4
|
+
var reviewWorkflows = require('../validation/review-workflows.js');
|
|
5
|
+
var workflows = require('../constants/workflows.js');
|
|
6
|
+
|
|
7
|
+
var assignees = {
|
|
8
|
+
/**
|
|
9
|
+
* Updates an entity's assignee.
|
|
10
|
+
* @async
|
|
11
|
+
* @param {Object} ctx - The Koa context object.
|
|
12
|
+
* @param {Object} ctx.params - An object containing the parameters from the request URL.
|
|
13
|
+
* @param {string} ctx.params.model_uid - The model UID of the entity.
|
|
14
|
+
* @param {string} ctx.params.id - The ID of the entity to update.
|
|
15
|
+
* @param {Object} ctx.request.body.data - Optional data object containing the new assignee ID for the entity.
|
|
16
|
+
* @param {string} ctx.request.body.data.id - The ID of the new assignee for the entity.
|
|
17
|
+
* @throws {ApplicationError} If review workflows is not activated on the specified model UID.
|
|
18
|
+
* @throws {ValidationError} If the `data` object in the request body fails to pass validation.
|
|
19
|
+
* @returns {Promise<void>} A promise that resolves when the entity's assignee has been updated.
|
|
20
|
+
*/ async updateEntity (ctx) {
|
|
21
|
+
const assigneeService = index.getService('assignees');
|
|
22
|
+
const workflowService = index.getService('workflows');
|
|
23
|
+
const stagePermissions = index.getService('stage-permissions');
|
|
24
|
+
const { model_uid: model, id: documentId } = ctx.params;
|
|
25
|
+
const locale = await reviewWorkflows.validateLocale(ctx.request.query?.locale) ?? undefined;
|
|
26
|
+
const { sanitizeOutput } = strapi.plugin('content-manager').service('permission-checker').create({
|
|
27
|
+
userAbility: ctx.state.userAbility,
|
|
28
|
+
model
|
|
29
|
+
});
|
|
30
|
+
// Retrieve the entity so we can get its current stage
|
|
31
|
+
const entity = await strapi.documents(model).findOne({
|
|
32
|
+
documentId,
|
|
33
|
+
locale,
|
|
34
|
+
populate: [
|
|
35
|
+
workflows.ENTITY_STAGE_ATTRIBUTE
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
if (!entity) {
|
|
39
|
+
ctx.throw(404, 'Entity not found');
|
|
40
|
+
}
|
|
41
|
+
// Only allow users who can update the current stage to change the assignee
|
|
42
|
+
const canTransitionStage = stagePermissions.can(workflows.STAGE_TRANSITION_UID, entity[workflows.ENTITY_STAGE_ATTRIBUTE]?.id);
|
|
43
|
+
if (!canTransitionStage) {
|
|
44
|
+
ctx.throw(403, 'Stage transition permission is required');
|
|
45
|
+
}
|
|
46
|
+
// TODO: check if user has update permission on the entity
|
|
47
|
+
const { id: assigneeId } = await reviewWorkflows.validateUpdateAssigneeOnEntity(ctx.request?.body?.data, 'You should pass a valid id to the body of the put request.');
|
|
48
|
+
await workflowService.assertContentTypeBelongsToWorkflow(model);
|
|
49
|
+
const updatedEntity = await assigneeService.updateEntityAssignee(entity, model, assigneeId);
|
|
50
|
+
ctx.body = {
|
|
51
|
+
data: await sanitizeOutput(updatedEntity)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
module.exports = assignees;
|
|
57
|
+
//# sourceMappingURL=assignees.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assignees.js","sources":["../../../server/src/controllers/assignees.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { validateUpdateAssigneeOnEntity, validateLocale } from '../validation/review-workflows';\nimport { ENTITY_STAGE_ATTRIBUTE, STAGE_TRANSITION_UID } from '../constants/workflows';\n\nexport default {\n /**\n * Updates an entity's assignee.\n * @async\n * @param {Object} ctx - The Koa context object.\n * @param {Object} ctx.params - An object containing the parameters from the request URL.\n * @param {string} ctx.params.model_uid - The model UID of the entity.\n * @param {string} ctx.params.id - The ID of the entity to update.\n * @param {Object} ctx.request.body.data - Optional data object containing the new assignee ID for the entity.\n * @param {string} ctx.request.body.data.id - The ID of the new assignee for the entity.\n * @throws {ApplicationError} If review workflows is not activated on the specified model UID.\n * @throws {ValidationError} If the `data` object in the request body fails to pass validation.\n * @returns {Promise<void>} A promise that resolves when the entity's assignee has been updated.\n */\n async updateEntity(ctx: Context) {\n const assigneeService = getService('assignees');\n const workflowService = getService('workflows');\n const stagePermissions = getService('stage-permissions');\n\n const { model_uid: model, id: documentId } = ctx.params;\n const locale = (await validateLocale(ctx.request.query?.locale)) ?? undefined;\n\n const { sanitizeOutput } = strapi\n .plugin('content-manager')\n .service('permission-checker')\n .create({ userAbility: ctx.state.userAbility, model });\n\n // Retrieve the entity so we can get its current stage\n const entity = await strapi.documents(model).findOne({\n documentId,\n locale,\n populate: [ENTITY_STAGE_ATTRIBUTE],\n });\n\n if (!entity) {\n ctx.throw(404, 'Entity not found');\n }\n\n // Only allow users who can update the current stage to change the assignee\n const canTransitionStage = stagePermissions.can(\n STAGE_TRANSITION_UID,\n entity[ENTITY_STAGE_ATTRIBUTE]?.id\n );\n\n if (!canTransitionStage) {\n ctx.throw(403, 'Stage transition permission is required');\n }\n\n // TODO: check if user has update permission on the entity\n const { id: assigneeId } = await validateUpdateAssigneeOnEntity(\n ctx.request?.body?.data,\n 'You should pass a valid id to the body of the put request.'\n );\n\n await workflowService.assertContentTypeBelongsToWorkflow(model);\n\n const updatedEntity = await assigneeService.updateEntityAssignee(entity, model, assigneeId);\n\n ctx.body = { data: await sanitizeOutput(updatedEntity) };\n },\n};\n"],"names":["updateEntity","ctx","assigneeService","getService","workflowService","stagePermissions","model_uid","model","id","documentId","params","locale","validateLocale","request","query","undefined","sanitizeOutput","strapi","plugin","service","create","userAbility","state","entity","documents","findOne","populate","ENTITY_STAGE_ATTRIBUTE","throw","canTransitionStage","can","STAGE_TRANSITION_UID","assigneeId","validateUpdateAssigneeOnEntity","body","data","assertContentTypeBelongsToWorkflow","updatedEntity","updateEntityAssignee"],"mappings":";;;;;;AAMA,gBAAe;AACb;;;;;;;;;;;;MAaA,MAAMA,cAAaC,GAAY,EAAA;AAC7B,QAAA,MAAMC,kBAAkBC,gBAAW,CAAA,WAAA,CAAA;AACnC,QAAA,MAAMC,kBAAkBD,gBAAW,CAAA,WAAA,CAAA;AACnC,QAAA,MAAME,mBAAmBF,gBAAW,CAAA,mBAAA,CAAA;QAEpC,MAAM,EAAEG,WAAWC,KAAK,EAAEC,IAAIC,UAAU,EAAE,GAAGR,GAAAA,CAAIS,MAAM;QACvD,MAAMC,MAAAA,GAAS,MAAOC,8BAAAA,CAAeX,IAAIY,OAAO,CAACC,KAAK,EAAEH,MAAYI,CAAAA,IAAAA,SAAAA;AAEpE,QAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,MACxBC,CAAAA,MAAM,CAAC,iBAAA,CAAA,CACPC,OAAO,CAAC,oBACRC,CAAAA,CAAAA,MAAM,CAAC;YAAEC,WAAapB,EAAAA,GAAAA,CAAIqB,KAAK,CAACD,WAAW;AAAEd,YAAAA;AAAM,SAAA,CAAA;;AAGtD,QAAA,MAAMgB,SAAS,MAAMN,MAAAA,CAAOO,SAAS,CAACjB,KAAAA,CAAAA,CAAOkB,OAAO,CAAC;AACnDhB,YAAAA,UAAAA;AACAE,YAAAA,MAAAA;YACAe,QAAU,EAAA;AAACC,gBAAAA;AAAuB;AACpC,SAAA,CAAA;AAEA,QAAA,IAAI,CAACJ,MAAQ,EAAA;YACXtB,GAAI2B,CAAAA,KAAK,CAAC,GAAK,EAAA,kBAAA,CAAA;AACjB;;QAGA,MAAMC,kBAAAA,GAAqBxB,iBAAiByB,GAAG,CAC7CC,gCACAR,MAAM,CAACI,iCAAuB,EAAEnB,EAAAA,CAAAA;AAGlC,QAAA,IAAI,CAACqB,kBAAoB,EAAA;YACvB5B,GAAI2B,CAAAA,KAAK,CAAC,GAAK,EAAA,yCAAA,CAAA;AACjB;;QAGA,MAAM,EAAEpB,EAAIwB,EAAAA,UAAU,EAAE,GAAG,MAAMC,8CAAAA,CAC/BhC,GAAIY,CAAAA,OAAO,EAAEqB,IAAAA,EAAMC,IACnB,EAAA,4DAAA,CAAA;QAGF,MAAM/B,eAAAA,CAAgBgC,kCAAkC,CAAC7B,KAAAA,CAAAA;AAEzD,QAAA,MAAM8B,gBAAgB,MAAMnC,eAAAA,CAAgBoC,oBAAoB,CAACf,QAAQhB,KAAOyB,EAAAA,UAAAA,CAAAA;AAEhF/B,QAAAA,GAAAA,CAAIiC,IAAI,GAAG;AAAEC,YAAAA,IAAAA,EAAM,MAAMnB,cAAeqB,CAAAA,aAAAA;AAAe,SAAA;AACzD;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { getService } from '../utils/index.mjs';
|
|
2
|
+
import { validateLocale, validateUpdateAssigneeOnEntity } from '../validation/review-workflows.mjs';
|
|
3
|
+
import { ENTITY_STAGE_ATTRIBUTE, STAGE_TRANSITION_UID } from '../constants/workflows.mjs';
|
|
4
|
+
|
|
5
|
+
var assignees = {
|
|
6
|
+
/**
|
|
7
|
+
* Updates an entity's assignee.
|
|
8
|
+
* @async
|
|
9
|
+
* @param {Object} ctx - The Koa context object.
|
|
10
|
+
* @param {Object} ctx.params - An object containing the parameters from the request URL.
|
|
11
|
+
* @param {string} ctx.params.model_uid - The model UID of the entity.
|
|
12
|
+
* @param {string} ctx.params.id - The ID of the entity to update.
|
|
13
|
+
* @param {Object} ctx.request.body.data - Optional data object containing the new assignee ID for the entity.
|
|
14
|
+
* @param {string} ctx.request.body.data.id - The ID of the new assignee for the entity.
|
|
15
|
+
* @throws {ApplicationError} If review workflows is not activated on the specified model UID.
|
|
16
|
+
* @throws {ValidationError} If the `data` object in the request body fails to pass validation.
|
|
17
|
+
* @returns {Promise<void>} A promise that resolves when the entity's assignee has been updated.
|
|
18
|
+
*/ async updateEntity (ctx) {
|
|
19
|
+
const assigneeService = getService('assignees');
|
|
20
|
+
const workflowService = getService('workflows');
|
|
21
|
+
const stagePermissions = getService('stage-permissions');
|
|
22
|
+
const { model_uid: model, id: documentId } = ctx.params;
|
|
23
|
+
const locale = await validateLocale(ctx.request.query?.locale) ?? undefined;
|
|
24
|
+
const { sanitizeOutput } = strapi.plugin('content-manager').service('permission-checker').create({
|
|
25
|
+
userAbility: ctx.state.userAbility,
|
|
26
|
+
model
|
|
27
|
+
});
|
|
28
|
+
// Retrieve the entity so we can get its current stage
|
|
29
|
+
const entity = await strapi.documents(model).findOne({
|
|
30
|
+
documentId,
|
|
31
|
+
locale,
|
|
32
|
+
populate: [
|
|
33
|
+
ENTITY_STAGE_ATTRIBUTE
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
if (!entity) {
|
|
37
|
+
ctx.throw(404, 'Entity not found');
|
|
38
|
+
}
|
|
39
|
+
// Only allow users who can update the current stage to change the assignee
|
|
40
|
+
const canTransitionStage = stagePermissions.can(STAGE_TRANSITION_UID, entity[ENTITY_STAGE_ATTRIBUTE]?.id);
|
|
41
|
+
if (!canTransitionStage) {
|
|
42
|
+
ctx.throw(403, 'Stage transition permission is required');
|
|
43
|
+
}
|
|
44
|
+
// TODO: check if user has update permission on the entity
|
|
45
|
+
const { id: assigneeId } = await validateUpdateAssigneeOnEntity(ctx.request?.body?.data, 'You should pass a valid id to the body of the put request.');
|
|
46
|
+
await workflowService.assertContentTypeBelongsToWorkflow(model);
|
|
47
|
+
const updatedEntity = await assigneeService.updateEntityAssignee(entity, model, assigneeId);
|
|
48
|
+
ctx.body = {
|
|
49
|
+
data: await sanitizeOutput(updatedEntity)
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export { assignees as default };
|
|
55
|
+
//# sourceMappingURL=assignees.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assignees.mjs","sources":["../../../server/src/controllers/assignees.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { validateUpdateAssigneeOnEntity, validateLocale } from '../validation/review-workflows';\nimport { ENTITY_STAGE_ATTRIBUTE, STAGE_TRANSITION_UID } from '../constants/workflows';\n\nexport default {\n /**\n * Updates an entity's assignee.\n * @async\n * @param {Object} ctx - The Koa context object.\n * @param {Object} ctx.params - An object containing the parameters from the request URL.\n * @param {string} ctx.params.model_uid - The model UID of the entity.\n * @param {string} ctx.params.id - The ID of the entity to update.\n * @param {Object} ctx.request.body.data - Optional data object containing the new assignee ID for the entity.\n * @param {string} ctx.request.body.data.id - The ID of the new assignee for the entity.\n * @throws {ApplicationError} If review workflows is not activated on the specified model UID.\n * @throws {ValidationError} If the `data` object in the request body fails to pass validation.\n * @returns {Promise<void>} A promise that resolves when the entity's assignee has been updated.\n */\n async updateEntity(ctx: Context) {\n const assigneeService = getService('assignees');\n const workflowService = getService('workflows');\n const stagePermissions = getService('stage-permissions');\n\n const { model_uid: model, id: documentId } = ctx.params;\n const locale = (await validateLocale(ctx.request.query?.locale)) ?? undefined;\n\n const { sanitizeOutput } = strapi\n .plugin('content-manager')\n .service('permission-checker')\n .create({ userAbility: ctx.state.userAbility, model });\n\n // Retrieve the entity so we can get its current stage\n const entity = await strapi.documents(model).findOne({\n documentId,\n locale,\n populate: [ENTITY_STAGE_ATTRIBUTE],\n });\n\n if (!entity) {\n ctx.throw(404, 'Entity not found');\n }\n\n // Only allow users who can update the current stage to change the assignee\n const canTransitionStage = stagePermissions.can(\n STAGE_TRANSITION_UID,\n entity[ENTITY_STAGE_ATTRIBUTE]?.id\n );\n\n if (!canTransitionStage) {\n ctx.throw(403, 'Stage transition permission is required');\n }\n\n // TODO: check if user has update permission on the entity\n const { id: assigneeId } = await validateUpdateAssigneeOnEntity(\n ctx.request?.body?.data,\n 'You should pass a valid id to the body of the put request.'\n );\n\n await workflowService.assertContentTypeBelongsToWorkflow(model);\n\n const updatedEntity = await assigneeService.updateEntityAssignee(entity, model, assigneeId);\n\n ctx.body = { data: await sanitizeOutput(updatedEntity) };\n },\n};\n"],"names":["updateEntity","ctx","assigneeService","getService","workflowService","stagePermissions","model_uid","model","id","documentId","params","locale","validateLocale","request","query","undefined","sanitizeOutput","strapi","plugin","service","create","userAbility","state","entity","documents","findOne","populate","ENTITY_STAGE_ATTRIBUTE","throw","canTransitionStage","can","STAGE_TRANSITION_UID","assigneeId","validateUpdateAssigneeOnEntity","body","data","assertContentTypeBelongsToWorkflow","updatedEntity","updateEntityAssignee"],"mappings":";;;;AAMA,gBAAe;AACb;;;;;;;;;;;;MAaA,MAAMA,cAAaC,GAAY,EAAA;AAC7B,QAAA,MAAMC,kBAAkBC,UAAW,CAAA,WAAA,CAAA;AACnC,QAAA,MAAMC,kBAAkBD,UAAW,CAAA,WAAA,CAAA;AACnC,QAAA,MAAME,mBAAmBF,UAAW,CAAA,mBAAA,CAAA;QAEpC,MAAM,EAAEG,WAAWC,KAAK,EAAEC,IAAIC,UAAU,EAAE,GAAGR,GAAAA,CAAIS,MAAM;QACvD,MAAMC,MAAAA,GAAS,MAAOC,cAAAA,CAAeX,IAAIY,OAAO,CAACC,KAAK,EAAEH,MAAYI,CAAAA,IAAAA,SAAAA;AAEpE,QAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,MACxBC,CAAAA,MAAM,CAAC,iBAAA,CAAA,CACPC,OAAO,CAAC,oBACRC,CAAAA,CAAAA,MAAM,CAAC;YAAEC,WAAapB,EAAAA,GAAAA,CAAIqB,KAAK,CAACD,WAAW;AAAEd,YAAAA;AAAM,SAAA,CAAA;;AAGtD,QAAA,MAAMgB,SAAS,MAAMN,MAAAA,CAAOO,SAAS,CAACjB,KAAAA,CAAAA,CAAOkB,OAAO,CAAC;AACnDhB,YAAAA,UAAAA;AACAE,YAAAA,MAAAA;YACAe,QAAU,EAAA;AAACC,gBAAAA;AAAuB;AACpC,SAAA,CAAA;AAEA,QAAA,IAAI,CAACJ,MAAQ,EAAA;YACXtB,GAAI2B,CAAAA,KAAK,CAAC,GAAK,EAAA,kBAAA,CAAA;AACjB;;QAGA,MAAMC,kBAAAA,GAAqBxB,iBAAiByB,GAAG,CAC7CC,sBACAR,MAAM,CAACI,uBAAuB,EAAEnB,EAAAA,CAAAA;AAGlC,QAAA,IAAI,CAACqB,kBAAoB,EAAA;YACvB5B,GAAI2B,CAAAA,KAAK,CAAC,GAAK,EAAA,yCAAA,CAAA;AACjB;;QAGA,MAAM,EAAEpB,EAAIwB,EAAAA,UAAU,EAAE,GAAG,MAAMC,8BAAAA,CAC/BhC,GAAIY,CAAAA,OAAO,EAAEqB,IAAAA,EAAMC,IACnB,EAAA,4DAAA,CAAA;QAGF,MAAM/B,eAAAA,CAAgBgC,kCAAkC,CAAC7B,KAAAA,CAAAA;AAEzD,QAAA,MAAM8B,gBAAgB,MAAMnC,eAAAA,CAAgBoC,oBAAoB,CAACf,QAAQhB,KAAOyB,EAAAA,UAAAA,CAAAA;AAEhF/B,QAAAA,GAAAA,CAAIiC,IAAI,GAAG;AAAEC,YAAAA,IAAAA,EAAM,MAAMnB,cAAeqB,CAAAA,aAAAA;AAAe,SAAA;AACzD;AACF,CAAE;;;;"}
|