@strapi/review-workflows 0.0.0-next.f698d55751345c4ca87477ef683475c1a68f310a → 0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7

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 (412) hide show
  1. package/dist/admin/assets/balloon.png.js +6 -0
  2. package/dist/admin/assets/balloon.png.js.map +1 -0
  3. package/dist/admin/assets/balloon.png.mjs +4 -0
  4. package/dist/admin/assets/balloon.png.mjs.map +1 -0
  5. package/dist/admin/assets/purchase-page-illustration-dark.jpg.js +6 -0
  6. package/dist/admin/assets/purchase-page-illustration-dark.jpg.js.map +1 -0
  7. package/dist/admin/assets/purchase-page-illustration-dark.jpg.mjs +4 -0
  8. package/dist/admin/assets/purchase-page-illustration-dark.jpg.mjs.map +1 -0
  9. package/dist/admin/assets/purchase-page-illustration-light.jpg.js +6 -0
  10. package/dist/admin/assets/purchase-page-illustration-light.jpg.js.map +1 -0
  11. package/dist/admin/assets/purchase-page-illustration-light.jpg.mjs +4 -0
  12. package/dist/admin/assets/purchase-page-illustration-light.jpg.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/components/Widgets.js +142 -0
  18. package/dist/admin/components/Widgets.js.map +1 -0
  19. package/dist/admin/components/Widgets.mjs +140 -0
  20. package/dist/admin/components/Widgets.mjs.map +1 -0
  21. package/dist/admin/constants.js +18 -0
  22. package/dist/admin/constants.js.map +1 -0
  23. package/dist/admin/constants.mjs +12 -0
  24. package/dist/admin/constants.mjs.map +1 -0
  25. package/dist/admin/index.js +116 -3
  26. package/dist/admin/index.js.map +1 -1
  27. package/dist/admin/index.mjs +111 -3
  28. package/dist/admin/index.mjs.map +1 -1
  29. package/dist/admin/modules/hooks.js +8 -0
  30. package/dist/admin/modules/hooks.js.map +1 -0
  31. package/dist/admin/modules/hooks.mjs +6 -0
  32. package/dist/admin/modules/hooks.mjs.map +1 -0
  33. package/dist/admin/router.js +30 -0
  34. package/dist/admin/router.js.map +1 -0
  35. package/dist/admin/router.mjs +28 -0
  36. package/dist/admin/router.mjs.map +1 -0
  37. package/dist/admin/routes/content-manager/model/components/TableColumns.js +44 -0
  38. package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -0
  39. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs +41 -0
  40. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -0
  41. package/dist/admin/routes/content-manager/model/constants.js +60 -0
  42. package/dist/admin/routes/content-manager/model/constants.js.map +1 -0
  43. package/dist/admin/routes/content-manager/model/constants.mjs +58 -0
  44. package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -0
  45. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js +169 -0
  46. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -0
  47. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs +148 -0
  48. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -0
  49. package/dist/admin/routes/content-manager/model/id/components/Header.js +31 -0
  50. package/dist/admin/routes/content-manager/model/id/components/Header.js.map +1 -0
  51. package/dist/admin/routes/content-manager/model/id/components/Header.mjs +29 -0
  52. package/dist/admin/routes/content-manager/model/id/components/Header.mjs.map +1 -0
  53. package/dist/admin/routes/content-manager/model/id/components/Panel.js +39 -0
  54. package/dist/admin/routes/content-manager/model/id/components/Panel.js.map +1 -0
  55. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs +37 -0
  56. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs.map +1 -0
  57. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js +329 -0
  58. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -0
  59. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +308 -0
  60. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -0
  61. package/dist/admin/routes/content-manager/model/id/components/constants.js +8 -0
  62. package/dist/admin/routes/content-manager/model/id/components/constants.js.map +1 -0
  63. package/dist/admin/routes/content-manager/model/id/components/constants.mjs +5 -0
  64. package/dist/admin/routes/content-manager/model/id/components/constants.mjs.map +1 -0
  65. package/dist/admin/routes/purchase-review-workflows.js +194 -0
  66. package/dist/admin/routes/purchase-review-workflows.js.map +1 -0
  67. package/dist/admin/routes/purchase-review-workflows.mjs +192 -0
  68. package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -0
  69. package/dist/admin/routes/settings/components/AddStage.js +51 -0
  70. package/dist/admin/routes/settings/components/AddStage.js.map +1 -0
  71. package/dist/admin/routes/settings/components/AddStage.mjs +49 -0
  72. package/dist/admin/routes/settings/components/AddStage.mjs.map +1 -0
  73. package/dist/admin/routes/settings/components/Layout.js +86 -0
  74. package/dist/admin/routes/settings/components/Layout.js.map +1 -0
  75. package/dist/admin/routes/settings/components/Layout.mjs +82 -0
  76. package/dist/admin/routes/settings/components/Layout.mjs.map +1 -0
  77. package/dist/admin/routes/settings/components/StageDragPreview.js +40 -0
  78. package/dist/admin/routes/settings/components/StageDragPreview.js.map +1 -0
  79. package/dist/admin/routes/settings/components/StageDragPreview.mjs +38 -0
  80. package/dist/admin/routes/settings/components/StageDragPreview.mjs.map +1 -0
  81. package/dist/admin/routes/settings/components/Stages.js +592 -0
  82. package/dist/admin/routes/settings/components/Stages.js.map +1 -0
  83. package/dist/admin/routes/settings/components/Stages.mjs +571 -0
  84. package/dist/admin/routes/settings/components/Stages.mjs.map +1 -0
  85. package/dist/admin/routes/settings/components/WorkflowAttributes.js +206 -0
  86. package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -0
  87. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +204 -0
  88. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -0
  89. package/dist/admin/routes/settings/constants.js +8 -0
  90. package/dist/admin/routes/settings/constants.js.map +1 -0
  91. package/dist/admin/routes/settings/constants.mjs +6 -0
  92. package/dist/admin/routes/settings/constants.mjs.map +1 -0
  93. package/dist/admin/routes/settings/hooks/useDragAndDrop.js +193 -0
  94. package/dist/admin/routes/settings/hooks/useDragAndDrop.js.map +1 -0
  95. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs +170 -0
  96. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs.map +1 -0
  97. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js +94 -0
  98. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js.map +1 -0
  99. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs +73 -0
  100. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
  101. package/dist/admin/routes/settings/hooks/useReviewWorkflows.js +171 -0
  102. package/dist/admin/routes/settings/hooks/useReviewWorkflows.js.map +1 -0
  103. package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs +150 -0
  104. package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs.map +1 -0
  105. package/dist/admin/routes/settings/id.js +411 -0
  106. package/dist/admin/routes/settings/id.js.map +1 -0
  107. package/dist/admin/routes/settings/id.mjs +389 -0
  108. package/dist/admin/routes/settings/id.mjs.map +1 -0
  109. package/dist/admin/routes/settings/index.js +294 -0
  110. package/dist/admin/routes/settings/index.js.map +1 -0
  111. package/dist/admin/routes/settings/index.mjs +272 -0
  112. package/dist/admin/routes/settings/index.mjs.map +1 -0
  113. package/dist/admin/services/admin.js +23 -0
  114. package/dist/admin/services/admin.js.map +1 -0
  115. package/dist/admin/services/admin.mjs +21 -0
  116. package/dist/admin/services/admin.mjs.map +1 -0
  117. package/dist/admin/services/api.js +15 -0
  118. package/dist/admin/services/api.js.map +1 -0
  119. package/dist/admin/services/api.mjs +13 -0
  120. package/dist/admin/services/api.mjs.map +1 -0
  121. package/dist/admin/services/content-manager.js +116 -0
  122. package/dist/admin/services/content-manager.js.map +1 -0
  123. package/dist/admin/services/content-manager.mjs +110 -0
  124. package/dist/admin/services/content-manager.mjs.map +1 -0
  125. package/dist/admin/services/settings.js +123 -0
  126. package/dist/admin/services/settings.js.map +1 -0
  127. package/dist/admin/services/settings.mjs +118 -0
  128. package/dist/admin/services/settings.mjs.map +1 -0
  129. package/dist/admin/src/components/Widgets.d.ts +2 -0
  130. package/dist/admin/src/routes/content-manager/model/id/components/AssigneeSelect.d.ts +4 -0
  131. package/dist/admin/src/routes/content-manager/model/id/components/Header.d.ts +5 -0
  132. package/dist/admin/src/routes/content-manager/model/id/components/StageSelect.d.ts +3 -0
  133. package/dist/admin/src/services/admin.d.ts +1 -1
  134. package/dist/admin/src/services/api.d.ts +1 -1
  135. package/dist/admin/src/services/content-manager.d.ts +6 -5
  136. package/dist/admin/src/services/settings.d.ts +3 -3
  137. package/dist/admin/translations/en.json.js +22 -0
  138. package/dist/admin/translations/en.json.js.map +1 -0
  139. package/dist/admin/translations/en.json.mjs +20 -0
  140. package/dist/admin/translations/en.json.mjs.map +1 -0
  141. package/dist/admin/translations/uk.json.js +16 -0
  142. package/dist/admin/translations/uk.json.js.map +1 -0
  143. package/dist/admin/translations/uk.json.mjs +14 -0
  144. package/dist/admin/translations/uk.json.mjs.map +1 -0
  145. package/dist/admin/utils/api.js +22 -0
  146. package/dist/admin/utils/api.js.map +1 -0
  147. package/dist/admin/utils/api.mjs +19 -0
  148. package/dist/admin/utils/api.mjs.map +1 -0
  149. package/dist/admin/utils/cm-hooks.js +23 -0
  150. package/dist/admin/utils/cm-hooks.js.map +1 -0
  151. package/dist/admin/utils/cm-hooks.mjs +21 -0
  152. package/dist/admin/utils/cm-hooks.mjs.map +1 -0
  153. package/dist/admin/utils/colors.js +50 -0
  154. package/dist/admin/utils/colors.js.map +1 -0
  155. package/dist/admin/utils/colors.mjs +47 -0
  156. package/dist/admin/utils/colors.mjs.map +1 -0
  157. package/dist/admin/utils/translations.js +11 -0
  158. package/dist/admin/utils/translations.js.map +1 -0
  159. package/dist/admin/utils/translations.mjs +9 -0
  160. package/dist/admin/utils/translations.mjs.map +1 -0
  161. package/dist/admin/utils/users.js +17 -0
  162. package/dist/admin/utils/users.js.map +1 -0
  163. package/dist/admin/utils/users.mjs +15 -0
  164. package/dist/admin/utils/users.mjs.map +1 -0
  165. package/dist/server/bootstrap.js +54 -0
  166. package/dist/server/bootstrap.js.map +1 -0
  167. package/dist/server/bootstrap.mjs +52 -0
  168. package/dist/server/bootstrap.mjs.map +1 -0
  169. package/dist/server/config/actions.js +47 -0
  170. package/dist/server/config/actions.js.map +1 -0
  171. package/dist/server/config/actions.mjs +45 -0
  172. package/dist/server/config/actions.mjs.map +1 -0
  173. package/dist/server/constants/default-stages.json.js +23 -0
  174. package/dist/server/constants/default-stages.json.js.map +1 -0
  175. package/dist/server/constants/default-stages.json.mjs +21 -0
  176. package/dist/server/constants/default-stages.json.mjs.map +1 -0
  177. package/dist/server/constants/default-workflow.json.js +12 -0
  178. package/dist/server/constants/default-workflow.json.js.map +1 -0
  179. package/dist/server/constants/default-workflow.json.mjs +7 -0
  180. package/dist/server/constants/default-workflow.json.mjs.map +1 -0
  181. package/dist/server/constants/webhook-events.js +12 -0
  182. package/dist/server/constants/webhook-events.js.map +1 -0
  183. package/dist/server/constants/webhook-events.mjs +7 -0
  184. package/dist/server/constants/webhook-events.mjs.map +1 -0
  185. package/dist/server/constants/workflows.js +53 -0
  186. package/dist/server/constants/workflows.js.map +1 -0
  187. package/dist/server/constants/workflows.mjs +42 -0
  188. package/dist/server/constants/workflows.mjs.map +1 -0
  189. package/dist/server/content-types/index.js +12 -0
  190. package/dist/server/content-types/index.js.map +1 -0
  191. package/dist/server/content-types/index.mjs +10 -0
  192. package/dist/server/content-types/index.mjs.map +1 -0
  193. package/dist/server/content-types/workflow/index.js +50 -0
  194. package/dist/server/content-types/workflow/index.js.map +1 -0
  195. package/dist/server/content-types/workflow/index.mjs +48 -0
  196. package/dist/server/content-types/workflow/index.mjs.map +1 -0
  197. package/dist/server/content-types/workflow-stage/index.js +54 -0
  198. package/dist/server/content-types/workflow-stage/index.js.map +1 -0
  199. package/dist/server/content-types/workflow-stage/index.mjs +52 -0
  200. package/dist/server/content-types/workflow-stage/index.mjs.map +1 -0
  201. package/dist/server/controllers/assignees.js +57 -0
  202. package/dist/server/controllers/assignees.js.map +1 -0
  203. package/dist/server/controllers/assignees.mjs +55 -0
  204. package/dist/server/controllers/assignees.mjs.map +1 -0
  205. package/dist/server/controllers/index.js +16 -0
  206. package/dist/server/controllers/index.js.map +1 -0
  207. package/dist/server/controllers/index.mjs +14 -0
  208. package/dist/server/controllers/index.mjs.map +1 -0
  209. package/dist/server/controllers/stages.js +167 -0
  210. package/dist/server/controllers/stages.js.map +1 -0
  211. package/dist/server/controllers/stages.mjs +165 -0
  212. package/dist/server/controllers/stages.mjs.map +1 -0
  213. package/dist/server/controllers/workflows.js +136 -0
  214. package/dist/server/controllers/workflows.js.map +1 -0
  215. package/dist/server/controllers/workflows.mjs +134 -0
  216. package/dist/server/controllers/workflows.mjs.map +1 -0
  217. package/dist/server/destroy.js +6 -0
  218. package/dist/server/destroy.js.map +1 -0
  219. package/dist/server/destroy.mjs +4 -0
  220. package/dist/server/destroy.mjs.map +1 -0
  221. package/dist/server/homepage/controllers/homepage.js +15 -0
  222. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  223. package/dist/server/homepage/controllers/homepage.mjs +13 -0
  224. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  225. package/dist/server/homepage/controllers/index.js +10 -0
  226. package/dist/server/homepage/controllers/index.js.map +1 -0
  227. package/dist/server/homepage/controllers/index.mjs +8 -0
  228. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  229. package/dist/server/homepage/index.js +14 -0
  230. package/dist/server/homepage/index.js.map +1 -0
  231. package/dist/server/homepage/index.mjs +12 -0
  232. package/dist/server/homepage/index.mjs.map +1 -0
  233. package/dist/server/homepage/routes/homepage.js +25 -0
  234. package/dist/server/homepage/routes/homepage.js.map +1 -0
  235. package/dist/server/homepage/routes/homepage.mjs +23 -0
  236. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  237. package/dist/server/homepage/routes/index.js +10 -0
  238. package/dist/server/homepage/routes/index.js.map +1 -0
  239. package/dist/server/homepage/routes/index.mjs +8 -0
  240. package/dist/server/homepage/routes/index.mjs.map +1 -0
  241. package/dist/server/homepage/services/homepage.js +24 -0
  242. package/dist/server/homepage/services/homepage.js.map +1 -0
  243. package/dist/server/homepage/services/homepage.mjs +22 -0
  244. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  245. package/dist/server/homepage/services/index.js +10 -0
  246. package/dist/server/homepage/services/index.js.map +1 -0
  247. package/dist/server/homepage/services/index.mjs +8 -0
  248. package/dist/server/homepage/services/index.mjs.map +1 -0
  249. package/dist/server/index.js +25 -8076
  250. package/dist/server/index.js.map +1 -1
  251. package/dist/server/index.mjs +24 -8078
  252. package/dist/server/index.mjs.map +1 -1
  253. package/dist/server/middlewares/review-workflows.js +42 -0
  254. package/dist/server/middlewares/review-workflows.js.map +1 -0
  255. package/dist/server/middlewares/review-workflows.mjs +37 -0
  256. package/dist/server/middlewares/review-workflows.mjs.map +1 -0
  257. package/dist/server/migrations/handle-deleted-ct-in-workflows.js +40 -0
  258. package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -0
  259. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs +38 -0
  260. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -0
  261. package/dist/server/migrations/multiple-workflows.js +41 -0
  262. package/dist/server/migrations/multiple-workflows.js.map +1 -0
  263. package/dist/server/migrations/multiple-workflows.mjs +39 -0
  264. package/dist/server/migrations/multiple-workflows.mjs.map +1 -0
  265. package/dist/server/migrations/set-stages-default-color.js +22 -0
  266. package/dist/server/migrations/set-stages-default-color.js.map +1 -0
  267. package/dist/server/migrations/set-stages-default-color.mjs +20 -0
  268. package/dist/server/migrations/set-stages-default-color.mjs.map +1 -0
  269. package/dist/server/migrations/set-stages-roles.js +56 -0
  270. package/dist/server/migrations/set-stages-roles.js.map +1 -0
  271. package/dist/server/migrations/set-stages-roles.mjs +54 -0
  272. package/dist/server/migrations/set-stages-roles.mjs.map +1 -0
  273. package/dist/server/migrations/set-workflow-default-name.js +29 -0
  274. package/dist/server/migrations/set-workflow-default-name.js.map +1 -0
  275. package/dist/server/migrations/set-workflow-default-name.mjs +27 -0
  276. package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -0
  277. package/dist/server/migrations/shorten-stage-attribute.js +45 -0
  278. package/dist/server/migrations/shorten-stage-attribute.js.map +1 -0
  279. package/dist/server/migrations/shorten-stage-attribute.mjs +43 -0
  280. package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -0
  281. package/dist/server/register.js +116 -0
  282. package/dist/server/register.js.map +1 -0
  283. package/dist/server/register.mjs +114 -0
  284. package/dist/server/register.mjs.map +1 -0
  285. package/dist/server/routes/index.js +12 -0
  286. package/dist/server/routes/index.js.map +1 -0
  287. package/dist/server/routes/index.mjs +10 -0
  288. package/dist/server/routes/index.mjs.map +1 -0
  289. package/dist/server/routes/review-workflows.js +186 -0
  290. package/dist/server/routes/review-workflows.js.map +1 -0
  291. package/dist/server/routes/review-workflows.mjs +184 -0
  292. package/dist/server/routes/review-workflows.mjs.map +1 -0
  293. package/dist/server/routes/utils.js +11 -0
  294. package/dist/server/routes/utils.js.map +1 -0
  295. package/dist/server/routes/utils.mjs +9 -0
  296. package/dist/server/routes/utils.mjs.map +1 -0
  297. package/dist/server/services/assignees.js +68 -0
  298. package/dist/server/services/assignees.js.map +1 -0
  299. package/dist/server/services/assignees.mjs +66 -0
  300. package/dist/server/services/assignees.mjs.map +1 -0
  301. package/dist/server/services/document-service-middleware.js +130 -0
  302. package/dist/server/services/document-service-middleware.js.map +1 -0
  303. package/dist/server/services/document-service-middleware.mjs +128 -0
  304. package/dist/server/services/document-service-middleware.mjs.map +1 -0
  305. package/dist/server/services/index.js +26 -0
  306. package/dist/server/services/index.js.map +1 -0
  307. package/dist/server/services/index.mjs +24 -0
  308. package/dist/server/services/index.mjs.map +1 -0
  309. package/dist/server/services/metrics/index.js +67 -0
  310. package/dist/server/services/metrics/index.js.map +1 -0
  311. package/dist/server/services/metrics/index.mjs +55 -0
  312. package/dist/server/services/metrics/index.mjs.map +1 -0
  313. package/dist/server/services/metrics/weekly-metrics.js +84 -0
  314. package/dist/server/services/metrics/weekly-metrics.js.map +1 -0
  315. package/dist/server/services/metrics/weekly-metrics.mjs +82 -0
  316. package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -0
  317. package/dist/server/services/stage-permissions.js +59 -0
  318. package/dist/server/services/stage-permissions.js.map +1 -0
  319. package/dist/server/services/stage-permissions.mjs +57 -0
  320. package/dist/server/services/stage-permissions.mjs.map +1 -0
  321. package/dist/server/services/stages.js +353 -0
  322. package/dist/server/services/stages.js.map +1 -0
  323. package/dist/server/services/stages.mjs +351 -0
  324. package/dist/server/services/stages.mjs.map +1 -0
  325. package/dist/server/services/validation.js +69 -0
  326. package/dist/server/services/validation.js.map +1 -0
  327. package/dist/server/services/validation.mjs +67 -0
  328. package/dist/server/services/validation.mjs.map +1 -0
  329. package/dist/server/services/workflow-content-types.js +90 -0
  330. package/dist/server/services/workflow-content-types.js.map +1 -0
  331. package/dist/server/services/workflow-content-types.mjs +88 -0
  332. package/dist/server/services/workflow-content-types.mjs.map +1 -0
  333. package/dist/server/services/workflows.js +279 -0
  334. package/dist/server/services/workflows.js.map +1 -0
  335. package/dist/server/services/workflows.mjs +277 -0
  336. package/dist/server/services/workflows.mjs.map +1 -0
  337. package/dist/server/src/controllers/index.d.ts.map +1 -1
  338. package/dist/server/src/homepage/controllers/homepage.d.ts +6 -0
  339. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  340. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  341. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  342. package/dist/server/src/homepage/index.d.ts +15 -0
  343. package/dist/server/src/homepage/index.d.ts.map +1 -0
  344. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  345. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  346. package/dist/server/src/homepage/routes/index.d.ts +4 -0
  347. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  348. package/dist/server/src/homepage/services/homepage.d.ts +9 -0
  349. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  350. package/dist/server/src/homepage/services/index.d.ts +8 -0
  351. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  352. package/dist/server/src/index.d.ts +6 -0
  353. package/dist/server/src/index.d.ts.map +1 -1
  354. package/dist/server/src/routes/index.d.ts +1 -0
  355. package/dist/server/src/routes/index.d.ts.map +1 -1
  356. package/dist/server/src/services/document-service-middleware.d.ts +1 -1
  357. package/dist/server/src/services/document-service-middleware.d.ts.map +1 -1
  358. package/dist/server/src/services/index.d.ts +5 -0
  359. package/dist/server/src/services/index.d.ts.map +1 -1
  360. package/dist/server/utils/index.js +16 -0
  361. package/dist/server/utils/index.js.map +1 -0
  362. package/dist/server/utils/index.mjs +13 -0
  363. package/dist/server/utils/index.mjs.map +1 -0
  364. package/dist/server/utils/review-workflows.js +36 -0
  365. package/dist/server/utils/review-workflows.js.map +1 -0
  366. package/dist/server/utils/review-workflows.mjs +30 -0
  367. package/dist/server/utils/review-workflows.mjs.map +1 -0
  368. package/dist/server/validation/review-workflows.js +71 -0
  369. package/dist/server/validation/review-workflows.js.map +1 -0
  370. package/dist/server/validation/review-workflows.mjs +65 -0
  371. package/dist/server/validation/review-workflows.mjs.map +1 -0
  372. package/dist/shared/contracts/homepage.d.ts +26 -0
  373. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  374. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  375. package/package.json +16 -14
  376. package/dist/_chunks/Layout-DAfX35xh.js +0 -250
  377. package/dist/_chunks/Layout-DAfX35xh.js.map +0 -1
  378. package/dist/_chunks/Layout-DTcaK6xT.mjs +0 -233
  379. package/dist/_chunks/Layout-DTcaK6xT.mjs.map +0 -1
  380. package/dist/_chunks/en-CYgjfSep.js +0 -15
  381. package/dist/_chunks/en-CYgjfSep.js.map +0 -1
  382. package/dist/_chunks/en-D9dxziEb.mjs +0 -15
  383. package/dist/_chunks/en-D9dxziEb.mjs.map +0 -1
  384. package/dist/_chunks/id-CKzKf6TF.js +0 -1293
  385. package/dist/_chunks/id-CKzKf6TF.js.map +0 -1
  386. package/dist/_chunks/id-CeWP_af0.mjs +0 -1274
  387. package/dist/_chunks/id-CeWP_af0.mjs.map +0 -1
  388. package/dist/_chunks/index-BsGVnBaL.js +0 -832
  389. package/dist/_chunks/index-BsGVnBaL.js.map +0 -1
  390. package/dist/_chunks/index-Dv9tQUGq.mjs +0 -213
  391. package/dist/_chunks/index-Dv9tQUGq.mjs.map +0 -1
  392. package/dist/_chunks/index-DzQoUVQo.mjs +0 -815
  393. package/dist/_chunks/index-DzQoUVQo.mjs.map +0 -1
  394. package/dist/_chunks/index-bL6TS44K.js +0 -231
  395. package/dist/_chunks/index-bL6TS44K.js.map +0 -1
  396. package/dist/_chunks/purchase-review-workflows-KiBiYXNZ.js +0 -52
  397. package/dist/_chunks/purchase-review-workflows-KiBiYXNZ.js.map +0 -1
  398. package/dist/_chunks/purchase-review-workflows-WyeSs4Y4.mjs +0 -52
  399. package/dist/_chunks/purchase-review-workflows-WyeSs4Y4.mjs.map +0 -1
  400. package/dist/_chunks/router-BUgAAtkq.mjs +0 -24
  401. package/dist/_chunks/router-BUgAAtkq.mjs.map +0 -1
  402. package/dist/_chunks/router-DOrCMw1R.js +0 -24
  403. package/dist/_chunks/router-DOrCMw1R.js.map +0 -1
  404. package/dist/admin/src/routes/content-manager/[model]/[id]/components/AssigneeSelect.d.ts +0 -2
  405. package/dist/admin/src/routes/content-manager/[model]/[id]/components/StageSelect.d.ts +0 -1
  406. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/AssigneeFilter.d.ts +0 -0
  407. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/StageFilter.d.ts +0 -0
  408. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/TableColumns.d.ts +0 -0
  409. /package/dist/admin/src/routes/content-manager/{[model] → model}/configure/constants.d.ts +0 -0
  410. /package/dist/admin/src/routes/content-manager/{[model] → model}/constants.d.ts +0 -0
  411. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/Panel.d.ts +0 -0
  412. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/constants.d.ts +0 -0
