@strapi/content-releases 0.0.0-experimental.d23f1485e5669cca1cee1bf5f8168b6b8109b78f → 0.0.0-experimental.d2ab08126cfde998bfecc0aad44d3ea2b29293a6

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 (380) hide show
  1. package/dist/_chunks/App-dLXY5ei3.js +1353 -0
  2. package/dist/_chunks/App-dLXY5ei3.js.map +1 -0
  3. package/dist/_chunks/App-jrh58sXY.mjs +1330 -0
  4. package/dist/_chunks/App-jrh58sXY.mjs.map +1 -0
  5. package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs +51 -0
  6. package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs.map +1 -0
  7. package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js +51 -0
  8. package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js.map +1 -0
  9. package/dist/_chunks/en-HrREghh3.js +86 -0
  10. package/dist/_chunks/en-HrREghh3.js.map +1 -0
  11. package/dist/_chunks/en-ltT1TlKQ.mjs +86 -0
  12. package/dist/_chunks/en-ltT1TlKQ.mjs.map +1 -0
  13. package/dist/_chunks/index-CVO0Rqdm.js +1336 -0
  14. package/dist/_chunks/index-CVO0Rqdm.js.map +1 -0
  15. package/dist/_chunks/index-PiOGBETy.mjs +1315 -0
  16. package/dist/_chunks/index-PiOGBETy.mjs.map +1 -0
  17. package/dist/admin/index.js +18 -148
  18. package/dist/admin/index.js.map +1 -1
  19. package/dist/admin/index.mjs +18 -143
  20. package/dist/admin/index.mjs.map +1 -1
  21. package/dist/server/index.js +1784 -25
  22. package/dist/server/index.js.map +1 -1
  23. package/dist/server/index.mjs +1763 -24
  24. package/dist/server/index.mjs.map +1 -1
  25. package/package.json +43 -39
  26. package/strapi-server.js +3 -0
  27. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +0 -6
  28. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +0 -1
  29. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +0 -4
  30. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +0 -1
  31. package/dist/admin/assets/purchase-page-illustration-light.svg.js +0 -6
  32. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +0 -1
  33. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +0 -4
  34. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +0 -1
  35. package/dist/admin/components/EntryValidationPopover.js +0 -310
  36. package/dist/admin/components/EntryValidationPopover.js.map +0 -1
  37. package/dist/admin/components/EntryValidationPopover.mjs +0 -308
  38. package/dist/admin/components/EntryValidationPopover.mjs.map +0 -1
  39. package/dist/admin/components/RelativeTime.js +0 -76
  40. package/dist/admin/components/RelativeTime.js.map +0 -1
  41. package/dist/admin/components/RelativeTime.mjs +0 -55
  42. package/dist/admin/components/RelativeTime.mjs.map +0 -1
  43. package/dist/admin/components/ReleaseAction.js +0 -203
  44. package/dist/admin/components/ReleaseAction.js.map +0 -1
  45. package/dist/admin/components/ReleaseAction.mjs +0 -201
  46. package/dist/admin/components/ReleaseAction.mjs.map +0 -1
  47. package/dist/admin/components/ReleaseActionMenu.js +0 -194
  48. package/dist/admin/components/ReleaseActionMenu.js.map +0 -1
  49. package/dist/admin/components/ReleaseActionMenu.mjs +0 -173
  50. package/dist/admin/components/ReleaseActionMenu.mjs.map +0 -1
  51. package/dist/admin/components/ReleaseActionModal.js +0 -268
  52. package/dist/admin/components/ReleaseActionModal.js.map +0 -1
  53. package/dist/admin/components/ReleaseActionModal.mjs +0 -244
  54. package/dist/admin/components/ReleaseActionModal.mjs.map +0 -1
  55. package/dist/admin/components/ReleaseActionOptions.js +0 -104
  56. package/dist/admin/components/ReleaseActionOptions.js.map +0 -1
  57. package/dist/admin/components/ReleaseActionOptions.mjs +0 -102
  58. package/dist/admin/components/ReleaseActionOptions.mjs.map +0 -1
  59. package/dist/admin/components/ReleaseListCell.js +0 -103
  60. package/dist/admin/components/ReleaseListCell.js.map +0 -1
  61. package/dist/admin/components/ReleaseListCell.mjs +0 -100
  62. package/dist/admin/components/ReleaseListCell.mjs.map +0 -1
  63. package/dist/admin/components/ReleaseModal.js +0 -323
  64. package/dist/admin/components/ReleaseModal.js.map +0 -1
  65. package/dist/admin/components/ReleaseModal.mjs +0 -302
  66. package/dist/admin/components/ReleaseModal.mjs.map +0 -1
  67. package/dist/admin/components/ReleasesPanel.js +0 -138
  68. package/dist/admin/components/ReleasesPanel.js.map +0 -1
  69. package/dist/admin/components/ReleasesPanel.mjs +0 -136
  70. package/dist/admin/components/ReleasesPanel.mjs.map +0 -1
  71. package/dist/admin/components/Widgets.js +0 -122
  72. package/dist/admin/components/Widgets.js.map +0 -1
  73. package/dist/admin/components/Widgets.mjs +0 -120
  74. package/dist/admin/components/Widgets.mjs.map +0 -1
  75. package/dist/admin/constants.js +0 -79
  76. package/dist/admin/constants.js.map +0 -1
  77. package/dist/admin/constants.mjs +0 -76
  78. package/dist/admin/constants.mjs.map +0 -1
  79. package/dist/admin/modules/hooks.js +0 -8
  80. package/dist/admin/modules/hooks.js.map +0 -1
  81. package/dist/admin/modules/hooks.mjs +0 -6
  82. package/dist/admin/modules/hooks.mjs.map +0 -1
  83. package/dist/admin/pages/App.js +0 -29
  84. package/dist/admin/pages/App.js.map +0 -1
  85. package/dist/admin/pages/App.mjs +0 -27
  86. package/dist/admin/pages/App.mjs.map +0 -1
  87. package/dist/admin/pages/PurchaseContentReleases.js +0 -192
  88. package/dist/admin/pages/PurchaseContentReleases.js.map +0 -1
  89. package/dist/admin/pages/PurchaseContentReleases.mjs +0 -190
  90. package/dist/admin/pages/PurchaseContentReleases.mjs.map +0 -1
  91. package/dist/admin/pages/ReleaseDetailsPage.js +0 -772
  92. package/dist/admin/pages/ReleaseDetailsPage.js.map +0 -1
  93. package/dist/admin/pages/ReleaseDetailsPage.mjs +0 -751
  94. package/dist/admin/pages/ReleaseDetailsPage.mjs.map +0 -1
  95. package/dist/admin/pages/ReleasesPage.js +0 -403
  96. package/dist/admin/pages/ReleasesPage.js.map +0 -1
  97. package/dist/admin/pages/ReleasesPage.mjs +0 -381
  98. package/dist/admin/pages/ReleasesPage.mjs.map +0 -1
  99. package/dist/admin/pages/ReleasesSettingsPage.js +0 -225
  100. package/dist/admin/pages/ReleasesSettingsPage.js.map +0 -1
  101. package/dist/admin/pages/ReleasesSettingsPage.mjs +0 -223
  102. package/dist/admin/pages/ReleasesSettingsPage.mjs.map +0 -1
  103. package/dist/admin/pluginId.js +0 -6
  104. package/dist/admin/pluginId.js.map +0 -1
  105. package/dist/admin/pluginId.mjs +0 -4
  106. package/dist/admin/pluginId.mjs.map +0 -1
  107. package/dist/admin/services/homepage.js +0 -24
  108. package/dist/admin/services/homepage.js.map +0 -1
  109. package/dist/admin/services/homepage.mjs +0 -22
  110. package/dist/admin/services/homepage.mjs.map +0 -1
  111. package/dist/admin/services/release.js +0 -474
  112. package/dist/admin/services/release.js.map +0 -1
  113. package/dist/admin/services/release.mjs +0 -457
  114. package/dist/admin/services/release.mjs.map +0 -1
  115. package/dist/admin/src/components/EntryValidationPopover.d.ts +0 -13
  116. package/dist/admin/src/components/RelativeTime.d.ts +0 -28
  117. package/dist/admin/src/components/ReleaseAction.d.ts +0 -3
  118. package/dist/admin/src/components/ReleaseActionMenu.d.ts +0 -26
  119. package/dist/admin/src/components/ReleaseActionModal.d.ts +0 -24
  120. package/dist/admin/src/components/ReleaseActionOptions.d.ts +0 -9
  121. package/dist/admin/src/components/ReleaseListCell.d.ts +0 -28
  122. package/dist/admin/src/components/ReleaseModal.d.ts +0 -17
  123. package/dist/admin/src/components/ReleasesPanel.d.ts +0 -3
  124. package/dist/admin/src/components/Widgets.d.ts +0 -2
  125. package/dist/admin/src/constants.d.ts +0 -77
  126. package/dist/admin/src/index.d.ts +0 -3
  127. package/dist/admin/src/modules/hooks.d.ts +0 -7
  128. package/dist/admin/src/pages/App.d.ts +0 -1
  129. package/dist/admin/src/pages/PurchaseContentReleases.d.ts +0 -2
  130. package/dist/admin/src/pages/ReleaseDetailsPage.d.ts +0 -2
  131. package/dist/admin/src/pages/ReleasesPage.d.ts +0 -8
  132. package/dist/admin/src/pages/ReleasesSettingsPage.d.ts +0 -1
  133. package/dist/admin/src/pages/tests/mockReleaseDetailsPageData.d.ts +0 -181
  134. package/dist/admin/src/pages/tests/mockReleasesPageData.d.ts +0 -39
  135. package/dist/admin/src/pluginId.d.ts +0 -1
  136. package/dist/admin/src/services/homepage.d.ts +0 -9
  137. package/dist/admin/src/services/release.d.ts +0 -112
  138. package/dist/admin/src/store/hooks.d.ts +0 -7
  139. package/dist/admin/src/utils/api.d.ts +0 -6
  140. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +0 -3
  141. package/dist/admin/src/utils/time.d.ts +0 -10
  142. package/dist/admin/src/validation/schemas.d.ts +0 -6
  143. package/dist/admin/store/hooks.js +0 -8
  144. package/dist/admin/store/hooks.js.map +0 -1
  145. package/dist/admin/store/hooks.mjs +0 -6
  146. package/dist/admin/store/hooks.mjs.map +0 -1
  147. package/dist/admin/translations/en.json.js +0 -111
  148. package/dist/admin/translations/en.json.js.map +0 -1
  149. package/dist/admin/translations/en.json.mjs +0 -109
  150. package/dist/admin/translations/en.json.mjs.map +0 -1
  151. package/dist/admin/translations/uk.json.js +0 -103
  152. package/dist/admin/translations/uk.json.js.map +0 -1
  153. package/dist/admin/translations/uk.json.mjs +0 -101
  154. package/dist/admin/translations/uk.json.mjs.map +0 -1
  155. package/dist/admin/utils/api.js +0 -8
  156. package/dist/admin/utils/api.js.map +0 -1
  157. package/dist/admin/utils/api.mjs +0 -6
  158. package/dist/admin/utils/api.mjs.map +0 -1
  159. package/dist/admin/utils/prefixPluginTranslations.js +0 -11
  160. package/dist/admin/utils/prefixPluginTranslations.js.map +0 -1
  161. package/dist/admin/utils/prefixPluginTranslations.mjs +0 -9
  162. package/dist/admin/utils/prefixPluginTranslations.mjs.map +0 -1
  163. package/dist/admin/utils/time.js +0 -42
  164. package/dist/admin/utils/time.js.map +0 -1
  165. package/dist/admin/utils/time.mjs +0 -39
  166. package/dist/admin/utils/time.mjs.map +0 -1
  167. package/dist/admin/validation/schemas.js +0 -65
  168. package/dist/admin/validation/schemas.js.map +0 -1
  169. package/dist/admin/validation/schemas.mjs +0 -43
  170. package/dist/admin/validation/schemas.mjs.map +0 -1
  171. package/dist/server/bootstrap.js +0 -68
  172. package/dist/server/bootstrap.js.map +0 -1
  173. package/dist/server/bootstrap.mjs +0 -66
  174. package/dist/server/bootstrap.mjs.map +0 -1
  175. package/dist/server/constants.js +0 -74
  176. package/dist/server/constants.js.map +0 -1
  177. package/dist/server/constants.mjs +0 -69
  178. package/dist/server/constants.mjs.map +0 -1
  179. package/dist/server/content-types/index.js +0 -12
  180. package/dist/server/content-types/index.js.map +0 -1
  181. package/dist/server/content-types/index.mjs +0 -10
  182. package/dist/server/content-types/index.mjs.map +0 -1
  183. package/dist/server/content-types/release/index.js +0 -10
  184. package/dist/server/content-types/release/index.js.map +0 -1
  185. package/dist/server/content-types/release/index.mjs +0 -8
  186. package/dist/server/content-types/release/index.mjs.map +0 -1
  187. package/dist/server/content-types/release/schema.js +0 -58
  188. package/dist/server/content-types/release/schema.js.map +0 -1
  189. package/dist/server/content-types/release/schema.mjs +0 -56
  190. package/dist/server/content-types/release/schema.mjs.map +0 -1
  191. package/dist/server/content-types/release-action/index.js +0 -10
  192. package/dist/server/content-types/release-action/index.js.map +0 -1
  193. package/dist/server/content-types/release-action/index.mjs +0 -8
  194. package/dist/server/content-types/release-action/index.mjs.map +0 -1
  195. package/dist/server/content-types/release-action/schema.js +0 -55
  196. package/dist/server/content-types/release-action/schema.js.map +0 -1
  197. package/dist/server/content-types/release-action/schema.mjs +0 -53
  198. package/dist/server/content-types/release-action/schema.mjs.map +0 -1
  199. package/dist/server/controllers/homepage.js +0 -15
  200. package/dist/server/controllers/homepage.js.map +0 -1
  201. package/dist/server/controllers/homepage.mjs +0 -13
  202. package/dist/server/controllers/homepage.mjs.map +0 -1
  203. package/dist/server/controllers/index.js +0 -16
  204. package/dist/server/controllers/index.js.map +0 -1
  205. package/dist/server/controllers/index.mjs +0 -14
  206. package/dist/server/controllers/index.mjs.map +0 -1
  207. package/dist/server/controllers/release-action.js +0 -150
  208. package/dist/server/controllers/release-action.js.map +0 -1
  209. package/dist/server/controllers/release-action.mjs +0 -148
  210. package/dist/server/controllers/release-action.mjs.map +0 -1
  211. package/dist/server/controllers/release.js +0 -302
  212. package/dist/server/controllers/release.js.map +0 -1
  213. package/dist/server/controllers/release.mjs +0 -300
  214. package/dist/server/controllers/release.mjs.map +0 -1
  215. package/dist/server/controllers/settings.js +0 -37
  216. package/dist/server/controllers/settings.js.map +0 -1
  217. package/dist/server/controllers/settings.mjs +0 -35
  218. package/dist/server/controllers/settings.mjs.map +0 -1
  219. package/dist/server/controllers/validation/release-action.js +0 -34
  220. package/dist/server/controllers/validation/release-action.js.map +0 -1
  221. package/dist/server/controllers/validation/release-action.mjs +0 -30
  222. package/dist/server/controllers/validation/release-action.mjs.map +0 -1
  223. package/dist/server/controllers/validation/release.js +0 -26
  224. package/dist/server/controllers/validation/release.js.map +0 -1
  225. package/dist/server/controllers/validation/release.mjs +0 -22
  226. package/dist/server/controllers/validation/release.mjs.map +0 -1
  227. package/dist/server/controllers/validation/settings.js +0 -32
  228. package/dist/server/controllers/validation/settings.js.map +0 -1
  229. package/dist/server/controllers/validation/settings.mjs +0 -10
  230. package/dist/server/controllers/validation/settings.mjs.map +0 -1
  231. package/dist/server/destroy.js +0 -15
  232. package/dist/server/destroy.js.map +0 -1
  233. package/dist/server/destroy.mjs +0 -13
  234. package/dist/server/destroy.mjs.map +0 -1
  235. package/dist/server/middlewares/documents.js +0 -104
  236. package/dist/server/middlewares/documents.js.map +0 -1
  237. package/dist/server/middlewares/documents.mjs +0 -101
  238. package/dist/server/middlewares/documents.mjs.map +0 -1
  239. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +0 -51
  240. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +0 -1
  241. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +0 -49
  242. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +0 -1
  243. package/dist/server/migrations/index.js +0 -205
  244. package/dist/server/migrations/index.js.map +0 -1
  245. package/dist/server/migrations/index.mjs +0 -198
  246. package/dist/server/migrations/index.mjs.map +0 -1
  247. package/dist/server/register.js +0 -23
  248. package/dist/server/register.js.map +0 -1
  249. package/dist/server/register.mjs +0 -21
  250. package/dist/server/register.mjs.map +0 -1
  251. package/dist/server/routes/homepage.js +0 -25
  252. package/dist/server/routes/homepage.js.map +0 -1
  253. package/dist/server/routes/homepage.mjs +0 -23
  254. package/dist/server/routes/homepage.mjs.map +0 -1
  255. package/dist/server/routes/index.js +0 -16
  256. package/dist/server/routes/index.js.map +0 -1
  257. package/dist/server/routes/index.mjs +0 -14
  258. package/dist/server/routes/index.mjs.map +0 -1
  259. package/dist/server/routes/release-action.js +0 -100
  260. package/dist/server/routes/release-action.js.map +0 -1
  261. package/dist/server/routes/release-action.mjs +0 -98
  262. package/dist/server/routes/release-action.mjs.map +0 -1
  263. package/dist/server/routes/release.js +0 -154
  264. package/dist/server/routes/release.js.map +0 -1
  265. package/dist/server/routes/release.mjs +0 -152
  266. package/dist/server/routes/release.mjs.map +0 -1
  267. package/dist/server/routes/settings.js +0 -46
  268. package/dist/server/routes/settings.js.map +0 -1
  269. package/dist/server/routes/settings.mjs +0 -44
  270. package/dist/server/routes/settings.mjs.map +0 -1
  271. package/dist/server/services/homepage.js +0 -26
  272. package/dist/server/services/homepage.js.map +0 -1
  273. package/dist/server/services/homepage.mjs +0 -24
  274. package/dist/server/services/homepage.mjs.map +0 -1
  275. package/dist/server/services/index.js +0 -20
  276. package/dist/server/services/index.js.map +0 -1
  277. package/dist/server/services/index.mjs +0 -18
  278. package/dist/server/services/index.mjs.map +0 -1
  279. package/dist/server/services/release-action.js +0 -324
  280. package/dist/server/services/release-action.js.map +0 -1
  281. package/dist/server/services/release-action.mjs +0 -322
  282. package/dist/server/services/release-action.mjs.map +0 -1
  283. package/dist/server/services/release.js +0 -324
  284. package/dist/server/services/release.js.map +0 -1
  285. package/dist/server/services/release.mjs +0 -322
  286. package/dist/server/services/release.mjs.map +0 -1
  287. package/dist/server/services/scheduling.js +0 -74
  288. package/dist/server/services/scheduling.js.map +0 -1
  289. package/dist/server/services/scheduling.mjs +0 -72
  290. package/dist/server/services/scheduling.mjs.map +0 -1
  291. package/dist/server/services/settings.js +0 -34
  292. package/dist/server/services/settings.js.map +0 -1
  293. package/dist/server/services/settings.mjs +0 -32
  294. package/dist/server/services/settings.mjs.map +0 -1
  295. package/dist/server/services/validation.js +0 -91
  296. package/dist/server/services/validation.js.map +0 -1
  297. package/dist/server/services/validation.mjs +0 -86
  298. package/dist/server/services/validation.mjs.map +0 -1
  299. package/dist/server/src/bootstrap.d.ts +0 -5
  300. package/dist/server/src/bootstrap.d.ts.map +0 -1
  301. package/dist/server/src/constants.d.ts +0 -21
  302. package/dist/server/src/constants.d.ts.map +0 -1
  303. package/dist/server/src/content-types/index.d.ts +0 -97
  304. package/dist/server/src/content-types/index.d.ts.map +0 -1
  305. package/dist/server/src/content-types/release/index.d.ts +0 -48
  306. package/dist/server/src/content-types/release/index.d.ts.map +0 -1
  307. package/dist/server/src/content-types/release/schema.d.ts +0 -47
  308. package/dist/server/src/content-types/release/schema.d.ts.map +0 -1
  309. package/dist/server/src/content-types/release-action/index.d.ts +0 -48
  310. package/dist/server/src/content-types/release-action/index.d.ts.map +0 -1
  311. package/dist/server/src/content-types/release-action/schema.d.ts +0 -47
  312. package/dist/server/src/content-types/release-action/schema.d.ts.map +0 -1
  313. package/dist/server/src/controllers/homepage.d.ts +0 -6
  314. package/dist/server/src/controllers/homepage.d.ts.map +0 -1
  315. package/dist/server/src/controllers/index.d.ts +0 -28
  316. package/dist/server/src/controllers/index.d.ts.map +0 -1
  317. package/dist/server/src/controllers/release-action.d.ts +0 -10
  318. package/dist/server/src/controllers/release-action.d.ts.map +0 -1
  319. package/dist/server/src/controllers/release.d.ts +0 -18
  320. package/dist/server/src/controllers/release.d.ts.map +0 -1
  321. package/dist/server/src/controllers/settings.d.ts +0 -11
  322. package/dist/server/src/controllers/settings.d.ts.map +0 -1
  323. package/dist/server/src/controllers/validation/release-action.d.ts +0 -14
  324. package/dist/server/src/controllers/validation/release-action.d.ts.map +0 -1
  325. package/dist/server/src/controllers/validation/release.d.ts +0 -4
  326. package/dist/server/src/controllers/validation/release.d.ts.map +0 -1
  327. package/dist/server/src/controllers/validation/settings.d.ts +0 -3
  328. package/dist/server/src/controllers/validation/settings.d.ts.map +0 -1
  329. package/dist/server/src/destroy.d.ts +0 -5
  330. package/dist/server/src/destroy.d.ts.map +0 -1
  331. package/dist/server/src/index.d.ts +0 -2120
  332. package/dist/server/src/index.d.ts.map +0 -1
  333. package/dist/server/src/middlewares/documents.d.ts +0 -6
  334. package/dist/server/src/middlewares/documents.d.ts.map +0 -1
  335. package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts +0 -9
  336. package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts.map +0 -1
  337. package/dist/server/src/migrations/index.d.ts +0 -13
  338. package/dist/server/src/migrations/index.d.ts.map +0 -1
  339. package/dist/server/src/register.d.ts +0 -5
  340. package/dist/server/src/register.d.ts.map +0 -1
  341. package/dist/server/src/routes/homepage.d.ts +0 -4
  342. package/dist/server/src/routes/homepage.d.ts.map +0 -1
  343. package/dist/server/src/routes/index.d.ts +0 -52
  344. package/dist/server/src/routes/index.d.ts.map +0 -1
  345. package/dist/server/src/routes/release-action.d.ts +0 -18
  346. package/dist/server/src/routes/release-action.d.ts.map +0 -1
  347. package/dist/server/src/routes/release.d.ts +0 -18
  348. package/dist/server/src/routes/release.d.ts.map +0 -1
  349. package/dist/server/src/routes/settings.d.ts +0 -18
  350. package/dist/server/src/routes/settings.d.ts.map +0 -1
  351. package/dist/server/src/services/homepage.d.ts +0 -9
  352. package/dist/server/src/services/homepage.d.ts.map +0 -1
  353. package/dist/server/src/services/index.d.ts +0 -1829
  354. package/dist/server/src/services/index.d.ts.map +0 -1
  355. package/dist/server/src/services/release-action.d.ts +0 -34
  356. package/dist/server/src/services/release-action.d.ts.map +0 -1
  357. package/dist/server/src/services/release.d.ts +0 -31
  358. package/dist/server/src/services/release.d.ts.map +0 -1
  359. package/dist/server/src/services/scheduling.d.ts +0 -17
  360. package/dist/server/src/services/scheduling.d.ts.map +0 -1
  361. package/dist/server/src/services/settings.d.ts +0 -13
  362. package/dist/server/src/services/settings.d.ts.map +0 -1
  363. package/dist/server/src/services/validation.d.ts +0 -18
  364. package/dist/server/src/services/validation.d.ts.map +0 -1
  365. package/dist/server/src/utils/index.d.ts +0 -35
  366. package/dist/server/src/utils/index.d.ts.map +0 -1
  367. package/dist/server/utils/index.js +0 -94
  368. package/dist/server/utils/index.js.map +0 -1
  369. package/dist/server/utils/index.mjs +0 -88
  370. package/dist/server/utils/index.mjs.map +0 -1
  371. package/dist/shared/contracts/homepage.d.ts +0 -11
  372. package/dist/shared/contracts/homepage.d.ts.map +0 -1
  373. package/dist/shared/contracts/release-actions.d.ts +0 -136
  374. package/dist/shared/contracts/release-actions.d.ts.map +0 -1
  375. package/dist/shared/contracts/releases.d.ts +0 -183
  376. package/dist/shared/contracts/releases.d.ts.map +0 -1
  377. package/dist/shared/contracts/settings.d.ts +0 -38
  378. package/dist/shared/contracts/settings.d.ts.map +0 -1
  379. package/dist/shared/types.d.ts +0 -24
  380. package/dist/shared/types.d.ts.map +0 -1
