@webiny/api-apw 5.33.5 → 5.34.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. package/ApwChangeRequestNotification.d.ts +27 -0
  2. package/ApwChangeRequestNotification.js +40 -0
  3. package/ApwChangeRequestNotification.js.map +1 -0
  4. package/ApwCommentNotification.d.ts +27 -0
  5. package/ApwCommentNotification.js +40 -0
  6. package/ApwCommentNotification.js.map +1 -0
  7. package/ApwContentReviewNotification.d.ts +26 -0
  8. package/ApwContentReviewNotification.js +40 -0
  9. package/ApwContentReviewNotification.js.map +1 -0
  10. package/ApwContentUrlPlugin.d.ts +19 -0
  11. package/ApwContentUrlPlugin.js +40 -0
  12. package/ApwContentUrlPlugin.js.map +1 -0
  13. package/ContentApwSettingsPlugin.js +1 -1
  14. package/crud/createChangeRequestMethods.js +21 -18
  15. package/crud/createChangeRequestMethods.js.map +1 -1
  16. package/crud/createCommentMethods.js +21 -18
  17. package/crud/createCommentMethods.js.map +1 -1
  18. package/crud/createContentReviewMethods.js +60 -50
  19. package/crud/createContentReviewMethods.js.map +1 -1
  20. package/crud/createReviewerMethods.js +21 -18
  21. package/crud/createReviewerMethods.js.map +1 -1
  22. package/crud/createWorkflowMethods.d.ts +1 -1
  23. package/crud/createWorkflowMethods.js +42 -20
  24. package/crud/createWorkflowMethods.js.map +1 -1
  25. package/crud/index.js +3 -7
  26. package/crud/index.js.map +1 -1
  27. package/crud/utils.js +4 -8
  28. package/crud/utils.js.map +1 -1
  29. package/index.d.ts +3 -3
  30. package/index.js +8 -4
  31. package/index.js.map +1 -1
  32. package/package.json +38 -37
  33. package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +1 -1
  34. package/plugins/cms/apwEntryPlugins.js +4 -8
  35. package/plugins/cms/apwEntryPlugins.js.map +1 -1
  36. package/plugins/cms/index.js +9 -1
  37. package/plugins/cms/index.js.map +1 -1
  38. package/plugins/cms/linkContentReviewToEntry.js +4 -4
  39. package/plugins/cms/linkContentReviewToEntry.js.map +1 -1
  40. package/plugins/cms/linkWorkflowToEntry.js +5 -5
  41. package/plugins/cms/linkWorkflowToEntry.js.map +1 -1
  42. package/plugins/cms/notifications/changeRequestNotification.d.ts +1 -0
  43. package/plugins/cms/notifications/changeRequestNotification.js +35 -0
  44. package/plugins/cms/notifications/changeRequestNotification.js.map +1 -0
  45. package/plugins/cms/notifications/commentNotification.d.ts +1 -0
  46. package/plugins/cms/notifications/commentNotification.js +35 -0
  47. package/plugins/cms/notifications/commentNotification.js.map +1 -0
  48. package/plugins/cms/notifications/contentReviewNotification.d.ts +1 -0
  49. package/plugins/cms/notifications/contentReviewNotification.js +35 -0
  50. package/plugins/cms/notifications/contentReviewNotification.js.map +1 -0
  51. package/plugins/cms/notifications/contentUrl.d.ts +8 -0
  52. package/plugins/cms/notifications/contentUrl.js +60 -0
  53. package/plugins/cms/notifications/contentUrl.js.map +1 -0
  54. package/plugins/cms/triggerContentReview.js +3 -3
  55. package/plugins/cms/triggerContentReview.js.map +1 -1
  56. package/plugins/cms/updateContentReviewStatus.js +10 -14
  57. package/plugins/cms/updateContentReviewStatus.js.map +1 -1
  58. package/plugins/cms/utils.js +4 -8
  59. package/plugins/cms/utils.js.map +1 -1
  60. package/plugins/context.js +1 -1
  61. package/plugins/graphql/changeRequest.gql.js +1 -1
  62. package/plugins/graphql/comment.gql.js +1 -1
  63. package/plugins/graphql/contentReview.gql.js +4 -4
  64. package/plugins/graphql/contentReview.gql.js.map +1 -1
  65. package/plugins/graphql/reviewer.gql.js +3 -1
  66. package/plugins/graphql/reviewer.gql.js.map +1 -1
  67. package/plugins/graphql/workflow.gql.js +1 -1
  68. package/plugins/graphql.js +1 -1
  69. package/plugins/hooks/createReviewerFromIdentity.js +28 -8
  70. package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
  71. package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +1 -1
  72. package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
  73. package/plugins/hooks/deleteCommentsAfterChangeRequest.js +1 -1
  74. package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
  75. package/plugins/hooks/index.js +6 -0
  76. package/plugins/hooks/index.js.map +1 -1
  77. package/plugins/hooks/initializeContentReviewSteps.js +5 -8
  78. package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
  79. package/plugins/hooks/initializeNotifications.d.ts +2 -0
  80. package/plugins/hooks/initializeNotifications.js +20 -0
  81. package/plugins/hooks/initializeNotifications.js.map +1 -0
  82. package/plugins/hooks/listContentReviews.d.ts +10 -0
  83. package/plugins/hooks/listContentReviews.js +68 -0
  84. package/plugins/hooks/listContentReviews.js.map +1 -0
  85. package/plugins/hooks/notifications/appUrl.d.ts +2 -0
  86. package/plugins/hooks/notifications/appUrl.js +22 -0
  87. package/plugins/hooks/notifications/appUrl.js.map +1 -0
  88. package/plugins/hooks/notifications/changeRequestAfterCreate.d.ts +2 -0
  89. package/plugins/hooks/notifications/changeRequestAfterCreate.js +144 -0
  90. package/plugins/hooks/notifications/changeRequestAfterCreate.js.map +1 -0
  91. package/plugins/hooks/notifications/changeRequestUrl.d.ts +8 -0
  92. package/plugins/hooks/notifications/changeRequestUrl.js +31 -0
  93. package/plugins/hooks/notifications/changeRequestUrl.js.map +1 -0
  94. package/plugins/hooks/notifications/commentAfterCreate.d.ts +2 -0
  95. package/plugins/hooks/notifications/commentAfterCreate.js +157 -0
  96. package/plugins/hooks/notifications/commentAfterCreate.js.map +1 -0
  97. package/plugins/hooks/notifications/commentUrl.d.ts +8 -0
  98. package/plugins/hooks/notifications/commentUrl.js +31 -0
  99. package/plugins/hooks/notifications/commentUrl.js.map +1 -0
  100. package/plugins/hooks/notifications/contentReviewAfterCreate.d.ts +2 -0
  101. package/plugins/hooks/notifications/contentReviewAfterCreate.js +122 -0
  102. package/plugins/hooks/notifications/contentReviewAfterCreate.js.map +1 -0
  103. package/plugins/hooks/notifications/contentReviewUrl.d.ts +7 -0
  104. package/plugins/hooks/notifications/contentReviewUrl.js +30 -0
  105. package/plugins/hooks/notifications/contentReviewUrl.js.map +1 -0
  106. package/plugins/hooks/notifications/contentUrl.d.ts +7 -0
  107. package/plugins/hooks/notifications/contentUrl.js +29 -0
  108. package/plugins/hooks/notifications/contentUrl.js.map +1 -0
  109. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.d.ts +11 -0
  110. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js +25 -0
  111. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js.map +1 -0
  112. package/plugins/hooks/notifications/lastCommentNotificationPlugin.d.ts +11 -0
  113. package/plugins/hooks/notifications/lastCommentNotificationPlugin.js +25 -0
  114. package/plugins/hooks/notifications/lastCommentNotificationPlugin.js.map +1 -0
  115. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.d.ts +11 -0
  116. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js +25 -0
  117. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js.map +1 -0
  118. package/plugins/hooks/notifications/reviewers.d.ts +15 -0
  119. package/plugins/hooks/notifications/reviewers.js +51 -0
  120. package/plugins/hooks/notifications/reviewers.js.map +1 -0
  121. package/plugins/hooks/notifications/sendChangeRequestNotification.d.ts +2 -0
  122. package/plugins/hooks/notifications/sendChangeRequestNotification.js +52 -0
  123. package/plugins/hooks/notifications/sendChangeRequestNotification.js.map +1 -0
  124. package/plugins/hooks/notifications/sendCommentNotification.d.ts +2 -0
  125. package/plugins/hooks/notifications/sendCommentNotification.js +52 -0
  126. package/plugins/hooks/notifications/sendCommentNotification.js.map +1 -0
  127. package/plugins/hooks/notifications/sendContentReviewNotification.d.ts +2 -0
  128. package/plugins/hooks/notifications/sendContentReviewNotification.js +52 -0
  129. package/plugins/hooks/notifications/sendContentReviewNotification.js.map +1 -0
  130. package/plugins/hooks/updatePendingChangeRequests.js +7 -11
  131. package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
  132. package/plugins/hooks/updateTotalComments.js +14 -18
  133. package/plugins/hooks/updateTotalComments.js.map +1 -1
  134. package/plugins/hooks/validateChangeRequest.js +30 -5
  135. package/plugins/hooks/validateChangeRequest.js.map +1 -1
  136. package/plugins/hooks/validateComment.js +14 -4
  137. package/plugins/hooks/validateComment.js.map +1 -1
  138. package/plugins/hooks/validateContentReview.js +2 -2
  139. package/plugins/hooks/validateContentReview.js.map +1 -1
  140. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +1 -1
  141. package/plugins/pageBuilder/index.js +9 -1
  142. package/plugins/pageBuilder/index.js.map +1 -1
  143. package/plugins/pageBuilder/linkContentReviewToPage.js +41 -29
  144. package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -1
  145. package/plugins/pageBuilder/linkWorkflowToPage.js +18 -6
  146. package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -1
  147. package/plugins/pageBuilder/notifications/changeRequestNotification.d.ts +1 -0
  148. package/plugins/pageBuilder/notifications/changeRequestNotification.js +35 -0
  149. package/plugins/pageBuilder/notifications/changeRequestNotification.js.map +1 -0
  150. package/plugins/pageBuilder/notifications/commentNotification.d.ts +1 -0
  151. package/plugins/pageBuilder/notifications/commentNotification.js +35 -0
  152. package/plugins/pageBuilder/notifications/commentNotification.js.map +1 -0
  153. package/plugins/pageBuilder/notifications/contentReviewNotification.d.ts +1 -0
  154. package/plugins/pageBuilder/notifications/contentReviewNotification.js +35 -0
  155. package/plugins/pageBuilder/notifications/contentReviewNotification.js.map +1 -0
  156. package/plugins/pageBuilder/notifications/contentUrl.d.ts +1 -0
  157. package/plugins/pageBuilder/notifications/contentUrl.js +53 -0
  158. package/plugins/pageBuilder/notifications/contentUrl.js.map +1 -0
  159. package/plugins/pageBuilder/triggerContentReview.js +3 -3
  160. package/plugins/pageBuilder/triggerContentReview.js.map +1 -1
  161. package/plugins/pageBuilder/updateContentReviewStatus.js +10 -14
  162. package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -1
  163. package/plugins/pageBuilder/utils.js +1 -1
  164. package/plugins/pageBuilder/utils.js.map +1 -1
  165. package/plugins/utils.d.ts +1 -1
  166. package/plugins/utils.js +4 -14
  167. package/plugins/utils.js.map +1 -1
  168. package/scheduler/createScheduleActionMethods.js +17 -14
  169. package/scheduler/createScheduleActionMethods.js.map +1 -1
  170. package/scheduler/handlers/executeAction/index.d.ts +1 -1
  171. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +1 -1
  172. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +1 -1
  173. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +1 -1
  174. package/scheduler/handlers/scheduleAction/index.d.ts +1 -1
  175. package/scheduler/handlers/scheduleAction/index.js +8 -9
  176. package/scheduler/handlers/scheduleAction/index.js.map +1 -1
  177. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +5 -9
  178. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -1
  179. package/scheduler/handlers/utils.d.ts +1 -1
  180. package/scheduler/handlers/utils.js +1 -1
  181. package/storageOperations/changeRequestStorageOperations.js +5 -9
  182. package/storageOperations/changeRequestStorageOperations.js.map +1 -1
  183. package/storageOperations/commentStorageOperations.js +4 -8
  184. package/storageOperations/commentStorageOperations.js.map +1 -1
  185. package/storageOperations/contentReviewStorageOperations.js +5 -9
  186. package/storageOperations/contentReviewStorageOperations.js.map +1 -1
  187. package/storageOperations/index.js +5 -9
  188. package/storageOperations/index.js.map +1 -1
  189. package/storageOperations/models/contentModelPluginFactory.js +3 -7
  190. package/storageOperations/models/contentModelPluginFactory.js.map +1 -1
  191. package/storageOperations/models/contentReview.model.js +6 -5
  192. package/storageOperations/models/contentReview.model.js.map +1 -1
  193. package/storageOperations/models/index.js +1 -1
  194. package/storageOperations/models/reviewer.model.js +18 -2
  195. package/storageOperations/models/reviewer.model.js.map +1 -1
  196. package/storageOperations/models/utils.js +3 -2
  197. package/storageOperations/models/utils.js.map +1 -1
  198. package/storageOperations/reviewerStorageOperations.js +18 -14
  199. package/storageOperations/reviewerStorageOperations.js.map +1 -1
  200. package/storageOperations/workflowStorageOperations.js +8 -12
  201. package/storageOperations/workflowStorageOperations.js.map +1 -1
  202. package/types.d.ts +99 -84
  203. package/types.js.map +1 -1
  204. package/utils/errors.js +1 -1
  205. package/utils/fieldResolver.js +3 -9
  206. package/utils/fieldResolver.js.map +1 -1
  207. package/utils/resolve.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["contentModelPluginFactory","params","group","locale","tenant","modelDefinition","createCmsModel"],"sources":["contentModelPluginFactory.ts"],"sourcesContent":["import { CmsModelPlugin, createCmsModel } from \"@webiny/api-headless-cms\";\nimport { CmsModel, CmsGroup } from \"@webiny/api-headless-cms/types\";\n\ninterface Params {\n group: Pick<CmsGroup, \"id\" | \"name\">;\n /**\n * Locale and tenant do not need to be defined.\n * In that case model is not bound to any locale or tenant.\n * You can bind it to locale, tenant, both or none.\n */\n locale?: string;\n tenant?: string;\n modelDefinition: Omit<CmsModel, \"locale\" | \"tenant\" | \"webinyVersion\" | \"group\">;\n}\n\nexport const contentModelPluginFactory = (params: Params): CmsModelPlugin => {\n const { group, locale, tenant, modelDefinition } = params;\n\n return createCmsModel({\n group,\n locale,\n tenant,\n ...modelDefinition\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAeO,MAAMA,yBAAyB,GAAIC,MAAD,IAAoC;EACzE,MAAM;IAAEC,KAAF;IAASC,MAAT;IAAiBC,MAAjB;IAAyBC;EAAzB,IAA6CJ,MAAnD;EAEA,OAAO,IAAAK,8BAAA;IACHJ,KADG;IAEHC,MAFG;IAGHC;EAHG,GAIAC,eAJA,EAAP;AAMH,CATM"}