@@ -0,0 +1,43 @@
1
+ import semver from 'semver';
2
+ import { getOr } from 'lodash/fp';
3
+ import { STAGE_MODEL_UID } from '../constants/workflows.mjs';
4
+
5
+ function checkVersionThreshold(startVersion, currentVersion, thresholdVersion) {
6
+ return semver.gte(currentVersion, thresholdVersion) && semver.lt(startVersion, thresholdVersion);
7
+ }
8
+ /**
9
+ * Shorten strapi stage name
10
+ */ async function migrateStageAttribute({ oldContentTypes, contentTypes }) {
11
+ const getRWVersion = getOr('0.0.0', `${STAGE_MODEL_UID}.options.version`);
12
+ const oldRWVersion = getRWVersion(oldContentTypes);
13
+ const currentRWVersion = getRWVersion(contentTypes);
14
+ checkVersionThreshold(oldRWVersion, currentRWVersion, '1.1.0');
15
+ // TODO: Find tables with something else than `findTables` function
16
+ // if (migrationNeeded) {
17
+ // const oldAttributeTableName = 'strapi_review_workflows_stage';
18
+ // const newAttributeTableName = 'strapi_stage';
19
+ // // const tables = await findTables({ strapi }, new RegExp(oldAttributeTableName));
20
+ // await async.map(tables, async (tableName: string) => {
21
+ // const newTableName = tableName.replace(oldAttributeTableName, newAttributeTableName);
22
+ // const alreadyHasNextTable = await strapi.db.connection.schema.hasTable(newTableName);
23
+ // // The table can be already created but empty. In order to rename the old one, we need to drop the previously created empty one.
24
+ // if (alreadyHasNextTable) {
25
+ // const dataInTable = await strapi.db.connection(newTableName).select().limit(1);
26
+ // if (!dataInTable.length) {
27
+ // await strapi.db.connection.schema.dropTable(newTableName);
28
+ // }
29
+ // }
30
+ // try {
31
+ // await strapi.db.connection.schema.renameTable(tableName, newTableName);
32
+ // } catch (e: any) {
33
+ // strapi.log.warn(
34
+ // `An error occurred during the migration of ${tableName} table to ${newTableName}.\nIf ${newTableName} already exists, migration can't be done automatically.`
35
+ // );
36
+ // strapi.log.warn(e.message);
37
+ // }
38
+ // });
39
+ // }
40
+ }
41
+
42
+ export { migrateStageAttribute as default };
43
+ //# sourceMappingURL=shorten-stage-attribute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shorten-stage-attribute.mjs","sources":["../../../server/src/migrations/shorten-stage-attribute.ts"],"sourcesContent":["import semver from 'semver';\nimport { getOr } from 'lodash/fp';\nimport { async } from '@strapi/utils';\nimport { STAGE_MODEL_UID } from '../constants/workflows';\n\nfunction checkVersionThreshold(\n startVersion: string,\n currentVersion: string,\n thresholdVersion: string\n) {\n return semver.gte(currentVersion, thresholdVersion) && semver.lt(startVersion, thresholdVersion);\n}\n\n/**\n * Shorten strapi stage name\n */\nasync function migrateStageAttribute({ oldContentTypes, contentTypes }: any) {\n const getRWVersion = getOr('0.0.0', `${STAGE_MODEL_UID}.options.version`);\n const oldRWVersion = getRWVersion(oldContentTypes);\n const currentRWVersion = getRWVersion(contentTypes);\n\n const migrationNeeded = checkVersionThreshold(oldRWVersion, currentRWVersion, '1.1.0');\n\n // TODO: Find tables with something else than `findTables` function\n // if (migrationNeeded) {\n // const oldAttributeTableName = 'strapi_review_workflows_stage';\n // const newAttributeTableName = 'strapi_stage';\n // // const tables = await findTables({ strapi }, new RegExp(oldAttributeTableName));\n\n // await async.map(tables, async (tableName: string) => {\n // const newTableName = tableName.replace(oldAttributeTableName, newAttributeTableName);\n // const alreadyHasNextTable = await strapi.db.connection.schema.hasTable(newTableName);\n\n // // The table can be already created but empty. In order to rename the old one, we need to drop the previously created empty one.\n // if (alreadyHasNextTable) {\n // const dataInTable = await strapi.db.connection(newTableName).select().limit(1);\n // if (!dataInTable.length) {\n // await strapi.db.connection.schema.dropTable(newTableName);\n // }\n // }\n\n // try {\n // await strapi.db.connection.schema.renameTable(tableName, newTableName);\n // } catch (e: any) {\n // strapi.log.warn(\n // `An error occurred during the migration of ${tableName} table to ${newTableName}.\\nIf ${newTableName} already exists, migration can't be done automatically.`\n // );\n // strapi.log.warn(e.message);\n // }\n // });\n // }\n}\n\nexport default migrateStageAttribute;\n"],"names":["checkVersionThreshold","startVersion","currentVersion","thresholdVersion","semver","gte","lt","migrateStageAttribute","oldContentTypes","contentTypes","getRWVersion","getOr","STAGE_MODEL_UID","oldRWVersion","currentRWVersion"],"mappings":";;;;AAKA,SAASA,qBACPC,CAAAA,YAAoB,EACpBC,cAAsB,EACtBC,gBAAwB,EAAA;IAExB,OAAOC,MAAAA,CAAOC,GAAG,CAACH,cAAAA,EAAgBC,qBAAqBC,MAAOE,CAAAA,EAAE,CAACL,YAAcE,EAAAA,gBAAAA,CAAAA;AACjF;AAEA;;AAEC,IACD,eAAeI,qBAAsB,CAAA,EAAEC,eAAe,EAAEC,YAAY,EAAO,EAAA;AACzE,IAAA,MAAMC,eAAeC,KAAM,CAAA,OAAA,EAAS,CAAGC,EAAAA,eAAAA,CAAgB,gBAAgB,CAAC,CAAA;AACxE,IAAA,MAAMC,eAAeH,YAAaF,CAAAA,eAAAA,CAAAA;AAClC,IAAA,MAAMM,mBAAmBJ,YAAaD,CAAAA,YAAAA,CAAAA;IAEdT,qBAAsBa,CAAAA,YAAAA,EAAcC,gBAAkB,EAAA,OAAA;AAE9E;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF;;;;"}
@@ -0,0 +1,116 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var index = require('./utils/index.js');
5
+ var shortenStageAttribute = require('./migrations/shorten-stage-attribute.js');
6
+ var setStagesDefaultColor = require('./migrations/set-stages-default-color.js');
7
+ var setStagesRoles = require('./migrations/set-stages-roles.js');
8
+ var setWorkflowDefaultName = require('./migrations/set-workflow-default-name.js');
9
+ var multipleWorkflows = require('./migrations/multiple-workflows.js');
10
+ var handleDeletedCtInWorkflows = require('./migrations/handle-deleted-ct-in-workflows.js');
11
+ var reviewWorkflows = require('./middlewares/review-workflows.js');
12
+ var reviewWorkflows$1 = require('./utils/review-workflows.js');
13
+ var workflows = require('./constants/workflows.js');
14
+
15
+ const setRelation = (attributeName, target, contentType)=>{
16
+ Object.assign(contentType.attributes, {
17
+ [attributeName]: {
18
+ writable: true,
19
+ private: false,
20
+ configurable: false,
21
+ visible: false,
22
+ useJoinTable: true,
23
+ type: 'relation',
24
+ relation: 'oneToOne',
25
+ target
26
+ }
27
+ });
28
+ return contentType;
29
+ };
30
+ /**
31
+ * Add the stage and assignee attributes to content types
32
+ */ function extendReviewWorkflowContentTypes({ strapi }) {
33
+ const contentTypeToExtend = reviewWorkflows$1.getVisibleContentTypesUID(strapi.contentTypes);
34
+ for (const contentTypeUID of contentTypeToExtend){
35
+ strapi.get('content-types').extend(contentTypeUID, (contentType)=>{
36
+ // Set Stage attribute
37
+ setRelation(workflows.ENTITY_STAGE_ATTRIBUTE, workflows.STAGE_MODEL_UID, contentType);
38
+ // Set Assignee attribute
39
+ setRelation(workflows.ENTITY_ASSIGNEE_ATTRIBUTE, 'admin::user', contentType);
40
+ });
41
+ }
42
+ }
43
+ /**
44
+ * Persist the stage & assignee attributes so they are not removed when downgrading to CE.
45
+ *
46
+ * TODO: V6 - Instead of persisting the join tables, always create the stage & assignee attributes, even in CE mode
47
+ * It was decided in V4 & V5 to not expose them in CE (as they pollute the CTs) but it's not worth given the complexity this needs
48
+ */ function persistRWOnDowngrade({ strapi }) {
49
+ const { removePersistedTablesWithSuffix, persistTables } = index.getAdminService('persist-tables');
50
+ return async ({ contentTypes })=>{
51
+ const getStageTableToPersist = (contentTypeUID)=>{
52
+ // Persist the stage join table
53
+ const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID);
54
+ const joinTableName = attributes[workflows.ENTITY_STAGE_ATTRIBUTE].joinTable.name;
55
+ return {
56
+ name: joinTableName,
57
+ dependsOn: [
58
+ {
59
+ name: tableName
60
+ }
61
+ ]
62
+ };
63
+ };
64
+ const getAssigneeTableToPersist = (contentTypeUID)=>{
65
+ // Persist the assignee join table
66
+ const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID);
67
+ const joinTableName = attributes[workflows.ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;
68
+ return {
69
+ name: joinTableName,
70
+ dependsOn: [
71
+ {
72
+ name: tableName
73
+ }
74
+ ]
75
+ };
76
+ };
77
+ const enabledRWContentTypes = fp.pipe([
78
+ reviewWorkflows$1.getVisibleContentTypesUID,
79
+ fp.filter((uid)=>reviewWorkflows$1.hasStageAttribute(contentTypes[uid]))
80
+ ])(contentTypes);
81
+ // Remove previously created join tables and persist the new ones
82
+ const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);
83
+ await removePersistedTablesWithSuffix('_strapi_stage_lnk');
84
+ await persistTables(stageJoinTablesToPersist);
85
+ // Remove previously created join tables and persist the new ones
86
+ const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);
87
+ await removePersistedTablesWithSuffix('_strapi_assignee_lnk');
88
+ await persistTables(assigneeJoinTablesToPersist);
89
+ };
90
+ }
91
+ var register = (async ({ strapi })=>{
92
+ // Data Migrations
93
+ strapi.hook('strapi::content-types.beforeSync').register(shortenStageAttribute);
94
+ strapi.hook('strapi::content-types.afterSync').register(persistRWOnDowngrade({
95
+ strapi
96
+ }));
97
+ strapi.hook('strapi::content-types.afterSync').register(setStagesDefaultColor).register(setStagesRoles).register(setWorkflowDefaultName).register(multipleWorkflows).register(handleDeletedCtInWorkflows);
98
+ // Middlewares
99
+ reviewWorkflows.default.contentTypeMiddleware(strapi);
100
+ // Schema customization
101
+ extendReviewWorkflowContentTypes({
102
+ strapi
103
+ });
104
+ // License limits
105
+ const reviewWorkflowsOptions = fp.defaultsDeep({
106
+ numberOfWorkflows: workflows.MAX_WORKFLOWS,
107
+ stagesPerWorkflow: workflows.MAX_STAGES_PER_WORKFLOW
108
+ }, strapi.ee.features.get('review-workflows'));
109
+ const workflowsValidationService = index.getService('validation', {
110
+ strapi
111
+ });
112
+ workflowsValidationService.register(reviewWorkflowsOptions);
113
+ });
114
+
115
+ module.exports = register;
116
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sources":["../../server/src/register.ts"],"sourcesContent":["import { defaultsDeep, filter, pipe, map } from 'lodash/fp';\n\nimport type { Core, UID } from '@strapi/types';\n\nimport { getService, getAdminService } from './utils';\nimport migrateStageAttribute from './migrations/shorten-stage-attribute';\nimport migrateReviewWorkflowStagesColor from './migrations/set-stages-default-color';\nimport migrateReviewWorkflowStagesRoles from './migrations/set-stages-roles';\nimport migrateReviewWorkflowName from './migrations/set-workflow-default-name';\nimport migrateWorkflowsContentTypes from './migrations/multiple-workflows';\nimport migrateDeletedCTInWorkflows from './migrations/handle-deleted-ct-in-workflows';\nimport reviewWorkflowsMiddlewares from './middlewares/review-workflows';\n\nimport { getVisibleContentTypesUID, hasStageAttribute } from './utils/review-workflows';\n\nimport {\n ENTITY_STAGE_ATTRIBUTE,\n ENTITY_ASSIGNEE_ATTRIBUTE,\n STAGE_MODEL_UID,\n MAX_WORKFLOWS,\n MAX_STAGES_PER_WORKFLOW,\n} from './constants/workflows';\n\nconst setRelation = (attributeName: any, target: any, contentType: any) => {\n Object.assign(contentType.attributes, {\n [attributeName]: {\n writable: true,\n private: false,\n configurable: false,\n visible: false,\n useJoinTable: true, // We want a join table to persist data when downgrading to CE\n type: 'relation',\n relation: 'oneToOne',\n target,\n },\n });\n\n return contentType;\n};\n\n/**\n * Add the stage and assignee attributes to content types\n */\nfunction extendReviewWorkflowContentTypes({ strapi }: { strapi: Core.Strapi }) {\n const contentTypeToExtend = getVisibleContentTypesUID(strapi.contentTypes);\n\n for (const contentTypeUID of contentTypeToExtend) {\n strapi.get('content-types').extend(contentTypeUID, (contentType: any) => {\n // Set Stage attribute\n setRelation(ENTITY_STAGE_ATTRIBUTE, STAGE_MODEL_UID, contentType);\n // Set Assignee attribute\n setRelation(ENTITY_ASSIGNEE_ATTRIBUTE, 'admin::user', contentType);\n });\n }\n}\n\n/**\n * Persist the stage & assignee attributes so they are not removed when downgrading to CE.\n *\n * TODO: V6 - Instead of persisting the join tables, always create the stage & assignee attributes, even in CE mode\n * It was decided in V4 & V5 to not expose them in CE (as they pollute the CTs) but it's not worth given the complexity this needs\n */\nfunction persistRWOnDowngrade({ strapi }: { strapi: Core.Strapi }) {\n const { removePersistedTablesWithSuffix, persistTables } = getAdminService('persist-tables');\n\n return async ({ contentTypes }: { contentTypes: Record<UID.ContentType, any> }) => {\n const getStageTableToPersist = (contentTypeUID: UID.ContentType) => {\n // Persist the stage join table\n const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID) as any;\n const joinTableName = attributes[ENTITY_STAGE_ATTRIBUTE].joinTable.name;\n return {\n name: joinTableName,\n dependsOn: [{ name: tableName }],\n };\n };\n\n const getAssigneeTableToPersist = (contentTypeUID: UID.ContentType) => {\n // Persist the assignee join table\n const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID) as any;\n const joinTableName = attributes[ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;\n return {\n name: joinTableName,\n dependsOn: [{ name: tableName }],\n };\n };\n\n const enabledRWContentTypes = pipe([\n getVisibleContentTypesUID,\n filter((uid: UID.ContentType) => hasStageAttribute(contentTypes[uid])),\n ])(contentTypes);\n\n // Remove previously created join tables and persist the new ones\n const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);\n await removePersistedTablesWithSuffix('_strapi_stage_lnk');\n await persistTables(stageJoinTablesToPersist);\n\n // Remove previously created join tables and persist the new ones\n const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);\n await removePersistedTablesWithSuffix('_strapi_assignee_lnk');\n await persistTables(assigneeJoinTablesToPersist);\n };\n}\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n // Data Migrations\n strapi.hook('strapi::content-types.beforeSync').register(migrateStageAttribute);\n strapi.hook('strapi::content-types.afterSync').register(persistRWOnDowngrade({ strapi }));\n strapi\n .hook('strapi::content-types.afterSync')\n .register(migrateReviewWorkflowStagesColor)\n .register(migrateReviewWorkflowStagesRoles)\n .register(migrateReviewWorkflowName)\n .register(migrateWorkflowsContentTypes)\n .register(migrateDeletedCTInWorkflows);\n\n // Middlewares\n reviewWorkflowsMiddlewares.contentTypeMiddleware(strapi);\n\n // Schema customization\n extendReviewWorkflowContentTypes({ strapi });\n\n // License limits\n const reviewWorkflowsOptions = defaultsDeep(\n {\n numberOfWorkflows: MAX_WORKFLOWS,\n stagesPerWorkflow: MAX_STAGES_PER_WORKFLOW,\n },\n strapi.ee.features.get('review-workflows')\n );\n const workflowsValidationService = getService('validation', { strapi });\n workflowsValidationService.register(reviewWorkflowsOptions);\n};\n"],"names":["setRelation","attributeName","target","contentType","Object","assign","attributes","writable","private","configurable","visible","useJoinTable","type","relation","extendReviewWorkflowContentTypes","strapi","contentTypeToExtend","getVisibleContentTypesUID","contentTypes","contentTypeUID","get","extend","ENTITY_STAGE_ATTRIBUTE","STAGE_MODEL_UID","ENTITY_ASSIGNEE_ATTRIBUTE","persistRWOnDowngrade","removePersistedTablesWithSuffix","persistTables","getAdminService","getStageTableToPersist","tableName","db","metadata","joinTableName","joinTable","name","dependsOn","getAssigneeTableToPersist","enabledRWContentTypes","pipe","filter","uid","hasStageAttribute","stageJoinTablesToPersist","map","assigneeJoinTablesToPersist","hook","register","migrateStageAttribute","migrateReviewWorkflowStagesColor","migrateReviewWorkflowStagesRoles","migrateReviewWorkflowName","migrateWorkflowsContentTypes","migrateDeletedCTInWorkflows","reviewWorkflowsMiddlewares","contentTypeMiddleware","reviewWorkflowsOptions","defaultsDeep","numberOfWorkflows","MAX_WORKFLOWS","stagesPerWorkflow","MAX_STAGES_PER_WORKFLOW","ee","features","workflowsValidationService","getService"],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { defaultsDeep, pipe, filter } from 'lodash/fp';
2
+ import { getService, getAdminService } from './utils/index.mjs';
3
+ import migrateStageAttribute from './migrations/shorten-stage-attribute.mjs';
4
+ import migrateReviewWorkflowStagesColor from './migrations/set-stages-default-color.mjs';
5
+ import migrateReviewWorkflowStagesRoles from './migrations/set-stages-roles.mjs';
6
+ import migrateReviewWorkflowName from './migrations/set-workflow-default-name.mjs';
7
+ import migrateWorkflowsContentTypes from './migrations/multiple-workflows.mjs';
8
+ import migrateDeletedCTInWorkflows from './migrations/handle-deleted-ct-in-workflows.mjs';
9
+ import reviewWorkflowsMiddlewares from './middlewares/review-workflows.mjs';
10
+ import { getVisibleContentTypesUID, hasStageAttribute } from './utils/review-workflows.mjs';
11
+ import { MAX_WORKFLOWS, MAX_STAGES_PER_WORKFLOW, STAGE_MODEL_UID, ENTITY_STAGE_ATTRIBUTE, ENTITY_ASSIGNEE_ATTRIBUTE } from './constants/workflows.mjs';
12
+
13
+ const setRelation = (attributeName, target, contentType)=>{
14
+ Object.assign(contentType.attributes, {
15
+ [attributeName]: {
16
+ writable: true,
17
+ private: false,
18
+ configurable: false,
19
+ visible: false,
20
+ useJoinTable: true,
21
+ type: 'relation',
22
+ relation: 'oneToOne',
23
+ target
24
+ }
25
+ });
26
+ return contentType;
27
+ };
28
+ /**
29
+ * Add the stage and assignee attributes to content types
30
+ */ function extendReviewWorkflowContentTypes({ strapi }) {
31
+ const contentTypeToExtend = getVisibleContentTypesUID(strapi.contentTypes);
32
+ for (const contentTypeUID of contentTypeToExtend){
33
+ strapi.get('content-types').extend(contentTypeUID, (contentType)=>{
34
+ // Set Stage attribute
35
+ setRelation(ENTITY_STAGE_ATTRIBUTE, STAGE_MODEL_UID, contentType);
36
+ // Set Assignee attribute
37
+ setRelation(ENTITY_ASSIGNEE_ATTRIBUTE, 'admin::user', contentType);
38
+ });
39
+ }
40
+ }
41
+ /**
42
+ * Persist the stage & assignee attributes so they are not removed when downgrading to CE.
43
+ *
44
+ * TODO: V6 - Instead of persisting the join tables, always create the stage & assignee attributes, even in CE mode
45
+ * It was decided in V4 & V5 to not expose them in CE (as they pollute the CTs) but it's not worth given the complexity this needs
46
+ */ function persistRWOnDowngrade({ strapi }) {
47
+ const { removePersistedTablesWithSuffix, persistTables } = getAdminService('persist-tables');
48
+ return async ({ contentTypes })=>{
49
+ const getStageTableToPersist = (contentTypeUID)=>{
50
+ // Persist the stage join table
51
+ const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID);
52
+ const joinTableName = attributes[ENTITY_STAGE_ATTRIBUTE].joinTable.name;
53
+ return {
54
+ name: joinTableName,
55
+ dependsOn: [
56
+ {
57
+ name: tableName
58
+ }
59
+ ]
60
+ };
61
+ };
62
+ const getAssigneeTableToPersist = (contentTypeUID)=>{
63
+ // Persist the assignee join table
64
+ const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID);
65
+ const joinTableName = attributes[ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;
66
+ return {
67
+ name: joinTableName,
68
+ dependsOn: [
69
+ {
70
+ name: tableName
71
+ }
72
+ ]
73
+ };
74
+ };
75
+ const enabledRWContentTypes = pipe([
76
+ getVisibleContentTypesUID,
77
+ filter((uid)=>hasStageAttribute(contentTypes[uid]))
78
+ ])(contentTypes);
79
+ // Remove previously created join tables and persist the new ones
80
+ const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);
81
+ await removePersistedTablesWithSuffix('_strapi_stage_lnk');
82
+ await persistTables(stageJoinTablesToPersist);
83
+ // Remove previously created join tables and persist the new ones
84
+ const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);
85
+ await removePersistedTablesWithSuffix('_strapi_assignee_lnk');
86
+ await persistTables(assigneeJoinTablesToPersist);
87
+ };
88
+ }
89
+ var register = (async ({ strapi })=>{
90
+ // Data Migrations
91
+ strapi.hook('strapi::content-types.beforeSync').register(migrateStageAttribute);
92
+ strapi.hook('strapi::content-types.afterSync').register(persistRWOnDowngrade({
93
+ strapi
94
+ }));
95
+ strapi.hook('strapi::content-types.afterSync').register(migrateReviewWorkflowStagesColor).register(migrateReviewWorkflowStagesRoles).register(migrateReviewWorkflowName).register(migrateWorkflowsContentTypes).register(migrateDeletedCTInWorkflows);
96
+ // Middlewares
97
+ reviewWorkflowsMiddlewares.contentTypeMiddleware(strapi);
98
+ // Schema customization
99
+ extendReviewWorkflowContentTypes({
100
+ strapi
101
+ });
102
+ // License limits
103
+ const reviewWorkflowsOptions = defaultsDeep({
104
+ numberOfWorkflows: MAX_WORKFLOWS,
105
+ stagesPerWorkflow: MAX_STAGES_PER_WORKFLOW
106
+ }, strapi.ee.features.get('review-workflows'));
107
+ const workflowsValidationService = getService('validation', {
108
+ strapi
109
+ });
110
+ workflowsValidationService.register(reviewWorkflowsOptions);
111
+ });
112
+
113
+ export { register as default };
114
+ //# sourceMappingURL=register.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.mjs","sources":["../../server/src/register.ts"],"sourcesContent":["import { defaultsDeep, filter, pipe, map } from 'lodash/fp';\n\nimport type { Core, UID } from '@strapi/types';\n\nimport { getService, getAdminService } from './utils';\nimport migrateStageAttribute from './migrations/shorten-stage-attribute';\nimport migrateReviewWorkflowStagesColor from './migrations/set-stages-default-color';\nimport migrateReviewWorkflowStagesRoles from './migrations/set-stages-roles';\nimport migrateReviewWorkflowName from './migrations/set-workflow-default-name';\nimport migrateWorkflowsContentTypes from './migrations/multiple-workflows';\nimport migrateDeletedCTInWorkflows from './migrations/handle-deleted-ct-in-workflows';\nimport reviewWorkflowsMiddlewares from './middlewares/review-workflows';\n\nimport { getVisibleContentTypesUID, hasStageAttribute } from './utils/review-workflows';\n\nimport {\n ENTITY_STAGE_ATTRIBUTE,\n ENTITY_ASSIGNEE_ATTRIBUTE,\n STAGE_MODEL_UID,\n MAX_WORKFLOWS,\n MAX_STAGES_PER_WORKFLOW,\n} from './constants/workflows';\n\nconst setRelation = (attributeName: any, target: any, contentType: any) => {\n Object.assign(contentType.attributes, {\n [attributeName]: {\n writable: true,\n private: false,\n configurable: false,\n visible: false,\n useJoinTable: true, // We want a join table to persist data when downgrading to CE\n type: 'relation',\n relation: 'oneToOne',\n target,\n },\n });\n\n return contentType;\n};\n\n/**\n * Add the stage and assignee attributes to content types\n */\nfunction extendReviewWorkflowContentTypes({ strapi }: { strapi: Core.Strapi }) {\n const contentTypeToExtend = getVisibleContentTypesUID(strapi.contentTypes);\n\n for (const contentTypeUID of contentTypeToExtend) {\n strapi.get('content-types').extend(contentTypeUID, (contentType: any) => {\n // Set Stage attribute\n setRelation(ENTITY_STAGE_ATTRIBUTE, STAGE_MODEL_UID, contentType);\n // Set Assignee attribute\n setRelation(ENTITY_ASSIGNEE_ATTRIBUTE, 'admin::user', contentType);\n });\n }\n}\n\n/**\n * Persist the stage & assignee attributes so they are not removed when downgrading to CE.\n *\n * TODO: V6 - Instead of persisting the join tables, always create the stage & assignee attributes, even in CE mode\n * It was decided in V4 & V5 to not expose them in CE (as they pollute the CTs) but it's not worth given the complexity this needs\n */\nfunction persistRWOnDowngrade({ strapi }: { strapi: Core.Strapi }) {\n const { removePersistedTablesWithSuffix, persistTables } = getAdminService('persist-tables');\n\n return async ({ contentTypes }: { contentTypes: Record<UID.ContentType, any> }) => {\n const getStageTableToPersist = (contentTypeUID: UID.ContentType) => {\n // Persist the stage join table\n const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID) as any;\n const joinTableName = attributes[ENTITY_STAGE_ATTRIBUTE].joinTable.name;\n return {\n name: joinTableName,\n dependsOn: [{ name: tableName }],\n };\n };\n\n const getAssigneeTableToPersist = (contentTypeUID: UID.ContentType) => {\n // Persist the assignee join table\n const { attributes, tableName } = strapi.db.metadata.get(contentTypeUID) as any;\n const joinTableName = attributes[ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;\n return {\n name: joinTableName,\n dependsOn: [{ name: tableName }],\n };\n };\n\n const enabledRWContentTypes = pipe([\n getVisibleContentTypesUID,\n filter((uid: UID.ContentType) => hasStageAttribute(contentTypes[uid])),\n ])(contentTypes);\n\n // Remove previously created join tables and persist the new ones\n const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);\n await removePersistedTablesWithSuffix('_strapi_stage_lnk');\n await persistTables(stageJoinTablesToPersist);\n\n // Remove previously created join tables and persist the new ones\n const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);\n await removePersistedTablesWithSuffix('_strapi_assignee_lnk');\n await persistTables(assigneeJoinTablesToPersist);\n };\n}\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n // Data Migrations\n strapi.hook('strapi::content-types.beforeSync').register(migrateStageAttribute);\n strapi.hook('strapi::content-types.afterSync').register(persistRWOnDowngrade({ strapi }));\n strapi\n .hook('strapi::content-types.afterSync')\n .register(migrateReviewWorkflowStagesColor)\n .register(migrateReviewWorkflowStagesRoles)\n .register(migrateReviewWorkflowName)\n .register(migrateWorkflowsContentTypes)\n .register(migrateDeletedCTInWorkflows);\n\n // Middlewares\n reviewWorkflowsMiddlewares.contentTypeMiddleware(strapi);\n\n // Schema customization\n extendReviewWorkflowContentTypes({ strapi });\n\n // License limits\n const reviewWorkflowsOptions = defaultsDeep(\n {\n numberOfWorkflows: MAX_WORKFLOWS,\n stagesPerWorkflow: MAX_STAGES_PER_WORKFLOW,\n },\n strapi.ee.features.get('review-workflows')\n );\n const workflowsValidationService = getService('validation', { strapi });\n workflowsValidationService.register(reviewWorkflowsOptions);\n};\n"],"names":["setRelation","attributeName","target","contentType","Object","assign","attributes","writable","private","configurable","visible","useJoinTable","type","relation","extendReviewWorkflowContentTypes","strapi","contentTypeToExtend","getVisibleContentTypesUID","contentTypes","contentTypeUID","get","extend","ENTITY_STAGE_ATTRIBUTE","STAGE_MODEL_UID","ENTITY_ASSIGNEE_ATTRIBUTE","persistRWOnDowngrade","removePersistedTablesWithSuffix","persistTables","getAdminService","getStageTableToPersist","tableName","db","metadata","joinTableName","joinTable","name","dependsOn","getAssigneeTableToPersist","enabledRWContentTypes","pipe","filter","uid","hasStageAttribute","stageJoinTablesToPersist","map","assigneeJoinTablesToPersist","hook","register","migrateStageAttribute","migrateReviewWorkflowStagesColor","migrateReviewWorkflowStagesRoles","migrateReviewWorkflowName","migrateWorkflowsContentTypes","migrateDeletedCTInWorkflows","reviewWorkflowsMiddlewares","contentTypeMiddleware","reviewWorkflowsOptions","defaultsDeep","numberOfWorkflows","MAX_WORKFLOWS","stagesPerWorkflow","MAX_STAGES_PER_WORKFLOW","ee","features","workflowsValidationService","getService"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var reviewWorkflows = require('./review-workflows.js');
4
+ var index = require('../homepage/index.js');
5
+
6
+ var routes = {
7
+ 'review-workflows': reviewWorkflows,
8
+ ...index.routes
9
+ };
10
+
11
+ module.exports = routes;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import reviewWorkflows from './review-workflows';\nimport homepage from '../homepage';\n\nexport default {\n 'review-workflows': reviewWorkflows,\n ...homepage.routes,\n};\n"],"names":["reviewWorkflows","homepage","routes"],"mappings":";;;;;AAGA,aAAe;IACb,kBAAoBA,EAAAA,eAAAA;AACpB,IAAA,GAAGC,MAASC;AACd,CAAE;;;;"}
@@ -0,0 +1,10 @@
1
+ import reviewWorkflows from './review-workflows.mjs';
2
+ import homepage from '../homepage/index.mjs';
3
+
4
+ var routes = {
5
+ 'review-workflows': reviewWorkflows,
6
+ ...homepage.routes
7
+ };
8
+
9
+ export { routes as default };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import reviewWorkflows from './review-workflows';\nimport homepage from '../homepage';\n\nexport default {\n 'review-workflows': reviewWorkflows,\n ...homepage.routes,\n};\n"],"names":["reviewWorkflows","homepage","routes"],"mappings":";;;AAGA,aAAe;IACb,kBAAoBA,EAAAA,eAAAA;AACpB,IAAA,GAAGC,SAASC;AACd,CAAE;;;;"}
@@ -0,0 +1,186 @@
1
+ 'use strict';
2
+
3
+ var utils = require('./utils.js');
4
+
5
+ var reviewWorkflows = {
6
+ type: 'admin',
7
+ routes: [
8
+ // Review workflow
9
+ {
10
+ method: 'POST',
11
+ path: '/workflows',
12
+ handler: 'workflows.create',
13
+ config: {
14
+ middlewares: [
15
+ utils.enableFeatureMiddleware('review-workflows')
16
+ ],
17
+ policies: [
18
+ 'admin::isAuthenticatedAdmin',
19
+ {
20
+ name: 'admin::hasPermissions',
21
+ config: {
22
+ actions: [
23
+ 'admin::review-workflows.create'
24
+ ]
25
+ }
26
+ }
27
+ ]
28
+ }
29
+ },
30
+ {
31
+ method: 'PUT',
32
+ path: '/workflows/:id',
33
+ handler: 'workflows.update',
34
+ config: {
35
+ middlewares: [
36
+ utils.enableFeatureMiddleware('review-workflows')
37
+ ],
38
+ policies: [
39
+ 'admin::isAuthenticatedAdmin',
40
+ {
41
+ name: 'admin::hasPermissions',
42
+ config: {
43
+ actions: [
44
+ 'admin::review-workflows.update'
45
+ ]
46
+ }
47
+ }
48
+ ]
49
+ }
50
+ },
51
+ {
52
+ method: 'DELETE',
53
+ path: '/workflows/:id',
54
+ handler: 'workflows.delete',
55
+ config: {
56
+ middlewares: [
57
+ utils.enableFeatureMiddleware('review-workflows')
58
+ ],
59
+ policies: [
60
+ 'admin::isAuthenticatedAdmin',
61
+ {
62
+ name: 'admin::hasPermissions',
63
+ config: {
64
+ actions: [
65
+ 'admin::review-workflows.delete'
66
+ ]
67
+ }
68
+ }
69
+ ]
70
+ }
71
+ },
72
+ {
73
+ method: 'GET',
74
+ path: '/workflows',
75
+ handler: 'workflows.find',
76
+ config: {
77
+ middlewares: [
78
+ utils.enableFeatureMiddleware('review-workflows')
79
+ ],
80
+ policies: [
81
+ 'admin::isAuthenticatedAdmin',
82
+ {
83
+ name: 'admin::hasPermissions',
84
+ config: {
85
+ actions: [
86
+ 'admin::review-workflows.read'
87
+ ]
88
+ }
89
+ }
90
+ ]
91
+ }
92
+ },
93
+ {
94
+ method: 'GET',
95
+ path: '/workflows/:workflow_id/stages',
96
+ handler: 'stages.find',
97
+ config: {
98
+ middlewares: [
99
+ utils.enableFeatureMiddleware('review-workflows')
100
+ ],
101
+ policies: [
102
+ 'admin::isAuthenticatedAdmin',
103
+ {
104
+ name: 'admin::hasPermissions',
105
+ config: {
106
+ actions: [
107
+ 'admin::review-workflows.read'
108
+ ]
109
+ }
110
+ }
111
+ ]
112
+ }
113
+ },
114
+ {
115
+ method: 'GET',
116
+ path: '/workflows/:workflow_id/stages/:id',
117
+ handler: 'stages.findById',
118
+ config: {
119
+ middlewares: [
120
+ utils.enableFeatureMiddleware('review-workflows')
121
+ ],
122
+ policies: [
123
+ 'admin::isAuthenticatedAdmin',
124
+ {
125
+ name: 'admin::hasPermissions',
126
+ config: {
127
+ actions: [
128
+ 'admin::review-workflows.read'
129
+ ]
130
+ }
131
+ }
132
+ ]
133
+ }
134
+ },
135
+ {
136
+ method: 'PUT',
137
+ path: '/content-manager/(collection|single)-types/:model_uid/:id/stage',
138
+ handler: 'stages.updateEntity',
139
+ config: {
140
+ middlewares: [
141
+ utils.enableFeatureMiddleware('review-workflows')
142
+ ],
143
+ policies: [
144
+ 'admin::isAuthenticatedAdmin'
145
+ ]
146
+ }
147
+ },
148
+ {
149
+ method: 'GET',
150
+ path: '/content-manager/(collection|single)-types/:model_uid/:id/stages',
151
+ handler: 'stages.listAvailableStages',
152
+ config: {
153
+ middlewares: [
154
+ utils.enableFeatureMiddleware('review-workflows')
155
+ ],
156
+ policies: [
157
+ 'admin::isAuthenticatedAdmin'
158
+ ]
159
+ }
160
+ },
161
+ {
162
+ method: 'PUT',
163
+ path: '/content-manager/(collection|single)-types/:model_uid/:id/assignee',
164
+ handler: 'assignees.updateEntity',
165
+ config: {
166
+ middlewares: [
167
+ utils.enableFeatureMiddleware('review-workflows')
168
+ ],
169
+ policies: [
170
+ 'admin::isAuthenticatedAdmin',
171
+ {
172
+ name: 'admin::hasPermissions',
173
+ config: {
174
+ actions: [
175
+ 'admin::users.read'
176
+ ]
177
+ }
178
+ }
179
+ ]
180
+ }
181
+ }
182
+ ]
183
+ };
184
+
185
+ module.exports = reviewWorkflows;
186
+ //# sourceMappingURL=review-workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-workflows.js","sources":["../../../server/src/routes/review-workflows.ts"],"sourcesContent":["import { enableFeatureMiddleware } from './utils';\n\nexport default {\n type: 'admin',\n routes: [\n // Review workflow\n {\n method: 'POST',\n path: '/workflows',\n handler: 'workflows.create',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.create'],\n },\n },\n ],\n },\n },\n {\n method: 'PUT',\n path: '/workflows/:id',\n handler: 'workflows.update',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.update'],\n },\n },\n ],\n },\n },\n {\n method: 'DELETE',\n path: '/workflows/:id',\n handler: 'workflows.delete',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.delete'],\n },\n },\n ],\n },\n },\n {\n method: 'GET',\n path: '/workflows',\n handler: 'workflows.find',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.read'],\n },\n },\n ],\n },\n },\n {\n method: 'GET',\n path: '/workflows/:workflow_id/stages',\n handler: 'stages.find',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.read'],\n },\n },\n ],\n },\n },\n {\n method: 'GET',\n path: '/workflows/:workflow_id/stages/:id',\n handler: 'stages.findById',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::review-workflows.read'],\n },\n },\n ],\n },\n },\n {\n method: 'PUT',\n path: '/content-manager/(collection|single)-types/:model_uid/:id/stage',\n handler: 'stages.updateEntity',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n {\n method: 'GET',\n path: '/content-manager/(collection|single)-types/:model_uid/:id/stages',\n handler: 'stages.listAvailableStages',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n {\n method: 'PUT',\n path: '/content-manager/(collection|single)-types/:model_uid/:id/assignee',\n handler: 'assignees.updateEntity',\n config: {\n middlewares: [enableFeatureMiddleware('review-workflows')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::users.read'],\n },\n },\n ],\n },\n },\n ],\n};\n"],"names":["type","routes","method","path","handler","config","middlewares","enableFeatureMiddleware","policies","name","actions"],"mappings":"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"}