@webiny/api-apw 5.25.0 → 5.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ContentApwSettingsPlugin.d.ts +10 -0
- package/ContentApwSettingsPlugin.js +17 -0
- package/ContentApwSettingsPlugin.js.map +1 -0
- package/README.md +7 -6
- package/{createApw → crud}/createChangeRequestMethods.d.ts +0 -0
- package/{createApw → crud}/createChangeRequestMethods.js +0 -0
- package/crud/createChangeRequestMethods.js.map +1 -0
- package/{createApw → crud}/createCommentMethods.d.ts +0 -0
- package/{createApw → crud}/createCommentMethods.js +0 -0
- package/crud/createCommentMethods.js.map +1 -0
- package/crud/createContentReviewMethods.d.ts +10 -0
- package/{createApw → crud}/createContentReviewMethods.js +269 -19
- package/crud/createContentReviewMethods.js.map +1 -0
- package/{createApw → crud}/createReviewerMethods.d.ts +0 -0
- package/{createApw → crud}/createReviewerMethods.js +0 -0
- package/crud/createReviewerMethods.js.map +1 -0
- package/{createApw → crud}/createWorkflowMethods.d.ts +0 -0
- package/{createApw → crud}/createWorkflowMethods.js +0 -0
- package/crud/createWorkflowMethods.js.map +1 -0
- package/{createApw → crud}/index.d.ts +0 -0
- package/{createApw → crud}/index.js +55 -11
- package/crud/index.js.map +1 -0
- package/crud/utils.d.ts +21 -0
- package/crud/utils.js +142 -0
- package/crud/utils.js.map +1 -0
- package/index.d.ts +4 -2
- package/index.js +11 -5
- package/index.js.map +1 -1
- package/package.json +37 -30
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.d.ts +10 -0
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +51 -0
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js.map +1 -0
- package/plugins/cms/README.md +49 -0
- package/plugins/cms/apwEntryPlugins.d.ts +8 -0
- package/plugins/cms/apwEntryPlugins.js +50 -0
- package/plugins/cms/apwEntryPlugins.js.map +1 -0
- package/plugins/cms/index.d.ts +12 -0
- package/plugins/cms/index.js +37 -0
- package/plugins/cms/index.js.map +1 -0
- package/plugins/cms/linkContentReviewToEntry.d.ts +8 -0
- package/plugins/cms/linkContentReviewToEntry.js +108 -0
- package/plugins/cms/linkContentReviewToEntry.js.map +1 -0
- package/plugins/cms/linkWorkflowToEntry.d.ts +8 -0
- package/plugins/cms/linkWorkflowToEntry.js +166 -0
- package/plugins/cms/linkWorkflowToEntry.js.map +1 -0
- package/plugins/cms/triggerContentReview.d.ts +8 -0
- package/plugins/cms/triggerContentReview.js +59 -0
- package/plugins/cms/triggerContentReview.js.map +1 -0
- package/plugins/cms/updateContentReviewStatus.d.ts +10 -0
- package/plugins/cms/updateContentReviewStatus.js +101 -0
- package/plugins/cms/updateContentReviewStatus.js.map +1 -0
- package/plugins/cms/utils.d.ts +27 -0
- package/plugins/cms/utils.js +211 -0
- package/plugins/cms/utils.js.map +1 -0
- package/plugins/context.d.ts +3 -2
- package/plugins/context.js +82 -49
- package/plugins/context.js.map +1 -1
- package/plugins/graphql/changeRequest.gql.js +1 -1
- package/plugins/graphql/changeRequest.gql.js.map +1 -1
- package/plugins/graphql/comment.gql.js +8 -17
- package/plugins/graphql/comment.gql.js.map +1 -1
- package/plugins/graphql/contentReview.gql.js +168 -13
- package/plugins/graphql/contentReview.gql.js.map +1 -1
- package/plugins/graphql/reviewer.gql.js +1 -1
- package/plugins/graphql/reviewer.gql.js.map +1 -1
- package/plugins/graphql/workflow.gql.js +18 -15
- package/plugins/graphql/workflow.gql.js.map +1 -1
- package/plugins/graphql.d.ts +3 -2
- package/plugins/graphql.js +11 -1
- package/plugins/graphql.js.map +1 -1
- package/plugins/hooks/createReviewerFromIdentity.js +18 -0
- package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +8 -8
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js +6 -6
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
- package/plugins/hooks/index.d.ts +1 -2
- package/plugins/hooks/index.js +25 -25
- package/plugins/hooks/index.js.map +1 -1
- package/plugins/hooks/initializeContentReviewSteps.d.ts +2 -7
- package/plugins/hooks/initializeContentReviewSteps.js +42 -24
- package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
- package/plugins/hooks/updatePendingChangeRequests.js +27 -39
- package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
- package/plugins/hooks/updateTotalComments.d.ts +3 -0
- package/plugins/hooks/updateTotalComments.js +157 -0
- package/plugins/hooks/updateTotalComments.js.map +1 -0
- package/plugins/hooks/validateChangeRequest.d.ts +2 -0
- package/plugins/hooks/validateChangeRequest.js +64 -0
- package/plugins/hooks/validateChangeRequest.js.map +1 -0
- package/plugins/hooks/validateComment.d.ts +2 -0
- package/plugins/hooks/validateComment.js +45 -0
- package/plugins/hooks/validateComment.js.map +1 -0
- package/plugins/hooks/validateContentReview.d.ts +2 -0
- package/plugins/hooks/validateContentReview.js +38 -0
- package/plugins/hooks/validateContentReview.js.map +1 -0
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.d.ts +9 -0
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +51 -0
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +1 -0
- package/plugins/pageBuilder/apwContentPagePlugins.d.ts +3 -0
- package/plugins/pageBuilder/apwContentPagePlugins.js +30 -0
- package/plugins/pageBuilder/apwContentPagePlugins.js.map +1 -0
- package/plugins/{hooks/extendPbPageSchema.d.ts → pageBuilder/extendPbPageSettingsSchema.d.ts} +1 -2
- package/plugins/{hooks/extendPbPageSchema.js → pageBuilder/extendPbPageSettingsSchema.js} +4 -3
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +1 -0
- package/plugins/pageBuilder/index.d.ts +11 -0
- package/plugins/pageBuilder/index.js +45 -0
- package/plugins/pageBuilder/index.js.map +1 -0
- package/plugins/pageBuilder/linkContentReviewToPage.d.ts +8 -0
- package/plugins/pageBuilder/linkContentReviewToPage.js +93 -0
- package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -0
- package/plugins/pageBuilder/linkWorkflowToPage.d.ts +8 -0
- package/plugins/pageBuilder/linkWorkflowToPage.js +182 -0
- package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -0
- package/plugins/pageBuilder/triggerContentReview.d.ts +8 -0
- package/plugins/pageBuilder/triggerContentReview.js +50 -0
- package/plugins/pageBuilder/triggerContentReview.js.map +1 -0
- package/plugins/pageBuilder/updateContentReviewStatus.d.ts +10 -0
- package/plugins/pageBuilder/updateContentReviewStatus.js +83 -0
- package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -0
- package/plugins/pageBuilder/utils.d.ts +22 -0
- package/plugins/pageBuilder/utils.js +184 -0
- package/plugins/pageBuilder/utils.js.map +1 -0
- package/plugins/utils.d.ts +22 -2
- package/plugins/utils.js +128 -2
- package/plugins/utils.js.map +1 -1
- package/scheduler/createScheduleActionMethods.d.ts +2 -0
- package/scheduler/createScheduleActionMethods.js +146 -0
- package/scheduler/createScheduleActionMethods.js.map +1 -0
- package/scheduler/handlers/executeAction/index.d.ts +16 -0
- package/scheduler/handlers/executeAction/index.js +148 -0
- package/scheduler/handlers/executeAction/index.js.map +1 -0
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.d.ts +13 -0
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +17 -0
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js.map +1 -0
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.d.ts +11 -0
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +126 -0
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js.map +1 -0
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.d.ts +11 -0
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +163 -0
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -0
- package/scheduler/handlers/executeAction/security.d.ts +4 -0
- package/scheduler/handlers/executeAction/security.js +68 -0
- package/scheduler/handlers/executeAction/security.js.map +1 -0
- package/scheduler/handlers/scheduleAction/index.d.ts +22 -0
- package/scheduler/handlers/scheduleAction/index.js +162 -0
- package/scheduler/handlers/scheduleAction/index.js.map +1 -0
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.d.ts +24 -0
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +176 -0
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -0
- package/scheduler/handlers/utils.d.ts +33 -0
- package/scheduler/handlers/utils.js +168 -0
- package/scheduler/handlers/utils.js.map +1 -0
- package/scheduler/index.d.ts +2 -0
- package/scheduler/index.js +27 -0
- package/scheduler/index.js.map +1 -0
- package/scheduler/types.d.ts +171 -0
- package/scheduler/types.js +34 -0
- package/scheduler/types.js.map +1 -0
- package/storageOperations/changeRequestStorageOperations.js +1 -3
- package/storageOperations/changeRequestStorageOperations.js.map +1 -1
- package/storageOperations/commentStorageOperations.js +25 -11
- package/storageOperations/commentStorageOperations.js.map +1 -1
- package/storageOperations/contentReviewStorageOperations.js +1 -3
- package/storageOperations/contentReviewStorageOperations.js.map +1 -1
- package/storageOperations/index.js.map +1 -1
- package/storageOperations/models/changeRequest.model.d.ts +1 -0
- package/storageOperations/models/changeRequest.model.js +10 -5
- package/storageOperations/models/changeRequest.model.js.map +1 -1
- package/storageOperations/models/comment.model.d.ts +1 -0
- package/storageOperations/models/comment.model.js +24 -3
- package/storageOperations/models/comment.model.js.map +1 -1
- package/storageOperations/models/contentModelPluginFactory.d.ts +2 -2
- package/storageOperations/models/contentModelPluginFactory.js +2 -2
- package/storageOperations/models/contentModelPluginFactory.js.map +1 -1
- package/storageOperations/models/contentReview.model.d.ts +1 -0
- package/storageOperations/models/contentReview.model.js +98 -26
- package/storageOperations/models/contentReview.model.js.map +1 -1
- package/storageOperations/models/index.js +25 -5
- package/storageOperations/models/index.js.map +1 -1
- package/storageOperations/models/reviewer.model.d.ts +1 -0
- package/storageOperations/models/reviewer.model.js +11 -6
- package/storageOperations/models/reviewer.model.js.map +1 -1
- package/storageOperations/models/utils.js.map +1 -1
- package/storageOperations/models/workflow.model.d.ts +2 -1
- package/storageOperations/models/workflow.model.js +32 -30
- package/storageOperations/models/workflow.model.js.map +1 -1
- package/storageOperations/reviewerStorageOperations.js +1 -3
- package/storageOperations/reviewerStorageOperations.js.map +1 -1
- package/storageOperations/types.js.map +1 -1
- package/storageOperations/workflowStorageOperations.js +21 -7
- package/storageOperations/workflowStorageOperations.js.map +1 -1
- package/types.d.ts +138 -49
- package/types.js +9 -3
- package/types.js.map +1 -1
- package/utils/contentApwSettingsPlugin.d.ts +9 -0
- package/utils/contentApwSettingsPlugin.js +26 -0
- package/utils/contentApwSettingsPlugin.js.map +1 -0
- package/utils/errors.js.map +1 -1
- package/utils/fieldResolver.js +2 -2
- package/utils/fieldResolver.js.map +1 -1
- package/utils/resolve.js.map +1 -1
- package/createApw/createChangeRequestMethods.js.map +0 -1
- package/createApw/createCommentMethods.js.map +0 -1
- package/createApw/createContentReviewMethods.d.ts +0 -6
- package/createApw/createContentReviewMethods.js.map +0 -1
- package/createApw/createReviewerMethods.js.map +0 -1
- package/createApw/createWorkflowMethods.js.map +0 -1
- package/createApw/index.js.map +0 -1
- package/plugins/createManageCMSPlugin.d.ts +0 -2
- package/plugins/createManageCMSPlugin.js +0 -31
- package/plugins/createManageCMSPlugin.js.map +0 -1
- package/plugins/hooks/extendPbPageSchema.js.map +0 -1
- package/plugins/hooks/linkWorkflowToPage.d.ts +0 -9
- package/plugins/hooks/linkWorkflowToPage.js +0 -155
- package/plugins/hooks/linkWorkflowToPage.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["contentReview.model.ts"],"names":["contentField","fields","label","parent","type","multipleValues","settings","validation","name","message","contentStatus","predefinedValues","enabled","values","value","contentIdField","contentTypeField","contentSettingsField","stepStatusField","listValidation","renderer","id","fieldId","stepPendingChangeRequests","stepSignOffProvidedOn","stepSignOffProvidedBy","stepSignOffProvidedById","stepSignOffProvidedByDisplayName","stepsField","layout","map","field","createContentReviewModelDefinition","reviewerModelId","modelId","titleFieldId"],"mappings":"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","sourcesContent":["import { createModelField } from \"./utils\";\nimport { stepTitleField, stepTypeField, stepSlugField, stepReviewersField } from \"./workflow.model\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { WorkflowModelDefinition } from \"~/types\";\n\nconst contentField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Content\",\n parent: \"contentReview\",\n type: \"object\",\n multipleValues: false,\n settings: { fields },\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst contentStatus = () =>\n createModelField({\n label: \"Status\",\n parent: \"contentReview\",\n type: \"text\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n label: \"Under review\",\n value: \"underReview\"\n },\n {\n label: \"Ready to be published\",\n value: \"readyToBePublished\"\n },\n {\n label: \"Published\",\n value: \"published\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst contentIdField = () =>\n createModelField({\n label: \"Id\",\n type: \"text\",\n parent: \"contentReview Content\",\n validation: [{ name: \"required\", message: \"Value is required.\" }]\n });\n\nconst contentTypeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n parent: \"contentReview Type\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n label: \"Page\",\n value: \"page\"\n },\n { value: \"cms-entry\", label: \"CMS Entry\" }\n ]\n },\n validation: [{ name: \"required\", message: \"Value is required.\" }]\n });\n// TODO: Find a way to store JSON value without \"object\" field.\nconst contentSettingsField = () =>\n createModelField({\n label: \"Settings\",\n type: \"text\",\n parent: \"contentReview Settings\"\n });\n\nconst stepStatusField = (): CmsModelField => ({\n multipleValues: false,\n listValidation: [],\n renderer: {\n name: \"radio-buttons\"\n },\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"done\",\n label: \"Steps done\"\n },\n {\n value: \"active\",\n label: \"Step active\"\n },\n {\n value: \"inactive\",\n label: \"Step inactive\"\n }\n ]\n },\n label: \"Status\",\n id: \"contentReview_steps_status\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ],\n fieldId: \"status\"\n});\n\nconst stepPendingChangeRequests = () =>\n createModelField({\n label: \"Pending change requests\",\n type: \"number\",\n parent: \"contentReview Step\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst stepSignOffProvidedOn = () =>\n createModelField({\n label: \"Sign off provided on\",\n type: \"datetime\",\n parent: \"contentReview Step\"\n });\n\nconst stepSignOffProvidedBy = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Sign off provided By\",\n type: \"object\",\n parent: \"contentReview Step\",\n multipleValues: false,\n settings: { fields }\n });\n\nconst stepSignOffProvidedById = () =>\n createModelField({\n label: \"Id\",\n type: \"text\",\n parent: \"contentReview Step\"\n });\n\nconst stepSignOffProvidedByDisplayName = () =>\n createModelField({\n label: \"DisplayName\",\n type: \"text\",\n parent: \"contentReview Step\"\n });\n\nconst stepsField = (fields: CmsModelField[]): CmsModelField => ({\n id: \"contentReview_steps\",\n label: \"Steps\",\n type: \"object\",\n settings: {\n fields,\n layout: fields.map(field => [field.fieldId])\n },\n listValidation: [],\n validation: [],\n fieldId: \"steps\",\n multipleValues: true,\n predefinedValues: {\n values: [],\n enabled: false\n }\n});\n\ninterface CreateContentReviewModelDefinitionParams {\n reviewerModelId: string;\n}\nexport const createContentReviewModelDefinition = ({\n reviewerModelId\n}: CreateContentReviewModelDefinitionParams): WorkflowModelDefinition => {\n return {\n name: \"APW - Content Review\",\n modelId: \"apwContentReviewModelDefinition\",\n titleFieldId: \"content\",\n layout: [\n [\"contentReview_content\"],\n [\"contentReview_reviewRequestedBy\"],\n [\"contentReview_steps\"],\n [\"contentReview_changeRequested\"]\n ],\n fields: [\n contentField([contentIdField(), contentTypeField(), contentSettingsField()]),\n contentStatus(),\n stepsField([\n stepTitleField(),\n stepTypeField(),\n stepSlugField(),\n stepReviewersField(reviewerModelId),\n stepStatusField(),\n stepPendingChangeRequests(),\n stepSignOffProvidedOn(),\n stepSignOffProvidedBy([\n stepSignOffProvidedById(),\n stepSignOffProvidedByDisplayName()\n ])\n ])\n ]\n };\n};\n"]}
|
1
|
+
{"version":3,"names":["contentField","fields","createModelField","label","parent","type","multipleValues","settings","validation","message","name","contentStatus","predefinedValues","enabled","values","value","titleField","contentIdField","contentWorkflowIdField","contentTypeField","contentSettingsField","contentSettingsModelIdField","scheduledActionIdField","contentScheduledOnField","contentScheduledByField","contentPublishedByField","stepStatusField","listValidation","renderer","id","fieldId","stepPendingChangeRequests","stepTotalComments","latestCommentId","stepSignOffProvidedOn","stepSignOffProvidedBy","stepSignOffProvidedById","stepSignOffProvidedByDisplayName","stepsField","layout","map","field","CONTENT_REVIEW_MODEL_ID","createContentReviewModelDefinition","reviewerModelId","modelId","titleFieldId","stepTitleField","stepTypeField","stepIdField","stepReviewersField","description","isPrivate"],"sources":["contentReview.model.ts"],"sourcesContent":["import { createModelField } from \"./utils\";\nimport { stepTitleField, stepTypeField, stepIdField, stepReviewersField } from \"./workflow.model\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { WorkflowModelDefinition } from \"~/types\";\n\nconst contentField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Content\",\n parent: \"contentReview\",\n type: \"object\",\n multipleValues: false,\n settings: { fields },\n validation: [\n {\n message: \"`content` field value is required in contentReview.\",\n name: \"required\"\n }\n ]\n });\n\nconst contentStatus = () =>\n createModelField({\n label: \"Status\",\n parent: \"contentReview\",\n type: \"text\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n label: \"Under review\",\n value: \"underReview\"\n },\n {\n label: \"Ready to be published\",\n value: \"readyToBePublished\"\n },\n {\n label: \"Published\",\n value: \"published\"\n }\n ]\n },\n validation: [\n {\n message: \"`status` field value is required in contentReview.\",\n name: \"required\"\n }\n ]\n });\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"contentReview\",\n validation: [\n {\n message: \"`title` field value is required in contentReview.\",\n name: \"required\"\n }\n ]\n });\n\nconst contentIdField = () =>\n createModelField({\n label: \"Id\",\n type: \"text\",\n parent: \"contentReview Content\",\n validation: [\n {\n message: \"`id` field value is required in contentReview Content.\",\n name: \"required\"\n }\n ]\n });\n\nconst contentWorkflowIdField = () =>\n createModelField({\n label: \"Workflow Id\",\n type: \"text\",\n parent: \"contentReview Content\",\n validation: [\n {\n message: \"`workflowId` field value is required in contentReview Content.\",\n name: \"required\"\n }\n ]\n });\n\nconst contentTypeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n parent: \"contentReview Type\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n label: \"Page\",\n value: \"page\"\n },\n { value: \"cms-entry\", label: \"CMS Entry\" }\n ]\n },\n validation: [\n {\n message: \"`type` field value is required in contentReview Type.\",\n name: \"required\"\n }\n ]\n });\n\nconst contentSettingsField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Settings\",\n parent: \"contentReview Content\",\n type: \"object\",\n multipleValues: false,\n settings: { fields }\n });\n\nconst contentSettingsModelIdField = () =>\n createModelField({\n label: \"Model Id\",\n parent: \"contentReview Settings\",\n type: \"text\"\n });\n\nconst scheduledActionIdField = () =>\n createModelField({\n label: \"Scheduled action Id\",\n type: \"text\",\n parent: \"contentReview Content\"\n });\n\nconst contentScheduledOnField = () =>\n createModelField({\n label: \"Scheduled on\",\n type: \"datetime\",\n parent: \"contentReview Content\"\n });\n\nconst contentScheduledByField = () =>\n createModelField({\n label: \"Scheduled by\",\n type: \"text\",\n parent: \"contentReview Content\"\n });\n\nconst contentPublishedByField = () =>\n createModelField({\n label: \"Published by\",\n type: \"text\",\n parent: \"contentReview Content\"\n });\n\nconst stepStatusField = (): CmsModelField => ({\n multipleValues: false,\n listValidation: [],\n renderer: {\n name: \"radio-buttons\"\n },\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"done\",\n label: \"Steps done\"\n },\n {\n value: \"active\",\n label: \"Step active\"\n },\n {\n value: \"inactive\",\n label: \"Step inactive\"\n }\n ]\n },\n label: \"Status\",\n id: \"contentReview_steps_status\",\n type: \"text\",\n validation: [\n {\n message: \"`status` field value is required in contentReview steps status.\",\n name: \"required\"\n }\n ],\n fieldId: \"status\"\n});\n\nconst stepPendingChangeRequests = () =>\n createModelField({\n label: \"Pending change requests\",\n type: \"number\",\n parent: \"contentReview Step\",\n validation: [\n {\n message: \"`pendingChangeRequests` field value is required in contentReview step.\",\n name: \"required\"\n }\n ]\n });\n\nconst stepTotalComments = () =>\n createModelField({\n label: \"Total comments\",\n type: \"number\",\n parent: \"contentReview Step\",\n validation: [\n {\n message: \"`totalComments` field value is required in contentReview step.\",\n name: \"required\"\n }\n ]\n });\n\nconst latestCommentId = () =>\n createModelField({\n label: \"Latest comment Id\",\n type: \"text\",\n parent: \"contentReview\"\n });\n\nconst stepSignOffProvidedOn = () =>\n createModelField({\n label: \"Sign off provided on\",\n type: \"datetime\",\n parent: \"contentReview Step\"\n });\n\nconst stepSignOffProvidedBy = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Sign off provided By\",\n type: \"object\",\n parent: \"contentReview Step\",\n multipleValues: false,\n settings: { fields }\n });\n\nconst stepSignOffProvidedById = () =>\n createModelField({\n label: \"Id\",\n type: \"text\",\n parent: \"contentReview Step\"\n });\n\nconst stepSignOffProvidedByDisplayName = () =>\n createModelField({\n label: \"DisplayName\",\n type: \"text\",\n parent: \"contentReview Step\"\n });\n\nconst stepsField = (fields: CmsModelField[]): CmsModelField => ({\n id: \"contentReview_steps\",\n label: \"Steps\",\n type: \"object\",\n settings: {\n fields,\n layout: fields.map(field => [field.fieldId])\n },\n listValidation: [],\n validation: [],\n fieldId: \"steps\",\n multipleValues: true,\n predefinedValues: {\n values: [],\n enabled: false\n }\n});\n\ninterface CreateContentReviewModelDefinitionParams {\n reviewerModelId: string;\n}\n\nexport const CONTENT_REVIEW_MODEL_ID = \"apwContentReviewModelDefinition\";\n\nexport const createContentReviewModelDefinition = ({\n reviewerModelId\n}: CreateContentReviewModelDefinitionParams): WorkflowModelDefinition => ({\n name: \"APW - Content Review\",\n modelId: CONTENT_REVIEW_MODEL_ID,\n titleFieldId: \"content\",\n layout: [\n [\"contentReview_content\"],\n [\"contentReview_reviewRequestedBy\"],\n [\"contentReview_steps\"],\n [\"contentReview_changeRequested\"]\n ],\n fields: [\n titleField(),\n contentField([\n contentIdField(),\n contentTypeField(),\n contentWorkflowIdField(),\n contentSettingsField([contentSettingsModelIdField()]),\n contentScheduledOnField(),\n contentScheduledByField(),\n scheduledActionIdField(),\n contentPublishedByField()\n ]),\n contentStatus(),\n stepsField([\n stepTitleField(),\n stepTypeField(),\n stepIdField(),\n stepReviewersField(reviewerModelId),\n stepStatusField(),\n stepPendingChangeRequests(),\n stepTotalComments(),\n stepSignOffProvidedOn(),\n stepSignOffProvidedBy([stepSignOffProvidedById(), stepSignOffProvidedByDisplayName()])\n ]),\n latestCommentId()\n ],\n description: \"\",\n isPrivate: true\n});\n"],"mappings":"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"}
|
@@ -11,7 +11,7 @@ var _contentModelPluginFactory = _interopRequireDefault(require("./contentModelP
|
|
11
11
|
|
12
12
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
13
13
|
|
14
|
-
var
|
14
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
15
15
|
|
16
16
|
var _workflow = require("./workflow.model");
|
17
17
|
|
@@ -23,6 +23,8 @@ var _comment = require("./comment.model");
|
|
23
23
|
|
24
24
|
var _changeRequest = require("./changeRequest.model");
|
25
25
|
|
26
|
+
var _utils = require("../../plugins/utils");
|
27
|
+
|
26
28
|
const createApwModels = context => {
|
27
29
|
/**
|
28
30
|
* This should never happen in the actual project.
|
@@ -33,11 +35,18 @@ const createApwModels = context => {
|
|
33
35
|
return;
|
34
36
|
}
|
35
37
|
|
38
|
+
if ((0, _utils.isInstallationPending)({
|
39
|
+
tenancy: context.tenancy,
|
40
|
+
i18n: context.i18n
|
41
|
+
})) {
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
|
36
45
|
context.security.disableAuthorization();
|
37
|
-
const locale = context.
|
46
|
+
const locale = context.i18n.getContentLocale();
|
38
47
|
|
39
48
|
if (!locale) {
|
40
|
-
throw new _error.default("Missing
|
49
|
+
throw new _error.default("Missing content locale in api-apw/storageOperations/index.ts", "LOCALE_ERROR");
|
41
50
|
}
|
42
51
|
/**
|
43
52
|
* TODO:@ashutosh
|
@@ -50,11 +59,13 @@ const createApwModels = context => {
|
|
50
59
|
* Create a CmsGroup.
|
51
60
|
*/
|
52
61
|
|
53
|
-
const cmsGroupPlugin = new
|
62
|
+
const cmsGroupPlugin = new _apiHeadlessCms.CmsGroupPlugin({
|
54
63
|
id: groupId,
|
55
64
|
slug: "apw",
|
56
65
|
name: "APW",
|
57
|
-
description: "Group for Advanced Publishing Workflow"
|
66
|
+
description: "Group for Advanced Publishing Workflow",
|
67
|
+
icon: "fas/star",
|
68
|
+
isPrivate: true
|
58
69
|
});
|
59
70
|
/**
|
60
71
|
* Create CmsModel plugins.
|
@@ -81,6 +92,15 @@ const createApwModels = context => {
|
|
81
92
|
locale: locale.code,
|
82
93
|
modelDefinition
|
83
94
|
});
|
95
|
+
/**
|
96
|
+
* We want "title" field as the "titleField" for "ContentReview" model.
|
97
|
+
* so that we can later search entries by title.
|
98
|
+
*/
|
99
|
+
|
100
|
+
if (cmsModelPlugin.contentModel.modelId === "apwContentReviewModelDefinition") {
|
101
|
+
cmsModelPlugin.contentModel.titleFieldId = "title";
|
102
|
+
}
|
103
|
+
|
84
104
|
cmsModelPlugins.push(cmsModelPlugin);
|
85
105
|
}
|
86
106
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["createApwModels","context","cms","console","warn","isInstallationPending","tenancy","i18n","security","disableAuthorization","locale","getContentLocale","WebinyError","groupId","cmsGroupPlugin","CmsGroupPlugin","id","slug","name","description","icon","isPrivate","changeRequestModelDefinition","createChangeRequestModelDefinition","reviewerModelDefinition","createReviewerModelDefinition","workflowModelDefinition","createWorkflowModelDefinition","reviewerModelId","modelId","commentModelDefinition","createCommentModelDefinition","contentReviewModelDefinition","createContentReviewModelDefinition","modelDefinitions","cmsModelPlugins","modelDefinition","cmsModelPlugin","contentModelPluginFactory","group","contentModelGroup","tenant","getCurrentTenant","code","contentModel","titleFieldId","push","plugins","register","enableAuthorization"],"sources":["index.ts"],"sourcesContent":["import contentModelPluginFactory from \"./contentModelPluginFactory\";\nimport WebinyError from \"@webiny/error\";\nimport { CmsGroupPlugin } from \"@webiny/api-headless-cms\";\nimport { createWorkflowModelDefinition } from \"./workflow.model\";\nimport { createContentReviewModelDefinition } from \"./contentReview.model\";\nimport { createReviewerModelDefinition } from \"./reviewer.model\";\nimport { createCommentModelDefinition } from \"./comment.model\";\nimport { createChangeRequestModelDefinition } from \"./changeRequest.model\";\nimport { CmsContext } from \"@webiny/api-headless-cms/types\";\nimport { isInstallationPending } from \"~/plugins/utils\";\n\nexport const createApwModels = (context: CmsContext) => {\n /**\n * This should never happen in the actual project.\n * It is to make sure that we load setup context before the CRUD init in our internal code.\n */\n if (!context.cms) {\n console.warn(\"Creating model before cms init.\");\n return;\n }\n\n if (isInstallationPending({ tenancy: context.tenancy, i18n: context.i18n })) {\n return;\n }\n\n context.security.disableAuthorization();\n\n const locale = context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in api-apw/storageOperations/index.ts\",\n \"LOCALE_ERROR\"\n );\n }\n /**\n * TODO:@ashutosh\n * We need to move these plugin in an installation plugin\n */\n const groupId = \"contentModelGroup_apw\";\n /**\n * Create a CmsGroup.\n */\n const cmsGroupPlugin = new CmsGroupPlugin({\n id: groupId,\n slug: \"apw\",\n name: \"APW\",\n description: \"Group for Advanced Publishing Workflow\",\n icon: \"fas/star\",\n isPrivate: true\n });\n\n /**\n * Create CmsModel plugins.\n */\n const changeRequestModelDefinition = createChangeRequestModelDefinition();\n const reviewerModelDefinition = createReviewerModelDefinition();\n const workflowModelDefinition = createWorkflowModelDefinition({\n reviewerModelId: reviewerModelDefinition.modelId\n });\n const commentModelDefinition = createCommentModelDefinition({\n modelId: changeRequestModelDefinition.modelId\n });\n const contentReviewModelDefinition = createContentReviewModelDefinition({\n reviewerModelId: reviewerModelDefinition.modelId\n });\n\n const modelDefinitions = [\n workflowModelDefinition,\n contentReviewModelDefinition,\n reviewerModelDefinition,\n changeRequestModelDefinition,\n commentModelDefinition\n ];\n\n const cmsModelPlugins = [];\n for (const modelDefinition of modelDefinitions) {\n const cmsModelPlugin = contentModelPluginFactory({\n group: cmsGroupPlugin.contentModelGroup,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: locale.code,\n modelDefinition\n });\n /**\n * We want \"title\" field as the \"titleField\" for \"ContentReview\" model.\n * so that we can later search entries by title.\n */\n if (cmsModelPlugin.contentModel.modelId === \"apwContentReviewModelDefinition\") {\n cmsModelPlugin.contentModel.titleFieldId = \"title\";\n }\n cmsModelPlugins.push(cmsModelPlugin);\n }\n\n /**\n * Register them so that they are accessible in cms context\n */\n context.plugins.register([cmsGroupPlugin, cmsModelPlugins]);\n\n context.security.enableAuthorization();\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEO,MAAMA,eAAe,GAAIC,OAAD,IAAyB;EACpD;AACJ;AACA;AACA;EACI,IAAI,CAACA,OAAO,CAACC,GAAb,EAAkB;IACdC,OAAO,CAACC,IAAR,CAAa,iCAAb;IACA;EACH;;EAED,IAAI,IAAAC,4BAAA,EAAsB;IAAEC,OAAO,EAAEL,OAAO,CAACK,OAAnB;IAA4BC,IAAI,EAAEN,OAAO,CAACM;EAA1C,CAAtB,CAAJ,EAA6E;IACzE;EACH;;EAEDN,OAAO,CAACO,QAAR,CAAiBC,oBAAjB;EAEA,MAAMC,MAAM,GAAGT,OAAO,CAACM,IAAR,CAAaI,gBAAb,EAAf;;EACA,IAAI,CAACD,MAAL,EAAa;IACT,MAAM,IAAIE,cAAJ,CACF,8DADE,EAEF,cAFE,CAAN;EAIH;EACD;AACJ;AACA;AACA;;;EACI,MAAMC,OAAO,GAAG,uBAAhB;EACA;AACJ;AACA;;EACI,MAAMC,cAAc,GAAG,IAAIC,8BAAJ,CAAmB;IACtCC,EAAE,EAAEH,OADkC;IAEtCI,IAAI,EAAE,KAFgC;IAGtCC,IAAI,EAAE,KAHgC;IAItCC,WAAW,EAAE,wCAJyB;IAKtCC,IAAI,EAAE,UALgC;IAMtCC,SAAS,EAAE;EAN2B,CAAnB,CAAvB;EASA;AACJ;AACA;;EACI,MAAMC,4BAA4B,GAAG,IAAAC,iDAAA,GAArC;EACA,MAAMC,uBAAuB,GAAG,IAAAC,uCAAA,GAAhC;EACA,MAAMC,uBAAuB,GAAG,IAAAC,uCAAA,EAA8B;IAC1DC,eAAe,EAAEJ,uBAAuB,CAACK;EADiB,CAA9B,CAAhC;EAGA,MAAMC,sBAAsB,GAAG,IAAAC,qCAAA,EAA6B;IACxDF,OAAO,EAAEP,4BAA4B,CAACO;EADkB,CAA7B,CAA/B;EAGA,MAAMG,4BAA4B,GAAG,IAAAC,iDAAA,EAAmC;IACpEL,eAAe,EAAEJ,uBAAuB,CAACK;EAD2B,CAAnC,CAArC;EAIA,MAAMK,gBAAgB,GAAG,CACrBR,uBADqB,EAErBM,4BAFqB,EAGrBR,uBAHqB,EAIrBF,4BAJqB,EAKrBQ,sBALqB,CAAzB;EAQA,MAAMK,eAAe,GAAG,EAAxB;;EACA,KAAK,MAAMC,eAAX,IAA8BF,gBAA9B,EAAgD;IAC5C,MAAMG,cAAc,GAAG,IAAAC,kCAAA,EAA0B;MAC7CC,KAAK,EAAEzB,cAAc,CAAC0B,iBADuB;MAE7CC,MAAM,EAAExC,OAAO,CAACK,OAAR,CAAgBoC,gBAAhB,GAAmC1B,EAFE;MAG7CN,MAAM,EAAEA,MAAM,CAACiC,IAH8B;MAI7CP;IAJ6C,CAA1B,CAAvB;IAMA;AACR;AACA;AACA;;IACQ,IAAIC,cAAc,CAACO,YAAf,CAA4Bf,OAA5B,KAAwC,iCAA5C,EAA+E;MAC3EQ,cAAc,CAACO,YAAf,CAA4BC,YAA5B,GAA2C,OAA3C;IACH;;IACDV,eAAe,CAACW,IAAhB,CAAqBT,cAArB;EACH;EAED;AACJ;AACA;;;EACIpC,OAAO,CAAC8C,OAAR,CAAgBC,QAAhB,CAAyB,CAAClC,cAAD,EAAiBqB,eAAjB,CAAzB;EAEAlC,OAAO,CAACO,QAAR,CAAiByC,mBAAjB;AACH,CAvFM"}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.createReviewerModelDefinition = void 0;
|
6
|
+
exports.createReviewerModelDefinition = exports.REVIEWER_MODEL_ID = void 0;
|
7
7
|
|
8
8
|
var _utils = require("./utils");
|
9
9
|
|
@@ -12,7 +12,7 @@ const idField = () => (0, _utils.createModelField)({
|
|
12
12
|
type: "text",
|
13
13
|
parent: "reviewer",
|
14
14
|
validation: [{
|
15
|
-
message: "
|
15
|
+
message: "`identityId` field value is required in reviewer.",
|
16
16
|
name: "required"
|
17
17
|
}]
|
18
18
|
});
|
@@ -22,7 +22,7 @@ const displayNameField = () => (0, _utils.createModelField)({
|
|
22
22
|
type: "text",
|
23
23
|
parent: "reviewer",
|
24
24
|
validation: [{
|
25
|
-
message: "
|
25
|
+
message: "`displayName` field value is required in reviewer.",
|
26
26
|
name: "required"
|
27
27
|
}]
|
28
28
|
});
|
@@ -32,18 +32,23 @@ const typeField = () => (0, _utils.createModelField)({
|
|
32
32
|
type: "text",
|
33
33
|
parent: "reviewer",
|
34
34
|
validation: [{
|
35
|
-
message: "
|
35
|
+
message: "`type` field value is required in reviewer.",
|
36
36
|
name: "required"
|
37
37
|
}]
|
38
38
|
});
|
39
39
|
|
40
|
+
const REVIEWER_MODEL_ID = "apwReviewerModelDefinition";
|
41
|
+
exports.REVIEWER_MODEL_ID = REVIEWER_MODEL_ID;
|
42
|
+
|
40
43
|
const createReviewerModelDefinition = () => {
|
41
44
|
return {
|
42
45
|
name: "APW - Reviewer",
|
43
|
-
modelId:
|
46
|
+
modelId: REVIEWER_MODEL_ID,
|
44
47
|
titleFieldId: "displayName",
|
45
48
|
layout: [["reviewer_id"], ["reviewer_displayName"]],
|
46
|
-
fields: [idField(), displayNameField(), typeField()]
|
49
|
+
fields: [idField(), displayNameField(), typeField()],
|
50
|
+
description: "",
|
51
|
+
isPrivate: true
|
47
52
|
};
|
48
53
|
};
|
49
54
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["idField","createModelField","label","type","parent","validation","message","name","displayNameField","typeField","REVIEWER_MODEL_ID","createReviewerModelDefinition","modelId","titleFieldId","layout","fields","description","isPrivate"],"sources":["reviewer.model.ts"],"sourcesContent":["import { createModelField } from \"./utils\";\nimport { WorkflowModelDefinition } from \"~/types\";\n\nconst idField = () =>\n createModelField({\n label: \"Identity Id\",\n type: \"text\",\n parent: \"reviewer\",\n validation: [\n {\n message: \"`identityId` field value is required in reviewer.\",\n name: \"required\"\n }\n ]\n });\n\nconst displayNameField = () =>\n createModelField({\n label: \"Display Name\",\n type: \"text\",\n parent: \"reviewer\",\n validation: [\n {\n message: \"`displayName` field value is required in reviewer.\",\n name: \"required\"\n }\n ]\n });\n\nconst typeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n parent: \"reviewer\",\n validation: [\n {\n message: \"`type` field value is required in reviewer.\",\n name: \"required\"\n }\n ]\n });\n\nexport const REVIEWER_MODEL_ID = \"apwReviewerModelDefinition\";\n\nexport const createReviewerModelDefinition = (): WorkflowModelDefinition => {\n return {\n name: \"APW - Reviewer\",\n modelId: REVIEWER_MODEL_ID,\n titleFieldId: \"displayName\",\n layout: [[\"reviewer_id\"], [\"reviewer_displayName\"]],\n fields: [idField(), displayNameField(), typeField()],\n description: \"\",\n isPrivate: true\n };\n};\n"],"mappings":";;;;;;;AAAA;;AAGA,MAAMA,OAAO,GAAG,MACZ,IAAAC,uBAAA,EAAiB;EACbC,KAAK,EAAE,aADM;EAEbC,IAAI,EAAE,MAFO;EAGbC,MAAM,EAAE,UAHK;EAIbC,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,mDADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAJC,CAAjB,CADJ;;AAaA,MAAMC,gBAAgB,GAAG,MACrB,IAAAP,uBAAA,EAAiB;EACbC,KAAK,EAAE,cADM;EAEbC,IAAI,EAAE,MAFO;EAGbC,MAAM,EAAE,UAHK;EAIbC,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,oDADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAJC,CAAjB,CADJ;;AAaA,MAAME,SAAS,GAAG,MACd,IAAAR,uBAAA,EAAiB;EACbC,KAAK,EAAE,MADM;EAEbC,IAAI,EAAE,MAFO;EAGbC,MAAM,EAAE,UAHK;EAIbC,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,6CADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAJC,CAAjB,CADJ;;AAaO,MAAMG,iBAAiB,GAAG,4BAA1B;;;AAEA,MAAMC,6BAA6B,GAAG,MAA+B;EACxE,OAAO;IACHJ,IAAI,EAAE,gBADH;IAEHK,OAAO,EAAEF,iBAFN;IAGHG,YAAY,EAAE,aAHX;IAIHC,MAAM,EAAE,CAAC,CAAC,aAAD,CAAD,EAAkB,CAAC,sBAAD,CAAlB,CAJL;IAKHC,MAAM,EAAE,CAACf,OAAO,EAAR,EAAYQ,gBAAgB,EAA5B,EAAgCC,SAAS,EAAzC,CALL;IAMHO,WAAW,EAAE,EANV;IAOHC,SAAS,EAAE;EAPR,CAAP;AASH,CAVM"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["createModelField","params","label","type","parent","fieldId","camelCase","id","settings","listValidation","validation","multipleValues","predefinedValues","values","enabled"],"sources":["utils.ts"],"sourcesContent":["import camelCase from \"lodash/camelCase\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { CreateModelFieldParams } from \"~/plugins/utils\";\n\nexport const createModelField = (params: CreateModelFieldParams): CmsModelField => {\n const { label, type, parent } = params;\n const fieldId = camelCase(label);\n\n return {\n id: `${camelCase(parent)}_${fieldId}`,\n fieldId,\n label,\n type,\n settings: params.settings || {},\n listValidation: params.listValidation || [],\n validation: params.validation || [],\n multipleValues: params.multipleValues || false,\n predefinedValues: params.predefinedValues || {\n values: [],\n enabled: false\n }\n };\n};\n"],"mappings":";;;;;;;;;AAAA;;AAIO,MAAMA,gBAAgB,GAAIC,MAAD,IAAmD;EAC/E,MAAM;IAAEC,KAAF;IAASC,IAAT;IAAeC;EAAf,IAA0BH,MAAhC;EACA,MAAMI,OAAO,GAAG,IAAAC,kBAAA,EAAUJ,KAAV,CAAhB;EAEA,OAAO;IACHK,EAAE,EAAG,GAAE,IAAAD,kBAAA,EAAUF,MAAV,CAAkB,IAAGC,OAAQ,EADjC;IAEHA,OAFG;IAGHH,KAHG;IAIHC,IAJG;IAKHK,QAAQ,EAAEP,MAAM,CAACO,QAAP,IAAmB,EAL1B;IAMHC,cAAc,EAAER,MAAM,CAACQ,cAAP,IAAyB,EANtC;IAOHC,UAAU,EAAET,MAAM,CAACS,UAAP,IAAqB,EAP9B;IAQHC,cAAc,EAAEV,MAAM,CAACU,cAAP,IAAyB,KARtC;IASHC,gBAAgB,EAAEX,MAAM,CAACW,gBAAP,IAA2B;MACzCC,MAAM,EAAE,EADiC;MAEzCC,OAAO,EAAE;IAFgC;EAT1C,CAAP;AAcH,CAlBM"}
|
@@ -2,10 +2,11 @@ import { CmsModelField } from "@webiny/api-headless-cms/types";
|
|
2
2
|
import { WorkflowModelDefinition } from "../../types";
|
3
3
|
export declare const stepTitleField: () => CmsModelField;
|
4
4
|
export declare const stepTypeField: () => CmsModelField;
|
5
|
-
export declare const
|
5
|
+
export declare const stepIdField: () => CmsModelField;
|
6
6
|
export declare const stepReviewersField: (reviewerModelId: string) => CmsModelField;
|
7
7
|
interface CreateWorkflowModelDefinitionParams {
|
8
8
|
reviewerModelId: string;
|
9
9
|
}
|
10
|
+
export declare const WORKFLOW_MODEL_ID = "apwWorkflowModelDefinition";
|
10
11
|
export declare const createWorkflowModelDefinition: ({ reviewerModelId }: CreateWorkflowModelDefinitionParams) => WorkflowModelDefinition;
|
11
12
|
export {};
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.stepTypeField = exports.stepTitleField = exports.
|
6
|
+
exports.stepTypeField = exports.stepTitleField = exports.stepReviewersField = exports.stepIdField = exports.createWorkflowModelDefinition = exports.WORKFLOW_MODEL_ID = void 0;
|
7
7
|
|
8
8
|
var _utils = require("./utils");
|
9
9
|
|
@@ -12,7 +12,7 @@ const titleField = () => (0, _utils.createModelField)({
|
|
12
12
|
type: "text",
|
13
13
|
parent: "workflow",
|
14
14
|
validation: [{
|
15
|
-
message: "
|
15
|
+
message: "`title` field value is required in workflow.",
|
16
16
|
name: "required"
|
17
17
|
}]
|
18
18
|
});
|
@@ -32,8 +32,8 @@ const stepTitleField = () => (0, _utils.createModelField)({
|
|
32
32
|
type: "text",
|
33
33
|
parent: "workflow steps",
|
34
34
|
validation: [{
|
35
|
-
|
36
|
-
|
35
|
+
message: "`title` field value is required in workflow steps.",
|
36
|
+
name: "required"
|
37
37
|
}]
|
38
38
|
});
|
39
39
|
|
@@ -58,23 +58,23 @@ const stepTypeField = () => (0, _utils.createModelField)({
|
|
58
58
|
},
|
59
59
|
validation: [{
|
60
60
|
name: "required",
|
61
|
-
message: "
|
61
|
+
message: "`type` field value is required in workflow steps."
|
62
62
|
}]
|
63
63
|
});
|
64
64
|
|
65
65
|
exports.stepTypeField = stepTypeField;
|
66
66
|
|
67
|
-
const
|
68
|
-
label: "
|
67
|
+
const stepIdField = () => (0, _utils.createModelField)({
|
68
|
+
label: "Id",
|
69
69
|
type: "text",
|
70
70
|
parent: "workflow steps",
|
71
71
|
validation: [{
|
72
|
-
|
73
|
-
|
72
|
+
message: "`id` field value is required in workflow steps.",
|
73
|
+
name: "required"
|
74
74
|
}]
|
75
75
|
});
|
76
76
|
|
77
|
-
exports.
|
77
|
+
exports.stepIdField = stepIdField;
|
78
78
|
|
79
79
|
const stepReviewersField = reviewerModelId => (0, _utils.createModelField)({
|
80
80
|
label: "Reviewers",
|
@@ -111,8 +111,8 @@ const scopeTypeField = () => (0, _utils.createModelField)({
|
|
111
111
|
parent: "workflow scope",
|
112
112
|
type: "text",
|
113
113
|
validation: [{
|
114
|
-
|
115
|
-
|
114
|
+
message: "`type` field value is required in workflow scope.",
|
115
|
+
name: "required"
|
116
116
|
}],
|
117
117
|
predefinedValues: {
|
118
118
|
enabled: true,
|
@@ -120,7 +120,7 @@ const scopeTypeField = () => (0, _utils.createModelField)({
|
|
120
120
|
value: "default",
|
121
121
|
label: "Default - Catch all scope that applies to all content that's being published."
|
122
122
|
}, {
|
123
|
-
value: "
|
123
|
+
value: "pageBuilder",
|
124
124
|
label: "Page category (Page Builder only) - The workflow will apply to all pages inside specific categories."
|
125
125
|
}, {
|
126
126
|
value: "cms",
|
@@ -160,7 +160,7 @@ const scopeDataCmsModels = () => (0, _utils.createModelField)({
|
|
160
160
|
});
|
161
161
|
|
162
162
|
const scopeDataCmsEntries = () => (0, _utils.createModelField)({
|
163
|
-
label: "
|
163
|
+
label: "Entries",
|
164
164
|
parent: "workflow scope data",
|
165
165
|
type: "text",
|
166
166
|
multipleValues: true
|
@@ -171,8 +171,8 @@ const applicationField = () => (0, _utils.createModelField)({
|
|
171
171
|
type: "text",
|
172
172
|
label: "App",
|
173
173
|
validation: [{
|
174
|
-
|
175
|
-
|
174
|
+
message: "`app` field value is required in workflow.",
|
175
|
+
name: "required"
|
176
176
|
}],
|
177
177
|
predefinedValues: {
|
178
178
|
enabled: true,
|
@@ -186,21 +186,23 @@ const applicationField = () => (0, _utils.createModelField)({
|
|
186
186
|
}
|
187
187
|
});
|
188
188
|
|
189
|
+
const WORKFLOW_MODEL_ID = "apwWorkflowModelDefinition";
|
190
|
+
exports.WORKFLOW_MODEL_ID = WORKFLOW_MODEL_ID;
|
191
|
+
|
189
192
|
const createWorkflowModelDefinition = ({
|
190
193
|
reviewerModelId
|
191
|
-
}) => {
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
};
|
194
|
+
}) => ({
|
195
|
+
name: "APW - Workflow",
|
196
|
+
|
197
|
+
/**
|
198
|
+
* Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.
|
199
|
+
*/
|
200
|
+
modelId: WORKFLOW_MODEL_ID,
|
201
|
+
layout: [["workflow_title"], ["workflow_steps"], ["workflow_scope"], ["workflow_app"]],
|
202
|
+
titleFieldId: "title",
|
203
|
+
description: "",
|
204
|
+
fields: [titleField(), stepsField([stepTitleField(), stepTypeField(), stepIdField(), stepReviewersField(reviewerModelId)]), scopeField([scopeTypeField(), scopeDataField([scopeDataPbCategories(), scopeDataPbPages(), scopeDataCmsModels(), scopeDataCmsEntries()])]), applicationField()],
|
205
|
+
isPrivate: true
|
206
|
+
});
|
205
207
|
|
206
208
|
exports.createWorkflowModelDefinition = createWorkflowModelDefinition;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["workflow.model.ts"],"names":["titleField","label","type","parent","validation","message","name","stepsField","fields","settings","multipleValues","stepTitleField","stepTypeField","predefinedValues","enabled","values","value","stepSlugField","stepReviewersField","reviewerModelId","models","modelId","listValidation","scopeField","scopeTypeField","scopeDataField","scopeDataPbCategories","scopeDataPbPages","scopeDataCmsModels","scopeDataCmsEntries","applicationField","createWorkflowModelDefinition","layout","titleFieldId","description"],"mappings":"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","sourcesContent":["import { createModelField } from \"./utils\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { WorkflowModelDefinition } from \"~/types\";\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"workflow\",\n validation: [\n {\n message: \"Value is required.\",\n name: \"required\"\n }\n ]\n });\n\nconst stepsField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Steps\",\n type: \"object\",\n parent: \"workflow\",\n settings: {\n fields\n },\n multipleValues: true\n });\n\nexport const stepTitleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"workflow steps\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nexport const stepTypeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n parent: \"workflow steps\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"mandatoryBlocking\",\n label: \"Mandatory, blocking - An approval from a reviewer is required before being able to move to the next step and publish the content. \"\n },\n {\n value: \"mandatoryNonBlocking\",\n label: \"Mandatory, non-blocking - An approval from a reviewer is to publish the content, but the next step in the review workflow is not blocked. \"\n },\n {\n value: \"notMandatory\",\n label: \"Not mandatory - This is an optional review step. The content can be published regardless if an approval is provided or not.\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nexport const stepSlugField = () =>\n createModelField({\n label: \"Slug\",\n type: \"text\",\n parent: \"workflow steps\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nexport const stepReviewersField = (reviewerModelId: string) =>\n createModelField({\n label: \"Reviewers\",\n type: \"ref\",\n parent: \"workflow steps\",\n multipleValues: true,\n settings: {\n models: [\n {\n modelId: reviewerModelId\n }\n ]\n },\n listValidation: [\n {\n name: \"minLength\",\n message: \"Value is too short.\",\n settings: {\n value: \"1\"\n }\n }\n ]\n });\n\nconst scopeField = (fields: CmsModelField[]) =>\n createModelField({\n type: \"object\",\n label: \"Scope\",\n parent: \"workflow\",\n settings: {\n fields\n }\n });\n\nconst scopeTypeField = () =>\n createModelField({\n label: \"Type\",\n parent: \"workflow scope\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"default\",\n label: \"Default - Catch all scope that applies to all content that's being published.\"\n },\n {\n value: \"pb\",\n label: \"Page category (Page Builder only) - The workflow will apply to all pages inside specific categories.\"\n },\n {\n value: \"cms\",\n label: \"Content model (Headless CMS only) - The workflow will apply to all the content inside the specific content models. \"\n }\n ]\n }\n });\n\nconst scopeDataField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Data\",\n parent: \"workflow scope\",\n type: \"object\",\n settings: {\n fields\n }\n });\n\nconst scopeDataPbCategories = () =>\n createModelField({\n label: \"Categories\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataPbPages = () =>\n createModelField({\n label: \"Pages\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataCmsModels = () =>\n createModelField({\n label: \"Models\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataCmsEntries = () =>\n createModelField({\n label: \"Category\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\n\nconst applicationField = () =>\n createModelField({\n parent: \"workflow\",\n type: \"text\",\n label: \"App\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n { label: \"Page Builder\", value: \"pageBuilder\" },\n { label: \"Headless CMS\", value: \"cms\" }\n ]\n }\n });\n\ninterface CreateWorkflowModelDefinitionParams {\n reviewerModelId: string;\n}\nexport const createWorkflowModelDefinition = ({\n reviewerModelId\n}: CreateWorkflowModelDefinitionParams): WorkflowModelDefinition => {\n return {\n name: \"APW - Workflow\",\n /**\n * Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.\n */\n modelId: \"apwWorkflowModelDefinition\",\n layout: [[\"workflow_title\"], [\"workflow_steps\"], [\"workflow_scope\"], [\"workflow_app\"]],\n titleFieldId: \"title\",\n description: null,\n fields: [\n titleField(),\n stepsField([\n stepTitleField(),\n stepTypeField(),\n stepSlugField(),\n stepReviewersField(reviewerModelId)\n ]),\n scopeField([\n scopeTypeField(),\n scopeDataField([\n scopeDataPbCategories(),\n scopeDataPbPages(),\n scopeDataCmsModels(),\n scopeDataCmsEntries()\n ])\n ]),\n applicationField()\n ]\n };\n};\n"]}
|
1
|
+
{"version":3,"names":["titleField","createModelField","label","type","parent","validation","message","name","stepsField","fields","settings","multipleValues","stepTitleField","stepTypeField","predefinedValues","enabled","values","value","stepIdField","stepReviewersField","reviewerModelId","models","modelId","listValidation","scopeField","scopeTypeField","scopeDataField","scopeDataPbCategories","scopeDataPbPages","scopeDataCmsModels","scopeDataCmsEntries","applicationField","WORKFLOW_MODEL_ID","createWorkflowModelDefinition","layout","titleFieldId","description","isPrivate"],"sources":["workflow.model.ts"],"sourcesContent":["import { createModelField } from \"./utils\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { WorkflowModelDefinition } from \"~/types\";\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"workflow\",\n validation: [\n {\n message: \"`title` field value is required in workflow.\",\n name: \"required\"\n }\n ]\n });\n\nconst stepsField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Steps\",\n type: \"object\",\n parent: \"workflow\",\n settings: {\n fields\n },\n multipleValues: true\n });\n\nexport const stepTitleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"workflow steps\",\n validation: [\n {\n message: \"`title` field value is required in workflow steps.\",\n name: \"required\"\n }\n ]\n });\n\nexport const stepTypeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n parent: \"workflow steps\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"mandatoryBlocking\",\n label: \"Mandatory, blocking - An approval from a reviewer is required before being able to move to the next step and publish the content. \"\n },\n {\n value: \"mandatoryNonBlocking\",\n label: \"Mandatory, non-blocking - An approval from a reviewer is to publish the content, but the next step in the review workflow is not blocked. \"\n },\n {\n value: \"notMandatory\",\n label: \"Not mandatory - This is an optional review step. The content can be published regardless if an approval is provided or not.\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"`type` field value is required in workflow steps.\"\n }\n ]\n });\n\nexport const stepIdField = () =>\n createModelField({\n label: \"Id\",\n type: \"text\",\n parent: \"workflow steps\",\n validation: [\n {\n message: \"`id` field value is required in workflow steps.\",\n name: \"required\"\n }\n ]\n });\n\nexport const stepReviewersField = (reviewerModelId: string) =>\n createModelField({\n label: \"Reviewers\",\n type: \"ref\",\n parent: \"workflow steps\",\n multipleValues: true,\n settings: {\n models: [\n {\n modelId: reviewerModelId\n }\n ]\n },\n listValidation: [\n {\n name: \"minLength\",\n message: \"Value is too short.\",\n settings: {\n value: \"1\"\n }\n }\n ]\n });\n\nconst scopeField = (fields: CmsModelField[]) =>\n createModelField({\n type: \"object\",\n label: \"Scope\",\n parent: \"workflow\",\n settings: {\n fields\n }\n });\n\nconst scopeTypeField = () =>\n createModelField({\n label: \"Type\",\n parent: \"workflow scope\",\n type: \"text\",\n validation: [\n {\n message: \"`type` field value is required in workflow scope.\",\n name: \"required\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"default\",\n label: \"Default - Catch all scope that applies to all content that's being published.\"\n },\n {\n value: \"pageBuilder\",\n label: \"Page category (Page Builder only) - The workflow will apply to all pages inside specific categories.\"\n },\n {\n value: \"cms\",\n label: \"Content model (Headless CMS only) - The workflow will apply to all the content inside the specific content models. \"\n }\n ]\n }\n });\n\nconst scopeDataField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Data\",\n parent: \"workflow scope\",\n type: \"object\",\n settings: {\n fields\n }\n });\n\nconst scopeDataPbCategories = () =>\n createModelField({\n label: \"Categories\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataPbPages = () =>\n createModelField({\n label: \"Pages\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataCmsModels = () =>\n createModelField({\n label: \"Models\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataCmsEntries = () =>\n createModelField({\n label: \"Entries\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\n\nconst applicationField = () =>\n createModelField({\n parent: \"workflow\",\n type: \"text\",\n label: \"App\",\n validation: [\n {\n message: \"`app` field value is required in workflow.\",\n name: \"required\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n { label: \"Page Builder\", value: \"pageBuilder\" },\n { label: \"Headless CMS\", value: \"cms\" }\n ]\n }\n });\n\ninterface CreateWorkflowModelDefinitionParams {\n reviewerModelId: string;\n}\n\nexport const WORKFLOW_MODEL_ID = \"apwWorkflowModelDefinition\";\n\nexport const createWorkflowModelDefinition = ({\n reviewerModelId\n}: CreateWorkflowModelDefinitionParams): WorkflowModelDefinition => ({\n name: \"APW - Workflow\",\n /**\n * Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.\n */\n modelId: WORKFLOW_MODEL_ID,\n layout: [[\"workflow_title\"], [\"workflow_steps\"], [\"workflow_scope\"], [\"workflow_app\"]],\n titleFieldId: \"title\",\n description: \"\",\n fields: [\n titleField(),\n stepsField([\n stepTitleField(),\n stepTypeField(),\n stepIdField(),\n stepReviewersField(reviewerModelId)\n ]),\n scopeField([\n scopeTypeField(),\n scopeDataField([\n scopeDataPbCategories(),\n scopeDataPbPages(),\n scopeDataCmsModels(),\n scopeDataCmsEntries()\n ])\n ]),\n applicationField()\n ],\n isPrivate: true\n});\n"],"mappings":"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"}
|
@@ -45,9 +45,7 @@ const createReviewerStorageOperations = ({
|
|
45
45
|
async listReviewers(params) {
|
46
46
|
const model = await getReviewerModel();
|
47
47
|
const [entries, meta] = await cms.listLatestEntries(model, _objectSpread(_objectSpread({}, params), {}, {
|
48
|
-
where: _objectSpread(
|
49
|
-
tenant: model.tenant
|
50
|
-
})
|
48
|
+
where: _objectSpread({}, params.where)
|
51
49
|
}));
|
52
50
|
return [entries.map(entry => (0, _index.getFieldValues)(entry, _index.baseFields)), meta];
|
53
51
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["createReviewerStorageOperations","cms","getReviewerModel","model","getModel","WebinyError","getReviewer","id","entry","getEntryById","getFieldValues","baseFields","listReviewers","params","entries","meta","listLatestEntries","where","map","createReviewer","createEntry","data","updateReviewer","existingEntry","updateEntry","deleteReviewer","deleteEntry"],"sources":["reviewerStorageOperations.ts"],"sourcesContent":["import { ApwReviewerStorageOperations } from \"./types\";\nimport {\n baseFields,\n CreateApwStorageOperationsParams,\n getFieldValues\n} from \"~/storageOperations/index\";\nimport WebinyError from \"@webiny/error\";\n\nexport const createReviewerStorageOperations = ({\n cms\n}: Pick<CreateApwStorageOperationsParams, \"cms\">): ApwReviewerStorageOperations => {\n const getReviewerModel = async () => {\n const model = await cms.getModel(\"apwReviewerModelDefinition\");\n if (!model) {\n throw new WebinyError(\n \"Could not find `apwReviewerModelDefinition` model.\",\n \"MODEL_NOT_FOUND_ERROR\"\n );\n }\n return model;\n };\n const getReviewer: ApwReviewerStorageOperations[\"getReviewer\"] = async ({ id }) => {\n const model = await getReviewerModel();\n const entry = await cms.getEntryById(model, id);\n return getFieldValues(entry, baseFields);\n };\n return {\n getReviewerModel,\n getReviewer,\n async listReviewers(params) {\n const model = await getReviewerModel();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...params.where\n }\n });\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n },\n async createReviewer(params) {\n const model = await getReviewerModel();\n const entry = await cms.createEntry(model, params.data);\n return getFieldValues(entry, baseFields);\n },\n async updateReviewer(params) {\n const model = await getReviewerModel();\n /**\n * We're fetching the existing entry here because we're not accepting \"app\" field as input,\n * but, we still need to retain its value after the \"update\" operation.\n */\n const existingEntry = await getReviewer({ id: params.id });\n\n const entry = await cms.updateEntry(model, params.id, {\n ...existingEntry,\n ...params.data\n });\n return getFieldValues(entry, baseFields);\n },\n async deleteReviewer(params) {\n const model = await getReviewerModel();\n await cms.deleteEntry(model, params.id);\n return true;\n }\n };\n};\n"],"mappings":";;;;;;;;;;;AACA;;AAKA;;;;;;AAEO,MAAMA,+BAA+B,GAAG,CAAC;EAC5CC;AAD4C,CAAD,KAEoC;EAC/E,MAAMC,gBAAgB,GAAG,YAAY;IACjC,MAAMC,KAAK,GAAG,MAAMF,GAAG,CAACG,QAAJ,CAAa,4BAAb,CAApB;;IACA,IAAI,CAACD,KAAL,EAAY;MACR,MAAM,IAAIE,cAAJ,CACF,oDADE,EAEF,uBAFE,CAAN;IAIH;;IACD,OAAOF,KAAP;EACH,CATD;;EAUA,MAAMG,WAAwD,GAAG,OAAO;IAAEC;EAAF,CAAP,KAAkB;IAC/E,MAAMJ,KAAK,GAAG,MAAMD,gBAAgB,EAApC;IACA,MAAMM,KAAK,GAAG,MAAMP,GAAG,CAACQ,YAAJ,CAAiBN,KAAjB,EAAwBI,EAAxB,CAApB;IACA,OAAO,IAAAG,qBAAA,EAAeF,KAAf,EAAsBG,iBAAtB,CAAP;EACH,CAJD;;EAKA,OAAO;IACHT,gBADG;IAEHI,WAFG;;IAGH,MAAMM,aAAN,CAAoBC,MAApB,EAA4B;MACxB,MAAMV,KAAK,GAAG,MAAMD,gBAAgB,EAApC;MACA,MAAM,CAACY,OAAD,EAAUC,IAAV,IAAkB,MAAMd,GAAG,CAACe,iBAAJ,CAAsBb,KAAtB,kCACvBU,MADuB;QAE1BI,KAAK,oBACEJ,MAAM,CAACI,KADT;MAFqB,GAA9B;MAMA,OAAO,CAACH,OAAO,CAACI,GAAR,CAAYV,KAAK,IAAI,IAAAE,qBAAA,EAAeF,KAAf,EAAsBG,iBAAtB,CAArB,CAAD,EAA0DI,IAA1D,CAAP;IACH,CAZE;;IAaH,MAAMI,cAAN,CAAqBN,MAArB,EAA6B;MACzB,MAAMV,KAAK,GAAG,MAAMD,gBAAgB,EAApC;MACA,MAAMM,KAAK,GAAG,MAAMP,GAAG,CAACmB,WAAJ,CAAgBjB,KAAhB,EAAuBU,MAAM,CAACQ,IAA9B,CAApB;MACA,OAAO,IAAAX,qBAAA,EAAeF,KAAf,EAAsBG,iBAAtB,CAAP;IACH,CAjBE;;IAkBH,MAAMW,cAAN,CAAqBT,MAArB,EAA6B;MACzB,MAAMV,KAAK,GAAG,MAAMD,gBAAgB,EAApC;MACA;AACZ;AACA;AACA;;MACY,MAAMqB,aAAa,GAAG,MAAMjB,WAAW,CAAC;QAAEC,EAAE,EAAEM,MAAM,CAACN;MAAb,CAAD,CAAvC;MAEA,MAAMC,KAAK,GAAG,MAAMP,GAAG,CAACuB,WAAJ,CAAgBrB,KAAhB,EAAuBU,MAAM,CAACN,EAA9B,kCACbgB,aADa,GAEbV,MAAM,CAACQ,IAFM,EAApB;MAIA,OAAO,IAAAX,qBAAA,EAAeF,KAAf,EAAsBG,iBAAtB,CAAP;IACH,CA/BE;;IAgCH,MAAMc,cAAN,CAAqBZ,MAArB,EAA6B;MACzB,MAAMV,KAAK,GAAG,MAAMD,gBAAgB,EAApC;MACA,MAAMD,GAAG,CAACyB,WAAJ,CAAgBvB,KAAhB,EAAuBU,MAAM,CAACN,EAA9B,CAAN;MACA,OAAO,IAAP;IACH;;EApCE,CAAP;AAsCH,CAxDM"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport {\n ApwReviewerStorageOperations as BaseApwReviewerStorageOperations,\n ApwWorkflowStorageOperations as BaseApwWorkflowStorageOperations,\n ApwContentReviewStorageOperations as BaseApwContentReviewStorageOperations,\n ApwChangeRequestStorageOperations as BaseApwChangeRequestStorageOperations,\n ApwCommentStorageOperations as BaseApwCommentStorageOperations\n} from \"~/types\";\n\nexport interface ApwCommentStorageOperations extends BaseApwCommentStorageOperations {\n /**\n * @internal\n */\n getCommentModel(): Promise<CmsModel>;\n}\n\nexport interface ApwReviewerStorageOperations extends BaseApwReviewerStorageOperations {\n /**\n * @internal\n */\n getReviewerModel(): Promise<CmsModel>;\n}\n\nexport interface ApwWorkflowStorageOperations extends BaseApwWorkflowStorageOperations {\n /**\n * @internal\n */\n getWorkflowModel(): Promise<CmsModel>;\n}\n\nexport interface ApwContentReviewStorageOperations extends BaseApwContentReviewStorageOperations {\n /**\n * @internal\n */\n getContentReviewModel(): Promise<CmsModel>;\n}\n\nexport interface ApwChangeRequestStorageOperations extends BaseApwChangeRequestStorageOperations {\n /**\n * @internal\n */\n getChangeRequestModel(): Promise<CmsModel>;\n}\n\nexport interface ApwStorageOperations\n extends ApwReviewerStorageOperations,\n ApwWorkflowStorageOperations,\n ApwContentReviewStorageOperations,\n ApwChangeRequestStorageOperations,\n ApwCommentStorageOperations {}\n"],"mappings":""}
|
@@ -17,6 +17,17 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
17
17
|
|
18
18
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
19
19
|
|
20
|
+
const formatReviewersForRefInput = (data, modelId) => {
|
21
|
+
return _objectSpread(_objectSpread({}, data), {}, {
|
22
|
+
steps: data.steps.map(step => _objectSpread(_objectSpread({}, step), {}, {
|
23
|
+
reviewers: step.reviewers.map(id => ({
|
24
|
+
id,
|
25
|
+
modelId
|
26
|
+
}))
|
27
|
+
}))
|
28
|
+
});
|
29
|
+
};
|
30
|
+
|
20
31
|
const createWorkflowStorageOperations = ({
|
21
32
|
cms
|
22
33
|
}) => {
|
@@ -44,22 +55,21 @@ const createWorkflowStorageOperations = ({
|
|
44
55
|
|
45
56
|
async listWorkflows(params) {
|
46
57
|
const model = await getWorkflowModel();
|
47
|
-
const [entries, meta] = await cms.listLatestEntries(model, _objectSpread(
|
48
|
-
where: _objectSpread(_objectSpread({}, params.where), {}, {
|
49
|
-
tenant: model.tenant
|
50
|
-
})
|
51
|
-
}));
|
58
|
+
const [entries, meta] = await cms.listLatestEntries(model, _objectSpread({}, params));
|
52
59
|
return [entries.map(entry => (0, _index.getFieldValues)(entry, _index.baseFields)), meta];
|
53
60
|
},
|
54
61
|
|
55
62
|
async createWorkflow(params) {
|
56
63
|
const model = await getWorkflowModel();
|
57
|
-
const
|
64
|
+
const reviewerModel = await this.getReviewerModel();
|
65
|
+
const data = formatReviewersForRefInput(params.data, reviewerModel.modelId);
|
66
|
+
const entry = await cms.createEntry(model, data);
|
58
67
|
return (0, _index.getFieldValues)(entry, _index.baseFields);
|
59
68
|
},
|
60
69
|
|
61
70
|
async updateWorkflow(params) {
|
62
71
|
const model = await getWorkflowModel();
|
72
|
+
const reviewerModel = await this.getReviewerModel();
|
63
73
|
/**
|
64
74
|
* We're fetching the existing entry here because we're not accepting "app" field as input,
|
65
75
|
* but, we still need to retain its value after the "update" operation.
|
@@ -68,7 +78,11 @@ const createWorkflowStorageOperations = ({
|
|
68
78
|
const existingEntry = await getWorkflow({
|
69
79
|
id: params.id
|
70
80
|
});
|
71
|
-
|
81
|
+
|
82
|
+
const input = _objectSpread(_objectSpread({}, existingEntry), params.data);
|
83
|
+
|
84
|
+
const data = formatReviewersForRefInput(input, reviewerModel.modelId);
|
85
|
+
const entry = await cms.updateEntry(model, params.id, data);
|
72
86
|
return (0, _index.getFieldValues)(entry, _index.baseFields);
|
73
87
|
},
|
74
88
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["formatReviewersForRefInput","data","modelId","steps","map","step","reviewers","id","createWorkflowStorageOperations","cms","getWorkflowModel","model","getModel","WebinyError","getWorkflow","entry","getEntryById","getFieldValues","baseFields","listWorkflows","params","entries","meta","listLatestEntries","createWorkflow","reviewerModel","getReviewerModel","createEntry","updateWorkflow","existingEntry","input","updateEntry","deleteWorkflow","deleteEntry"],"sources":["workflowStorageOperations.ts"],"sourcesContent":["import { CreateApwWorkflowParams } from \"~/types\";\nimport { ApwStorageOperations, ApwWorkflowStorageOperations } from \"./types\";\nimport {\n baseFields,\n CreateApwStorageOperationsParams,\n getFieldValues\n} from \"~/storageOperations/index\";\nimport WebinyError from \"@webiny/error\";\n\ntype ReviewersRefInput = CreateApwWorkflowParams<{ modelId: string; id: string }>;\n\nconst formatReviewersForRefInput = (\n data: CreateApwWorkflowParams,\n modelId: string\n): ReviewersRefInput => {\n return {\n ...data,\n steps: data.steps.map(step => ({\n ...step,\n reviewers: step.reviewers.map(id => ({\n id,\n modelId\n }))\n }))\n };\n};\n\nexport const createWorkflowStorageOperations = ({\n cms\n}: Pick<CreateApwStorageOperationsParams, \"cms\">): ApwWorkflowStorageOperations => {\n const getWorkflowModel = async () => {\n const model = await cms.getModel(\"apwWorkflowModelDefinition\");\n if (!model) {\n throw new WebinyError(\n \"Could not find `apwWorkflowModelDefinition` model.\",\n \"MODEL_NOT_FOUND_ERROR\"\n );\n }\n return model;\n };\n const getWorkflow: ApwWorkflowStorageOperations[\"getWorkflow\"] = async ({ id }) => {\n const model = await getWorkflowModel();\n const entry = await cms.getEntryById(model, id);\n return getFieldValues(entry, baseFields);\n };\n return {\n getWorkflowModel,\n getWorkflow,\n async listWorkflows(params) {\n const model = await getWorkflowModel();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params\n });\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n },\n async createWorkflow(this: ApwStorageOperations, params) {\n const model = await getWorkflowModel();\n const reviewerModel = await this.getReviewerModel();\n\n const data = formatReviewersForRefInput(params.data, reviewerModel.modelId);\n const entry = await cms.createEntry(model, data);\n\n return getFieldValues(entry, baseFields);\n },\n async updateWorkflow(this: ApwStorageOperations, params) {\n const model = await getWorkflowModel();\n const reviewerModel = await this.getReviewerModel();\n /**\n * We're fetching the existing entry here because we're not accepting \"app\" field as input,\n * but, we still need to retain its value after the \"update\" operation.\n */\n const existingEntry = await getWorkflow({ id: params.id });\n const input = {\n ...existingEntry,\n ...params.data\n };\n const data = formatReviewersForRefInput(\n input as CreateApwWorkflowParams,\n reviewerModel.modelId\n );\n const entry = await cms.updateEntry(model, params.id, data);\n return getFieldValues(entry, baseFields);\n },\n async deleteWorkflow(params) {\n const model = await getWorkflowModel();\n await cms.deleteEntry(model, params.id);\n return true;\n }\n };\n};\n"],"mappings":"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"}
|