@@ -1,56 +0,0 @@
1
- import { RELEASE_ACTION_MODEL_UID } from '../../constants.mjs';
2
-
3
- var schema = {
4
- collectionName: 'strapi_releases',
5
- info: {
6
- singularName: 'release',
7
- pluralName: 'releases',
8
- displayName: 'Release'
9
- },
10
- options: {
11
- draftAndPublish: false
12
- },
13
- pluginOptions: {
14
- 'content-manager': {
15
- visible: false
16
- },
17
- 'content-type-builder': {
18
- visible: false
19
- }
20
- },
21
- attributes: {
22
- name: {
23
- type: 'string',
24
- required: true
25
- },
26
- releasedAt: {
27
- type: 'datetime'
28
- },
29
- scheduledAt: {
30
- type: 'datetime'
31
- },
32
- timezone: {
33
- type: 'string'
34
- },
35
- status: {
36
- type: 'enumeration',
37
- enum: [
38
- 'ready',
39
- 'blocked',
40
- 'failed',
41
- 'done',
42
- 'empty'
43
- ],
44
- required: true
45
- },
46
- actions: {
47
- type: 'relation',
48
- relation: 'oneToMany',
49
- target: RELEASE_ACTION_MODEL_UID,
50
- mappedBy: 'release'
51
- }
52
- }
53
- };
54
-
55
- export { schema as default };
56
- //# sourceMappingURL=schema.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.mjs","sources":["../../../../server/src/content-types/release/schema.ts"],"sourcesContent":["import { RELEASE_ACTION_MODEL_UID } from '../../constants';\n\nexport default {\n collectionName: 'strapi_releases',\n info: {\n singularName: 'release',\n pluralName: 'releases',\n displayName: 'Release',\n },\n options: {\n draftAndPublish: false,\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 required: true,\n },\n releasedAt: {\n type: 'datetime',\n },\n scheduledAt: {\n type: 'datetime',\n },\n timezone: {\n type: 'string',\n },\n status: {\n type: 'enumeration',\n enum: ['ready', 'blocked', 'failed', 'done', 'empty'],\n required: true,\n },\n actions: {\n type: 'relation',\n relation: 'oneToMany',\n target: RELEASE_ACTION_MODEL_UID,\n mappedBy: 'release',\n },\n },\n};\n"],"names":["collectionName","info","singularName","pluralName","displayName","options","draftAndPublish","pluginOptions","visible","attributes","name","type","required","releasedAt","scheduledAt","timezone","status","enum","actions","relation","target","RELEASE_ACTION_MODEL_UID","mappedBy"],"mappings":";;AAEA,aAAe;IACbA,cAAgB,EAAA,iBAAA;IAChBC,IAAM,EAAA;QACJC,YAAc,EAAA,SAAA;QACdC,UAAY,EAAA,UAAA;QACZC,WAAa,EAAA;AACf,KAAA;IACAC,OAAS,EAAA;QACPC,eAAiB,EAAA;AACnB,KAAA;IACAC,aAAe,EAAA;QACb,iBAAmB,EAAA;YACjBC,OAAS,EAAA;AACX,SAAA;QACA,sBAAwB,EAAA;YACtBA,OAAS,EAAA;AACX;AACF,KAAA;IACAC,UAAY,EAAA;QACVC,IAAM,EAAA;YACJC,IAAM,EAAA,QAAA;YACNC,QAAU,EAAA;AACZ,SAAA;QACAC,UAAY,EAAA;YACVF,IAAM,EAAA;AACR,SAAA;QACAG,WAAa,EAAA;YACXH,IAAM,EAAA;AACR,SAAA;QACAI,QAAU,EAAA;YACRJ,IAAM,EAAA;AACR,SAAA;QACAK,MAAQ,EAAA;YACNL,IAAM,EAAA,aAAA;YACNM,IAAM,EAAA;AAAC,gBAAA,OAAA;AAAS,gBAAA,SAAA;AAAW,gBAAA,QAAA;AAAU,gBAAA,MAAA;AAAQ,gBAAA;AAAQ,aAAA;YACrDL,QAAU,EAAA;AACZ,SAAA;QACAM,OAAS,EAAA;YACPP,IAAM,EAAA,UAAA;YACNQ,QAAU,EAAA,WAAA;YACVC,MAAQC,EAAAA,wBAAAA;YACRC,QAAU,EAAA;AACZ;AACF;AACF,CAAE;;;;"}
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- var schema = require('./schema.js');
4
-
5
- const releaseAction = {
6
- schema
7
- };
8
-
9
- exports.releaseAction = releaseAction;
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../server/src/content-types/release-action/index.ts"],"sourcesContent":["import schema from './schema';\n\nexport const releaseAction = {\n schema,\n};\n"],"names":["releaseAction","schema"],"mappings":";;;;MAEaA,aAAgB,GAAA;AAC3BC,IAAAA;AACF;;;;"}
@@ -1,8 +0,0 @@
1
- import schema from './schema.mjs';
2
-
3
- const releaseAction = {
4
- schema
5
- };
6
-
7
- export { releaseAction };
8
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../server/src/content-types/release-action/index.ts"],"sourcesContent":["import schema from './schema';\n\nexport const releaseAction = {\n schema,\n};\n"],"names":["releaseAction","schema"],"mappings":";;MAEaA,aAAgB,GAAA;AAC3BC,IAAAA;AACF;;;;"}
@@ -1,55 +0,0 @@
1
- 'use strict';
2
-
3
- var constants = require('../../constants.js');
4
-
5
- var schema = {
6
- collectionName: 'strapi_release_actions',
7
- info: {
8
- singularName: 'release-action',
9
- pluralName: 'release-actions',
10
- displayName: 'Release Action'
11
- },
12
- options: {
13
- draftAndPublish: false
14
- },
15
- pluginOptions: {
16
- 'content-manager': {
17
- visible: false
18
- },
19
- 'content-type-builder': {
20
- visible: false
21
- }
22
- },
23
- attributes: {
24
- type: {
25
- type: 'enumeration',
26
- enum: [
27
- 'publish',
28
- 'unpublish'
29
- ],
30
- required: true
31
- },
32
- contentType: {
33
- type: 'string',
34
- required: true
35
- },
36
- entryDocumentId: {
37
- type: 'string'
38
- },
39
- locale: {
40
- type: 'string'
41
- },
42
- release: {
43
- type: 'relation',
44
- relation: 'manyToOne',
45
- target: constants.RELEASE_MODEL_UID,
46
- inversedBy: 'actions'
47
- },
48
- isEntryValid: {
49
- type: 'boolean'
50
- }
51
- }
52
- };
53
-
54
- module.exports = schema;
55
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sources":["../../../../server/src/content-types/release-action/schema.ts"],"sourcesContent":["import { RELEASE_MODEL_UID } from '../../constants';\n\nexport default {\n collectionName: 'strapi_release_actions',\n info: {\n singularName: 'release-action',\n pluralName: 'release-actions',\n displayName: 'Release Action',\n },\n options: {\n draftAndPublish: false,\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n type: {\n type: 'enumeration',\n enum: ['publish', 'unpublish'],\n required: true,\n },\n contentType: {\n type: 'string',\n required: true,\n },\n entryDocumentId: {\n type: 'string',\n },\n locale: {\n type: 'string',\n },\n release: {\n type: 'relation',\n relation: 'manyToOne',\n target: RELEASE_MODEL_UID,\n inversedBy: 'actions',\n },\n isEntryValid: {\n type: 'boolean',\n },\n },\n};\n"],"names":["collectionName","info","singularName","pluralName","displayName","options","draftAndPublish","pluginOptions","visible","attributes","type","enum","required","contentType","entryDocumentId","locale","release","relation","target","RELEASE_MODEL_UID","inversedBy","isEntryValid"],"mappings":";;;;AAEA,aAAe;IACbA,cAAgB,EAAA,wBAAA;IAChBC,IAAM,EAAA;QACJC,YAAc,EAAA,gBAAA;QACdC,UAAY,EAAA,iBAAA;QACZC,WAAa,EAAA;AACf,KAAA;IACAC,OAAS,EAAA;QACPC,eAAiB,EAAA;AACnB,KAAA;IACAC,aAAe,EAAA;QACb,iBAAmB,EAAA;YACjBC,OAAS,EAAA;AACX,SAAA;QACA,sBAAwB,EAAA;YACtBA,OAAS,EAAA;AACX;AACF,KAAA;IACAC,UAAY,EAAA;QACVC,IAAM,EAAA;YACJA,IAAM,EAAA,aAAA;YACNC,IAAM,EAAA;AAAC,gBAAA,SAAA;AAAW,gBAAA;AAAY,aAAA;YAC9BC,QAAU,EAAA;AACZ,SAAA;QACAC,WAAa,EAAA;YACXH,IAAM,EAAA,QAAA;YACNE,QAAU,EAAA;AACZ,SAAA;QACAE,eAAiB,EAAA;YACfJ,IAAM,EAAA;AACR,SAAA;QACAK,MAAQ,EAAA;YACNL,IAAM,EAAA;AACR,SAAA;QACAM,OAAS,EAAA;YACPN,IAAM,EAAA,UAAA;YACNO,QAAU,EAAA,WAAA;YACVC,MAAQC,EAAAA,2BAAAA;YACRC,UAAY,EAAA;AACd,SAAA;QACAC,YAAc,EAAA;YACZX,IAAM,EAAA;AACR;AACF;AACF,CAAE;;;;"}
@@ -1,53 +0,0 @@
1
- import { RELEASE_MODEL_UID } from '../../constants.mjs';
2
-
3
- var schema = {
4
- collectionName: 'strapi_release_actions',
5
- info: {
6
- singularName: 'release-action',
7
- pluralName: 'release-actions',
8
- displayName: 'Release Action'
9
- },
10
- options: {
11
- draftAndPublish: false
12
- },
13
- pluginOptions: {
14
- 'content-manager': {
15
- visible: false
16
- },
17
- 'content-type-builder': {
18
- visible: false
19
- }
20
- },
21
- attributes: {
22
- type: {
23
- type: 'enumeration',
24
- enum: [
25
- 'publish',
26
- 'unpublish'
27
- ],
28
- required: true
29
- },
30
- contentType: {
31
- type: 'string',
32
- required: true
33
- },
34
- entryDocumentId: {
35
- type: 'string'
36
- },
37
- locale: {
38
- type: 'string'
39
- },
40
- release: {
41
- type: 'relation',
42
- relation: 'manyToOne',
43
- target: RELEASE_MODEL_UID,
44
- inversedBy: 'actions'
45
- },
46
- isEntryValid: {
47
- type: 'boolean'
48
- }
49
- }
50
- };
51
-
52
- export { schema as default };
53
- //# sourceMappingURL=schema.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.mjs","sources":["../../../../server/src/content-types/release-action/schema.ts"],"sourcesContent":["import { RELEASE_MODEL_UID } from '../../constants';\n\nexport default {\n collectionName: 'strapi_release_actions',\n info: {\n singularName: 'release-action',\n pluralName: 'release-actions',\n displayName: 'Release Action',\n },\n options: {\n draftAndPublish: false,\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n type: {\n type: 'enumeration',\n enum: ['publish', 'unpublish'],\n required: true,\n },\n contentType: {\n type: 'string',\n required: true,\n },\n entryDocumentId: {\n type: 'string',\n },\n locale: {\n type: 'string',\n },\n release: {\n type: 'relation',\n relation: 'manyToOne',\n target: RELEASE_MODEL_UID,\n inversedBy: 'actions',\n },\n isEntryValid: {\n type: 'boolean',\n },\n },\n};\n"],"names":["collectionName","info","singularName","pluralName","displayName","options","draftAndPublish","pluginOptions","visible","attributes","type","enum","required","contentType","entryDocumentId","locale","release","relation","target","RELEASE_MODEL_UID","inversedBy","isEntryValid"],"mappings":";;AAEA,aAAe;IACbA,cAAgB,EAAA,wBAAA;IAChBC,IAAM,EAAA;QACJC,YAAc,EAAA,gBAAA;QACdC,UAAY,EAAA,iBAAA;QACZC,WAAa,EAAA;AACf,KAAA;IACAC,OAAS,EAAA;QACPC,eAAiB,EAAA;AACnB,KAAA;IACAC,aAAe,EAAA;QACb,iBAAmB,EAAA;YACjBC,OAAS,EAAA;AACX,SAAA;QACA,sBAAwB,EAAA;YACtBA,OAAS,EAAA;AACX;AACF,KAAA;IACAC,UAAY,EAAA;QACVC,IAAM,EAAA;YACJA,IAAM,EAAA,aAAA;YACNC,IAAM,EAAA;AAAC,gBAAA,SAAA;AAAW,gBAAA;AAAY,aAAA;YAC9BC,QAAU,EAAA;AACZ,SAAA;QACAC,WAAa,EAAA;YACXH,IAAM,EAAA,QAAA;YACNE,QAAU,EAAA;AACZ,SAAA;QACAE,eAAiB,EAAA;YACfJ,IAAM,EAAA;AACR,SAAA;QACAK,MAAQ,EAAA;YACNL,IAAM,EAAA;AACR,SAAA;QACAM,OAAS,EAAA;YACPN,IAAM,EAAA,UAAA;YACNO,QAAU,EAAA,WAAA;YACVC,MAAQC,EAAAA,iBAAAA;YACRC,UAAY,EAAA;AACd,SAAA;QACAC,YAAc,EAAA;YACZX,IAAM,EAAA;AACR;AACF;AACF,CAAE;;;;"}
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- const homepageController = ()=>{
4
- const homepageService = strapi.plugin('content-releases').service('homepage');
5
- return {
6
- async getUpcomingReleases () {
7
- return {
8
- data: await homepageService.getUpcomingReleases()
9
- };
10
- }
11
- };
12
- };
13
-
14
- module.exports = homepageController;
15
- //# sourceMappingURL=homepage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"homepage.js","sources":["../../../server/src/controllers/homepage.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { GetUpcomingReleases } from '../../../shared/contracts/homepage';\n\nconst homepageController = () => {\n const homepageService = strapi.plugin('content-releases').service('homepage');\n\n return {\n async getUpcomingReleases(): Promise<GetUpcomingReleases.Response> {\n return { data: await homepageService.getUpcomingReleases() };\n },\n } satisfies Core.Controller;\n};\n\nexport default homepageController;\n"],"names":["homepageController","homepageService","strapi","plugin","service","getUpcomingReleases","data"],"mappings":";;AAGA,MAAMA,kBAAqB,GAAA,IAAA;AACzB,IAAA,MAAMC,kBAAkBC,MAAOC,CAAAA,MAAM,CAAC,kBAAA,CAAA,CAAoBC,OAAO,CAAC,UAAA,CAAA;IAElE,OAAO;QACL,MAAMC,mBAAAA,CAAAA,GAAAA;YACJ,OAAO;gBAAEC,IAAM,EAAA,MAAML,gBAAgBI,mBAAmB;AAAG,aAAA;AAC7D;AACF,KAAA;AACF;;;;"}
@@ -1,13 +0,0 @@
1
- const homepageController = ()=>{
2
- const homepageService = strapi.plugin('content-releases').service('homepage');
3
- return {
4
- async getUpcomingReleases () {
5
- return {
6
- data: await homepageService.getUpcomingReleases()
7
- };
8
- }
9
- };
10
- };
11
-
12
- export { homepageController as default };
13
- //# sourceMappingURL=homepage.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"homepage.mjs","sources":["../../../server/src/controllers/homepage.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { GetUpcomingReleases } from '../../../shared/contracts/homepage';\n\nconst homepageController = () => {\n const homepageService = strapi.plugin('content-releases').service('homepage');\n\n return {\n async getUpcomingReleases(): Promise<GetUpcomingReleases.Response> {\n return { data: await homepageService.getUpcomingReleases() };\n },\n } satisfies Core.Controller;\n};\n\nexport default homepageController;\n"],"names":["homepageController","homepageService","strapi","plugin","service","getUpcomingReleases","data"],"mappings":"AAGA,MAAMA,kBAAqB,GAAA,IAAA;AACzB,IAAA,MAAMC,kBAAkBC,MAAOC,CAAAA,MAAM,CAAC,kBAAA,CAAA,CAAoBC,OAAO,CAAC,UAAA,CAAA;IAElE,OAAO;QACL,MAAMC,mBAAAA,CAAAA,GAAAA;YACJ,OAAO;gBAAEC,IAAM,EAAA,MAAML,gBAAgBI,mBAAmB;AAAG,aAAA;AAC7D;AACF,KAAA;AACF;;;;"}
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- var homepage = require('./homepage.js');
4
- var release = require('./release.js');
5
- var releaseAction = require('./release-action.js');
6
- var settings = require('./settings.js');
7
-
8
- const controllers = {
9
- homepage,
10
- release,
11
- 'release-action': releaseAction,
12
- settings
13
- };
14
-
15
- exports.controllers = controllers;
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../server/src/controllers/index.ts"],"sourcesContent":["import homepage from './homepage';\nimport release from './release';\nimport releaseAction from './release-action';\nimport settings from './settings';\n\nexport const controllers = {\n homepage,\n release,\n 'release-action': releaseAction,\n settings,\n};\n"],"names":["controllers","homepage","release","releaseAction","settings"],"mappings":";;;;;;;MAKaA,WAAc,GAAA;AACzBC,IAAAA,QAAAA;AACAC,IAAAA,OAAAA;IACA,gBAAkBC,EAAAA,aAAAA;AAClBC,IAAAA;AACF;;;;"}
@@ -1,14 +0,0 @@
1
- import homepageController from './homepage.mjs';
2
- import releaseController from './release.mjs';
3
- import releaseActionController from './release-action.mjs';
4
- import settingsController from './settings.mjs';
5
-
6
- const controllers = {
7
- homepage: homepageController,
8
- release: releaseController,
9
- 'release-action': releaseActionController,
10
- settings: settingsController
11
- };
12
-
13
- export { controllers };
14
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../server/src/controllers/index.ts"],"sourcesContent":["import homepage from './homepage';\nimport release from './release';\nimport releaseAction from './release-action';\nimport settings from './settings';\n\nexport const controllers = {\n homepage,\n release,\n 'release-action': releaseAction,\n settings,\n};\n"],"names":["controllers","homepage","release","releaseAction","settings"],"mappings":";;;;;MAKaA,WAAc,GAAA;AACzBC,cAAAA,kBAAAA;AACAC,aAAAA,iBAAAA;IACA,gBAAkBC,EAAAA,uBAAAA;AAClBC,cAAAA;AACF;;;;"}
@@ -1,150 +0,0 @@
1
- 'use strict';
2
-
3
- var utils = require('@strapi/utils');
4
- var releaseAction = require('./validation/release-action.js');
5
- var index = require('../utils/index.js');
6
- var constants = require('../constants.js');
7
- var validation = require('../services/validation.js');
8
-
9
- const releaseActionController = {
10
- async create (ctx) {
11
- const releaseId = ctx.params.releaseId;
12
- const releaseActionArgs = ctx.request.body;
13
- await releaseAction.validateReleaseAction(releaseActionArgs);
14
- const releaseActionService = index.getService('release-action', {
15
- strapi
16
- });
17
- const releaseAction$1 = await releaseActionService.create(releaseId, releaseActionArgs);
18
- ctx.created({
19
- data: releaseAction$1
20
- });
21
- },
22
- async createMany (ctx) {
23
- const releaseId = ctx.params.releaseId;
24
- const releaseActionsArgs = ctx.request.body;
25
- await Promise.all(releaseActionsArgs.map((releaseActionArgs)=>releaseAction.validateReleaseAction(releaseActionArgs)));
26
- const releaseActionService = index.getService('release-action', {
27
- strapi
28
- });
29
- const releaseService = index.getService('release', {
30
- strapi
31
- });
32
- const releaseActions = await strapi.db.transaction(async ()=>{
33
- const releaseActions = await Promise.all(releaseActionsArgs.map(async (releaseActionArgs)=>{
34
- try {
35
- const action = await releaseActionService.create(releaseId, releaseActionArgs, {
36
- disableUpdateReleaseStatus: true
37
- });
38
- return action;
39
- } catch (error) {
40
- // If the entry is already in the release, we don't want to throw an error, so we catch and ignore it
41
- if (error instanceof validation.AlreadyOnReleaseError) {
42
- return null;
43
- }
44
- throw error;
45
- }
46
- }));
47
- return releaseActions;
48
- });
49
- const newReleaseActions = releaseActions.filter((action)=>action !== null);
50
- if (newReleaseActions.length > 0) {
51
- releaseService.updateReleaseStatus(releaseId);
52
- }
53
- ctx.created({
54
- data: newReleaseActions,
55
- meta: {
56
- entriesAlreadyInRelease: releaseActions.length - newReleaseActions.length,
57
- totalEntries: releaseActions.length
58
- }
59
- });
60
- },
61
- async findMany (ctx) {
62
- const releaseId = ctx.params.releaseId;
63
- const permissionsManager = strapi.service('admin::permission').createPermissionsManager({
64
- ability: ctx.state.userAbility,
65
- model: constants.RELEASE_ACTION_MODEL_UID
66
- });
67
- await releaseAction.validateFindManyActionsParams(ctx.query);
68
- if (ctx.query.groupBy) {
69
- if (![
70
- 'action',
71
- 'contentType',
72
- 'locale'
73
- ].includes(ctx.query.groupBy)) {
74
- ctx.badRequest('Invalid groupBy parameter');
75
- }
76
- }
77
- ctx.query.sort = ctx.query.groupBy === 'action' ? 'type' : ctx.query.groupBy;
78
- delete ctx.query.groupBy;
79
- const query = await permissionsManager.sanitizeQuery(ctx.query);
80
- const releaseActionService = index.getService('release-action', {
81
- strapi
82
- });
83
- const { results, pagination } = await releaseActionService.findPage(releaseId, {
84
- ...query
85
- });
86
- /**
87
- * Release actions can be related to entries of different content types.
88
- * We need to sanitize the entry output according to that content type.
89
- * So, we group the sanitized output function by content type.
90
- */ const contentTypeOutputSanitizers = results.reduce((acc, action)=>{
91
- if (acc[action.contentType]) {
92
- return acc;
93
- }
94
- const contentTypePermissionsManager = strapi.service('admin::permission').createPermissionsManager({
95
- ability: ctx.state.userAbility,
96
- model: action.contentType
97
- });
98
- acc[action.contentType] = contentTypePermissionsManager.sanitizeOutput;
99
- return acc;
100
- }, {});
101
- /**
102
- * sanitizeOutput doesn't work if you use it directly on the Release Action model, it doesn't sanitize the entries
103
- * So, we need to sanitize manually each entry inside a Release Action
104
- */ const sanitizedResults = await utils.async.map(results, async (action)=>({
105
- ...action,
106
- entry: action.entry ? await contentTypeOutputSanitizers[action.contentType](action.entry) : {}
107
- }));
108
- const groupedData = await releaseActionService.groupActions(sanitizedResults, query.sort);
109
- const contentTypes = await releaseActionService.getContentTypeModelsFromActions(results);
110
- const releaseService = index.getService('release', {
111
- strapi
112
- });
113
- const components = await releaseService.getAllComponents();
114
- ctx.body = {
115
- data: groupedData,
116
- meta: {
117
- pagination,
118
- contentTypes,
119
- components
120
- }
121
- };
122
- },
123
- async update (ctx) {
124
- const actionId = ctx.params.actionId;
125
- const releaseId = ctx.params.releaseId;
126
- const releaseActionUpdateArgs = ctx.request.body;
127
- await releaseAction.validateReleaseActionUpdateSchema(releaseActionUpdateArgs);
128
- const releaseActionService = index.getService('release-action', {
129
- strapi
130
- });
131
- const updatedAction = await releaseActionService.update(actionId, releaseId, releaseActionUpdateArgs);
132
- ctx.body = {
133
- data: updatedAction
134
- };
135
- },
136
- async delete (ctx) {
137
- const actionId = ctx.params.actionId;
138
- const releaseId = ctx.params.releaseId;
139
- const releaseActionService = index.getService('release-action', {
140
- strapi
141
- });
142
- const deletedReleaseAction = await releaseActionService.delete(actionId, releaseId);
143
- ctx.body = {
144
- data: deletedReleaseAction
145
- };
146
- }
147
- };
148
-
149
- module.exports = releaseActionController;
150
- //# sourceMappingURL=release-action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"release-action.js","sources":["../../../server/src/controllers/release-action.ts"],"sourcesContent":["import type Koa from 'koa';\n\nimport { async } from '@strapi/utils';\nimport {\n validateReleaseAction,\n validateReleaseActionUpdateSchema,\n validateFindManyActionsParams,\n} from './validation/release-action';\nimport type {\n CreateReleaseAction,\n CreateManyReleaseActions,\n GetReleaseActions,\n UpdateReleaseAction,\n DeleteReleaseAction,\n} from '../../../shared/contracts/release-actions';\nimport { getService } from '../utils';\nimport { RELEASE_ACTION_MODEL_UID } from '../constants';\nimport { AlreadyOnReleaseError } from '../services/validation';\n\nconst releaseActionController = {\n async create(ctx: Koa.Context) {\n const releaseId: CreateReleaseAction.Request['params']['releaseId'] = ctx.params.releaseId;\n const releaseActionArgs = ctx.request.body as CreateReleaseAction.Request['body'];\n\n await validateReleaseAction(releaseActionArgs);\n\n const releaseActionService = getService('release-action', { strapi });\n const releaseAction = await releaseActionService.create(releaseId, releaseActionArgs);\n\n ctx.created({\n data: releaseAction,\n });\n },\n\n async createMany(ctx: Koa.Context) {\n const releaseId: CreateManyReleaseActions.Request['params']['releaseId'] = ctx.params.releaseId;\n const releaseActionsArgs = ctx.request.body as CreateManyReleaseActions.Request['body'];\n\n await Promise.all(\n releaseActionsArgs.map((releaseActionArgs) => validateReleaseAction(releaseActionArgs))\n );\n\n const releaseActionService = getService('release-action', { strapi });\n const releaseService = getService('release', { strapi });\n\n const releaseActions = await strapi.db.transaction(async () => {\n const releaseActions = await Promise.all(\n releaseActionsArgs.map(async (releaseActionArgs) => {\n try {\n const action = await releaseActionService.create(releaseId, releaseActionArgs, {\n disableUpdateReleaseStatus: true,\n });\n return action;\n } catch (error) {\n // If the entry is already in the release, we don't want to throw an error, so we catch and ignore it\n if (error instanceof AlreadyOnReleaseError) {\n return null;\n }\n throw error;\n }\n })\n );\n return releaseActions;\n });\n\n const newReleaseActions = releaseActions.filter((action) => action !== null);\n\n if (newReleaseActions.length > 0) {\n releaseService.updateReleaseStatus(releaseId);\n }\n\n ctx.created({\n data: newReleaseActions,\n meta: {\n entriesAlreadyInRelease: releaseActions.length - newReleaseActions.length,\n totalEntries: releaseActions.length,\n },\n });\n },\n\n async findMany(ctx: Koa.Context) {\n const releaseId: GetReleaseActions.Request['params']['releaseId'] = ctx.params.releaseId;\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: RELEASE_ACTION_MODEL_UID,\n });\n\n await validateFindManyActionsParams(ctx.query);\n\n if (ctx.query.groupBy) {\n if (!['action', 'contentType', 'locale'].includes(ctx.query.groupBy as string)) {\n ctx.badRequest('Invalid groupBy parameter');\n }\n }\n\n ctx.query.sort = ctx.query.groupBy === 'action' ? 'type' : ctx.query.groupBy;\n delete ctx.query.groupBy;\n\n const query = await permissionsManager.sanitizeQuery(ctx.query);\n\n const releaseActionService = getService('release-action', { strapi });\n const { results, pagination } = await releaseActionService.findPage(releaseId, {\n ...query,\n });\n\n /**\n * Release actions can be related to entries of different content types.\n * We need to sanitize the entry output according to that content type.\n * So, we group the sanitized output function by content type.\n */\n const contentTypeOutputSanitizers = results.reduce((acc: Record<string, any>, action: any) => {\n if (acc[action.contentType]) {\n return acc;\n }\n\n const contentTypePermissionsManager = strapi\n .service('admin::permission')\n .createPermissionsManager({\n ability: ctx.state.userAbility,\n model: action.contentType,\n });\n\n acc[action.contentType] = contentTypePermissionsManager.sanitizeOutput;\n\n return acc;\n }, {});\n\n /**\n * sanitizeOutput doesn't work if you use it directly on the Release Action model, it doesn't sanitize the entries\n * So, we need to sanitize manually each entry inside a Release Action\n */\n const sanitizedResults = await async.map(results, async (action: any) => ({\n ...action,\n entry: action.entry\n ? await contentTypeOutputSanitizers[action.contentType](action.entry)\n : {},\n }));\n\n const groupedData = await releaseActionService.groupActions(sanitizedResults, query.sort);\n\n const contentTypes = await releaseActionService.getContentTypeModelsFromActions(results);\n\n const releaseService = getService('release', { strapi });\n const components = await releaseService.getAllComponents();\n\n ctx.body = {\n data: groupedData,\n meta: {\n pagination,\n contentTypes,\n components,\n },\n };\n },\n\n async update(ctx: Koa.Context) {\n const actionId: UpdateReleaseAction.Request['params']['actionId'] = ctx.params.actionId;\n const releaseId: UpdateReleaseAction.Request['params']['releaseId'] = ctx.params.releaseId;\n const releaseActionUpdateArgs = ctx.request.body as UpdateReleaseAction.Request['body'];\n\n await validateReleaseActionUpdateSchema(releaseActionUpdateArgs);\n\n const releaseActionService = getService('release-action', { strapi });\n\n const updatedAction = await releaseActionService.update(\n actionId,\n releaseId,\n releaseActionUpdateArgs\n );\n\n ctx.body = {\n data: updatedAction,\n };\n },\n\n async delete(ctx: Koa.Context) {\n const actionId: DeleteReleaseAction.Request['params']['actionId'] = ctx.params.actionId;\n const releaseId: DeleteReleaseAction.Request['params']['releaseId'] = ctx.params.releaseId;\n\n const releaseActionService = getService('release-action', { strapi });\n\n const deletedReleaseAction = await releaseActionService.delete(actionId, releaseId);\n\n ctx.body = {\n data: deletedReleaseAction,\n };\n },\n};\n\nexport default releaseActionController;\n"],"names":["releaseActionController","create","ctx","releaseId","params","releaseActionArgs","request","body","validateReleaseAction","releaseActionService","getService","strapi","releaseAction","created","data","createMany","releaseActionsArgs","Promise","all","map","releaseService","releaseActions","db","transaction","action","disableUpdateReleaseStatus","error","AlreadyOnReleaseError","newReleaseActions","filter","length","updateReleaseStatus","meta","entriesAlreadyInRelease","totalEntries","findMany","permissionsManager","service","createPermissionsManager","ability","state","userAbility","model","RELEASE_ACTION_MODEL_UID","validateFindManyActionsParams","query","groupBy","includes","badRequest","sort","sanitizeQuery","results","pagination","findPage","contentTypeOutputSanitizers","reduce","acc","contentType","contentTypePermissionsManager","sanitizeOutput","sanitizedResults","async","entry","groupedData","groupActions","contentTypes","getContentTypeModelsFromActions","components","getAllComponents","update","actionId","releaseActionUpdateArgs","validateReleaseActionUpdateSchema","updatedAction","delete","deletedReleaseAction"],"mappings":"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"}
@@ -1,148 +0,0 @@
1
- import { async } from '@strapi/utils';
2
- import { validateReleaseAction, validateFindManyActionsParams, validateReleaseActionUpdateSchema } from './validation/release-action.mjs';
3
- import { getService } from '../utils/index.mjs';
4
- import { RELEASE_ACTION_MODEL_UID } from '../constants.mjs';
5
- import { AlreadyOnReleaseError } from '../services/validation.mjs';
6
-
7
- const releaseActionController = {
8
- async create (ctx) {
9
- const releaseId = ctx.params.releaseId;
10
- const releaseActionArgs = ctx.request.body;
11
- await validateReleaseAction(releaseActionArgs);
12
- const releaseActionService = getService('release-action', {
13
- strapi
14
- });
15
- const releaseAction = await releaseActionService.create(releaseId, releaseActionArgs);
16
- ctx.created({
17
- data: releaseAction
18
- });
19
- },
20
- async createMany (ctx) {
21
- const releaseId = ctx.params.releaseId;
22
- const releaseActionsArgs = ctx.request.body;
23
- await Promise.all(releaseActionsArgs.map((releaseActionArgs)=>validateReleaseAction(releaseActionArgs)));
24
- const releaseActionService = getService('release-action', {
25
- strapi
26
- });
27
- const releaseService = getService('release', {
28
- strapi
29
- });
30
- const releaseActions = await strapi.db.transaction(async ()=>{
31
- const releaseActions = await Promise.all(releaseActionsArgs.map(async (releaseActionArgs)=>{
32
- try {
33
- const action = await releaseActionService.create(releaseId, releaseActionArgs, {
34
- disableUpdateReleaseStatus: true
35
- });
36
- return action;
37
- } catch (error) {
38
- // If the entry is already in the release, we don't want to throw an error, so we catch and ignore it
39
- if (error instanceof AlreadyOnReleaseError) {
40
- return null;
41
- }
42
- throw error;
43
- }
44
- }));
45
- return releaseActions;
46
- });
47
- const newReleaseActions = releaseActions.filter((action)=>action !== null);
48
- if (newReleaseActions.length > 0) {
49
- releaseService.updateReleaseStatus(releaseId);
50
- }
51
- ctx.created({
52
- data: newReleaseActions,
53
- meta: {
54
- entriesAlreadyInRelease: releaseActions.length - newReleaseActions.length,
55
- totalEntries: releaseActions.length
56
- }
57
- });
58
- },
59
- async findMany (ctx) {
60
- const releaseId = ctx.params.releaseId;
61
- const permissionsManager = strapi.service('admin::permission').createPermissionsManager({
62
- ability: ctx.state.userAbility,
63
- model: RELEASE_ACTION_MODEL_UID
64
- });
65
- await validateFindManyActionsParams(ctx.query);
66
- if (ctx.query.groupBy) {
67
- if (![
68
- 'action',
69
- 'contentType',
70
- 'locale'
71
- ].includes(ctx.query.groupBy)) {
72
- ctx.badRequest('Invalid groupBy parameter');
73
- }
74
- }
75
- ctx.query.sort = ctx.query.groupBy === 'action' ? 'type' : ctx.query.groupBy;
76
- delete ctx.query.groupBy;
77
- const query = await permissionsManager.sanitizeQuery(ctx.query);
78
- const releaseActionService = getService('release-action', {
79
- strapi
80
- });
81
- const { results, pagination } = await releaseActionService.findPage(releaseId, {
82
- ...query
83
- });
84
- /**
85
- * Release actions can be related to entries of different content types.
86
- * We need to sanitize the entry output according to that content type.
87
- * So, we group the sanitized output function by content type.
88
- */ const contentTypeOutputSanitizers = results.reduce((acc, action)=>{
89
- if (acc[action.contentType]) {
90
- return acc;
91
- }
92
- const contentTypePermissionsManager = strapi.service('admin::permission').createPermissionsManager({
93
- ability: ctx.state.userAbility,
94
- model: action.contentType
95
- });
96
- acc[action.contentType] = contentTypePermissionsManager.sanitizeOutput;
97
- return acc;
98
- }, {});
99
- /**
100
- * sanitizeOutput doesn't work if you use it directly on the Release Action model, it doesn't sanitize the entries
101
- * So, we need to sanitize manually each entry inside a Release Action
102
- */ const sanitizedResults = await async.map(results, async (action)=>({
103
- ...action,
104
- entry: action.entry ? await contentTypeOutputSanitizers[action.contentType](action.entry) : {}
105
- }));
106
- const groupedData = await releaseActionService.groupActions(sanitizedResults, query.sort);
107
- const contentTypes = await releaseActionService.getContentTypeModelsFromActions(results);
108
- const releaseService = getService('release', {
109
- strapi
110
- });
111
- const components = await releaseService.getAllComponents();
112
- ctx.body = {
113
- data: groupedData,
114
- meta: {
115
- pagination,
116
- contentTypes,
117
- components
118
- }
119
- };
120
- },
121
- async update (ctx) {
122
- const actionId = ctx.params.actionId;
123
- const releaseId = ctx.params.releaseId;
124
- const releaseActionUpdateArgs = ctx.request.body;
125
- await validateReleaseActionUpdateSchema(releaseActionUpdateArgs);
126
- const releaseActionService = getService('release-action', {
127
- strapi
128
- });
129
- const updatedAction = await releaseActionService.update(actionId, releaseId, releaseActionUpdateArgs);
130
- ctx.body = {
131
- data: updatedAction
132
- };
133
- },
134
- async delete (ctx) {
135
- const actionId = ctx.params.actionId;
136
- const releaseId = ctx.params.releaseId;
137
- const releaseActionService = getService('release-action', {
138
- strapi
139
- });
140
- const deletedReleaseAction = await releaseActionService.delete(actionId, releaseId);
141
- ctx.body = {
142
- data: deletedReleaseAction
143
- };
144
- }
145
- };
146
-
147
- export { releaseActionController as default };
148
- //# sourceMappingURL=release-action.mjs.map