@strapi/review-workflows 5.12.1 → 5.12.3
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,116 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fp = require('lodash/fp');
|
|
4
|
+
var index = require('./utils/index.js');
|
|
5
|
+
var shortenStageAttribute = require('./migrations/shorten-stage-attribute.js');
|
|
6
|
+
var setStagesDefaultColor = require('./migrations/set-stages-default-color.js');
|
|
7
|
+
var setStagesRoles = require('./migrations/set-stages-roles.js');
|
|
8
|
+
var setWorkflowDefaultName = require('./migrations/set-workflow-default-name.js');
|
|
9
|
+
var multipleWorkflows = require('./migrations/multiple-workflows.js');
|
|
10
|
+
var handleDeletedCtInWorkflows = require('./migrations/handle-deleted-ct-in-workflows.js');
|
|
11
|
+
var reviewWorkflows = require('./middlewares/review-workflows.js');
|
|
12
|
+
var reviewWorkflows$1 = require('./utils/review-workflows.js');
|
|
13
|
+
var workflows = require('./constants/workflows.js');
|
|
14
|
+
|
|
15
|
+
const setRelation = (attributeName, target, contentType)=>{
|
|
16
|
+
Object.assign(contentType.attributes, {
|
|
17
|
+
[attributeName]: {
|
|
18
|
+
writable: true,
|
|
19
|
+
private: false,
|
|
20
|
+
configurable: false,
|
|
21
|
+
visible: false,
|
|
22
|
+
useJoinTable: true,
|
|
23
|
+
type: 'relation',
|
|
24
|
+
relation: 'oneToOne',
|
|
25
|
+
target
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
return contentType;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Add the stage and assignee attributes to content types
|
|
32
|
+
*/ function extendReviewWorkflowContentTypes({ strapi }) {
|
|
33
|
+
const contentTypeToExtend = reviewWorkflows$1.getVisibleContentTypesUID(strapi.contentTypes);
|
|
34
|
+
for (const contentTypeUID of contentTypeToExtend){
|
|
35
|
+
strapi.get('content-types').extend(contentTypeUID, (contentType)=>{
|
|
36
|
+
// Set Stage attribute
|
|
37
|
+
setRelation(workflows.ENTITY_STAGE_ATTRIBUTE, workflows.STAGE_MODEL_UID, contentType);
|
|
38
|
+
// Set Assignee attribute
|
|
39
|
+
setRelation(workflows.ENTITY_ASSIGNEE_ATTRIBUTE, 'admin::user', contentType);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Persist the stage & assignee attributes so they are not removed when downgrading to CE.
|
|
45
|
+
*
|
|
46
|
+
* TODO: V6 - Instead of persisting the join tables, always create the stage & assignee attributes, even in CE mode
|
|
47
|
+
* It was decided in V4 & V5 to not expose them in CE (as they pollute the CTs) but it's not worth given the complexity this needs
|
|
48
|
+
*/ function persistRWOnDowngrade({ strapi }) {
|
|
49
|
+
const { removePersistedTablesWithSuffix, persistTables } = index.getAdminService('persist-tables');
|
|
50
|
+
return async ({ contentTypes })=>{
|
|
51
|
+
const getStageTableToPersist = (contentTypeUID)=>{
|
|
52
|
+
// Persist the stage join table
|
|
53
|
+
const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID);
|
|
54
|
+
const joinTableName = attributes[workflows.ENTITY_STAGE_ATTRIBUTE].joinTable.name;
|
|
55
|
+
return {
|
|
56
|
+
name: joinTableName,
|
|
57
|
+
dependsOn: [
|
|
58
|
+
{
|
|
59
|
+
name: tableName
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const getAssigneeTableToPersist = (contentTypeUID)=>{
|
|
65
|
+
// Persist the assignee join table
|
|
66
|
+
const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID);
|
|
67
|
+
const joinTableName = attributes[workflows.ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;
|
|
68
|
+
return {
|
|
69
|
+
name: joinTableName,
|
|
70
|
+
dependsOn: [
|
|
71
|
+
{
|
|
72
|
+
name: tableName
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
const enabledRWContentTypes = fp.pipe([
|
|
78
|
+
reviewWorkflows$1.getVisibleContentTypesUID,
|
|
79
|
+
fp.filter((uid)=>reviewWorkflows$1.hasStageAttribute(contentTypes[uid]))
|
|
80
|
+
])(contentTypes);
|
|
81
|
+
// Remove previously created join tables and persist the new ones
|
|
82
|
+
const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);
|
|
83
|
+
await removePersistedTablesWithSuffix('_strapi_stage_lnk');
|
|
84
|
+
await persistTables(stageJoinTablesToPersist);
|
|
85
|
+
// Remove previously created join tables and persist the new ones
|
|
86
|
+
const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);
|
|
87
|
+
await removePersistedTablesWithSuffix('_strapi_assignee_lnk');
|
|
88
|
+
await persistTables(assigneeJoinTablesToPersist);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
var register = (async ({ strapi })=>{
|
|
92
|
+
// Data Migrations
|
|
93
|
+
strapi.hook('strapi::content-types.beforeSync').register(shortenStageAttribute);
|
|
94
|
+
strapi.hook('strapi::content-types.afterSync').register(persistRWOnDowngrade({
|
|
95
|
+
strapi
|
|
96
|
+
}));
|
|
97
|
+
strapi.hook('strapi::content-types.afterSync').register(setStagesDefaultColor).register(setStagesRoles).register(setWorkflowDefaultName).register(multipleWorkflows).register(handleDeletedCtInWorkflows);
|
|
98
|
+
// Middlewares
|
|
99
|
+
reviewWorkflows.default.contentTypeMiddleware(strapi);
|
|
100
|
+
// Schema customization
|
|
101
|
+
extendReviewWorkflowContentTypes({
|
|
102
|
+
strapi
|
|
103
|
+
});
|
|
104
|
+
// License limits
|
|
105
|
+
const reviewWorkflowsOptions = fp.defaultsDeep({
|
|
106
|
+
numberOfWorkflows: workflows.MAX_WORKFLOWS,
|
|
107
|
+
stagesPerWorkflow: workflows.MAX_STAGES_PER_WORKFLOW
|
|
108
|
+
}, strapi.ee.features.get('review-workflows'));
|
|
109
|
+
const workflowsValidationService = index.getService('validation', {
|
|
110
|
+
strapi
|
|
111
|
+
});
|
|
112
|
+
workflowsValidationService.register(reviewWorkflowsOptions);
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
module.exports = register;
|
|
116
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sources":["../../server/src/register.ts"],"sourcesContent":["import { defaultsDeep, filter, pipe, map } from 'lodash/fp';\n\nimport type { Core, UID } from '@strapi/types';\n\nimport { getService, getAdminService } from './utils';\nimport migrateStageAttribute from './migrations/shorten-stage-attribute';\nimport migrateReviewWorkflowStagesColor from './migrations/set-stages-default-color';\nimport migrateReviewWorkflowStagesRoles from './migrations/set-stages-roles';\nimport migrateReviewWorkflowName from './migrations/set-workflow-default-name';\nimport migrateWorkflowsContentTypes from './migrations/multiple-workflows';\nimport migrateDeletedCTInWorkflows from './migrations/handle-deleted-ct-in-workflows';\nimport reviewWorkflowsMiddlewares from './middlewares/review-workflows';\n\nimport { getVisibleContentTypesUID, hasStageAttribute } from './utils/review-workflows';\n\nimport {\n ENTITY_STAGE_ATTRIBUTE,\n ENTITY_ASSIGNEE_ATTRIBUTE,\n STAGE_MODEL_UID,\n MAX_WORKFLOWS,\n MAX_STAGES_PER_WORKFLOW,\n} from './constants/workflows';\n\nconst setRelation = (attributeName: any, target: any, contentType: any) => {\n Object.assign(contentType.attributes, {\n [attributeName]: {\n writable: true,\n private: false,\n configurable: false,\n visible: false,\n useJoinTable: true, // We want a join table to persist data when downgrading to CE\n type: 'relation',\n relation: 'oneToOne',\n target,\n },\n });\n\n return contentType;\n};\n\n/**\n * Add the stage and assignee attributes to content types\n */\nfunction extendReviewWorkflowContentTypes({ strapi }: { strapi: Core.Strapi }) {\n const contentTypeToExtend = getVisibleContentTypesUID(strapi.contentTypes);\n\n for (const contentTypeUID of contentTypeToExtend) {\n strapi.get('content-types').extend(contentTypeUID, (contentType: any) => {\n // Set Stage attribute\n setRelation(ENTITY_STAGE_ATTRIBUTE, STAGE_MODEL_UID, contentType);\n // Set Assignee attribute\n setRelation(ENTITY_ASSIGNEE_ATTRIBUTE, 'admin::user', contentType);\n });\n }\n}\n\n/**\n * Persist the stage & assignee attributes so they are not removed when downgrading to CE.\n *\n * TODO: V6 - Instead of persisting the join tables, always create the stage & assignee attributes, even in CE mode\n * It was decided in V4 & V5 to not expose them in CE (as they pollute the CTs) but it's not worth given the complexity this needs\n */\nfunction persistRWOnDowngrade({ strapi }: { strapi: Core.Strapi }) {\n const { removePersistedTablesWithSuffix, persistTables } = getAdminService('persist-tables');\n\n return async ({ contentTypes }: { contentTypes: Record<UID.ContentType, any> }) => {\n const getStageTableToPersist = (contentTypeUID: UID.ContentType) => {\n // Persist the stage join table\n const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID) as any;\n const joinTableName = attributes[ENTITY_STAGE_ATTRIBUTE].joinTable.name;\n return {\n name: joinTableName,\n dependsOn: [{ name: tableName }],\n };\n };\n\n const getAssigneeTableToPersist = (contentTypeUID: UID.ContentType) => {\n // Persist the assignee join table\n const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID) as any;\n const joinTableName = attributes[ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;\n return {\n name: joinTableName,\n dependsOn: [{ name: tableName }],\n };\n };\n\n const enabledRWContentTypes = pipe([\n getVisibleContentTypesUID,\n filter((uid: UID.ContentType) => hasStageAttribute(contentTypes[uid])),\n ])(contentTypes);\n\n // Remove previously created join tables and persist the new ones\n const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);\n await removePersistedTablesWithSuffix('_strapi_stage_lnk');\n await persistTables(stageJoinTablesToPersist);\n\n // Remove previously created join tables and persist the new ones\n const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);\n await removePersistedTablesWithSuffix('_strapi_assignee_lnk');\n await persistTables(assigneeJoinTablesToPersist);\n };\n}\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n // Data Migrations\n strapi.hook('strapi::content-types.beforeSync').register(migrateStageAttribute);\n strapi.hook('strapi::content-types.afterSync').register(persistRWOnDowngrade({ strapi }));\n strapi\n .hook('strapi::content-types.afterSync')\n .register(migrateReviewWorkflowStagesColor)\n .register(migrateReviewWorkflowStagesRoles)\n .register(migrateReviewWorkflowName)\n .register(migrateWorkflowsContentTypes)\n .register(migrateDeletedCTInWorkflows);\n\n // Middlewares\n reviewWorkflowsMiddlewares.contentTypeMiddleware(strapi);\n\n // Schema customization\n extendReviewWorkflowContentTypes({ strapi });\n\n // License limits\n const reviewWorkflowsOptions = defaultsDeep(\n {\n numberOfWorkflows: MAX_WORKFLOWS,\n stagesPerWorkflow: MAX_STAGES_PER_WORKFLOW,\n },\n strapi.ee.features.get('review-workflows')\n );\n const workflowsValidationService = getService('validation', { strapi });\n workflowsValidationService.register(reviewWorkflowsOptions);\n};\n"],"names":["setRelation","attributeName","target","contentType","Object","assign","attributes","writable","private","configurable","visible","useJoinTable","type","relation","extendReviewWorkflowContentTypes","strapi","contentTypeToExtend","getVisibleContentTypesUID","contentTypes","contentTypeUID","get","extend","ENTITY_STAGE_ATTRIBUTE","STAGE_MODEL_UID","ENTITY_ASSIGNEE_ATTRIBUTE","persistRWOnDowngrade","removePersistedTablesWithSuffix","persistTables","getAdminService","getStageTableToPersist","tableName","db","metadata","joinTableName","joinTable","name","dependsOn","getAssigneeTableToPersist","enabledRWContentTypes","pipe","filter","uid","hasStageAttribute","stageJoinTablesToPersist","map","assigneeJoinTablesToPersist","hook","register","migrateStageAttribute","migrateReviewWorkflowStagesColor","migrateReviewWorkflowStagesRoles","migrateReviewWorkflowName","migrateWorkflowsContentTypes","migrateDeletedCTInWorkflows","reviewWorkflowsMiddlewares","contentTypeMiddleware","reviewWorkflowsOptions","defaultsDeep","numberOfWorkflows","MAX_WORKFLOWS","stagesPerWorkflow","MAX_STAGES_PER_WORKFLOW","ee","features","workflowsValidationService","getService"],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { defaultsDeep, pipe, filter } from 'lodash/fp';
|
|
2
|
+
import { getService, getAdminService } from './utils/index.mjs';
|
|
3
|
+
import migrateStageAttribute from './migrations/shorten-stage-attribute.mjs';
|
|
4
|
+
import migrateReviewWorkflowStagesColor from './migrations/set-stages-default-color.mjs';
|
|
5
|
+
import migrateReviewWorkflowStagesRoles from './migrations/set-stages-roles.mjs';
|
|
6
|
+
import migrateReviewWorkflowName from './migrations/set-workflow-default-name.mjs';
|
|
7
|
+
import migrateWorkflowsContentTypes from './migrations/multiple-workflows.mjs';
|
|
8
|
+
import migrateDeletedCTInWorkflows from './migrations/handle-deleted-ct-in-workflows.mjs';
|
|
9
|
+
import reviewWorkflowsMiddlewares from './middlewares/review-workflows.mjs';
|
|
10
|
+
import { getVisibleContentTypesUID, hasStageAttribute } from './utils/review-workflows.mjs';
|
|
11
|
+
import { MAX_WORKFLOWS, MAX_STAGES_PER_WORKFLOW, STAGE_MODEL_UID, ENTITY_STAGE_ATTRIBUTE, ENTITY_ASSIGNEE_ATTRIBUTE } from './constants/workflows.mjs';
|
|
12
|
+
|
|
13
|
+
const setRelation = (attributeName, target, contentType)=>{
|
|
14
|
+
Object.assign(contentType.attributes, {
|
|
15
|
+
[attributeName]: {
|
|
16
|
+
writable: true,
|
|
17
|
+
private: false,
|
|
18
|
+
configurable: false,
|
|
19
|
+
visible: false,
|
|
20
|
+
useJoinTable: true,
|
|
21
|
+
type: 'relation',
|
|
22
|
+
relation: 'oneToOne',
|
|
23
|
+
target
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return contentType;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Add the stage and assignee attributes to content types
|
|
30
|
+
*/ function extendReviewWorkflowContentTypes({ strapi }) {
|
|
31
|
+
const contentTypeToExtend = getVisibleContentTypesUID(strapi.contentTypes);
|
|
32
|
+
for (const contentTypeUID of contentTypeToExtend){
|
|
33
|
+
strapi.get('content-types').extend(contentTypeUID, (contentType)=>{
|
|
34
|
+
// Set Stage attribute
|
|
35
|
+
setRelation(ENTITY_STAGE_ATTRIBUTE, STAGE_MODEL_UID, contentType);
|
|
36
|
+
// Set Assignee attribute
|
|
37
|
+
setRelation(ENTITY_ASSIGNEE_ATTRIBUTE, 'admin::user', contentType);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Persist the stage & assignee attributes so they are not removed when downgrading to CE.
|
|
43
|
+
*
|
|
44
|
+
* TODO: V6 - Instead of persisting the join tables, always create the stage & assignee attributes, even in CE mode
|
|
45
|
+
* It was decided in V4 & V5 to not expose them in CE (as they pollute the CTs) but it's not worth given the complexity this needs
|
|
46
|
+
*/ function persistRWOnDowngrade({ strapi }) {
|
|
47
|
+
const { removePersistedTablesWithSuffix, persistTables } = getAdminService('persist-tables');
|
|
48
|
+
return async ({ contentTypes })=>{
|
|
49
|
+
const getStageTableToPersist = (contentTypeUID)=>{
|
|
50
|
+
// Persist the stage join table
|
|
51
|
+
const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID);
|
|
52
|
+
const joinTableName = attributes[ENTITY_STAGE_ATTRIBUTE].joinTable.name;
|
|
53
|
+
return {
|
|
54
|
+
name: joinTableName,
|
|
55
|
+
dependsOn: [
|
|
56
|
+
{
|
|
57
|
+
name: tableName
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const getAssigneeTableToPersist = (contentTypeUID)=>{
|
|
63
|
+
// Persist the assignee join table
|
|
64
|
+
const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID);
|
|
65
|
+
const joinTableName = attributes[ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;
|
|
66
|
+
return {
|
|
67
|
+
name: joinTableName,
|
|
68
|
+
dependsOn: [
|
|
69
|
+
{
|
|
70
|
+
name: tableName
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
const enabledRWContentTypes = pipe([
|
|
76
|
+
getVisibleContentTypesUID,
|
|
77
|
+
filter((uid)=>hasStageAttribute(contentTypes[uid]))
|
|
78
|
+
])(contentTypes);
|
|
79
|
+
// Remove previously created join tables and persist the new ones
|
|
80
|
+
const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);
|
|
81
|
+
await removePersistedTablesWithSuffix('_strapi_stage_lnk');
|
|
82
|
+
await persistTables(stageJoinTablesToPersist);
|
|
83
|
+
// Remove previously created join tables and persist the new ones
|
|
84
|
+
const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);
|
|
85
|
+
await removePersistedTablesWithSuffix('_strapi_assignee_lnk');
|
|
86
|
+
await persistTables(assigneeJoinTablesToPersist);
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
var register = (async ({ strapi })=>{
|
|
90
|
+
// Data Migrations
|
|
91
|
+
strapi.hook('strapi::content-types.beforeSync').register(migrateStageAttribute);
|
|
92
|
+
strapi.hook('strapi::content-types.afterSync').register(persistRWOnDowngrade({
|
|
93
|
+
strapi
|
|
94
|
+
}));
|
|
95
|
+
strapi.hook('strapi::content-types.afterSync').register(migrateReviewWorkflowStagesColor).register(migrateReviewWorkflowStagesRoles).register(migrateReviewWorkflowName).register(migrateWorkflowsContentTypes).register(migrateDeletedCTInWorkflows);
|
|
96
|
+
// Middlewares
|
|
97
|
+
reviewWorkflowsMiddlewares.contentTypeMiddleware(strapi);
|
|
98
|
+
// Schema customization
|
|
99
|
+
extendReviewWorkflowContentTypes({
|
|
100
|
+
strapi
|
|
101
|
+
});
|
|
102
|
+
// License limits
|
|
103
|
+
const reviewWorkflowsOptions = defaultsDeep({
|
|
104
|
+
numberOfWorkflows: MAX_WORKFLOWS,
|
|
105
|
+
stagesPerWorkflow: MAX_STAGES_PER_WORKFLOW
|
|
106
|
+
}, strapi.ee.features.get('review-workflows'));
|
|
107
|
+
const workflowsValidationService = getService('validation', {
|
|
108
|
+
strapi
|
|
109
|
+
});
|
|
110
|
+
workflowsValidationService.register(reviewWorkflowsOptions);
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
export { register as default };
|
|
114
|
+
//# sourceMappingURL=register.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.mjs","sources":["../../server/src/register.ts"],"sourcesContent":["import { defaultsDeep, filter, pipe, map } from 'lodash/fp';\n\nimport type { Core, UID } from '@strapi/types';\n\nimport { getService, getAdminService } from './utils';\nimport migrateStageAttribute from './migrations/shorten-stage-attribute';\nimport migrateReviewWorkflowStagesColor from './migrations/set-stages-default-color';\nimport migrateReviewWorkflowStagesRoles from './migrations/set-stages-roles';\nimport migrateReviewWorkflowName from './migrations/set-workflow-default-name';\nimport migrateWorkflowsContentTypes from './migrations/multiple-workflows';\nimport migrateDeletedCTInWorkflows from './migrations/handle-deleted-ct-in-workflows';\nimport reviewWorkflowsMiddlewares from './middlewares/review-workflows';\n\nimport { getVisibleContentTypesUID, hasStageAttribute } from './utils/review-workflows';\n\nimport {\n ENTITY_STAGE_ATTRIBUTE,\n ENTITY_ASSIGNEE_ATTRIBUTE,\n STAGE_MODEL_UID,\n MAX_WORKFLOWS,\n MAX_STAGES_PER_WORKFLOW,\n} from './constants/workflows';\n\nconst setRelation = (attributeName: any, target: any, contentType: any) => {\n Object.assign(contentType.attributes, {\n [attributeName]: {\n writable: true,\n private: false,\n configurable: false,\n visible: false,\n useJoinTable: true, // We want a join table to persist data when downgrading to CE\n type: 'relation',\n relation: 'oneToOne',\n target,\n },\n });\n\n return contentType;\n};\n\n/**\n * Add the stage and assignee attributes to content types\n */\nfunction extendReviewWorkflowContentTypes({ strapi }: { strapi: Core.Strapi }) {\n const contentTypeToExtend = getVisibleContentTypesUID(strapi.contentTypes);\n\n for (const contentTypeUID of contentTypeToExtend) {\n strapi.get('content-types').extend(contentTypeUID, (contentType: any) => {\n // Set Stage attribute\n setRelation(ENTITY_STAGE_ATTRIBUTE, STAGE_MODEL_UID, contentType);\n // Set Assignee attribute\n setRelation(ENTITY_ASSIGNEE_ATTRIBUTE, 'admin::user', contentType);\n });\n }\n}\n\n/**\n * Persist the stage & assignee attributes so they are not removed when downgrading to CE.\n *\n * TODO: V6 - Instead of persisting the join tables, always create the stage & assignee attributes, even in CE mode\n * It was decided in V4 & V5 to not expose them in CE (as they pollute the CTs) but it's not worth given the complexity this needs\n */\nfunction persistRWOnDowngrade({ strapi }: { strapi: Core.Strapi }) {\n const { removePersistedTablesWithSuffix, persistTables } = getAdminService('persist-tables');\n\n return async ({ contentTypes }: { contentTypes: Record<UID.ContentType, any> }) => {\n const getStageTableToPersist = (contentTypeUID: UID.ContentType) => {\n // Persist the stage join table\n const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID) as any;\n const joinTableName = attributes[ENTITY_STAGE_ATTRIBUTE].joinTable.name;\n return {\n name: joinTableName,\n dependsOn: [{ name: tableName }],\n };\n };\n\n const getAssigneeTableToPersist = (contentTypeUID: UID.ContentType) => {\n // Persist the assignee join table\n const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID) as any;\n const joinTableName = attributes[ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;\n return {\n name: joinTableName,\n dependsOn: [{ name: tableName }],\n };\n };\n\n const enabledRWContentTypes = pipe([\n getVisibleContentTypesUID,\n filter((uid: UID.ContentType) => hasStageAttribute(contentTypes[uid])),\n ])(contentTypes);\n\n // Remove previously created join tables and persist the new ones\n const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);\n await removePersistedTablesWithSuffix('_strapi_stage_lnk');\n await persistTables(stageJoinTablesToPersist);\n\n // Remove previously created join tables and persist the new ones\n const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);\n await removePersistedTablesWithSuffix('_strapi_assignee_lnk');\n await persistTables(assigneeJoinTablesToPersist);\n };\n}\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n // Data Migrations\n strapi.hook('strapi::content-types.beforeSync').register(migrateStageAttribute);\n strapi.hook('strapi::content-types.afterSync').register(persistRWOnDowngrade({ strapi }));\n strapi\n .hook('strapi::content-types.afterSync')\n .register(migrateReviewWorkflowStagesColor)\n .register(migrateReviewWorkflowStagesRoles)\n .register(migrateReviewWorkflowName)\n .register(migrateWorkflowsContentTypes)\n .register(migrateDeletedCTInWorkflows);\n\n // Middlewares\n reviewWorkflowsMiddlewares.contentTypeMiddleware(strapi);\n\n // Schema customization\n extendReviewWorkflowContentTypes({ strapi });\n\n // License limits\n const reviewWorkflowsOptions = defaultsDeep(\n {\n numberOfWorkflows: MAX_WORKFLOWS,\n stagesPerWorkflow: MAX_STAGES_PER_WORKFLOW,\n },\n strapi.ee.features.get('review-workflows')\n );\n const workflowsValidationService = getService('validation', { strapi });\n workflowsValidationService.register(reviewWorkflowsOptions);\n};\n"],"names":["setRelation","attributeName","target","contentType","Object","assign","attributes","writable","private","configurable","visible","useJoinTable","type","relation","extendReviewWorkflowContentTypes","strapi","contentTypeToExtend","getVisibleContentTypesUID","contentTypes","contentTypeUID","get","extend","ENTITY_STAGE_ATTRIBUTE","STAGE_MODEL_UID","ENTITY_ASSIGNEE_ATTRIBUTE","persistRWOnDowngrade","removePersistedTablesWithSuffix","persistTables","getAdminService","getStageTableToPersist","tableName","db","metadata","joinTableName","joinTable","name","dependsOn","getAssigneeTableToPersist","enabledRWContentTypes","pipe","filter","uid","hasStageAttribute","stageJoinTablesToPersist","map","assigneeJoinTablesToPersist","hook","register","migrateStageAttribute","migrateReviewWorkflowStagesColor","migrateReviewWorkflowStagesRoles","migrateReviewWorkflowName","migrateWorkflowsContentTypes","migrateDeletedCTInWorkflows","reviewWorkflowsMiddlewares","contentTypeMiddleware","reviewWorkflowsOptions","defaultsDeep","numberOfWorkflows","MAX_WORKFLOWS","stagesPerWorkflow","MAX_STAGES_PER_WORKFLOW","ee","features","workflowsValidationService","getService"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import reviewWorkflows from './review-workflows';\n\nexport default {\n 'review-workflows': reviewWorkflows,\n};\n"],"names":["reviewWorkflows"],"mappings":";;;;AAEA,aAAe;IACb,kBAAoBA,EAAAA;AACtB,CAAE;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import reviewWorkflows from './review-workflows';\n\nexport default {\n 'review-workflows': reviewWorkflows,\n};\n"],"names":["reviewWorkflows"],"mappings":";;AAEA,aAAe;IACb,kBAAoBA,EAAAA;AACtB,CAAE;;;;"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('./utils.js');
|
|
4
|
+
|
|
5
|
+
var reviewWorkflows = {
|
|
6
|
+
type: 'admin',
|
|
7
|
+
routes: [
|
|
8
|
+
// Review workflow
|
|
9
|
+
{
|
|
10
|
+
method: 'POST',
|
|
11
|
+
path: '/workflows',
|
|
12
|
+
handler: 'workflows.create',
|
|
13
|
+
config: {
|
|
14
|
+
middlewares: [
|
|
15
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
16
|
+
],
|
|
17
|
+
policies: [
|
|
18
|
+
'admin::isAuthenticatedAdmin',
|
|
19
|
+
{
|
|
20
|
+
name: 'admin::hasPermissions',
|
|
21
|
+
config: {
|
|
22
|
+
actions: [
|
|
23
|
+
'admin::review-workflows.create'
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
method: 'PUT',
|
|
32
|
+
path: '/workflows/:id',
|
|
33
|
+
handler: 'workflows.update',
|
|
34
|
+
config: {
|
|
35
|
+
middlewares: [
|
|
36
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
37
|
+
],
|
|
38
|
+
policies: [
|
|
39
|
+
'admin::isAuthenticatedAdmin',
|
|
40
|
+
{
|
|
41
|
+
name: 'admin::hasPermissions',
|
|
42
|
+
config: {
|
|
43
|
+
actions: [
|
|
44
|
+
'admin::review-workflows.update'
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
method: 'DELETE',
|
|
53
|
+
path: '/workflows/:id',
|
|
54
|
+
handler: 'workflows.delete',
|
|
55
|
+
config: {
|
|
56
|
+
middlewares: [
|
|
57
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
58
|
+
],
|
|
59
|
+
policies: [
|
|
60
|
+
'admin::isAuthenticatedAdmin',
|
|
61
|
+
{
|
|
62
|
+
name: 'admin::hasPermissions',
|
|
63
|
+
config: {
|
|
64
|
+
actions: [
|
|
65
|
+
'admin::review-workflows.delete'
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
method: 'GET',
|
|
74
|
+
path: '/workflows',
|
|
75
|
+
handler: 'workflows.find',
|
|
76
|
+
config: {
|
|
77
|
+
middlewares: [
|
|
78
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
79
|
+
],
|
|
80
|
+
policies: [
|
|
81
|
+
'admin::isAuthenticatedAdmin',
|
|
82
|
+
{
|
|
83
|
+
name: 'admin::hasPermissions',
|
|
84
|
+
config: {
|
|
85
|
+
actions: [
|
|
86
|
+
'admin::review-workflows.read'
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
method: 'GET',
|
|
95
|
+
path: '/workflows/:workflow_id/stages',
|
|
96
|
+
handler: 'stages.find',
|
|
97
|
+
config: {
|
|
98
|
+
middlewares: [
|
|
99
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
100
|
+
],
|
|
101
|
+
policies: [
|
|
102
|
+
'admin::isAuthenticatedAdmin',
|
|
103
|
+
{
|
|
104
|
+
name: 'admin::hasPermissions',
|
|
105
|
+
config: {
|
|
106
|
+
actions: [
|
|
107
|
+
'admin::review-workflows.read'
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
method: 'GET',
|
|
116
|
+
path: '/workflows/:workflow_id/stages/:id',
|
|
117
|
+
handler: 'stages.findById',
|
|
118
|
+
config: {
|
|
119
|
+
middlewares: [
|
|
120
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
121
|
+
],
|
|
122
|
+
policies: [
|
|
123
|
+
'admin::isAuthenticatedAdmin',
|
|
124
|
+
{
|
|
125
|
+
name: 'admin::hasPermissions',
|
|
126
|
+
config: {
|
|
127
|
+
actions: [
|
|
128
|
+
'admin::review-workflows.read'
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
method: 'PUT',
|
|
137
|
+
path: '/content-manager/(collection|single)-types/:model_uid/:id/stage',
|
|
138
|
+
handler: 'stages.updateEntity',
|
|
139
|
+
config: {
|
|
140
|
+
middlewares: [
|
|
141
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
142
|
+
],
|
|
143
|
+
policies: [
|
|
144
|
+
'admin::isAuthenticatedAdmin'
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
method: 'GET',
|
|
150
|
+
path: '/content-manager/(collection|single)-types/:model_uid/:id/stages',
|
|
151
|
+
handler: 'stages.listAvailableStages',
|
|
152
|
+
config: {
|
|
153
|
+
middlewares: [
|
|
154
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
155
|
+
],
|
|
156
|
+
policies: [
|
|
157
|
+
'admin::isAuthenticatedAdmin'
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
method: 'PUT',
|
|
163
|
+
path: '/content-manager/(collection|single)-types/:model_uid/:id/assignee',
|
|
164
|
+
handler: 'assignees.updateEntity',
|
|
165
|
+
config: {
|
|
166
|
+
middlewares: [
|
|
167
|
+
utils.enableFeatureMiddleware('review-workflows')
|
|
168
|
+
],
|
|
169
|
+
policies: [
|
|
170
|
+
'admin::isAuthenticatedAdmin',
|
|
171
|
+
{
|
|
172
|
+
name: 'admin::hasPermissions',
|
|
173
|
+
config: {
|
|
174
|
+
actions: [
|
|
175
|
+
'admin::users.read'
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
]
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
module.exports = reviewWorkflows;
|
|
186
|
+
//# sourceMappingURL=review-workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-workflows.js","sources":["../../../server/src/routes/review-workflows.ts"],"sourcesContent":["import { enableFeatureMiddleware } from './utils';\n\nexport default {\n type: 'admin',\n routes: [\n // Review workflow\n {\n method: 'POST',\n path: '/workflows',\n handler: 'workflows.create',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.create'],\n },\n },\n ],\n },\n },\n {\n method: 'PUT',\n path: '/workflows/:id',\n handler: 'workflows.update',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.update'],\n },\n },\n ],\n },\n },\n {\n method: 'DELETE',\n path: '/workflows/:id',\n handler: 'workflows.delete',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.delete'],\n },\n },\n ],\n },\n },\n {\n method: 'GET',\n path: '/workflows',\n handler: 'workflows.find',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.read'],\n },\n },\n ],\n },\n },\n {\n method: 'GET',\n path: '/workflows/:workflow_id/stages',\n handler: 'stages.find',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.read'],\n },\n },\n ],\n },\n },\n {\n method: 'GET',\n path: '/workflows/:workflow_id/stages/:id',\n handler: 'stages.findById',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.read'],\n },\n },\n ],\n },\n },\n {\n method: 'PUT',\n path: '/content-manager/(collection|single)-types/:model_uid/:id/stage',\n handler: 'stages.updateEntity',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n {\n method: 'GET',\n path: '/content-manager/(collection|single)-types/:model_uid/:id/stages',\n handler: 'stages.listAvailableStages',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n {\n method: 'PUT',\n path: '/content-manager/(collection|single)-types/:model_uid/:id/assignee',\n handler: 'assignees.updateEntity',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::users.read'],\n },\n },\n ],\n },\n },\n ],\n};\n"],"names":["type","routes","method","path","handler","config","middlewares","enableFeatureMiddleware","policies","name","actions"],"mappings":"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"}
|