1
+ {"version":3,"names":["contentModelPluginFactory","params","group","locale","tenant","modelDefinition","createCmsModel"],"sources":["contentModelPluginFactory.ts"],"sourcesContent":["import { CmsModelPlugin, createCmsModel } from \"@webiny/api-headless-cms\";\nimport { CmsModel, CmsGroup } from \"@webiny/api-headless-cms/types\";\n\ninterface Params {\n group: Pick<CmsGroup, \"id\" | \"name\">;\n /**\n * Locale and tenant do not need to be defined.\n * In that case model is not bound to any locale or tenant.\n * You can bind it to locale, tenant, both or none.\n */\n locale?: string;\n tenant?: string;\n modelDefinition: Omit<CmsModel, \"locale\" | \"tenant\" | \"webinyVersion\" | \"group\">;\n}\n\nexport const contentModelPluginFactory = (params: Params): CmsModelPlugin => {\n const { group, locale, tenant, modelDefinition } = params;\n\n return createCmsModel({\n group,\n locale,\n tenant,\n ...modelDefinition\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AAeO,MAAMA,yBAAyB,GAAIC,MAAD,IAAoC;EACzE,MAAM;IAAEC,KAAF;IAASC,MAAT;IAAiBC,MAAjB;IAAyBC;EAAzB,IAA6CJ,MAAnD;EAEA,OAAO,IAAAK,8BAAA;IACHJ,KADG;IAEHC,MAFG;IAGHC;EAHG,GAIAC,eAJA,EAAP;AAMH,CATM"}
@@ -25,6 +25,7 @@ const contentField = fields => (0, _utils.createModelField)({
25
25
 
26
26
  const contentStatus = () => (0, _utils.createModelField)({
27
27
  label: "Status",
28
+ fieldId: "reviewStatus",
28
29
  parent: "contentReview",
29
30
  type: "text",
30
31
  predefinedValues: {
@@ -41,7 +42,7 @@ const contentStatus = () => (0, _utils.createModelField)({
41
42
  }]
42
43
  },
43
44
  validation: [{
44
- message: "`status` field value is required in contentReview.",
45
+ message: "`reviewStatus` field value is required in contentReview.",
45
46
  name: "required"
46
47
  }]
47
48
  });
@@ -66,10 +67,10 @@ const contentIdField = () => (0, _utils.createModelField)({
66
67
  }]
67
68
  });
68
69
 
69
- const contentWorkflowIdField = () => (0, _utils.createModelField)({
70
+ const workflowIdField = () => (0, _utils.createModelField)({
70
71
  label: "Workflow Id",
71
72
  type: "text",
72
- parent: "contentReview Content",
73
+ parent: "contentReview",
73
74
  validation: [{
74
75
  message: "`workflowId` field value is required in contentReview Content.",
75
76
  name: "required"
@@ -248,8 +249,8 @@ const createContentReviewModelDefinition = ({
248
249
  name: "APW - Content Review",
249
250
  modelId: CONTENT_REVIEW_MODEL_ID,
250
251
  titleFieldId: "content",
251
- layout: [["contentReview_title"], ["contentReview_content"], ["contentReview_status"], ["contentReview_reviewRequestedBy"], ["contentReview_steps"], ["contentReview_changeRequested"], ["contentReview_latestCommentId"]],
252
- fields: [titleField(), contentField([contentIdField(), contentTypeField(), contentWorkflowIdField(), contentSettingsField([contentSettingsModelIdField()]), contentScheduledOnField(), contentScheduledByField(), scheduledActionIdField(), contentPublishedByField()]), contentStatus(), stepsField([(0, _workflow.stepTitleField)(), (0, _workflow.stepTypeField)(), (0, _workflow.stepIdField)(), (0, _workflow.stepReviewersField)(reviewerModelId), stepStatusField(), stepPendingChangeRequests(), stepTotalComments(), stepSignOffProvidedOn(), stepSignOffProvidedBy([stepSignOffProvidedById(), stepSignOffProvidedByDisplayName()])]), latestCommentId()],
252
+ layout: [["contentReview_title"], ["contentReview_content"], ["contentReview_reviewStatus"], ["contentReview_reviewRequestedBy"], ["contentReview_steps"], ["contentReview_changeRequested"], ["contentReview_latestCommentId"], ["contentReview_workflowId"]],
253
+ fields: [titleField(), contentField([contentIdField(), contentTypeField(), contentSettingsField([contentSettingsModelIdField()]), contentScheduledOnField(), contentScheduledByField(), scheduledActionIdField(), contentPublishedByField()]), contentStatus(), stepsField([(0, _workflow.stepTitleField)(), (0, _workflow.stepTypeField)(), (0, _workflow.stepIdField)(), (0, _workflow.stepReviewersField)(reviewerModelId), stepStatusField(), stepPendingChangeRequests(), stepTotalComments(), stepSignOffProvidedOn(), stepSignOffProvidedBy([stepSignOffProvidedById(), stepSignOffProvidedByDisplayName()])]), latestCommentId(), workflowIdField()],
253
254
  description: "",
254
255
  isPrivate: true
255
256
  });
@@ -1 +1 @@
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","storageId","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 storageId: \"status\",\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.storageId])\n },\n listValidation: [],\n validation: [],\n fieldId: \"steps\",\n storageId: \"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_title\"],\n [\"contentReview_content\"],\n [\"contentReview_status\"],\n [\"contentReview_reviewRequestedBy\"],\n [\"contentReview_steps\"],\n [\"contentReview_changeRequested\"],\n [\"contentReview_latestCommentId\"]\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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"}
1
+ {"version":3,"names":["contentField","fields","createModelField","label","parent","type","multipleValues","settings","validation","message","name","contentStatus","fieldId","predefinedValues","enabled","values","value","titleField","contentIdField","workflowIdField","contentTypeField","contentSettingsField","contentSettingsModelIdField","scheduledActionIdField","contentScheduledOnField","contentScheduledByField","contentPublishedByField","stepStatusField","listValidation","renderer","id","storageId","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 fieldId: \"reviewStatus\",\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: \"`reviewStatus` 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 workflowIdField = () =>\n createModelField({\n label: \"Workflow Id\",\n type: \"text\",\n parent: \"contentReview\",\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 storageId: \"status\",\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.storageId])\n },\n listValidation: [],\n validation: [],\n fieldId: \"steps\",\n storageId: \"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_title\"],\n [\"contentReview_content\"],\n [\"contentReview_reviewStatus\"],\n [\"contentReview_reviewRequestedBy\"],\n [\"contentReview_steps\"],\n [\"contentReview_changeRequested\"],\n [\"contentReview_latestCommentId\"],\n [\"contentReview_workflowId\"]\n ],\n fields: [\n titleField(),\n contentField([\n contentIdField(),\n contentTypeField(),\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 workflowIdField()\n ],\n description: \"\",\n isPrivate: true\n});\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -37,6 +37,22 @@ const typeField = () => (0, _utils.createModelField)({
37
37
  }]
38
38
  });
39
39
 
40
+ const emailField = () => (0, _utils.createModelField)({
41
+ label: "E-mail",
42
+ fieldId: "email",
43
+ type: "text",
44
+ parent: "reviewer",
45
+ validation: [{
46
+ message: "`email` field value in reviewer accepts only e-mails.",
47
+ name: "pattern",
48
+ settings: {
49
+ preset: "email",
50
+ regex: null,
51
+ flags: null
52
+ }
53
+ }]
54
+ });
55
+
40
56
  const REVIEWER_MODEL_ID = "apwReviewerModelDefinition";
41
57
  exports.REVIEWER_MODEL_ID = REVIEWER_MODEL_ID;
42
58
 
@@ -45,8 +61,8 @@ const createReviewerModelDefinition = () => {
45
61
  name: "APW - Reviewer",
46
62
  modelId: REVIEWER_MODEL_ID,
47
63
  titleFieldId: "displayName",
48
- layout: [["reviewer_identityId"], ["reviewer_displayName"], ["reviewer_type"]],
49
- fields: [idField(), displayNameField(), typeField()],
64
+ layout: [["reviewer_identityId"], ["reviewer_displayName"], ["reviewer_type"], ["reviewer_email"]],
65
+ fields: [idField(), displayNameField(), typeField(), emailField()],
50
66
  description: "",
51
67
  isPrivate: true
52
68
  };
@@ -1 +1 @@
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_identityId\"], [\"reviewer_displayName\"], [\"reviewer_type\"]],\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,qBAAD,CAAD,EAA0B,CAAC,sBAAD,CAA1B,EAAoD,CAAC,eAAD,CAApD,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
+ {"version":3,"names":["idField","createModelField","label","type","parent","validation","message","name","displayNameField","typeField","emailField","fieldId","settings","preset","regex","flags","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\nconst emailField = () =>\n createModelField({\n label: \"E-mail\",\n fieldId: \"email\",\n type: \"text\",\n parent: \"reviewer\",\n validation: [\n {\n message: \"`email` field value in reviewer accepts only e-mails.\",\n name: \"pattern\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\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: [\n [\"reviewer_identityId\"],\n [\"reviewer_displayName\"],\n [\"reviewer_type\"],\n [\"reviewer_email\"]\n ],\n fields: [idField(), displayNameField(), typeField(), emailField()],\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;;AAaA,MAAMG,UAAU,GAAG,MACf,IAAAT,uBAAA,EAAiB;EACbC,KAAK,EAAE,QADM;EAEbS,OAAO,EAAE,OAFI;EAGbR,IAAI,EAAE,MAHO;EAIbC,MAAM,EAAE,UAJK;EAKbC,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,uDADb;IAEIC,IAAI,EAAE,SAFV;IAGIK,QAAQ,EAAE;MACNC,MAAM,EAAE,OADF;MAENC,KAAK,EAAE,IAFD;MAGNC,KAAK,EAAE;IAHD;EAHd,CADQ;AALC,CAAjB,CADJ;;AAmBO,MAAMC,iBAAiB,GAAG,4BAA1B;;;AAEA,MAAMC,6BAA6B,GAAG,MAA+B;EACxE,OAAO;IACHV,IAAI,EAAE,gBADH;IAEHW,OAAO,EAAEF,iBAFN;IAGHG,YAAY,EAAE,aAHX;IAIHC,MAAM,EAAE,CACJ,CAAC,qBAAD,CADI,EAEJ,CAAC,sBAAD,CAFI,EAGJ,CAAC,eAAD,CAHI,EAIJ,CAAC,gBAAD,CAJI,CAJL;IAUHC,MAAM,EAAE,CAACrB,OAAO,EAAR,EAAYQ,gBAAgB,EAA5B,EAAgCC,SAAS,EAAzC,EAA6CC,UAAU,EAAvD,CAVL;IAWHY,WAAW,EAAE,EAXV;IAYHC,SAAS,EAAE;EAZR,CAAP;AAcH,CAfM"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -12,10 +12,11 @@ var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
12
12
  const createModelField = params => {
13
13
  const {
14
14
  label,
15
+ fieldId: initialFieldId,
15
16
  type,
16
17
  parent
17
18
  } = params;
18
- const fieldId = (0, _camelCase.default)(label);
19
+ const fieldId = initialFieldId ? (0, _camelCase.default)(initialFieldId) : (0, _camelCase.default)(label);
19
20
  return {
20
21
  id: `${(0, _camelCase.default)(parent)}_${fieldId}`,
21
22
  storageId: fieldId,
@@ -1 +1 @@
1
- {"version":3,"names":["createModelField","params","label","type","parent","fieldId","camelCase","id","storageId","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 return {\n id: `${camelCase(parent)}_${fieldId}`,\n storageId: 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;EACA,OAAO;IACHK,EAAE,EAAG,GAAE,IAAAD,kBAAA,EAAUF,MAAV,CAAkB,IAAGC,OAAQ,EADjC;IAEHG,SAAS,EAAEH,OAFR;IAGHA,OAHG;IAIHH,KAJG;IAKHC,IALG;IAMHM,QAAQ,EAAER,MAAM,CAACQ,QAAP,IAAmB,EAN1B;IAOHC,cAAc,EAAET,MAAM,CAACS,cAAP,IAAyB,EAPtC;IAQHC,UAAU,EAAEV,MAAM,CAACU,UAAP,IAAqB,EAR9B;IASHC,cAAc,EAAEX,MAAM,CAACW,cAAP,IAAyB,KATtC;IAUHC,gBAAgB,EAAEZ,MAAM,CAACY,gBAAP,IAA2B;MACzCC,MAAM,EAAE,EADiC;MAEzCC,OAAO,EAAE;IAFgC;EAV1C,CAAP;AAeH,CAlBM"}
1
+ {"version":3,"names":["createModelField","params","label","fieldId","initialFieldId","type","parent","camelCase","id","storageId","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, fieldId: initialFieldId, type, parent } = params;\n const fieldId = initialFieldId ? camelCase(initialFieldId) : camelCase(label);\n return {\n id: `${camelCase(parent)}_${fieldId}`,\n storageId: 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,OAAO,EAAEC,cAAlB;IAAkCC,IAAlC;IAAwCC;EAAxC,IAAmDL,MAAzD;EACA,MAAME,OAAO,GAAGC,cAAc,GAAG,IAAAG,kBAAA,EAAUH,cAAV,CAAH,GAA+B,IAAAG,kBAAA,EAAUL,KAAV,CAA7D;EACA,OAAO;IACHM,EAAE,EAAG,GAAE,IAAAD,kBAAA,EAAUD,MAAV,CAAkB,IAAGH,OAAQ,EADjC;IAEHM,SAAS,EAAEN,OAFR;IAGHA,OAHG;IAIHD,KAJG;IAKHG,IALG;IAMHK,QAAQ,EAAET,MAAM,CAACS,QAAP,IAAmB,EAN1B;IAOHC,cAAc,EAAEV,MAAM,CAACU,cAAP,IAAyB,EAPtC;IAQHC,UAAU,EAAEX,MAAM,CAACW,UAAP,IAAqB,EAR9B;IASHC,cAAc,EAAEZ,MAAM,CAACY,cAAP,IAAyB,KATtC;IAUHC,gBAAgB,EAAEb,MAAM,CAACa,gBAAP,IAA2B;MACzCC,MAAM,EAAE,EADiC;MAEzCC,OAAO,EAAE;IAFgC;EAV1C,CAAP;AAeH,CAlBM"}
@@ -1,34 +1,38 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.createReviewerStorageOperations = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _index = require("./index");
13
13
 
14
14
  var _error = _interopRequireDefault(require("@webiny/error"));
15
15
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
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
-
20
16
  const createReviewerStorageOperations = ({
21
17
  cms,
22
18
  security
23
19
  }) => {
24
20
  const getReviewerModel = async () => {
25
- const model = await cms.getModel("apwReviewerModelDefinition");
21
+ security.disableAuthorization();
26
22
 
27
- if (!model) {
28
- throw new _error.default("Could not find `apwReviewerModelDefinition` model.", "MODEL_NOT_FOUND_ERROR");
29
- }
23
+ try {
24
+ const model = await cms.getModel("apwReviewerModelDefinition");
30
25
 
31
- return model;
26
+ if (!model) {
27
+ throw new _error.default("Could not find `apwReviewerModelDefinition` model.", "MODEL_NOT_FOUND_ERROR");
28
+ }
29
+
30
+ return model;
31
+ } catch (ex) {
32
+ throw ex;
33
+ } finally {
34
+ security.enableAuthorization();
35
+ }
32
36
  };
33
37
 
34
38
  const getReviewer = async ({
@@ -48,8 +52,8 @@ const createReviewerStorageOperations = ({
48
52
  async listReviewers(params) {
49
53
  const model = await getReviewerModel();
50
54
  security.disableAuthorization();
51
- const [entries, meta] = await cms.listLatestEntries(model, _objectSpread(_objectSpread({}, params), {}, {
52
- where: _objectSpread({}, params.where)
55
+ const [entries, meta] = await cms.listLatestEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
56
+ where: (0, _objectSpread2.default)({}, params.where)
53
57
  }));
54
58
  security.enableAuthorization();
55
59
  return [entries.map(entry => (0, _index.getFieldValues)(entry, _index.baseFields)), meta];
@@ -74,7 +78,7 @@ const createReviewerStorageOperations = ({
74
78
  id: params.id
75
79
  });
76
80
  security.disableAuthorization();
77
- const entry = await cms.updateEntry(model, params.id, _objectSpread(_objectSpread({}, existingEntry), params.data));
81
+ const entry = await cms.updateEntry(model, params.id, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, existingEntry), params.data));
78
82
  security.enableAuthorization();
79
83
  return (0, _index.getFieldValues)(entry, _index.baseFields);
80
84
  },
@@ -1 +1 @@
1
- {"version":3,"names":["createReviewerStorageOperations","cms","security","getReviewerModel","model","getModel","WebinyError","getReviewer","id","disableAuthorization","entry","getEntryById","enableAuthorization","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 security\n}: CreateApwStorageOperationsParams): 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 security.disableAuthorization();\n const entry = await cms.getEntryById(model, id);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n };\n return {\n getReviewerModel,\n getReviewer,\n async listReviewers(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...params.where\n }\n });\n security.enableAuthorization();\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n },\n async createReviewer(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n const entry = await cms.createEntry(model, params.data);\n security.enableAuthorization();\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 security.disableAuthorization();\n const entry = await cms.updateEntry(model, params.id, {\n ...existingEntry,\n ...params.data\n });\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async deleteReviewer(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n await cms.deleteEntry(model, params.id);\n security.enableAuthorization();\n return true;\n }\n };\n};\n"],"mappings":";;;;;;;;;;;AACA;;AAKA;;;;;;AAEO,MAAMA,+BAA+B,GAAG,CAAC;EAC5CC,GAD4C;EAE5CC;AAF4C,CAAD,KAGuB;EAClE,MAAMC,gBAAgB,GAAG,YAAY;IACjC,MAAMC,KAAK,GAAG,MAAMH,GAAG,CAACI,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;IACAD,QAAQ,CAACO,oBAAT;IACA,MAAMC,KAAK,GAAG,MAAMT,GAAG,CAACU,YAAJ,CAAiBP,KAAjB,EAAwBI,EAAxB,CAApB;IACAN,QAAQ,CAACU,mBAAT;IACA,OAAO,IAAAC,qBAAA,EAAeH,KAAf,EAAsBI,iBAAtB,CAAP;EACH,CAND;;EAOA,OAAO;IACHX,gBADG;IAEHI,WAFG;;IAGH,MAAMQ,aAAN,CAAoBC,MAApB,EAA4B;MACxB,MAAMZ,KAAK,GAAG,MAAMD,gBAAgB,EAApC;MACAD,QAAQ,CAACO,oBAAT;MACA,MAAM,CAACQ,OAAD,EAAUC,IAAV,IAAkB,MAAMjB,GAAG,CAACkB,iBAAJ,CAAsBf,KAAtB,kCACvBY,MADuB;QAE1BI,KAAK,oBACEJ,MAAM,CAACI,KADT;MAFqB,GAA9B;MAMAlB,QAAQ,CAACU,mBAAT;MACA,OAAO,CAACK,OAAO,CAACI,GAAR,CAAYX,KAAK,IAAI,IAAAG,qBAAA,EAAeH,KAAf,EAAsBI,iBAAtB,CAArB,CAAD,EAA0DI,IAA1D,CAAP;IACH,CAdE;;IAeH,MAAMI,cAAN,CAAqBN,MAArB,EAA6B;MACzB,MAAMZ,KAAK,GAAG,MAAMD,gBAAgB,EAApC;MACAD,QAAQ,CAACO,oBAAT;MACA,MAAMC,KAAK,GAAG,MAAMT,GAAG,CAACsB,WAAJ,CAAgBnB,KAAhB,EAAuBY,MAAM,CAACQ,IAA9B,CAApB;MACAtB,QAAQ,CAACU,mBAAT;MACA,OAAO,IAAAC,qBAAA,EAAeH,KAAf,EAAsBI,iBAAtB,CAAP;IACH,CArBE;;IAsBH,MAAMW,cAAN,CAAqBT,MAArB,EAA6B;MACzB,MAAMZ,KAAK,GAAG,MAAMD,gBAAgB,EAApC;MACA;AACZ;AACA;AACA;;MACY,MAAMuB,aAAa,GAAG,MAAMnB,WAAW,CAAC;QAAEC,EAAE,EAAEQ,MAAM,CAACR;MAAb,CAAD,CAAvC;MAEAN,QAAQ,CAACO,oBAAT;MACA,MAAMC,KAAK,GAAG,MAAMT,GAAG,CAAC0B,WAAJ,CAAgBvB,KAAhB,EAAuBY,MAAM,CAACR,EAA9B,kCACbkB,aADa,GAEbV,MAAM,CAACQ,IAFM,EAApB;MAIAtB,QAAQ,CAACU,mBAAT;MACA,OAAO,IAAAC,qBAAA,EAAeH,KAAf,EAAsBI,iBAAtB,CAAP;IACH,CArCE;;IAsCH,MAAMc,cAAN,CAAqBZ,MAArB,EAA6B;MACzB,MAAMZ,KAAK,GAAG,MAAMD,gBAAgB,EAApC;MACAD,QAAQ,CAACO,oBAAT;MACA,MAAMR,GAAG,CAAC4B,WAAJ,CAAgBzB,KAAhB,EAAuBY,MAAM,CAACR,EAA9B,CAAN;MACAN,QAAQ,CAACU,mBAAT;MACA,OAAO,IAAP;IACH;;EA5CE,CAAP;AA8CH,CAnEM"}
1
+ {"version":3,"names":["createReviewerStorageOperations","cms","security","getReviewerModel","disableAuthorization","model","getModel","WebinyError","ex","enableAuthorization","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 security\n}: CreateApwStorageOperationsParams): ApwReviewerStorageOperations => {\n const getReviewerModel = async () => {\n security.disableAuthorization();\n try {\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 } catch (ex) {\n throw ex;\n } finally {\n security.enableAuthorization();\n }\n };\n const getReviewer: ApwReviewerStorageOperations[\"getReviewer\"] = async ({ id }) => {\n const model = await getReviewerModel();\n security.disableAuthorization();\n const entry = await cms.getEntryById(model, id);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n };\n return {\n getReviewerModel,\n getReviewer,\n async listReviewers(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...params.where\n }\n });\n security.enableAuthorization();\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n },\n async createReviewer(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n const entry = await cms.createEntry(model, params.data);\n security.enableAuthorization();\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 security.disableAuthorization();\n const entry = await cms.updateEntry(model, params.id, {\n ...existingEntry,\n ...params.data\n });\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async deleteReviewer(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n await cms.deleteEntry(model, params.id);\n security.enableAuthorization();\n return true;\n }\n };\n};\n"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.createWorkflowStorageOperations = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _index = require("./index");
13
13
 
@@ -15,13 +15,9 @@ var _error = _interopRequireDefault(require("@webiny/error"));
15
15
 
16
16
  var _workflow = require("./models/workflow.model");
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
-
20
- 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; }
21
-
22
18
  const formatReviewersForRefInput = (data, modelId) => {
23
- return _objectSpread(_objectSpread({}, data), {}, {
24
- steps: data.steps.map(step => _objectSpread(_objectSpread({}, step), {}, {
19
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
20
+ steps: data.steps.map(step => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, step), {}, {
25
21
  reviewers: step.reviewers.map(id => ({
26
22
  id,
27
23
  modelId
@@ -65,7 +61,9 @@ const createWorkflowStorageOperations = params => {
65
61
  async listWorkflows(params) {
66
62
  const model = await getWorkflowModel();
67
63
  security.disableAuthorization();
68
- const [entries, meta] = await cms.listLatestEntries(model, _objectSpread({}, params));
64
+ const [entries, meta] = await cms.listLatestEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
65
+ where: (0, _objectSpread2.default)({}, params.where || {})
66
+ }));
69
67
  security.enableAuthorization();
70
68
  return [entries.map(entry => (0, _index.getFieldValues)(entry, _index.baseFields)), meta];
71
69
  },
@@ -91,9 +89,7 @@ const createWorkflowStorageOperations = params => {
91
89
  const existingEntry = await getWorkflow({
92
90
  id: params.id
93
91
  });
94
-
95
- const input = _objectSpread(_objectSpread({}, existingEntry), params.data);
96
-
92
+ const input = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, existingEntry), params.data);
97
93
  const data = formatReviewersForRefInput(input, reviewerModel.modelId);
98
94
  security.disableAuthorization();
99
95
  const entry = await cms.updateEntry(model, params.id, data);
@@ -1 +1 @@
1
- {"version":3,"names":["formatReviewersForRefInput","data","modelId","steps","map","step","reviewers","id","createWorkflowStorageOperations","params","cms","security","getWorkflowModel","disableAuthorization","model","getModel","WORKFLOW_MODEL_ID","enableAuthorization","WebinyError","getWorkflow","entry","getEntryById","getFieldValues","baseFields","listWorkflows","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\";\nimport { WORKFLOW_MODEL_ID } from \"~/storageOperations/models/workflow.model\";\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 params: CreateApwStorageOperationsParams\n): ApwWorkflowStorageOperations => {\n const { cms, security } = params;\n const getWorkflowModel = async () => {\n security.disableAuthorization();\n const model = await cms.getModel(WORKFLOW_MODEL_ID);\n security.enableAuthorization();\n if (!model) {\n throw new WebinyError(\n `Could not find \"${WORKFLOW_MODEL_ID}\" 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 security.disableAuthorization();\n const entry = await cms.getEntryById(model, id);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n };\n return {\n getWorkflowModel,\n getWorkflow,\n async listWorkflows(params) {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params\n });\n security.enableAuthorization();\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 security.disableAuthorization();\n const entry = await cms.createEntry(model, data);\n security.enableAuthorization();\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 security.disableAuthorization();\n const entry = await cms.updateEntry(model, params.id, data);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async deleteWorkflow(params) {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n await cms.deleteEntry(model, params.id);\n security.enableAuthorization();\n return true;\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["formatReviewersForRefInput","data","modelId","steps","map","step","reviewers","id","createWorkflowStorageOperations","params","cms","security","getWorkflowModel","disableAuthorization","model","getModel","WORKFLOW_MODEL_ID","enableAuthorization","WebinyError","getWorkflow","entry","getEntryById","getFieldValues","baseFields","listWorkflows","entries","meta","listLatestEntries","where","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\";\nimport { WORKFLOW_MODEL_ID } from \"~/storageOperations/models/workflow.model\";\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 params: CreateApwStorageOperationsParams\n): ApwWorkflowStorageOperations => {\n const { cms, security } = params;\n const getWorkflowModel = async () => {\n security.disableAuthorization();\n const model = await cms.getModel(WORKFLOW_MODEL_ID);\n security.enableAuthorization();\n if (!model) {\n throw new WebinyError(\n `Could not find \"${WORKFLOW_MODEL_ID}\" 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 security.disableAuthorization();\n const entry = await cms.getEntryById(model, id);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n };\n return {\n getWorkflowModel,\n getWorkflow,\n async listWorkflows(params) {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...(params.where || {})\n }\n });\n security.enableAuthorization();\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 security.disableAuthorization();\n const entry = await cms.createEntry(model, data);\n security.enableAuthorization();\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 security.disableAuthorization();\n const entry = await cms.updateEntry(model, params.id, data);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async deleteWorkflow(params) {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n await cms.deleteEntry(model, params.id);\n security.enableAuthorization();\n return true;\n }\n };\n};\n"],"mappings":"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"}