@webiny/api-apw 0.0.0-unstable.8c4d9f045a → 0.0.0-unstable.97a151f74d

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.
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":";;;;;;;AAAA;;AACA;;AAIA,MAAMA,YAAY,GAAIC,MAAD,IACjB,IAAAC,uBAAA,EAAiB;EACbC,KAAK,EAAE,SADM;EAEbC,MAAM,EAAE,eAFK;EAGbC,IAAI,EAAE,QAHO;EAIbC,cAAc,EAAE,KAJH;EAKbC,QAAQ,EAAE;IAAEN;EAAF,CALG;EAMbO,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,qDADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AANC,CAAjB,CADJ;;AAeA,MAAMC,aAAa,GAAG,MAClB,IAAAT,uBAAA,EAAiB;EACbC,KAAK,EAAE,QADM;EAEbS,OAAO,EAAE,cAFI;EAGbR,MAAM,EAAE,eAHK;EAIbC,IAAI,EAAE,MAJO;EAKbQ,gBAAgB,EAAE;IACdC,OAAO,EAAE,IADK;IAEdC,MAAM,EAAE,CACJ;MACIZ,KAAK,EAAE,cADX;MAEIa,KAAK,EAAE;IAFX,CADI,EAKJ;MACIb,KAAK,EAAE,uBADX;MAEIa,KAAK,EAAE;IAFX,CALI,EASJ;MACIb,KAAK,EAAE,WADX;MAEIa,KAAK,EAAE;IAFX,CATI;EAFM,CALL;EAsBbR,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,0DADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAtBC,CAAjB,CADJ;;AA+BA,MAAMO,UAAU,GAAG,MACf,IAAAf,uBAAA,EAAiB;EACbC,KAAK,EAAE,OADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE,eAHK;EAIbI,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,mDADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAJC,CAAjB,CADJ;;AAaA,MAAMQ,cAAc,GAAG,MACnB,IAAAhB,uBAAA,EAAiB;EACbC,KAAK,EAAE,IADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE,uBAHK;EAIbI,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,wDADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAJC,CAAjB,CADJ;;AAaA,MAAMS,eAAe,GAAG,MACpB,IAAAjB,uBAAA,EAAiB;EACbC,KAAK,EAAE,aADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE,eAHK;EAIbI,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,gEADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAJC,CAAjB,CADJ;;AAaA,MAAMU,gBAAgB,GAAG,MACrB,IAAAlB,uBAAA,EAAiB;EACbC,KAAK,EAAE,MADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE,oBAHK;EAIbS,gBAAgB,EAAE;IACdC,OAAO,EAAE,IADK;IAEdC,MAAM,EAAE,CACJ;MACIZ,KAAK,EAAE,MADX;MAEIa,KAAK,EAAE;IAFX,CADI,EAKJ;MAAEA,KAAK,EAAE,WAAT;MAAsBb,KAAK,EAAE;IAA7B,CALI;EAFM,CAJL;EAcbK,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,uDADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAdC,CAAjB,CADJ;;AAuBA,MAAMW,oBAAoB,GAAIpB,MAAD,IACzB,IAAAC,uBAAA,EAAiB;EACbC,KAAK,EAAE,UADM;EAEbC,MAAM,EAAE,uBAFK;EAGbC,IAAI,EAAE,QAHO;EAIbC,cAAc,EAAE,KAJH;EAKbC,QAAQ,EAAE;IAAEN;EAAF;AALG,CAAjB,CADJ;;AASA,MAAMqB,2BAA2B,GAAG,MAChC,IAAApB,uBAAA,EAAiB;EACbC,KAAK,EAAE,UADM;EAEbC,MAAM,EAAE,wBAFK;EAGbC,IAAI,EAAE;AAHO,CAAjB,CADJ;;AAOA,MAAMkB,sBAAsB,GAAG,MAC3B,IAAArB,uBAAA,EAAiB;EACbC,KAAK,EAAE,qBADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE;AAHK,CAAjB,CADJ;;AAOA,MAAMoB,uBAAuB,GAAG,MAC5B,IAAAtB,uBAAA,EAAiB;EACbC,KAAK,EAAE,cADM;EAEbE,IAAI,EAAE,UAFO;EAGbD,MAAM,EAAE;AAHK,CAAjB,CADJ;;AAOA,MAAMqB,uBAAuB,GAAG,MAC5B,IAAAvB,uBAAA,EAAiB;EACbC,KAAK,EAAE,cADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE;AAHK,CAAjB,CADJ;;AAOA,MAAMsB,uBAAuB,GAAG,MAC5B,IAAAxB,uBAAA,EAAiB;EACbC,KAAK,EAAE,cADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE;AAHK,CAAjB,CADJ;;AAOA,MAAMuB,eAAe,GAAG,OAAsB;EAC1CrB,cAAc,EAAE,KAD0B;EAE1CsB,cAAc,EAAE,EAF0B;EAG1CC,QAAQ,EAAE;IACNnB,IAAI,EAAE;EADA,CAHgC;EAM1CG,gBAAgB,EAAE;IACdC,OAAO,EAAE,IADK;IAEdC,MAAM,EAAE,CACJ;MACIC,KAAK,EAAE,MADX;MAEIb,KAAK,EAAE;IAFX,CADI,EAKJ;MACIa,KAAK,EAAE,QADX;MAEIb,KAAK,EAAE;IAFX,CALI,EASJ;MACIa,KAAK,EAAE,UADX;MAEIb,KAAK,EAAE;IAFX,CATI;EAFM,CANwB;EAuB1CA,KAAK,EAAE,QAvBmC;EAwB1C2B,EAAE,EAAE,4BAxBsC;EAyB1CzB,IAAI,EAAE,MAzBoC;EA0B1CG,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,iEADb;IAEIC,IAAI,EAAE;EAFV,CADQ,CA1B8B;EAgC1CqB,SAAS,EAAE,QAhC+B;EAiC1CnB,OAAO,EAAE;AAjCiC,CAAtB,CAAxB;;AAoCA,MAAMoB,yBAAyB,GAAG,MAC9B,IAAA9B,uBAAA,EAAiB;EACbC,KAAK,EAAE,yBADM;EAEbE,IAAI,EAAE,QAFO;EAGbD,MAAM,EAAE,oBAHK;EAIbI,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,wEADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAJC,CAAjB,CADJ;;AAaA,MAAMuB,iBAAiB,GAAG,MACtB,IAAA/B,uBAAA,EAAiB;EACbC,KAAK,EAAE,gBADM;EAEbE,IAAI,EAAE,QAFO;EAGbD,MAAM,EAAE,oBAHK;EAIbI,UAAU,EAAE,CACR;IACIC,OAAO,EAAE,gEADb;IAEIC,IAAI,EAAE;EAFV,CADQ;AAJC,CAAjB,CADJ;;AAaA,MAAMwB,eAAe,GAAG,MACpB,IAAAhC,uBAAA,EAAiB;EACbC,KAAK,EAAE,mBADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE;AAHK,CAAjB,CADJ;;AAOA,MAAM+B,qBAAqB,GAAG,MAC1B,IAAAjC,uBAAA,EAAiB;EACbC,KAAK,EAAE,sBADM;EAEbE,IAAI,EAAE,UAFO;EAGbD,MAAM,EAAE;AAHK,CAAjB,CADJ;;AAOA,MAAMgC,qBAAqB,GAAInC,MAAD,IAC1B,IAAAC,uBAAA,EAAiB;EACbC,KAAK,EAAE,sBADM;EAEbE,IAAI,EAAE,QAFO;EAGbD,MAAM,EAAE,oBAHK;EAIbE,cAAc,EAAE,KAJH;EAKbC,QAAQ,EAAE;IAAEN;EAAF;AALG,CAAjB,CADJ;;AASA,MAAMoC,uBAAuB,GAAG,MAC5B,IAAAnC,uBAAA,EAAiB;EACbC,KAAK,EAAE,IADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE;AAHK,CAAjB,CADJ;;AAOA,MAAMkC,gCAAgC,GAAG,MACrC,IAAApC,uBAAA,EAAiB;EACbC,KAAK,EAAE,aADM;EAEbE,IAAI,EAAE,MAFO;EAGbD,MAAM,EAAE;AAHK,CAAjB,CADJ;;AAOA,MAAMmC,UAAU,GAAItC,MAAD,KAA6C;EAC5D6B,EAAE,EAAE,qBADwD;EAE5D3B,KAAK,EAAE,OAFqD;EAG5DE,IAAI,EAAE,QAHsD;EAI5DE,QAAQ,EAAE;IACNN,MADM;IAENuC,MAAM,EAAEvC,MAAM,CAACwC,GAAP,CAAWC,KAAK,IAAI,CAACA,KAAK,CAACX,SAAP,CAApB;EAFF,CAJkD;EAQ5DH,cAAc,EAAE,EAR4C;EAS5DpB,UAAU,EAAE,EATgD;EAU5DI,OAAO,EAAE,OAVmD;EAW5DmB,SAAS,EAAE,OAXiD;EAY5DzB,cAAc,EAAE,IAZ4C;EAa5DO,gBAAgB,EAAE;IACdE,MAAM,EAAE,EADM;IAEdD,OAAO,EAAE;EAFK;AAb0C,CAA7C,CAAnB;;AAuBO,MAAM6B,uBAAuB,GAAG,iCAAhC;;;AAEA,MAAMC,kCAAkC,GAAG,CAAC;EAC/CC;AAD+C,CAAD,MAEwB;EACtEnC,IAAI,EAAE,sBADgE;EAEtEoC,OAAO,EAAEH,uBAF6D;EAGtEI,YAAY,EAAE,SAHwD;EAItEP,MAAM,EAAE,CACJ,CAAC,qBAAD,CADI,EAEJ,CAAC,uBAAD,CAFI,EAGJ,CAAC,4BAAD,CAHI,EAIJ,CAAC,iCAAD,CAJI,EAKJ,CAAC,qBAAD,CALI,EAMJ,CAAC,+BAAD,CANI,EAOJ,CAAC,+BAAD,CAPI,EAQJ,CAAC,0BAAD,CARI,CAJ8D;EActEvC,MAAM,EAAE,CACJgB,UAAU,EADN,EAEJjB,YAAY,CAAC,CACTkB,cAAc,EADL,EAETE,gBAAgB,EAFP,EAGTC,oBAAoB,CAAC,CAACC,2BAA2B,EAA5B,CAAD,CAHX,EAITE,uBAAuB,EAJd,EAKTC,uBAAuB,EALd,EAMTF,sBAAsB,EANb,EAOTG,uBAAuB,EAPd,CAAD,CAFR,EAWJf,aAAa,EAXT,EAYJ4B,UAAU,CAAC,CACP,IAAAS,wBAAA,GADO,EAEP,IAAAC,uBAAA,GAFO,EAGP,IAAAC,qBAAA,GAHO,EAIP,IAAAC,4BAAA,EAAmBN,eAAnB,CAJO,EAKPlB,eAAe,EALR,EAMPK,yBAAyB,EANlB,EAOPC,iBAAiB,EAPV,EAQPE,qBAAqB,EARd,EASPC,qBAAqB,CAAC,CAACC,uBAAuB,EAAxB,EAA4BC,gCAAgC,EAA5D,CAAD,CATd,CAAD,CAZN,EAuBJJ,eAAe,EAvBX,EAwBJf,eAAe,EAxBX,CAd8D;EAwCtEiC,WAAW,EAAE,EAxCyD;EAyCtEC,SAAS,EAAE;AAzC2D,CAFxB,CAA3C"}
@@ -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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"}