@strapi/review-workflows 5.12.1 → 5.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/dist/admin/{chunks/index-DcEF47R4.mjs → assets/balloon.png.js} +3 -1078
  2. package/dist/admin/assets/balloon.png.js.map +1 -0
  3. package/dist/admin/{chunks/index-CzdEqFOm.js → assets/balloon.png.mjs} +2 -1113
  4. package/dist/admin/assets/balloon.png.mjs.map +1 -0
  5. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
  6. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
  7. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
  8. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
  9. package/dist/admin/{chunks/purchase-review-workflows-4n0KXAeo.mjs → assets/purchase-page-illustration-light.svg.js} +3 -197
  10. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
  11. package/dist/admin/{chunks/purchase-review-workflows-BDLncDcz.js → assets/purchase-page-illustration-light.svg.mjs} +2 -200
  12. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
  13. package/dist/admin/components/LimitsModal.js +122 -0
  14. package/dist/admin/components/LimitsModal.js.map +1 -0
  15. package/dist/admin/components/LimitsModal.mjs +120 -0
  16. package/dist/admin/components/LimitsModal.mjs.map +1 -0
  17. package/dist/admin/constants.js +18 -0
  18. package/dist/admin/constants.js.map +1 -0
  19. package/dist/admin/constants.mjs +12 -0
  20. package/dist/admin/constants.mjs.map +1 -0
  21. package/dist/admin/index.js +87 -13
  22. package/dist/admin/index.js.map +1 -1
  23. package/dist/admin/index.mjs +88 -12
  24. package/dist/admin/index.mjs.map +1 -1
  25. package/dist/admin/modules/hooks.js +8 -0
  26. package/dist/admin/modules/hooks.js.map +1 -0
  27. package/dist/admin/modules/hooks.mjs +6 -0
  28. package/dist/admin/modules/hooks.mjs.map +1 -0
  29. package/dist/admin/{chunks/router-ChVwf8TN.js → router.js} +3 -3
  30. package/dist/admin/router.js.map +1 -0
  31. package/dist/admin/{chunks/router-D-YCUzYy.mjs → router.mjs} +3 -3
  32. package/dist/admin/router.mjs.map +1 -0
  33. package/dist/admin/routes/content-manager/model/components/TableColumns.js +44 -0
  34. package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -0
  35. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs +41 -0
  36. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -0
  37. package/dist/admin/routes/content-manager/model/constants.js +60 -0
  38. package/dist/admin/routes/content-manager/model/constants.js.map +1 -0
  39. package/dist/admin/routes/content-manager/model/constants.mjs +58 -0
  40. package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -0
  41. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js +169 -0
  42. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -0
  43. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs +148 -0
  44. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -0
  45. package/dist/admin/routes/content-manager/model/id/components/Header.js +31 -0
  46. package/dist/admin/routes/content-manager/model/id/components/Header.js.map +1 -0
  47. package/dist/admin/routes/content-manager/model/id/components/Header.mjs +29 -0
  48. package/dist/admin/routes/content-manager/model/id/components/Header.mjs.map +1 -0
  49. package/dist/admin/routes/content-manager/model/id/components/Panel.js +39 -0
  50. package/dist/admin/routes/content-manager/model/id/components/Panel.js.map +1 -0
  51. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs +37 -0
  52. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs.map +1 -0
  53. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js +329 -0
  54. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -0
  55. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +308 -0
  56. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -0
  57. package/dist/admin/routes/content-manager/model/id/components/constants.js +8 -0
  58. package/dist/admin/routes/content-manager/model/id/components/constants.js.map +1 -0
  59. package/dist/admin/routes/content-manager/model/id/components/constants.mjs +5 -0
  60. package/dist/admin/routes/content-manager/model/id/components/constants.mjs.map +1 -0
  61. package/dist/admin/routes/purchase-review-workflows.js +194 -0
  62. package/dist/admin/routes/purchase-review-workflows.js.map +1 -0
  63. package/dist/admin/routes/purchase-review-workflows.mjs +192 -0
  64. package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -0
  65. package/dist/admin/routes/settings/components/AddStage.js +51 -0
  66. package/dist/admin/routes/settings/components/AddStage.js.map +1 -0
  67. package/dist/admin/routes/settings/components/AddStage.mjs +49 -0
  68. package/dist/admin/routes/settings/components/AddStage.mjs.map +1 -0
  69. package/dist/admin/routes/settings/components/Layout.js +86 -0
  70. package/dist/admin/routes/settings/components/Layout.js.map +1 -0
  71. package/dist/admin/routes/settings/components/Layout.mjs +82 -0
  72. package/dist/admin/routes/settings/components/Layout.mjs.map +1 -0
  73. package/dist/admin/routes/settings/components/StageDragPreview.js +40 -0
  74. package/dist/admin/routes/settings/components/StageDragPreview.js.map +1 -0
  75. package/dist/admin/routes/settings/components/StageDragPreview.mjs +38 -0
  76. package/dist/admin/routes/settings/components/StageDragPreview.mjs.map +1 -0
  77. package/dist/admin/routes/settings/components/Stages.js +593 -0
  78. package/dist/admin/routes/settings/components/Stages.js.map +1 -0
  79. package/dist/admin/routes/settings/components/Stages.mjs +572 -0
  80. package/dist/admin/routes/settings/components/Stages.mjs.map +1 -0
  81. package/dist/admin/routes/settings/components/WorkflowAttributes.js +203 -0
  82. package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -0
  83. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +201 -0
  84. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -0
  85. package/dist/admin/routes/settings/constants.js +8 -0
  86. package/dist/admin/routes/settings/constants.js.map +1 -0
  87. package/dist/admin/routes/settings/constants.mjs +6 -0
  88. package/dist/admin/routes/settings/constants.mjs.map +1 -0
  89. package/dist/admin/routes/settings/hooks/useDragAndDrop.js +193 -0
  90. package/dist/admin/routes/settings/hooks/useDragAndDrop.js.map +1 -0
  91. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs +170 -0
  92. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs.map +1 -0
  93. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js +94 -0
  94. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js.map +1 -0
  95. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs +73 -0
  96. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
  97. package/dist/admin/{chunks/Layout-C4ri_ldC.js → routes/settings/hooks/useReviewWorkflows.js} +6 -121
  98. package/dist/admin/routes/settings/hooks/useReviewWorkflows.js.map +1 -0
  99. package/dist/admin/{chunks/Layout-CF497D6H.mjs → routes/settings/hooks/useReviewWorkflows.mjs} +4 -115
  100. package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs.map +1 -0
  101. package/dist/admin/routes/settings/id.js +404 -0
  102. package/dist/admin/routes/settings/id.js.map +1 -0
  103. package/dist/admin/routes/settings/id.mjs +382 -0
  104. package/dist/admin/routes/settings/id.mjs.map +1 -0
  105. package/dist/admin/{chunks/index-CCx4kT-t.js → routes/settings/index.js} +15 -15
  106. package/dist/admin/routes/settings/index.js.map +1 -0
  107. package/dist/admin/{chunks/index-iChY7MsG.mjs → routes/settings/index.mjs} +7 -7
  108. package/dist/admin/routes/settings/index.mjs.map +1 -0
  109. package/dist/admin/services/admin.js +23 -0
  110. package/dist/admin/services/admin.js.map +1 -0
  111. package/dist/admin/services/admin.mjs +21 -0
  112. package/dist/admin/services/admin.mjs.map +1 -0
  113. package/dist/admin/services/api.js +15 -0
  114. package/dist/admin/services/api.js.map +1 -0
  115. package/dist/admin/services/api.mjs +13 -0
  116. package/dist/admin/services/api.mjs.map +1 -0
  117. package/dist/admin/services/content-manager.js +101 -0
  118. package/dist/admin/services/content-manager.js.map +1 -0
  119. package/dist/admin/services/content-manager.mjs +96 -0
  120. package/dist/admin/services/content-manager.mjs.map +1 -0
  121. package/dist/admin/services/settings.js +123 -0
  122. package/dist/admin/services/settings.js.map +1 -0
  123. package/dist/admin/services/settings.mjs +118 -0
  124. package/dist/admin/services/settings.mjs.map +1 -0
  125. package/dist/admin/{chunks/en-BNGiWajd.js → translations/en.json.js} +2 -2
  126. package/dist/admin/translations/en.json.js.map +1 -0
  127. package/dist/admin/{chunks/en-BrZXFtVv.mjs → translations/en.json.mjs} +1 -1
  128. package/dist/admin/translations/en.json.mjs.map +1 -0
  129. package/dist/admin/{chunks/uk-CbRUr1I7.js → translations/uk.json.js} +2 -2
  130. package/dist/admin/translations/uk.json.js.map +1 -0
  131. package/dist/admin/{chunks/uk-DLlzEBUF.mjs → translations/uk.json.mjs} +1 -1
  132. package/dist/admin/translations/uk.json.mjs.map +1 -0
  133. package/dist/admin/utils/api.js +22 -0
  134. package/dist/admin/utils/api.js.map +1 -0
  135. package/dist/admin/utils/api.mjs +19 -0
  136. package/dist/admin/utils/api.mjs.map +1 -0
  137. package/dist/admin/utils/cm-hooks.js +23 -0
  138. package/dist/admin/utils/cm-hooks.js.map +1 -0
  139. package/dist/admin/utils/cm-hooks.mjs +21 -0
  140. package/dist/admin/utils/cm-hooks.mjs.map +1 -0
  141. package/dist/admin/utils/colors.js +50 -0
  142. package/dist/admin/utils/colors.js.map +1 -0
  143. package/dist/admin/utils/colors.mjs +47 -0
  144. package/dist/admin/utils/colors.mjs.map +1 -0
  145. package/dist/admin/utils/translations.js +11 -0
  146. package/dist/admin/utils/translations.js.map +1 -0
  147. package/dist/admin/utils/translations.mjs +9 -0
  148. package/dist/admin/utils/translations.mjs.map +1 -0
  149. package/dist/admin/utils/users.js +17 -0
  150. package/dist/admin/utils/users.js.map +1 -0
  151. package/dist/admin/utils/users.mjs +15 -0
  152. package/dist/admin/utils/users.mjs.map +1 -0
  153. package/dist/server/bootstrap.js +54 -0
  154. package/dist/server/bootstrap.js.map +1 -0
  155. package/dist/server/bootstrap.mjs +52 -0
  156. package/dist/server/bootstrap.mjs.map +1 -0
  157. package/dist/server/config/actions.js +47 -0
  158. package/dist/server/config/actions.js.map +1 -0
  159. package/dist/server/config/actions.mjs +45 -0
  160. package/dist/server/config/actions.mjs.map +1 -0
  161. package/dist/server/constants/default-stages.json.js +23 -0
  162. package/dist/server/constants/default-stages.json.js.map +1 -0
  163. package/dist/server/constants/default-stages.json.mjs +21 -0
  164. package/dist/server/constants/default-stages.json.mjs.map +1 -0
  165. package/dist/server/constants/default-workflow.json.js +12 -0
  166. package/dist/server/constants/default-workflow.json.js.map +1 -0
  167. package/dist/server/constants/default-workflow.json.mjs +7 -0
  168. package/dist/server/constants/default-workflow.json.mjs.map +1 -0
  169. package/dist/server/constants/webhook-events.js +12 -0
  170. package/dist/server/constants/webhook-events.js.map +1 -0
  171. package/dist/server/constants/webhook-events.mjs +7 -0
  172. package/dist/server/constants/webhook-events.mjs.map +1 -0
  173. package/dist/server/constants/workflows.js +53 -0
  174. package/dist/server/constants/workflows.js.map +1 -0
  175. package/dist/server/constants/workflows.mjs +42 -0
  176. package/dist/server/constants/workflows.mjs.map +1 -0
  177. package/dist/server/content-types/index.js +12 -0
  178. package/dist/server/content-types/index.js.map +1 -0
  179. package/dist/server/content-types/index.mjs +10 -0
  180. package/dist/server/content-types/index.mjs.map +1 -0
  181. package/dist/server/content-types/workflow/index.js +50 -0
  182. package/dist/server/content-types/workflow/index.js.map +1 -0
  183. package/dist/server/content-types/workflow/index.mjs +48 -0
  184. package/dist/server/content-types/workflow/index.mjs.map +1 -0
  185. package/dist/server/content-types/workflow-stage/index.js +54 -0
  186. package/dist/server/content-types/workflow-stage/index.js.map +1 -0
  187. package/dist/server/content-types/workflow-stage/index.mjs +52 -0
  188. package/dist/server/content-types/workflow-stage/index.mjs.map +1 -0
  189. package/dist/server/controllers/assignees.js +57 -0
  190. package/dist/server/controllers/assignees.js.map +1 -0
  191. package/dist/server/controllers/assignees.mjs +55 -0
  192. package/dist/server/controllers/assignees.mjs.map +1 -0
  193. package/dist/server/controllers/index.js +14 -0
  194. package/dist/server/controllers/index.js.map +1 -0
  195. package/dist/server/controllers/index.mjs +12 -0
  196. package/dist/server/controllers/index.mjs.map +1 -0
  197. package/dist/server/controllers/stages.js +167 -0
  198. package/dist/server/controllers/stages.js.map +1 -0
  199. package/dist/server/controllers/stages.mjs +165 -0
  200. package/dist/server/controllers/stages.mjs.map +1 -0
  201. package/dist/server/controllers/workflows.js +136 -0
  202. package/dist/server/controllers/workflows.js.map +1 -0
  203. package/dist/server/controllers/workflows.mjs +134 -0
  204. package/dist/server/controllers/workflows.mjs.map +1 -0
  205. package/dist/server/destroy.js +6 -0
  206. package/dist/server/destroy.js.map +1 -0
  207. package/dist/server/destroy.mjs +4 -0
  208. package/dist/server/destroy.mjs.map +1 -0
  209. package/dist/server/index.js +12 -2333
  210. package/dist/server/index.js.map +1 -1
  211. package/dist/server/index.mjs +7 -2328
  212. package/dist/server/index.mjs.map +1 -1
  213. package/dist/server/middlewares/review-workflows.js +42 -0
  214. package/dist/server/middlewares/review-workflows.js.map +1 -0
  215. package/dist/server/middlewares/review-workflows.mjs +37 -0
  216. package/dist/server/middlewares/review-workflows.mjs.map +1 -0
  217. package/dist/server/migrations/handle-deleted-ct-in-workflows.js +40 -0
  218. package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -0
  219. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs +38 -0
  220. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -0
  221. package/dist/server/migrations/multiple-workflows.js +41 -0
  222. package/dist/server/migrations/multiple-workflows.js.map +1 -0
  223. package/dist/server/migrations/multiple-workflows.mjs +39 -0
  224. package/dist/server/migrations/multiple-workflows.mjs.map +1 -0
  225. package/dist/server/migrations/set-stages-default-color.js +22 -0
  226. package/dist/server/migrations/set-stages-default-color.js.map +1 -0
  227. package/dist/server/migrations/set-stages-default-color.mjs +20 -0
  228. package/dist/server/migrations/set-stages-default-color.mjs.map +1 -0
  229. package/dist/server/migrations/set-stages-roles.js +56 -0
  230. package/dist/server/migrations/set-stages-roles.js.map +1 -0
  231. package/dist/server/migrations/set-stages-roles.mjs +54 -0
  232. package/dist/server/migrations/set-stages-roles.mjs.map +1 -0
  233. package/dist/server/migrations/set-workflow-default-name.js +29 -0
  234. package/dist/server/migrations/set-workflow-default-name.js.map +1 -0
  235. package/dist/server/migrations/set-workflow-default-name.mjs +27 -0
  236. package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -0
  237. package/dist/server/migrations/shorten-stage-attribute.js +45 -0
  238. package/dist/server/migrations/shorten-stage-attribute.js.map +1 -0
  239. package/dist/server/migrations/shorten-stage-attribute.mjs +43 -0
  240. package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -0
  241. package/dist/server/register.js +116 -0
  242. package/dist/server/register.js.map +1 -0
  243. package/dist/server/register.mjs +114 -0
  244. package/dist/server/register.mjs.map +1 -0
  245. package/dist/server/routes/index.js +10 -0
  246. package/dist/server/routes/index.js.map +1 -0
  247. package/dist/server/routes/index.mjs +8 -0
  248. package/dist/server/routes/index.mjs.map +1 -0
  249. package/dist/server/routes/review-workflows.js +186 -0
  250. package/dist/server/routes/review-workflows.js.map +1 -0
  251. package/dist/server/routes/review-workflows.mjs +184 -0
  252. package/dist/server/routes/review-workflows.mjs.map +1 -0
  253. package/dist/server/routes/utils.js +11 -0
  254. package/dist/server/routes/utils.js.map +1 -0
  255. package/dist/server/routes/utils.mjs +9 -0
  256. package/dist/server/routes/utils.mjs.map +1 -0
  257. package/dist/server/services/assignees.js +68 -0
  258. package/dist/server/services/assignees.js.map +1 -0
  259. package/dist/server/services/assignees.mjs +66 -0
  260. package/dist/server/services/assignees.mjs.map +1 -0
  261. package/dist/server/services/document-service-middleware.js +130 -0
  262. package/dist/server/services/document-service-middleware.js.map +1 -0
  263. package/dist/server/services/document-service-middleware.mjs +128 -0
  264. package/dist/server/services/document-service-middleware.mjs.map +1 -0
  265. package/dist/server/services/index.js +24 -0
  266. package/dist/server/services/index.js.map +1 -0
  267. package/dist/server/services/index.mjs +22 -0
  268. package/dist/server/services/index.mjs.map +1 -0
  269. package/dist/server/services/metrics/index.js +67 -0
  270. package/dist/server/services/metrics/index.js.map +1 -0
  271. package/dist/server/services/metrics/index.mjs +55 -0
  272. package/dist/server/services/metrics/index.mjs.map +1 -0
  273. package/dist/server/services/metrics/weekly-metrics.js +84 -0
  274. package/dist/server/services/metrics/weekly-metrics.js.map +1 -0
  275. package/dist/server/services/metrics/weekly-metrics.mjs +82 -0
  276. package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -0
  277. package/dist/server/services/stage-permissions.js +59 -0
  278. package/dist/server/services/stage-permissions.js.map +1 -0
  279. package/dist/server/services/stage-permissions.mjs +57 -0
  280. package/dist/server/services/stage-permissions.mjs.map +1 -0
  281. package/dist/server/services/stages.js +353 -0
  282. package/dist/server/services/stages.js.map +1 -0
  283. package/dist/server/services/stages.mjs +351 -0
  284. package/dist/server/services/stages.mjs.map +1 -0
  285. package/dist/server/services/validation.js +69 -0
  286. package/dist/server/services/validation.js.map +1 -0
  287. package/dist/server/services/validation.mjs +67 -0
  288. package/dist/server/services/validation.mjs.map +1 -0
  289. package/dist/server/services/workflow-content-types.js +90 -0
  290. package/dist/server/services/workflow-content-types.js.map +1 -0
  291. package/dist/server/services/workflow-content-types.mjs +88 -0
  292. package/dist/server/services/workflow-content-types.mjs.map +1 -0
  293. package/dist/server/services/workflows.js +279 -0
  294. package/dist/server/services/workflows.js.map +1 -0
  295. package/dist/server/services/workflows.mjs +277 -0
  296. package/dist/server/services/workflows.mjs.map +1 -0
  297. package/dist/server/utils/index.js +16 -0
  298. package/dist/server/utils/index.js.map +1 -0
  299. package/dist/server/utils/index.mjs +13 -0
  300. package/dist/server/utils/index.mjs.map +1 -0
  301. package/dist/server/utils/review-workflows.js +36 -0
  302. package/dist/server/utils/review-workflows.js.map +1 -0
  303. package/dist/server/utils/review-workflows.mjs +30 -0
  304. package/dist/server/utils/review-workflows.mjs.map +1 -0
  305. package/dist/server/validation/review-workflows.js +71 -0
  306. package/dist/server/validation/review-workflows.js.map +1 -0
  307. package/dist/server/validation/review-workflows.mjs +65 -0
  308. package/dist/server/validation/review-workflows.mjs.map +1 -0
  309. package/package.json +5 -5
  310. package/dist/admin/chunks/Layout-C4ri_ldC.js.map +0 -1
  311. package/dist/admin/chunks/Layout-CF497D6H.mjs.map +0 -1
  312. package/dist/admin/chunks/en-BNGiWajd.js.map +0 -1
  313. package/dist/admin/chunks/en-BrZXFtVv.mjs.map +0 -1
  314. package/dist/admin/chunks/id-DVOtqJqn.js +0 -1442
  315. package/dist/admin/chunks/id-DVOtqJqn.js.map +0 -1
  316. package/dist/admin/chunks/id-QD0V9dME.mjs +0 -1420
  317. package/dist/admin/chunks/id-QD0V9dME.mjs.map +0 -1
  318. package/dist/admin/chunks/index-CCx4kT-t.js.map +0 -1
  319. package/dist/admin/chunks/index-CzdEqFOm.js.map +0 -1
  320. package/dist/admin/chunks/index-DcEF47R4.mjs.map +0 -1
  321. package/dist/admin/chunks/index-iChY7MsG.mjs.map +0 -1
  322. package/dist/admin/chunks/purchase-review-workflows-4n0KXAeo.mjs.map +0 -1
  323. package/dist/admin/chunks/purchase-review-workflows-BDLncDcz.js.map +0 -1
  324. package/dist/admin/chunks/router-ChVwf8TN.js.map +0 -1
  325. package/dist/admin/chunks/router-D-YCUzYy.mjs.map +0 -1
  326. package/dist/admin/chunks/uk-CbRUr1I7.js.map +0 -1
  327. package/dist/admin/chunks/uk-DLlzEBUF.mjs.map +0 -1
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var defaultStages = [
4
+ {
5
+ name: "To do",
6
+ color: "#4945FF"
7
+ },
8
+ {
9
+ name: "Ready to review",
10
+ color: "#9736E8"
11
+ },
12
+ {
13
+ name: "In progress",
14
+ color: "#EE5E52"
15
+ },
16
+ {
17
+ name: "Reviewed",
18
+ color: "#328048"
19
+ }
20
+ ];
21
+
22
+ module.exports = defaultStages;
23
+ //# sourceMappingURL=default-stages.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-stages.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,21 @@
1
+ var defaultStages = [
2
+ {
3
+ name: "To do",
4
+ color: "#4945FF"
5
+ },
6
+ {
7
+ name: "Ready to review",
8
+ color: "#9736E8"
9
+ },
10
+ {
11
+ name: "In progress",
12
+ color: "#EE5E52"
13
+ },
14
+ {
15
+ name: "Reviewed",
16
+ color: "#328048"
17
+ }
18
+ ];
19
+
20
+ export { defaultStages as default };
21
+ //# sourceMappingURL=default-stages.json.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-stages.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var name = "Default";
6
+ var defaultWorkflow = {
7
+ name: name
8
+ };
9
+
10
+ exports.default = defaultWorkflow;
11
+ exports.name = name;
12
+ //# sourceMappingURL=default-workflow.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-workflow.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ var name = "Default";
2
+ var defaultWorkflow = {
3
+ name: name
4
+ };
5
+
6
+ export { defaultWorkflow as default, name };
7
+ //# sourceMappingURL=default-workflow.json.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-workflow.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const WORKFLOW_UPDATE_STAGE = 'review-workflows.updateEntryStage';
6
+ var webhookEvents = {
7
+ WORKFLOW_UPDATE_STAGE
8
+ };
9
+
10
+ exports.WORKFLOW_UPDATE_STAGE = WORKFLOW_UPDATE_STAGE;
11
+ exports.default = webhookEvents;
12
+ //# sourceMappingURL=webhook-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-events.js","sources":["../../../server/src/constants/webhook-events.ts"],"sourcesContent":["export const WORKFLOW_UPDATE_STAGE = 'review-workflows.updateEntryStage';\n\nexport default {\n WORKFLOW_UPDATE_STAGE,\n};\n"],"names":["WORKFLOW_UPDATE_STAGE"],"mappings":";;;;AAAO,MAAMA,wBAAwB;AAErC,oBAAe;AACbA,IAAAA;AACF,CAAE;;;;;"}
@@ -0,0 +1,7 @@
1
+ const WORKFLOW_UPDATE_STAGE = 'review-workflows.updateEntryStage';
2
+ var webhookEvents = {
3
+ WORKFLOW_UPDATE_STAGE
4
+ };
5
+
6
+ export { WORKFLOW_UPDATE_STAGE, webhookEvents as default };
7
+ //# sourceMappingURL=webhook-events.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-events.mjs","sources":["../../../server/src/constants/webhook-events.ts"],"sourcesContent":["export const WORKFLOW_UPDATE_STAGE = 'review-workflows.updateEntryStage';\n\nexport default {\n WORKFLOW_UPDATE_STAGE,\n};\n"],"names":["WORKFLOW_UPDATE_STAGE"],"mappings":"AAAO,MAAMA,wBAAwB;AAErC,oBAAe;AACbA,IAAAA;AACF,CAAE;;;;"}
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ const WORKFLOW_MODEL_UID = 'plugin::review-workflows.workflow';
4
+ const STAGE_MODEL_UID = 'plugin::review-workflows.workflow-stage';
5
+ /**
6
+ * TODO: For V4 compatibility, the old UID was kept, when review workflows was in the admin package
7
+ *
8
+ * NOTE!: if you change this string you need to change it here too: strapi/packages/core/review-workflows/admin/src/routes/settings/components/Stages.tsx
9
+ */ const STAGE_TRANSITION_UID = 'admin::review-workflows.stage.transition';
10
+ const STAGE_DEFAULT_COLOR = '#4945FF';
11
+ const ENTITY_STAGE_ATTRIBUTE = 'strapi_stage';
12
+ const ENTITY_ASSIGNEE_ATTRIBUTE = 'strapi_assignee';
13
+ const MAX_WORKFLOWS = 200;
14
+ const MAX_STAGES_PER_WORKFLOW = 200;
15
+ const ERRORS = {
16
+ WORKFLOW_WITHOUT_STAGES: 'A workflow must have at least one stage.',
17
+ WORKFLOWS_LIMIT: 'You’ve reached the limit of workflows in your plan. Delete a workflow or contact Sales to enable more workflows.',
18
+ STAGES_LIMIT: 'You’ve reached the limit of stages for this workflow in your plan. Try deleting some stages or contact Sales to enable more stages.',
19
+ DUPLICATED_STAGE_NAME: 'Stage names must be unique.'
20
+ };
21
+ const WORKFLOW_POPULATE = {
22
+ stages: {
23
+ populate: {
24
+ permissions: {
25
+ fields: [
26
+ 'action',
27
+ 'actionParameters'
28
+ ],
29
+ populate: {
30
+ role: {
31
+ fields: [
32
+ 'id',
33
+ 'name'
34
+ ]
35
+ }
36
+ }
37
+ }
38
+ }
39
+ },
40
+ stageRequiredToPublish: true
41
+ };
42
+
43
+ exports.ENTITY_ASSIGNEE_ATTRIBUTE = ENTITY_ASSIGNEE_ATTRIBUTE;
44
+ exports.ENTITY_STAGE_ATTRIBUTE = ENTITY_STAGE_ATTRIBUTE;
45
+ exports.ERRORS = ERRORS;
46
+ exports.MAX_STAGES_PER_WORKFLOW = MAX_STAGES_PER_WORKFLOW;
47
+ exports.MAX_WORKFLOWS = MAX_WORKFLOWS;
48
+ exports.STAGE_DEFAULT_COLOR = STAGE_DEFAULT_COLOR;
49
+ exports.STAGE_MODEL_UID = STAGE_MODEL_UID;
50
+ exports.STAGE_TRANSITION_UID = STAGE_TRANSITION_UID;
51
+ exports.WORKFLOW_MODEL_UID = WORKFLOW_MODEL_UID;
52
+ exports.WORKFLOW_POPULATE = WORKFLOW_POPULATE;
53
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sources":["../../../server/src/constants/workflows.ts"],"sourcesContent":["export const WORKFLOW_MODEL_UID = 'plugin::review-workflows.workflow';\nexport const STAGE_MODEL_UID = 'plugin::review-workflows.workflow-stage';\n/**\n * TODO: For V4 compatibility, the old UID was kept, when review workflows was in the admin package\n *\n * NOTE!: if you change this string you need to change it here too: strapi/packages/core/review-workflows/admin/src/routes/settings/components/Stages.tsx\n */\nexport const STAGE_TRANSITION_UID = 'admin::review-workflows.stage.transition';\n\nexport const STAGE_DEFAULT_COLOR = '#4945FF';\nexport const ENTITY_STAGE_ATTRIBUTE = 'strapi_stage';\nexport const ENTITY_ASSIGNEE_ATTRIBUTE = 'strapi_assignee';\n\nexport const MAX_WORKFLOWS = 200;\nexport const MAX_STAGES_PER_WORKFLOW = 200;\n\nexport const ERRORS = {\n WORKFLOW_WITHOUT_STAGES: 'A workflow must have at least one stage.',\n WORKFLOWS_LIMIT:\n 'You’ve reached the limit of workflows in your plan. Delete a workflow or contact Sales to enable more workflows.',\n STAGES_LIMIT:\n 'You’ve reached the limit of stages for this workflow in your plan. Try deleting some stages or contact Sales to enable more stages.',\n DUPLICATED_STAGE_NAME: 'Stage names must be unique.',\n};\n\nexport const WORKFLOW_POPULATE = {\n stages: {\n populate: {\n permissions: {\n fields: ['action', 'actionParameters'],\n populate: {\n role: { fields: ['id', 'name'] },\n },\n },\n },\n },\n stageRequiredToPublish: true,\n};\n"],"names":["WORKFLOW_MODEL_UID","STAGE_MODEL_UID","STAGE_TRANSITION_UID","STAGE_DEFAULT_COLOR","ENTITY_STAGE_ATTRIBUTE","ENTITY_ASSIGNEE_ATTRIBUTE","MAX_WORKFLOWS","MAX_STAGES_PER_WORKFLOW","ERRORS","WORKFLOW_WITHOUT_STAGES","WORKFLOWS_LIMIT","STAGES_LIMIT","DUPLICATED_STAGE_NAME","WORKFLOW_POPULATE","stages","populate","permissions","fields","role","stageRequiredToPublish"],"mappings":";;AAAO,MAAMA,qBAAqB;AAC3B,MAAMC,kBAAkB;AAC/B;;;;IAKaC,MAAAA,oBAAAA,GAAuB;AAE7B,MAAMC,sBAAsB;AAC5B,MAAMC,yBAAyB;AAC/B,MAAMC,4BAA4B;AAElC,MAAMC,gBAAgB;AACtB,MAAMC,0BAA0B;MAE1BC,MAAS,GAAA;IACpBC,uBAAyB,EAAA,0CAAA;IACzBC,eACE,EAAA,kHAAA;IACFC,YACE,EAAA,qIAAA;IACFC,qBAAuB,EAAA;AACzB;MAEaC,iBAAoB,GAAA;IAC/BC,MAAQ,EAAA;QACNC,QAAU,EAAA;YACRC,WAAa,EAAA;gBACXC,MAAQ,EAAA;AAAC,oBAAA,QAAA;AAAU,oBAAA;AAAmB,iBAAA;gBACtCF,QAAU,EAAA;oBACRG,IAAM,EAAA;wBAAED,MAAQ,EAAA;AAAC,4BAAA,IAAA;AAAM,4BAAA;AAAO;AAAC;AACjC;AACF;AACF;AACF,KAAA;IACAE,sBAAwB,EAAA;AAC1B;;;;;;;;;;;;;"}
@@ -0,0 +1,42 @@
1
+ const WORKFLOW_MODEL_UID = 'plugin::review-workflows.workflow';
2
+ const STAGE_MODEL_UID = 'plugin::review-workflows.workflow-stage';
3
+ /**
4
+ * TODO: For V4 compatibility, the old UID was kept, when review workflows was in the admin package
5
+ *
6
+ * NOTE!: if you change this string you need to change it here too: strapi/packages/core/review-workflows/admin/src/routes/settings/components/Stages.tsx
7
+ */ const STAGE_TRANSITION_UID = 'admin::review-workflows.stage.transition';
8
+ const STAGE_DEFAULT_COLOR = '#4945FF';
9
+ const ENTITY_STAGE_ATTRIBUTE = 'strapi_stage';
10
+ const ENTITY_ASSIGNEE_ATTRIBUTE = 'strapi_assignee';
11
+ const MAX_WORKFLOWS = 200;
12
+ const MAX_STAGES_PER_WORKFLOW = 200;
13
+ const ERRORS = {
14
+ WORKFLOW_WITHOUT_STAGES: 'A workflow must have at least one stage.',
15
+ WORKFLOWS_LIMIT: 'You’ve reached the limit of workflows in your plan. Delete a workflow or contact Sales to enable more workflows.',
16
+ STAGES_LIMIT: 'You’ve reached the limit of stages for this workflow in your plan. Try deleting some stages or contact Sales to enable more stages.',
17
+ DUPLICATED_STAGE_NAME: 'Stage names must be unique.'
18
+ };
19
+ const WORKFLOW_POPULATE = {
20
+ stages: {
21
+ populate: {
22
+ permissions: {
23
+ fields: [
24
+ 'action',
25
+ 'actionParameters'
26
+ ],
27
+ populate: {
28
+ role: {
29
+ fields: [
30
+ 'id',
31
+ 'name'
32
+ ]
33
+ }
34
+ }
35
+ }
36
+ }
37
+ },
38
+ stageRequiredToPublish: true
39
+ };
40
+
41
+ export { ENTITY_ASSIGNEE_ATTRIBUTE, ENTITY_STAGE_ATTRIBUTE, ERRORS, MAX_STAGES_PER_WORKFLOW, MAX_WORKFLOWS, STAGE_DEFAULT_COLOR, STAGE_MODEL_UID, STAGE_TRANSITION_UID, WORKFLOW_MODEL_UID, WORKFLOW_POPULATE };
42
+ //# sourceMappingURL=workflows.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.mjs","sources":["../../../server/src/constants/workflows.ts"],"sourcesContent":["export const WORKFLOW_MODEL_UID = 'plugin::review-workflows.workflow';\nexport const STAGE_MODEL_UID = 'plugin::review-workflows.workflow-stage';\n/**\n * TODO: For V4 compatibility, the old UID was kept, when review workflows was in the admin package\n *\n * NOTE!: if you change this string you need to change it here too: strapi/packages/core/review-workflows/admin/src/routes/settings/components/Stages.tsx\n */\nexport const STAGE_TRANSITION_UID = 'admin::review-workflows.stage.transition';\n\nexport const STAGE_DEFAULT_COLOR = '#4945FF';\nexport const ENTITY_STAGE_ATTRIBUTE = 'strapi_stage';\nexport const ENTITY_ASSIGNEE_ATTRIBUTE = 'strapi_assignee';\n\nexport const MAX_WORKFLOWS = 200;\nexport const MAX_STAGES_PER_WORKFLOW = 200;\n\nexport const ERRORS = {\n WORKFLOW_WITHOUT_STAGES: 'A workflow must have at least one stage.',\n WORKFLOWS_LIMIT:\n 'You’ve reached the limit of workflows in your plan. Delete a workflow or contact Sales to enable more workflows.',\n STAGES_LIMIT:\n 'You’ve reached the limit of stages for this workflow in your plan. Try deleting some stages or contact Sales to enable more stages.',\n DUPLICATED_STAGE_NAME: 'Stage names must be unique.',\n};\n\nexport const WORKFLOW_POPULATE = {\n stages: {\n populate: {\n permissions: {\n fields: ['action', 'actionParameters'],\n populate: {\n role: { fields: ['id', 'name'] },\n },\n },\n },\n },\n stageRequiredToPublish: true,\n};\n"],"names":["WORKFLOW_MODEL_UID","STAGE_MODEL_UID","STAGE_TRANSITION_UID","STAGE_DEFAULT_COLOR","ENTITY_STAGE_ATTRIBUTE","ENTITY_ASSIGNEE_ATTRIBUTE","MAX_WORKFLOWS","MAX_STAGES_PER_WORKFLOW","ERRORS","WORKFLOW_WITHOUT_STAGES","WORKFLOWS_LIMIT","STAGES_LIMIT","DUPLICATED_STAGE_NAME","WORKFLOW_POPULATE","stages","populate","permissions","fields","role","stageRequiredToPublish"],"mappings":"AAAO,MAAMA,qBAAqB;AAC3B,MAAMC,kBAAkB;AAC/B;;;;IAKaC,MAAAA,oBAAAA,GAAuB;AAE7B,MAAMC,sBAAsB;AAC5B,MAAMC,yBAAyB;AAC/B,MAAMC,4BAA4B;AAElC,MAAMC,gBAAgB;AACtB,MAAMC,0BAA0B;MAE1BC,MAAS,GAAA;IACpBC,uBAAyB,EAAA,0CAAA;IACzBC,eACE,EAAA,kHAAA;IACFC,YACE,EAAA,qIAAA;IACFC,qBAAuB,EAAA;AACzB;MAEaC,iBAAoB,GAAA;IAC/BC,MAAQ,EAAA;QACNC,QAAU,EAAA;YACRC,WAAa,EAAA;gBACXC,MAAQ,EAAA;AAAC,oBAAA,QAAA;AAAU,oBAAA;AAAmB,iBAAA;gBACtCF,QAAU,EAAA;oBACRG,IAAM,EAAA;wBAAED,MAAQ,EAAA;AAAC,4BAAA,IAAA;AAAM,4BAAA;AAAO;AAAC;AACjC;AACF;AACF;AACF,KAAA;IACAE,sBAAwB,EAAA;AAC1B;;;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var index = require('./workflow/index.js');
4
+ var index$1 = require('./workflow-stage/index.js');
5
+
6
+ var contentTypes = {
7
+ workflow: index,
8
+ 'workflow-stage': index$1
9
+ };
10
+
11
+ module.exports = contentTypes;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/content-types/index.ts"],"sourcesContent":["import workflow from './workflow';\nimport workflowStage from './workflow-stage';\n\nexport default {\n workflow,\n 'workflow-stage': workflowStage,\n};\n"],"names":["workflow","workflowStage"],"mappings":";;;;;AAGA,mBAAe;AACbA,cAAAA,KAAAA;IACA,gBAAkBC,EAAAA;AACpB,CAAE;;;;"}
@@ -0,0 +1,10 @@
1
+ import workflow from './workflow/index.mjs';
2
+ import workflowStage from './workflow-stage/index.mjs';
3
+
4
+ var contentTypes = {
5
+ workflow,
6
+ 'workflow-stage': workflowStage
7
+ };
8
+
9
+ export { contentTypes as default };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/content-types/index.ts"],"sourcesContent":["import workflow from './workflow';\nimport workflowStage from './workflow-stage';\n\nexport default {\n workflow,\n 'workflow-stage': workflowStage,\n};\n"],"names":["workflow","workflowStage"],"mappings":";;;AAGA,mBAAe;AACbA,IAAAA,QAAAA;IACA,gBAAkBC,EAAAA;AACpB,CAAE;;;;"}
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ var workflow = {
4
+ schema: {
5
+ collectionName: 'strapi_workflows',
6
+ info: {
7
+ name: 'Workflow',
8
+ description: '',
9
+ singularName: 'workflow',
10
+ pluralName: 'workflows',
11
+ displayName: 'Workflow'
12
+ },
13
+ options: {},
14
+ pluginOptions: {
15
+ 'content-manager': {
16
+ visible: false
17
+ },
18
+ 'content-type-builder': {
19
+ visible: false
20
+ }
21
+ },
22
+ attributes: {
23
+ name: {
24
+ type: 'string',
25
+ required: true,
26
+ unique: true
27
+ },
28
+ stages: {
29
+ type: 'relation',
30
+ target: 'plugin::review-workflows.workflow-stage',
31
+ relation: 'oneToMany',
32
+ mappedBy: 'workflow'
33
+ },
34
+ stageRequiredToPublish: {
35
+ type: 'relation',
36
+ target: 'plugin::review-workflows.workflow-stage',
37
+ relation: 'oneToOne',
38
+ required: false
39
+ },
40
+ contentTypes: {
41
+ type: 'json',
42
+ required: true,
43
+ default: '[]'
44
+ }
45
+ }
46
+ }
47
+ };
48
+
49
+ module.exports = workflow;
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../server/src/content-types/workflow/index.ts"],"sourcesContent":["export default {\n schema: {\n collectionName: 'strapi_workflows',\n info: {\n name: 'Workflow',\n description: '',\n singularName: 'workflow',\n pluralName: 'workflows',\n displayName: 'Workflow',\n },\n options: {},\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n required: true,\n unique: true,\n },\n stages: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow-stage',\n relation: 'oneToMany',\n mappedBy: 'workflow',\n },\n stageRequiredToPublish: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow-stage',\n relation: 'oneToOne',\n required: false,\n },\n contentTypes: {\n type: 'json',\n required: true,\n default: '[]',\n },\n },\n },\n};\n"],"names":["schema","collectionName","info","name","description","singularName","pluralName","displayName","options","pluginOptions","visible","attributes","type","required","unique","stages","target","relation","mappedBy","stageRequiredToPublish","contentTypes","default"],"mappings":";;AAAA,eAAe;IACbA,MAAQ,EAAA;QACNC,cAAgB,EAAA,kBAAA;QAChBC,IAAM,EAAA;YACJC,IAAM,EAAA,UAAA;YACNC,WAAa,EAAA,EAAA;YACbC,YAAc,EAAA,UAAA;YACdC,UAAY,EAAA,WAAA;YACZC,WAAa,EAAA;AACf,SAAA;AACAC,QAAAA,OAAAA,EAAS,EAAC;QACVC,aAAe,EAAA;YACb,iBAAmB,EAAA;gBACjBC,OAAS,EAAA;AACX,aAAA;YACA,sBAAwB,EAAA;gBACtBA,OAAS,EAAA;AACX;AACF,SAAA;QACAC,UAAY,EAAA;YACVR,IAAM,EAAA;gBACJS,IAAM,EAAA,QAAA;gBACNC,QAAU,EAAA,IAAA;gBACVC,MAAQ,EAAA;AACV,aAAA;YACAC,MAAQ,EAAA;gBACNH,IAAM,EAAA,UAAA;gBACNI,MAAQ,EAAA,yCAAA;gBACRC,QAAU,EAAA,WAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;YACAC,sBAAwB,EAAA;gBACtBP,IAAM,EAAA,UAAA;gBACNI,MAAQ,EAAA,yCAAA;gBACRC,QAAU,EAAA,UAAA;gBACVJ,QAAU,EAAA;AACZ,aAAA;YACAO,YAAc,EAAA;gBACZR,IAAM,EAAA,MAAA;gBACNC,QAAU,EAAA,IAAA;gBACVQ,OAAS,EAAA;AACX;AACF;AACF;AACF,CAAE;;;;"}
@@ -0,0 +1,48 @@
1
+ var workflow = {
2
+ schema: {
3
+ collectionName: 'strapi_workflows',
4
+ info: {
5
+ name: 'Workflow',
6
+ description: '',
7
+ singularName: 'workflow',
8
+ pluralName: 'workflows',
9
+ displayName: 'Workflow'
10
+ },
11
+ options: {},
12
+ pluginOptions: {
13
+ 'content-manager': {
14
+ visible: false
15
+ },
16
+ 'content-type-builder': {
17
+ visible: false
18
+ }
19
+ },
20
+ attributes: {
21
+ name: {
22
+ type: 'string',
23
+ required: true,
24
+ unique: true
25
+ },
26
+ stages: {
27
+ type: 'relation',
28
+ target: 'plugin::review-workflows.workflow-stage',
29
+ relation: 'oneToMany',
30
+ mappedBy: 'workflow'
31
+ },
32
+ stageRequiredToPublish: {
33
+ type: 'relation',
34
+ target: 'plugin::review-workflows.workflow-stage',
35
+ relation: 'oneToOne',
36
+ required: false
37
+ },
38
+ contentTypes: {
39
+ type: 'json',
40
+ required: true,
41
+ default: '[]'
42
+ }
43
+ }
44
+ }
45
+ };
46
+
47
+ export { workflow as default };
48
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../server/src/content-types/workflow/index.ts"],"sourcesContent":["export default {\n schema: {\n collectionName: 'strapi_workflows',\n info: {\n name: 'Workflow',\n description: '',\n singularName: 'workflow',\n pluralName: 'workflows',\n displayName: 'Workflow',\n },\n options: {},\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n required: true,\n unique: true,\n },\n stages: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow-stage',\n relation: 'oneToMany',\n mappedBy: 'workflow',\n },\n stageRequiredToPublish: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow-stage',\n relation: 'oneToOne',\n required: false,\n },\n contentTypes: {\n type: 'json',\n required: true,\n default: '[]',\n },\n },\n },\n};\n"],"names":["schema","collectionName","info","name","description","singularName","pluralName","displayName","options","pluginOptions","visible","attributes","type","required","unique","stages","target","relation","mappedBy","stageRequiredToPublish","contentTypes","default"],"mappings":"AAAA,eAAe;IACbA,MAAQ,EAAA;QACNC,cAAgB,EAAA,kBAAA;QAChBC,IAAM,EAAA;YACJC,IAAM,EAAA,UAAA;YACNC,WAAa,EAAA,EAAA;YACbC,YAAc,EAAA,UAAA;YACdC,UAAY,EAAA,WAAA;YACZC,WAAa,EAAA;AACf,SAAA;AACAC,QAAAA,OAAAA,EAAS,EAAC;QACVC,aAAe,EAAA;YACb,iBAAmB,EAAA;gBACjBC,OAAS,EAAA;AACX,aAAA;YACA,sBAAwB,EAAA;gBACtBA,OAAS,EAAA;AACX;AACF,SAAA;QACAC,UAAY,EAAA;YACVR,IAAM,EAAA;gBACJS,IAAM,EAAA,QAAA;gBACNC,QAAU,EAAA,IAAA;gBACVC,MAAQ,EAAA;AACV,aAAA;YACAC,MAAQ,EAAA;gBACNH,IAAM,EAAA,UAAA;gBACNI,MAAQ,EAAA,yCAAA;gBACRC,QAAU,EAAA,WAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;YACAC,sBAAwB,EAAA;gBACtBP,IAAM,EAAA,UAAA;gBACNI,MAAQ,EAAA,yCAAA;gBACRC,QAAU,EAAA,UAAA;gBACVJ,QAAU,EAAA;AACZ,aAAA;YACAO,YAAc,EAAA;gBACZR,IAAM,EAAA,MAAA;gBACNC,QAAU,EAAA,IAAA;gBACVQ,OAAS,EAAA;AACX;AACF;AACF;AACF,CAAE;;;;"}
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ var workflows = require('../../constants/workflows.js');
4
+
5
+ var workflowStage = {
6
+ schema: {
7
+ collectionName: 'strapi_workflows_stages',
8
+ info: {
9
+ name: 'Workflow Stage',
10
+ description: '',
11
+ singularName: 'workflow-stage',
12
+ pluralName: 'workflow-stages',
13
+ displayName: 'Stages'
14
+ },
15
+ options: {
16
+ version: '1.1.0'
17
+ },
18
+ pluginOptions: {
19
+ 'content-manager': {
20
+ visible: false
21
+ },
22
+ 'content-type-builder': {
23
+ visible: false
24
+ }
25
+ },
26
+ attributes: {
27
+ name: {
28
+ type: 'string',
29
+ configurable: false
30
+ },
31
+ color: {
32
+ type: 'string',
33
+ configurable: false,
34
+ default: workflows.STAGE_DEFAULT_COLOR
35
+ },
36
+ workflow: {
37
+ type: 'relation',
38
+ target: 'plugin::review-workflows.workflow',
39
+ relation: 'manyToOne',
40
+ inversedBy: 'stages',
41
+ configurable: false
42
+ },
43
+ permissions: {
44
+ type: 'relation',
45
+ target: 'admin::permission',
46
+ relation: 'manyToMany',
47
+ configurable: false
48
+ }
49
+ }
50
+ }
51
+ };
52
+
53
+ module.exports = workflowStage;
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../server/src/content-types/workflow-stage/index.ts"],"sourcesContent":["import { STAGE_DEFAULT_COLOR } from '../../constants/workflows';\n\nexport default {\n schema: {\n collectionName: 'strapi_workflows_stages',\n info: {\n name: 'Workflow Stage',\n description: '',\n singularName: 'workflow-stage',\n pluralName: 'workflow-stages',\n displayName: 'Stages',\n },\n options: {\n version: '1.1.0',\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n configurable: false,\n },\n color: {\n type: 'string',\n configurable: false,\n default: STAGE_DEFAULT_COLOR,\n },\n workflow: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow',\n relation: 'manyToOne',\n inversedBy: 'stages',\n configurable: false,\n },\n permissions: {\n type: 'relation',\n target: 'admin::permission',\n relation: 'manyToMany',\n configurable: false,\n },\n },\n },\n};\n"],"names":["schema","collectionName","info","name","description","singularName","pluralName","displayName","options","version","pluginOptions","visible","attributes","type","configurable","color","default","STAGE_DEFAULT_COLOR","workflow","target","relation","inversedBy","permissions"],"mappings":";;;;AAEA,oBAAe;IACbA,MAAQ,EAAA;QACNC,cAAgB,EAAA,yBAAA;QAChBC,IAAM,EAAA;YACJC,IAAM,EAAA,gBAAA;YACNC,WAAa,EAAA,EAAA;YACbC,YAAc,EAAA,gBAAA;YACdC,UAAY,EAAA,iBAAA;YACZC,WAAa,EAAA;AACf,SAAA;QACAC,OAAS,EAAA;YACPC,OAAS,EAAA;AACX,SAAA;QACAC,aAAe,EAAA;YACb,iBAAmB,EAAA;gBACjBC,OAAS,EAAA;AACX,aAAA;YACA,sBAAwB,EAAA;gBACtBA,OAAS,EAAA;AACX;AACF,SAAA;QACAC,UAAY,EAAA;YACVT,IAAM,EAAA;gBACJU,IAAM,EAAA,QAAA;gBACNC,YAAc,EAAA;AAChB,aAAA;YACAC,KAAO,EAAA;gBACLF,IAAM,EAAA,QAAA;gBACNC,YAAc,EAAA,KAAA;gBACdE,OAASC,EAAAA;AACX,aAAA;YACAC,QAAU,EAAA;gBACRL,IAAM,EAAA,UAAA;gBACNM,MAAQ,EAAA,mCAAA;gBACRC,QAAU,EAAA,WAAA;gBACVC,UAAY,EAAA,QAAA;gBACZP,YAAc,EAAA;AAChB,aAAA;YACAQ,WAAa,EAAA;gBACXT,IAAM,EAAA,UAAA;gBACNM,MAAQ,EAAA,mBAAA;gBACRC,QAAU,EAAA,YAAA;gBACVN,YAAc,EAAA;AAChB;AACF;AACF;AACF,CAAE;;;;"}
@@ -0,0 +1,52 @@
1
+ import { STAGE_DEFAULT_COLOR } from '../../constants/workflows.mjs';
2
+
3
+ var workflowStage = {
4
+ schema: {
5
+ collectionName: 'strapi_workflows_stages',
6
+ info: {
7
+ name: 'Workflow Stage',
8
+ description: '',
9
+ singularName: 'workflow-stage',
10
+ pluralName: 'workflow-stages',
11
+ displayName: 'Stages'
12
+ },
13
+ options: {
14
+ version: '1.1.0'
15
+ },
16
+ pluginOptions: {
17
+ 'content-manager': {
18
+ visible: false
19
+ },
20
+ 'content-type-builder': {
21
+ visible: false
22
+ }
23
+ },
24
+ attributes: {
25
+ name: {
26
+ type: 'string',
27
+ configurable: false
28
+ },
29
+ color: {
30
+ type: 'string',
31
+ configurable: false,
32
+ default: STAGE_DEFAULT_COLOR
33
+ },
34
+ workflow: {
35
+ type: 'relation',
36
+ target: 'plugin::review-workflows.workflow',
37
+ relation: 'manyToOne',
38
+ inversedBy: 'stages',
39
+ configurable: false
40
+ },
41
+ permissions: {
42
+ type: 'relation',
43
+ target: 'admin::permission',
44
+ relation: 'manyToMany',
45
+ configurable: false
46
+ }
47
+ }
48
+ }
49
+ };
50
+
51
+ export { workflowStage as default };
52
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../server/src/content-types/workflow-stage/index.ts"],"sourcesContent":["import { STAGE_DEFAULT_COLOR } from '../../constants/workflows';\n\nexport default {\n schema: {\n collectionName: 'strapi_workflows_stages',\n info: {\n name: 'Workflow Stage',\n description: '',\n singularName: 'workflow-stage',\n pluralName: 'workflow-stages',\n displayName: 'Stages',\n },\n options: {\n version: '1.1.0',\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n configurable: false,\n },\n color: {\n type: 'string',\n configurable: false,\n default: STAGE_DEFAULT_COLOR,\n },\n workflow: {\n type: 'relation',\n target: 'plugin::review-workflows.workflow',\n relation: 'manyToOne',\n inversedBy: 'stages',\n configurable: false,\n },\n permissions: {\n type: 'relation',\n target: 'admin::permission',\n relation: 'manyToMany',\n configurable: false,\n },\n },\n },\n};\n"],"names":["schema","collectionName","info","name","description","singularName","pluralName","displayName","options","version","pluginOptions","visible","attributes","type","configurable","color","default","STAGE_DEFAULT_COLOR","workflow","target","relation","inversedBy","permissions"],"mappings":";;AAEA,oBAAe;IACbA,MAAQ,EAAA;QACNC,cAAgB,EAAA,yBAAA;QAChBC,IAAM,EAAA;YACJC,IAAM,EAAA,gBAAA;YACNC,WAAa,EAAA,EAAA;YACbC,YAAc,EAAA,gBAAA;YACdC,UAAY,EAAA,iBAAA;YACZC,WAAa,EAAA;AACf,SAAA;QACAC,OAAS,EAAA;YACPC,OAAS,EAAA;AACX,SAAA;QACAC,aAAe,EAAA;YACb,iBAAmB,EAAA;gBACjBC,OAAS,EAAA;AACX,aAAA;YACA,sBAAwB,EAAA;gBACtBA,OAAS,EAAA;AACX;AACF,SAAA;QACAC,UAAY,EAAA;YACVT,IAAM,EAAA;gBACJU,IAAM,EAAA,QAAA;gBACNC,YAAc,EAAA;AAChB,aAAA;YACAC,KAAO,EAAA;gBACLF,IAAM,EAAA,QAAA;gBACNC,YAAc,EAAA,KAAA;gBACdE,OAASC,EAAAA;AACX,aAAA;YACAC,QAAU,EAAA;gBACRL,IAAM,EAAA,UAAA;gBACNM,MAAQ,EAAA,mCAAA;gBACRC,QAAU,EAAA,WAAA;gBACVC,UAAY,EAAA,QAAA;gBACZP,YAAc,EAAA;AAChB,aAAA;YACAQ,WAAa,EAAA;gBACXT,IAAM,EAAA,UAAA;gBACNM,MAAQ,EAAA,mBAAA;gBACRC,QAAU,EAAA,YAAA;gBACVN,YAAc,EAAA;AAChB;AACF;AACF;AACF,CAAE;;;;"}
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var index = require('../utils/index.js');
4
+ var reviewWorkflows = require('../validation/review-workflows.js');
5
+ var workflows = require('../constants/workflows.js');
6
+
7
+ var assignees = {
8
+ /**
9
+ * Updates an entity's assignee.
10
+ * @async
11
+ * @param {Object} ctx - The Koa context object.
12
+ * @param {Object} ctx.params - An object containing the parameters from the request URL.
13
+ * @param {string} ctx.params.model_uid - The model UID of the entity.
14
+ * @param {string} ctx.params.id - The ID of the entity to update.
15
+ * @param {Object} ctx.request.body.data - Optional data object containing the new assignee ID for the entity.
16
+ * @param {string} ctx.request.body.data.id - The ID of the new assignee for the entity.
17
+ * @throws {ApplicationError} If review workflows is not activated on the specified model UID.
18
+ * @throws {ValidationError} If the `data` object in the request body fails to pass validation.
19
+ * @returns {Promise<void>} A promise that resolves when the entity's assignee has been updated.
20
+ */ async updateEntity (ctx) {
21
+ const assigneeService = index.getService('assignees');
22
+ const workflowService = index.getService('workflows');
23
+ const stagePermissions = index.getService('stage-permissions');
24
+ const { model_uid: model, id: documentId } = ctx.params;
25
+ const locale = await reviewWorkflows.validateLocale(ctx.request.query?.locale) ?? undefined;
26
+ const { sanitizeOutput } = strapi.plugin('content-manager').service('permission-checker').create({
27
+ userAbility: ctx.state.userAbility,
28
+ model
29
+ });
30
+ // Retrieve the entity so we can get its current stage
31
+ const entity = await strapi.documents(model).findOne({
32
+ documentId,
33
+ locale,
34
+ populate: [
35
+ workflows.ENTITY_STAGE_ATTRIBUTE
36
+ ]
37
+ });
38
+ if (!entity) {
39
+ ctx.throw(404, 'Entity not found');
40
+ }
41
+ // Only allow users who can update the current stage to change the assignee
42
+ const canTransitionStage = stagePermissions.can(workflows.STAGE_TRANSITION_UID, entity[workflows.ENTITY_STAGE_ATTRIBUTE]?.id);
43
+ if (!canTransitionStage) {
44
+ ctx.throw(403, 'Stage transition permission is required');
45
+ }
46
+ // TODO: check if user has update permission on the entity
47
+ const { id: assigneeId } = await reviewWorkflows.validateUpdateAssigneeOnEntity(ctx.request?.body?.data, 'You should pass a valid id to the body of the put request.');
48
+ await workflowService.assertContentTypeBelongsToWorkflow(model);
49
+ const updatedEntity = await assigneeService.updateEntityAssignee(entity, model, assigneeId);
50
+ ctx.body = {
51
+ data: await sanitizeOutput(updatedEntity)
52
+ };
53
+ }
54
+ };
55
+
56
+ module.exports = assignees;
57
+ //# sourceMappingURL=assignees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignees.js","sources":["../../../server/src/controllers/assignees.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { validateUpdateAssigneeOnEntity, validateLocale } from '../validation/review-workflows';\nimport { ENTITY_STAGE_ATTRIBUTE, STAGE_TRANSITION_UID } from '../constants/workflows';\n\nexport default {\n /**\n * Updates an entity's assignee.\n * @async\n * @param {Object} ctx - The Koa context object.\n * @param {Object} ctx.params - An object containing the parameters from the request URL.\n * @param {string} ctx.params.model_uid - The model UID of the entity.\n * @param {string} ctx.params.id - The ID of the entity to update.\n * @param {Object} ctx.request.body.data - Optional data object containing the new assignee ID for the entity.\n * @param {string} ctx.request.body.data.id - The ID of the new assignee for the entity.\n * @throws {ApplicationError} If review workflows is not activated on the specified model UID.\n * @throws {ValidationError} If the `data` object in the request body fails to pass validation.\n * @returns {Promise<void>} A promise that resolves when the entity's assignee has been updated.\n */\n async updateEntity(ctx: Context) {\n const assigneeService = getService('assignees');\n const workflowService = getService('workflows');\n const stagePermissions = getService('stage-permissions');\n\n const { model_uid: model, id: documentId } = ctx.params;\n const locale = (await validateLocale(ctx.request.query?.locale)) ?? undefined;\n\n const { sanitizeOutput } = strapi\n .plugin('content-manager')\n .service('permission-checker')\n .create({ userAbility: ctx.state.userAbility, model });\n\n // Retrieve the entity so we can get its current stage\n const entity = await strapi.documents(model).findOne({\n documentId,\n locale,\n populate: [ENTITY_STAGE_ATTRIBUTE],\n });\n\n if (!entity) {\n ctx.throw(404, 'Entity not found');\n }\n\n // Only allow users who can update the current stage to change the assignee\n const canTransitionStage = stagePermissions.can(\n STAGE_TRANSITION_UID,\n entity[ENTITY_STAGE_ATTRIBUTE]?.id\n );\n\n if (!canTransitionStage) {\n ctx.throw(403, 'Stage transition permission is required');\n }\n\n // TODO: check if user has update permission on the entity\n const { id: assigneeId } = await validateUpdateAssigneeOnEntity(\n ctx.request?.body?.data,\n 'You should pass a valid id to the body of the put request.'\n );\n\n await workflowService.assertContentTypeBelongsToWorkflow(model);\n\n const updatedEntity = await assigneeService.updateEntityAssignee(entity, model, assigneeId);\n\n ctx.body = { data: await sanitizeOutput(updatedEntity) };\n },\n};\n"],"names":["updateEntity","ctx","assigneeService","getService","workflowService","stagePermissions","model_uid","model","id","documentId","params","locale","validateLocale","request","query","undefined","sanitizeOutput","strapi","plugin","service","create","userAbility","state","entity","documents","findOne","populate","ENTITY_STAGE_ATTRIBUTE","throw","canTransitionStage","can","STAGE_TRANSITION_UID","assigneeId","validateUpdateAssigneeOnEntity","body","data","assertContentTypeBelongsToWorkflow","updatedEntity","updateEntityAssignee"],"mappings":";;;;;;AAMA,gBAAe;AACb;;;;;;;;;;;;MAaA,MAAMA,cAAaC,GAAY,EAAA;AAC7B,QAAA,MAAMC,kBAAkBC,gBAAW,CAAA,WAAA,CAAA;AACnC,QAAA,MAAMC,kBAAkBD,gBAAW,CAAA,WAAA,CAAA;AACnC,QAAA,MAAME,mBAAmBF,gBAAW,CAAA,mBAAA,CAAA;QAEpC,MAAM,EAAEG,WAAWC,KAAK,EAAEC,IAAIC,UAAU,EAAE,GAAGR,GAAAA,CAAIS,MAAM;QACvD,MAAMC,MAAAA,GAAS,MAAOC,8BAAAA,CAAeX,IAAIY,OAAO,CAACC,KAAK,EAAEH,MAAYI,CAAAA,IAAAA,SAAAA;AAEpE,QAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,MACxBC,CAAAA,MAAM,CAAC,iBAAA,CAAA,CACPC,OAAO,CAAC,oBACRC,CAAAA,CAAAA,MAAM,CAAC;YAAEC,WAAapB,EAAAA,GAAAA,CAAIqB,KAAK,CAACD,WAAW;AAAEd,YAAAA;AAAM,SAAA,CAAA;;AAGtD,QAAA,MAAMgB,SAAS,MAAMN,MAAAA,CAAOO,SAAS,CAACjB,KAAAA,CAAAA,CAAOkB,OAAO,CAAC;AACnDhB,YAAAA,UAAAA;AACAE,YAAAA,MAAAA;YACAe,QAAU,EAAA;AAACC,gBAAAA;AAAuB;AACpC,SAAA,CAAA;AAEA,QAAA,IAAI,CAACJ,MAAQ,EAAA;YACXtB,GAAI2B,CAAAA,KAAK,CAAC,GAAK,EAAA,kBAAA,CAAA;AACjB;;QAGA,MAAMC,kBAAAA,GAAqBxB,iBAAiByB,GAAG,CAC7CC,gCACAR,MAAM,CAACI,iCAAuB,EAAEnB,EAAAA,CAAAA;AAGlC,QAAA,IAAI,CAACqB,kBAAoB,EAAA;YACvB5B,GAAI2B,CAAAA,KAAK,CAAC,GAAK,EAAA,yCAAA,CAAA;AACjB;;QAGA,MAAM,EAAEpB,EAAIwB,EAAAA,UAAU,EAAE,GAAG,MAAMC,8CAAAA,CAC/BhC,GAAIY,CAAAA,OAAO,EAAEqB,IAAAA,EAAMC,IACnB,EAAA,4DAAA,CAAA;QAGF,MAAM/B,eAAAA,CAAgBgC,kCAAkC,CAAC7B,KAAAA,CAAAA;AAEzD,QAAA,MAAM8B,gBAAgB,MAAMnC,eAAAA,CAAgBoC,oBAAoB,CAACf,QAAQhB,KAAOyB,EAAAA,UAAAA,CAAAA;AAEhF/B,QAAAA,GAAAA,CAAIiC,IAAI,GAAG;AAAEC,YAAAA,IAAAA,EAAM,MAAMnB,cAAeqB,CAAAA,aAAAA;AAAe,SAAA;AACzD;AACF,CAAE;;;;"}
@@ -0,0 +1,55 @@
1
+ import { getService } from '../utils/index.mjs';
2
+ import { validateLocale, validateUpdateAssigneeOnEntity } from '../validation/review-workflows.mjs';
3
+ import { ENTITY_STAGE_ATTRIBUTE, STAGE_TRANSITION_UID } from '../constants/workflows.mjs';
4
+
5
+ var assignees = {
6
+ /**
7
+ * Updates an entity's assignee.
8
+ * @async
9
+ * @param {Object} ctx - The Koa context object.
10
+ * @param {Object} ctx.params - An object containing the parameters from the request URL.
11
+ * @param {string} ctx.params.model_uid - The model UID of the entity.
12
+ * @param {string} ctx.params.id - The ID of the entity to update.
13
+ * @param {Object} ctx.request.body.data - Optional data object containing the new assignee ID for the entity.
14
+ * @param {string} ctx.request.body.data.id - The ID of the new assignee for the entity.
15
+ * @throws {ApplicationError} If review workflows is not activated on the specified model UID.
16
+ * @throws {ValidationError} If the `data` object in the request body fails to pass validation.
17
+ * @returns {Promise<void>} A promise that resolves when the entity's assignee has been updated.
18
+ */ async updateEntity (ctx) {
19
+ const assigneeService = getService('assignees');
20
+ const workflowService = getService('workflows');
21
+ const stagePermissions = getService('stage-permissions');
22
+ const { model_uid: model, id: documentId } = ctx.params;
23
+ const locale = await validateLocale(ctx.request.query?.locale) ?? undefined;
24
+ const { sanitizeOutput } = strapi.plugin('content-manager').service('permission-checker').create({
25
+ userAbility: ctx.state.userAbility,
26
+ model
27
+ });
28
+ // Retrieve the entity so we can get its current stage
29
+ const entity = await strapi.documents(model).findOne({
30
+ documentId,
31
+ locale,
32
+ populate: [
33
+ ENTITY_STAGE_ATTRIBUTE
34
+ ]
35
+ });
36
+ if (!entity) {
37
+ ctx.throw(404, 'Entity not found');
38
+ }
39
+ // Only allow users who can update the current stage to change the assignee
40
+ const canTransitionStage = stagePermissions.can(STAGE_TRANSITION_UID, entity[ENTITY_STAGE_ATTRIBUTE]?.id);
41
+ if (!canTransitionStage) {
42
+ ctx.throw(403, 'Stage transition permission is required');
43
+ }
44
+ // TODO: check if user has update permission on the entity
45
+ const { id: assigneeId } = await validateUpdateAssigneeOnEntity(ctx.request?.body?.data, 'You should pass a valid id to the body of the put request.');
46
+ await workflowService.assertContentTypeBelongsToWorkflow(model);
47
+ const updatedEntity = await assigneeService.updateEntityAssignee(entity, model, assigneeId);
48
+ ctx.body = {
49
+ data: await sanitizeOutput(updatedEntity)
50
+ };
51
+ }
52
+ };
53
+
54
+ export { assignees as default };
55
+ //# sourceMappingURL=assignees.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignees.mjs","sources":["../../../server/src/controllers/assignees.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { validateUpdateAssigneeOnEntity, validateLocale } from '../validation/review-workflows';\nimport { ENTITY_STAGE_ATTRIBUTE, STAGE_TRANSITION_UID } from '../constants/workflows';\n\nexport default {\n /**\n * Updates an entity's assignee.\n * @async\n * @param {Object} ctx - The Koa context object.\n * @param {Object} ctx.params - An object containing the parameters from the request URL.\n * @param {string} ctx.params.model_uid - The model UID of the entity.\n * @param {string} ctx.params.id - The ID of the entity to update.\n * @param {Object} ctx.request.body.data - Optional data object containing the new assignee ID for the entity.\n * @param {string} ctx.request.body.data.id - The ID of the new assignee for the entity.\n * @throws {ApplicationError} If review workflows is not activated on the specified model UID.\n * @throws {ValidationError} If the `data` object in the request body fails to pass validation.\n * @returns {Promise<void>} A promise that resolves when the entity's assignee has been updated.\n */\n async updateEntity(ctx: Context) {\n const assigneeService = getService('assignees');\n const workflowService = getService('workflows');\n const stagePermissions = getService('stage-permissions');\n\n const { model_uid: model, id: documentId } = ctx.params;\n const locale = (await validateLocale(ctx.request.query?.locale)) ?? undefined;\n\n const { sanitizeOutput } = strapi\n .plugin('content-manager')\n .service('permission-checker')\n .create({ userAbility: ctx.state.userAbility, model });\n\n // Retrieve the entity so we can get its current stage\n const entity = await strapi.documents(model).findOne({\n documentId,\n locale,\n populate: [ENTITY_STAGE_ATTRIBUTE],\n });\n\n if (!entity) {\n ctx.throw(404, 'Entity not found');\n }\n\n // Only allow users who can update the current stage to change the assignee\n const canTransitionStage = stagePermissions.can(\n STAGE_TRANSITION_UID,\n entity[ENTITY_STAGE_ATTRIBUTE]?.id\n );\n\n if (!canTransitionStage) {\n ctx.throw(403, 'Stage transition permission is required');\n }\n\n // TODO: check if user has update permission on the entity\n const { id: assigneeId } = await validateUpdateAssigneeOnEntity(\n ctx.request?.body?.data,\n 'You should pass a valid id to the body of the put request.'\n );\n\n await workflowService.assertContentTypeBelongsToWorkflow(model);\n\n const updatedEntity = await assigneeService.updateEntityAssignee(entity, model, assigneeId);\n\n ctx.body = { data: await sanitizeOutput(updatedEntity) };\n },\n};\n"],"names":["updateEntity","ctx","assigneeService","getService","workflowService","stagePermissions","model_uid","model","id","documentId","params","locale","validateLocale","request","query","undefined","sanitizeOutput","strapi","plugin","service","create","userAbility","state","entity","documents","findOne","populate","ENTITY_STAGE_ATTRIBUTE","throw","canTransitionStage","can","STAGE_TRANSITION_UID","assigneeId","validateUpdateAssigneeOnEntity","body","data","assertContentTypeBelongsToWorkflow","updatedEntity","updateEntityAssignee"],"mappings":";;;;AAMA,gBAAe;AACb;;;;;;;;;;;;MAaA,MAAMA,cAAaC,GAAY,EAAA;AAC7B,QAAA,MAAMC,kBAAkBC,UAAW,CAAA,WAAA,CAAA;AACnC,QAAA,MAAMC,kBAAkBD,UAAW,CAAA,WAAA,CAAA;AACnC,QAAA,MAAME,mBAAmBF,UAAW,CAAA,mBAAA,CAAA;QAEpC,MAAM,EAAEG,WAAWC,KAAK,EAAEC,IAAIC,UAAU,EAAE,GAAGR,GAAAA,CAAIS,MAAM;QACvD,MAAMC,MAAAA,GAAS,MAAOC,cAAAA,CAAeX,IAAIY,OAAO,CAACC,KAAK,EAAEH,MAAYI,CAAAA,IAAAA,SAAAA;AAEpE,QAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,MACxBC,CAAAA,MAAM,CAAC,iBAAA,CAAA,CACPC,OAAO,CAAC,oBACRC,CAAAA,CAAAA,MAAM,CAAC;YAAEC,WAAapB,EAAAA,GAAAA,CAAIqB,KAAK,CAACD,WAAW;AAAEd,YAAAA;AAAM,SAAA,CAAA;;AAGtD,QAAA,MAAMgB,SAAS,MAAMN,MAAAA,CAAOO,SAAS,CAACjB,KAAAA,CAAAA,CAAOkB,OAAO,CAAC;AACnDhB,YAAAA,UAAAA;AACAE,YAAAA,MAAAA;YACAe,QAAU,EAAA;AAACC,gBAAAA;AAAuB;AACpC,SAAA,CAAA;AAEA,QAAA,IAAI,CAACJ,MAAQ,EAAA;YACXtB,GAAI2B,CAAAA,KAAK,CAAC,GAAK,EAAA,kBAAA,CAAA;AACjB;;QAGA,MAAMC,kBAAAA,GAAqBxB,iBAAiByB,GAAG,CAC7CC,sBACAR,MAAM,CAACI,uBAAuB,EAAEnB,EAAAA,CAAAA;AAGlC,QAAA,IAAI,CAACqB,kBAAoB,EAAA;YACvB5B,GAAI2B,CAAAA,KAAK,CAAC,GAAK,EAAA,yCAAA,CAAA;AACjB;;QAGA,MAAM,EAAEpB,EAAIwB,EAAAA,UAAU,EAAE,GAAG,MAAMC,8BAAAA,CAC/BhC,GAAIY,CAAAA,OAAO,EAAEqB,IAAAA,EAAMC,IACnB,EAAA,4DAAA,CAAA;QAGF,MAAM/B,eAAAA,CAAgBgC,kCAAkC,CAAC7B,KAAAA,CAAAA;AAEzD,QAAA,MAAM8B,gBAAgB,MAAMnC,eAAAA,CAAgBoC,oBAAoB,CAACf,QAAQhB,KAAOyB,EAAAA,UAAAA,CAAAA;AAEhF/B,QAAAA,GAAAA,CAAIiC,IAAI,GAAG;AAAEC,YAAAA,IAAAA,EAAM,MAAMnB,cAAeqB,CAAAA,aAAAA;AAAe,SAAA;AACzD;AACF,CAAE;;;;"}