@strapi/content-releases 0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95 → 0.0.0-experimental.e4103be75de4e986d3c7eacedc971623d1dd2d63

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 (368) hide show
  1. package/LICENSE +17 -1
  2. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
  3. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
  4. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
  5. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
  6. package/dist/admin/assets/purchase-page-illustration-light.svg.js +6 -0
  7. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
  8. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +4 -0
  9. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
  10. package/dist/admin/components/EntryValidationPopover.js +310 -0
  11. package/dist/admin/components/EntryValidationPopover.js.map +1 -0
  12. package/dist/admin/components/EntryValidationPopover.mjs +308 -0
  13. package/dist/admin/components/EntryValidationPopover.mjs.map +1 -0
  14. package/dist/admin/components/RelativeTime.js +76 -0
  15. package/dist/admin/components/RelativeTime.js.map +1 -0
  16. package/dist/admin/components/RelativeTime.mjs +55 -0
  17. package/dist/admin/components/RelativeTime.mjs.map +1 -0
  18. package/dist/admin/components/ReleaseAction.js +203 -0
  19. package/dist/admin/components/ReleaseAction.js.map +1 -0
  20. package/dist/admin/components/ReleaseAction.mjs +201 -0
  21. package/dist/admin/components/ReleaseAction.mjs.map +1 -0
  22. package/dist/admin/components/ReleaseActionMenu.js +194 -0
  23. package/dist/admin/components/ReleaseActionMenu.js.map +1 -0
  24. package/dist/admin/components/ReleaseActionMenu.mjs +173 -0
  25. package/dist/admin/components/ReleaseActionMenu.mjs.map +1 -0
  26. package/dist/admin/components/ReleaseActionModal.js +268 -0
  27. package/dist/admin/components/ReleaseActionModal.js.map +1 -0
  28. package/dist/admin/components/ReleaseActionModal.mjs +244 -0
  29. package/dist/admin/components/ReleaseActionModal.mjs.map +1 -0
  30. package/dist/admin/components/ReleaseActionOptions.js +104 -0
  31. package/dist/admin/components/ReleaseActionOptions.js.map +1 -0
  32. package/dist/admin/components/ReleaseActionOptions.mjs +102 -0
  33. package/dist/admin/components/ReleaseActionOptions.mjs.map +1 -0
  34. package/dist/admin/components/ReleaseListCell.js +103 -0
  35. package/dist/admin/components/ReleaseListCell.js.map +1 -0
  36. package/dist/admin/components/ReleaseListCell.mjs +100 -0
  37. package/dist/admin/components/ReleaseListCell.mjs.map +1 -0
  38. package/dist/admin/components/ReleaseModal.js +331 -0
  39. package/dist/admin/components/ReleaseModal.js.map +1 -0
  40. package/dist/admin/components/ReleaseModal.mjs +310 -0
  41. package/dist/admin/components/ReleaseModal.mjs.map +1 -0
  42. package/dist/admin/components/ReleasesPanel.js +138 -0
  43. package/dist/admin/components/ReleasesPanel.js.map +1 -0
  44. package/dist/admin/components/ReleasesPanel.mjs +136 -0
  45. package/dist/admin/components/ReleasesPanel.mjs.map +1 -0
  46. package/dist/admin/components/Widgets.js +122 -0
  47. package/dist/admin/components/Widgets.js.map +1 -0
  48. package/dist/admin/components/Widgets.mjs +120 -0
  49. package/dist/admin/components/Widgets.mjs.map +1 -0
  50. package/dist/admin/constants.js +79 -0
  51. package/dist/admin/constants.js.map +1 -0
  52. package/dist/admin/constants.mjs +76 -0
  53. package/dist/admin/constants.mjs.map +1 -0
  54. package/dist/admin/index.js +148 -18
  55. package/dist/admin/index.js.map +1 -1
  56. package/dist/admin/index.mjs +143 -18
  57. package/dist/admin/index.mjs.map +1 -1
  58. package/dist/admin/modules/hooks.js +8 -0
  59. package/dist/admin/modules/hooks.js.map +1 -0
  60. package/dist/admin/modules/hooks.mjs +6 -0
  61. package/dist/admin/modules/hooks.mjs.map +1 -0
  62. package/dist/admin/pages/App.js +29 -0
  63. package/dist/admin/pages/App.js.map +1 -0
  64. package/dist/admin/pages/App.mjs +27 -0
  65. package/dist/admin/pages/App.mjs.map +1 -0
  66. package/dist/admin/pages/PurchaseContentReleases.js +192 -0
  67. package/dist/admin/pages/PurchaseContentReleases.js.map +1 -0
  68. package/dist/admin/pages/PurchaseContentReleases.mjs +190 -0
  69. package/dist/admin/pages/PurchaseContentReleases.mjs.map +1 -0
  70. package/dist/admin/pages/ReleaseDetailsPage.js +774 -0
  71. package/dist/admin/pages/ReleaseDetailsPage.js.map +1 -0
  72. package/dist/admin/pages/ReleaseDetailsPage.mjs +753 -0
  73. package/dist/admin/pages/ReleaseDetailsPage.mjs.map +1 -0
  74. package/dist/admin/pages/ReleasesPage.js +405 -0
  75. package/dist/admin/pages/ReleasesPage.js.map +1 -0
  76. package/dist/admin/pages/ReleasesPage.mjs +383 -0
  77. package/dist/admin/pages/ReleasesPage.mjs.map +1 -0
  78. package/dist/admin/pages/ReleasesSettingsPage.js +225 -0
  79. package/dist/admin/pages/ReleasesSettingsPage.js.map +1 -0
  80. package/dist/admin/pages/ReleasesSettingsPage.mjs +223 -0
  81. package/dist/admin/pages/ReleasesSettingsPage.mjs.map +1 -0
  82. package/dist/admin/pluginId.js +6 -0
  83. package/dist/admin/pluginId.js.map +1 -0
  84. package/dist/admin/pluginId.mjs +4 -0
  85. package/dist/admin/pluginId.mjs.map +1 -0
  86. package/dist/admin/services/homepage.js +24 -0
  87. package/dist/admin/services/homepage.js.map +1 -0
  88. package/dist/admin/services/homepage.mjs +22 -0
  89. package/dist/admin/services/homepage.mjs.map +1 -0
  90. package/dist/admin/services/release.js +473 -0
  91. package/dist/admin/services/release.js.map +1 -0
  92. package/dist/admin/services/release.mjs +456 -0
  93. package/dist/admin/services/release.mjs.map +1 -0
  94. package/dist/admin/src/components/EntryValidationPopover.d.ts +13 -0
  95. package/dist/admin/src/components/ReleaseAction.d.ts +3 -0
  96. package/dist/admin/src/components/ReleaseActionMenu.d.ts +4 -4
  97. package/dist/admin/src/components/ReleaseActionModal.d.ts +24 -0
  98. package/dist/admin/src/components/ReleaseListCell.d.ts +28 -0
  99. package/dist/admin/src/components/ReleaseModal.d.ts +3 -2
  100. package/dist/admin/src/components/ReleasesPanel.d.ts +3 -0
  101. package/dist/admin/src/components/Widgets.d.ts +2 -0
  102. package/dist/admin/src/constants.d.ts +19 -0
  103. package/dist/admin/src/modules/hooks.d.ts +7 -0
  104. package/dist/admin/src/pages/ReleasesSettingsPage.d.ts +1 -0
  105. package/dist/admin/src/services/homepage.d.ts +9 -0
  106. package/dist/admin/src/services/release.d.ts +66 -323
  107. package/dist/admin/src/utils/api.d.ts +6 -0
  108. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +3 -0
  109. package/dist/admin/src/utils/time.d.ts +9 -0
  110. package/dist/admin/src/validation/schemas.d.ts +6 -0
  111. package/dist/admin/store/hooks.js +8 -0
  112. package/dist/admin/store/hooks.js.map +1 -0
  113. package/dist/admin/store/hooks.mjs +6 -0
  114. package/dist/admin/store/hooks.mjs.map +1 -0
  115. package/dist/admin/translations/en.json.js +111 -0
  116. package/dist/admin/translations/en.json.js.map +1 -0
  117. package/dist/admin/translations/en.json.mjs +109 -0
  118. package/dist/admin/translations/en.json.mjs.map +1 -0
  119. package/dist/admin/translations/uk.json.js +103 -0
  120. package/dist/admin/translations/uk.json.js.map +1 -0
  121. package/dist/admin/translations/uk.json.mjs +101 -0
  122. package/dist/admin/translations/uk.json.mjs.map +1 -0
  123. package/dist/admin/utils/api.js +8 -0
  124. package/dist/admin/utils/api.js.map +1 -0
  125. package/dist/admin/utils/api.mjs +6 -0
  126. package/dist/admin/utils/api.mjs.map +1 -0
  127. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  128. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  129. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  130. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  131. package/dist/admin/utils/time.js +42 -0
  132. package/dist/admin/utils/time.js.map +1 -0
  133. package/dist/admin/utils/time.mjs +39 -0
  134. package/dist/admin/utils/time.mjs.map +1 -0
  135. package/dist/admin/validation/schemas.js +65 -0
  136. package/dist/admin/validation/schemas.js.map +1 -0
  137. package/dist/admin/validation/schemas.mjs +43 -0
  138. package/dist/admin/validation/schemas.mjs.map +1 -0
  139. package/dist/server/bootstrap.js +68 -0
  140. package/dist/server/bootstrap.js.map +1 -0
  141. package/dist/server/bootstrap.mjs +66 -0
  142. package/dist/server/bootstrap.mjs.map +1 -0
  143. package/dist/server/constants.js +74 -0
  144. package/dist/server/constants.js.map +1 -0
  145. package/dist/server/constants.mjs +69 -0
  146. package/dist/server/constants.mjs.map +1 -0
  147. package/dist/server/content-types/index.js +12 -0
  148. package/dist/server/content-types/index.js.map +1 -0
  149. package/dist/server/content-types/index.mjs +10 -0
  150. package/dist/server/content-types/index.mjs.map +1 -0
  151. package/dist/server/content-types/release/index.js +10 -0
  152. package/dist/server/content-types/release/index.js.map +1 -0
  153. package/dist/server/content-types/release/index.mjs +8 -0
  154. package/dist/server/content-types/release/index.mjs.map +1 -0
  155. package/dist/server/content-types/release/schema.js +58 -0
  156. package/dist/server/content-types/release/schema.js.map +1 -0
  157. package/dist/server/content-types/release/schema.mjs +56 -0
  158. package/dist/server/content-types/release/schema.mjs.map +1 -0
  159. package/dist/server/content-types/release-action/index.js +10 -0
  160. package/dist/server/content-types/release-action/index.js.map +1 -0
  161. package/dist/server/content-types/release-action/index.mjs +8 -0
  162. package/dist/server/content-types/release-action/index.mjs.map +1 -0
  163. package/dist/server/content-types/release-action/schema.js +55 -0
  164. package/dist/server/content-types/release-action/schema.js.map +1 -0
  165. package/dist/server/content-types/release-action/schema.mjs +53 -0
  166. package/dist/server/content-types/release-action/schema.mjs.map +1 -0
  167. package/dist/server/controllers/homepage.js +15 -0
  168. package/dist/server/controllers/homepage.js.map +1 -0
  169. package/dist/server/controllers/homepage.mjs +13 -0
  170. package/dist/server/controllers/homepage.mjs.map +1 -0
  171. package/dist/server/controllers/index.js +16 -0
  172. package/dist/server/controllers/index.js.map +1 -0
  173. package/dist/server/controllers/index.mjs +14 -0
  174. package/dist/server/controllers/index.mjs.map +1 -0
  175. package/dist/server/controllers/release-action.js +150 -0
  176. package/dist/server/controllers/release-action.js.map +1 -0
  177. package/dist/server/controllers/release-action.mjs +148 -0
  178. package/dist/server/controllers/release-action.mjs.map +1 -0
  179. package/dist/server/controllers/release.js +302 -0
  180. package/dist/server/controllers/release.js.map +1 -0
  181. package/dist/server/controllers/release.mjs +300 -0
  182. package/dist/server/controllers/release.mjs.map +1 -0
  183. package/dist/server/controllers/settings.js +37 -0
  184. package/dist/server/controllers/settings.js.map +1 -0
  185. package/dist/server/controllers/settings.mjs +35 -0
  186. package/dist/server/controllers/settings.mjs.map +1 -0
  187. package/dist/server/controllers/validation/release-action.js +34 -0
  188. package/dist/server/controllers/validation/release-action.js.map +1 -0
  189. package/dist/server/controllers/validation/release-action.mjs +30 -0
  190. package/dist/server/controllers/validation/release-action.mjs.map +1 -0
  191. package/dist/server/controllers/validation/release.js +26 -0
  192. package/dist/server/controllers/validation/release.js.map +1 -0
  193. package/dist/server/controllers/validation/release.mjs +22 -0
  194. package/dist/server/controllers/validation/release.mjs.map +1 -0
  195. package/dist/server/controllers/validation/settings.js +32 -0
  196. package/dist/server/controllers/validation/settings.js.map +1 -0
  197. package/dist/server/controllers/validation/settings.mjs +10 -0
  198. package/dist/server/controllers/validation/settings.mjs.map +1 -0
  199. package/dist/server/destroy.js +15 -0
  200. package/dist/server/destroy.js.map +1 -0
  201. package/dist/server/destroy.mjs +13 -0
  202. package/dist/server/destroy.mjs.map +1 -0
  203. package/dist/server/index.js +25 -1574
  204. package/dist/server/index.js.map +1 -1
  205. package/dist/server/index.mjs +24 -1554
  206. package/dist/server/index.mjs.map +1 -1
  207. package/dist/server/middlewares/documents.js +104 -0
  208. package/dist/server/middlewares/documents.js.map +1 -0
  209. package/dist/server/middlewares/documents.mjs +101 -0
  210. package/dist/server/middlewares/documents.mjs.map +1 -0
  211. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +51 -0
  212. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +1 -0
  213. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +49 -0
  214. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +1 -0
  215. package/dist/server/migrations/index.js +205 -0
  216. package/dist/server/migrations/index.js.map +1 -0
  217. package/dist/server/migrations/index.mjs +198 -0
  218. package/dist/server/migrations/index.mjs.map +1 -0
  219. package/dist/server/register.js +23 -0
  220. package/dist/server/register.js.map +1 -0
  221. package/dist/server/register.mjs +21 -0
  222. package/dist/server/register.mjs.map +1 -0
  223. package/dist/server/routes/homepage.js +25 -0
  224. package/dist/server/routes/homepage.js.map +1 -0
  225. package/dist/server/routes/homepage.mjs +23 -0
  226. package/dist/server/routes/homepage.mjs.map +1 -0
  227. package/dist/server/routes/index.js +16 -0
  228. package/dist/server/routes/index.js.map +1 -0
  229. package/dist/server/routes/index.mjs +14 -0
  230. package/dist/server/routes/index.mjs.map +1 -0
  231. package/dist/server/routes/release-action.js +100 -0
  232. package/dist/server/routes/release-action.js.map +1 -0
  233. package/dist/server/routes/release-action.mjs +98 -0
  234. package/dist/server/routes/release-action.mjs.map +1 -0
  235. package/dist/server/routes/release.js +154 -0
  236. package/dist/server/routes/release.js.map +1 -0
  237. package/dist/server/routes/release.mjs +152 -0
  238. package/dist/server/routes/release.mjs.map +1 -0
  239. package/dist/server/routes/settings.js +46 -0
  240. package/dist/server/routes/settings.js.map +1 -0
  241. package/dist/server/routes/settings.mjs +44 -0
  242. package/dist/server/routes/settings.mjs.map +1 -0
  243. package/dist/server/services/homepage.js +26 -0
  244. package/dist/server/services/homepage.js.map +1 -0
  245. package/dist/server/services/homepage.mjs +24 -0
  246. package/dist/server/services/homepage.mjs.map +1 -0
  247. package/dist/server/services/index.js +20 -0
  248. package/dist/server/services/index.js.map +1 -0
  249. package/dist/server/services/index.mjs +18 -0
  250. package/dist/server/services/index.mjs.map +1 -0
  251. package/dist/server/services/release-action.js +324 -0
  252. package/dist/server/services/release-action.js.map +1 -0
  253. package/dist/server/services/release-action.mjs +322 -0
  254. package/dist/server/services/release-action.mjs.map +1 -0
  255. package/dist/server/services/release.js +324 -0
  256. package/dist/server/services/release.js.map +1 -0
  257. package/dist/server/services/release.mjs +322 -0
  258. package/dist/server/services/release.mjs.map +1 -0
  259. package/dist/server/services/scheduling.js +74 -0
  260. package/dist/server/services/scheduling.js.map +1 -0
  261. package/dist/server/services/scheduling.mjs +72 -0
  262. package/dist/server/services/scheduling.mjs.map +1 -0
  263. package/dist/server/services/settings.js +34 -0
  264. package/dist/server/services/settings.js.map +1 -0
  265. package/dist/server/services/settings.mjs +32 -0
  266. package/dist/server/services/settings.mjs.map +1 -0
  267. package/dist/server/services/validation.js +91 -0
  268. package/dist/server/services/validation.js.map +1 -0
  269. package/dist/server/services/validation.mjs +86 -0
  270. package/dist/server/services/validation.mjs.map +1 -0
  271. package/dist/server/src/bootstrap.d.ts +2 -2
  272. package/dist/server/src/bootstrap.d.ts.map +1 -1
  273. package/dist/server/src/constants.d.ts +11 -2
  274. package/dist/server/src/constants.d.ts.map +1 -1
  275. package/dist/server/src/content-types/index.d.ts +3 -5
  276. package/dist/server/src/content-types/index.d.ts.map +1 -1
  277. package/dist/server/src/content-types/release-action/index.d.ts +3 -5
  278. package/dist/server/src/content-types/release-action/index.d.ts.map +1 -1
  279. package/dist/server/src/content-types/release-action/schema.d.ts +3 -5
  280. package/dist/server/src/content-types/release-action/schema.d.ts.map +1 -1
  281. package/dist/server/src/controllers/homepage.d.ts +6 -0
  282. package/dist/server/src/controllers/homepage.d.ts.map +1 -0
  283. package/dist/server/src/controllers/index.d.ts +11 -1
  284. package/dist/server/src/controllers/index.d.ts.map +1 -1
  285. package/dist/server/src/controllers/release-action.d.ts +1 -0
  286. package/dist/server/src/controllers/release-action.d.ts.map +1 -1
  287. package/dist/server/src/controllers/release.d.ts +8 -1
  288. package/dist/server/src/controllers/release.d.ts.map +1 -1
  289. package/dist/server/src/controllers/settings.d.ts +11 -0
  290. package/dist/server/src/controllers/settings.d.ts.map +1 -0
  291. package/dist/server/src/controllers/validation/release-action.d.ts +13 -2
  292. package/dist/server/src/controllers/validation/release-action.d.ts.map +1 -1
  293. package/dist/server/src/controllers/validation/release.d.ts +2 -0
  294. package/dist/server/src/controllers/validation/release.d.ts.map +1 -1
  295. package/dist/server/src/controllers/validation/settings.d.ts +3 -0
  296. package/dist/server/src/controllers/validation/settings.d.ts.map +1 -0
  297. package/dist/server/src/destroy.d.ts +2 -2
  298. package/dist/server/src/destroy.d.ts.map +1 -1
  299. package/dist/server/src/index.d.ts +1473 -1445
  300. package/dist/server/src/index.d.ts.map +1 -1
  301. package/dist/server/src/middlewares/documents.d.ts +6 -0
  302. package/dist/server/src/middlewares/documents.d.ts.map +1 -0
  303. package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts +9 -0
  304. package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts.map +1 -0
  305. package/dist/server/src/migrations/index.d.ts +3 -0
  306. package/dist/server/src/migrations/index.d.ts.map +1 -1
  307. package/dist/server/src/register.d.ts +2 -2
  308. package/dist/server/src/register.d.ts.map +1 -1
  309. package/dist/server/src/routes/homepage.d.ts +4 -0
  310. package/dist/server/src/routes/homepage.d.ts.map +1 -0
  311. package/dist/server/src/routes/index.d.ts +17 -0
  312. package/dist/server/src/routes/index.d.ts.map +1 -1
  313. package/dist/server/src/routes/release-action.d.ts.map +1 -1
  314. package/dist/server/src/routes/release.d.ts.map +1 -1
  315. package/dist/server/src/routes/settings.d.ts +18 -0
  316. package/dist/server/src/routes/settings.d.ts.map +1 -0
  317. package/dist/server/src/services/homepage.d.ts +9 -0
  318. package/dist/server/src/services/homepage.d.ts.map +1 -0
  319. package/dist/server/src/services/index.d.ts +1433 -1430
  320. package/dist/server/src/services/index.d.ts.map +1 -1
  321. package/dist/server/src/services/release-action.d.ts +34 -0
  322. package/dist/server/src/services/release-action.d.ts.map +1 -0
  323. package/dist/server/src/services/release.d.ts +8 -43
  324. package/dist/server/src/services/release.d.ts.map +1 -1
  325. package/dist/server/src/services/scheduling.d.ts +6 -7
  326. package/dist/server/src/services/scheduling.d.ts.map +1 -1
  327. package/dist/server/src/services/settings.d.ts +13 -0
  328. package/dist/server/src/services/settings.d.ts.map +1 -0
  329. package/dist/server/src/services/validation.d.ts +7 -3
  330. package/dist/server/src/services/validation.d.ts.map +1 -1
  331. package/dist/server/src/utils/index.d.ts +33 -12
  332. package/dist/server/src/utils/index.d.ts.map +1 -1
  333. package/dist/server/utils/index.js +94 -0
  334. package/dist/server/utils/index.js.map +1 -0
  335. package/dist/server/utils/index.mjs +88 -0
  336. package/dist/server/utils/index.mjs.map +1 -0
  337. package/dist/shared/contracts/homepage.d.ts +11 -0
  338. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  339. package/dist/shared/contracts/release-actions.d.ts +44 -13
  340. package/dist/shared/contracts/release-actions.d.ts.map +1 -1
  341. package/dist/shared/contracts/releases.d.ts +24 -7
  342. package/dist/shared/contracts/releases.d.ts.map +1 -1
  343. package/dist/shared/contracts/settings.d.ts +38 -0
  344. package/dist/shared/contracts/settings.d.ts.map +1 -0
  345. package/dist/shared/types.d.ts +3 -3
  346. package/dist/shared/types.d.ts.map +1 -1
  347. package/package.json +35 -31
  348. package/dist/_chunks/App-PQlYzNfb.mjs +0 -1337
  349. package/dist/_chunks/App-PQlYzNfb.mjs.map +0 -1
  350. package/dist/_chunks/App-lzeJz92X.js +0 -1360
  351. package/dist/_chunks/App-lzeJz92X.js.map +0 -1
  352. package/dist/_chunks/PurchaseContentReleases-Clm0iACO.mjs +0 -51
  353. package/dist/_chunks/PurchaseContentReleases-Clm0iACO.mjs.map +0 -1
  354. package/dist/_chunks/PurchaseContentReleases-YhAPgpG9.js +0 -51
  355. package/dist/_chunks/PurchaseContentReleases-YhAPgpG9.js.map +0 -1
  356. package/dist/_chunks/en-WuuhP6Bn.mjs +0 -78
  357. package/dist/_chunks/en-WuuhP6Bn.mjs.map +0 -1
  358. package/dist/_chunks/en-gcJJ5htG.js +0 -78
  359. package/dist/_chunks/en-gcJJ5htG.js.map +0 -1
  360. package/dist/_chunks/index--4AgLDzb.mjs +0 -1007
  361. package/dist/_chunks/index--4AgLDzb.mjs.map +0 -1
  362. package/dist/_chunks/index-Nf1JfI-m.js +0 -1028
  363. package/dist/_chunks/index-Nf1JfI-m.js.map +0 -1
  364. package/dist/admin/src/components/CMReleasesContainer.d.ts +0 -1
  365. package/dist/admin/src/services/axios.d.ts +0 -29
  366. package/dist/shared/validation-schemas.d.ts +0 -2
  367. package/dist/shared/validation-schemas.d.ts.map +0 -1
  368. package/strapi-server.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /// <reference types="lodash" />
2
+ import type { Core, Modules, UID } from '@strapi/types';
3
+ import { RELEASE_ACTION_MODEL_UID } from '../constants';
4
+ import type { CreateReleaseAction, GetReleaseActions, ReleaseAction, ReleaseActionGroupBy, UpdateReleaseAction, DeleteReleaseAction } from '../../../shared/contracts/release-actions';
5
+ import type { Entity } from '../../../shared/types';
6
+ export interface Locale extends Entity {
7
+ name: string;
8
+ code: string;
9
+ }
10
+ declare const createReleaseActionService: ({ strapi }: {
11
+ strapi: Core.Strapi;
12
+ }) => {
13
+ create(releaseId: CreateReleaseAction.Request['params']['releaseId'], action: CreateReleaseAction.Request['body'], { disableUpdateReleaseStatus }?: {
14
+ disableUpdateReleaseStatus?: boolean;
15
+ }): Promise<any>;
16
+ findPage(releaseId: GetReleaseActions.Request['params']['releaseId'], query?: GetReleaseActions.Request['query']): Promise<{
17
+ results: any;
18
+ pagination: {
19
+ page: number;
20
+ pageSize: number;
21
+ pageCount: number;
22
+ total: number;
23
+ };
24
+ }>;
25
+ groupActions(actions: ReleaseAction[], groupBy: ReleaseActionGroupBy): Promise<import("lodash").Dictionary<(null | undefined)[]>>;
26
+ getContentTypeModelsFromActions(actions: ReleaseAction[]): Promise<{} | undefined>;
27
+ countActions(query: Modules.EntityService.Params.Pick<typeof RELEASE_ACTION_MODEL_UID, 'filters'>): Promise<number>;
28
+ update(actionId: UpdateReleaseAction.Request['params']['actionId'], releaseId: UpdateReleaseAction.Request['params']['releaseId'], update: UpdateReleaseAction.Request['body']): Promise<any>;
29
+ delete(actionId: DeleteReleaseAction.Request['params']['actionId'], releaseId: DeleteReleaseAction.Request['params']['releaseId']): Promise<any>;
30
+ validateActionsByContentTypes(contentTypeUids: UID.ContentType[]): Promise<void>;
31
+ };
32
+ export type ReleaseActionService = ReturnType<typeof createReleaseActionService>;
33
+ export default createReleaseActionService;
34
+ //# sourceMappingURL=release-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-action.d.ts","sourceRoot":"","sources":["../../../../server/src/services/release-action.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,IAAI,EAAY,OAAO,EAAE,GAAG,EAAQ,MAAM,eAAe,CAAC;AAIxE,OAAO,EAAE,wBAAwB,EAAqB,MAAM,cAAc,CAAC;AAE3E,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAgBpD,MAAM,WAAW,MAAO,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,QAAA,MAAM,0BAA0B,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;sBAyCtD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACrD,2BAA2B,CAAC,MAAM,CAAC,mCACH;QAAE,0BAA0B,CAAC,EAAE,OAAO,CAAA;KAAE;wBAoErE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACnD,yBAAyB,CAAC,OAAO,CAAC;;;;;;;;;0BAsDhB,aAAa,EAAE,WAAW,oBAAoB;6CA6B3B,aAAa,EAAE;wBAuCrD,QAAQ,aAAa,CAAC,MAAM,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC;qBAQ1E,2BAA2B,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,aAChD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACrD,2BAA2B,CAAC,MAAM,CAAC;qBAwDjC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,aAChD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;mDAyBV,IAAI,WAAW,EAAE;CAuDzE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF,eAAe,0BAA0B,CAAC"}
@@ -1,18 +1,8 @@
1
- /// <reference types="lodash" />
2
- import type { LoadedStrapi, EntityService, Schema } from '@strapi/types';
3
- import { RELEASE_ACTION_MODEL_UID } from '../constants';
4
- import type { GetReleases, CreateRelease, UpdateRelease, PublishRelease, GetRelease, Release, DeleteRelease, GetContentTypeEntryReleases } from '../../../shared/contracts/releases';
5
- import type { CreateReleaseAction, GetReleaseActions, ReleaseAction, UpdateReleaseAction, DeleteReleaseAction, ReleaseActionGroupBy } from '../../../shared/contracts/release-actions';
6
- import type { Entity, UserInfo } from '../../../shared/types';
7
- export interface Locale extends Entity {
8
- name: string;
9
- code: string;
10
- }
11
- type LocaleDictionary = {
12
- [key: Locale['code']]: Pick<Locale, 'name' | 'code'>;
13
- };
1
+ import type { Core, Data } from '@strapi/types';
2
+ import type { GetReleases, CreateRelease, UpdateRelease, PublishRelease, GetRelease, Release, DeleteRelease } from '../../../shared/contracts/releases';
3
+ import type { UserInfo } from '../../../shared/types';
14
4
  declare const createReleaseService: ({ strapi }: {
15
- strapi: LoadedStrapi;
5
+ strapi: Core.Strapi;
16
6
  }) => {
17
7
  create(releaseData: CreateRelease.Request['body'], { user }: {
18
8
  user: UserInfo;
@@ -27,40 +17,15 @@ declare const createReleaseService: ({ strapi }: {
27
17
  total: number;
28
18
  };
29
19
  }>;
30
- findManyWithContentTypeEntryAttached(contentTypeUid: GetContentTypeEntryReleases.Request['query']['contentTypeUid'], entryId: GetContentTypeEntryReleases.Request['query']['entryId']): Promise<any[]>;
31
- findManyWithoutContentTypeEntryAttached(contentTypeUid: GetContentTypeEntryReleases.Request['query']['contentTypeUid'], entryId: GetContentTypeEntryReleases.Request['query']['entryId']): Promise<any[]>;
32
- update(id: number, releaseData: UpdateRelease.Request['body'], { user }: {
20
+ findMany(query?: any): Promise<any[]>;
21
+ update(id: Data.ID, releaseData: UpdateRelease.Request['body'], { user }: {
33
22
  user: UserInfo;
34
23
  }): Promise<any>;
35
- createAction(releaseId: CreateReleaseAction.Request['params']['releaseId'], action: Pick<CreateReleaseAction.Request['body'], 'type' | 'entry'>): Promise<any>;
36
- findActions(releaseId: GetReleaseActions.Request['params']['releaseId'], query?: GetReleaseActions.Request['query']): Promise<{
37
- results: any[];
38
- pagination: {
39
- page: number;
40
- pageSize: number;
41
- pageCount: number;
42
- total: number;
43
- };
44
- }>;
45
- countActions(query: EntityService.Params.Pick<typeof RELEASE_ACTION_MODEL_UID, 'filters'>): Promise<number>;
46
- groupActions(actions: ReleaseAction[], groupBy: ReleaseActionGroupBy): Promise<import("lodash").Dictionary<(null | undefined)[]>>;
47
- getLocalesDataForActions(): Promise<LocaleDictionary>;
48
- getContentTypesDataForActions(contentTypesUids: ReleaseAction['contentType'][]): Promise<Record<`admin::${string}` | `strapi::${string}` | `api::${string}.${string}` | `plugin::${string}.${string}`, {
49
- mainField: string;
50
- displayName: string;
51
- }>>;
52
- getContentTypeModelsFromActions(actions: ReleaseAction[]): {
53
- [key: `admin::${string}`]: Schema.ContentType;
54
- [key: `strapi::${string}`]: Schema.ContentType;
55
- [key: `api::${string}.${string}`]: Schema.ContentType;
56
- [key: `plugin::${string}.${string}`]: Schema.ContentType;
57
- };
58
24
  getAllComponents(): Promise<any>;
59
25
  delete(releaseId: DeleteRelease.Request['params']['id']): Promise<Release>;
60
- publish(releaseId: PublishRelease.Request['params']['id']): Promise<Release>;
61
- updateAction(actionId: UpdateReleaseAction.Request['params']['actionId'], releaseId: UpdateReleaseAction.Request['params']['releaseId'], update: UpdateReleaseAction.Request['body']): Promise<any>;
62
- deleteAction(actionId: DeleteReleaseAction.Request['params']['actionId'], releaseId: DeleteReleaseAction.Request['params']['releaseId']): Promise<any>;
26
+ publish(releaseId: PublishRelease.Request['params']['id']): Promise<Pick<Release, "id" | "releasedAt" | "status"> | null>;
63
27
  updateReleaseStatus(releaseId: Release['id']): Promise<any>;
64
28
  };
29
+ export type ReleaseService = ReturnType<typeof createReleaseService>;
65
30
  export default createReleaseService;
66
31
  //# sourceMappingURL=release.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../server/src/services/release.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAO,MAAM,EAAE,MAAM,eAAe,CAAC;AAI9E,OAAO,EAA0B,wBAAwB,EAAqB,MAAM,cAAc,CAAC;AACnG,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,EACV,OAAO,EACP,aAAa,EACb,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG9D,MAAM,WAAW,MAAO,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,gBAAgB,GAAG;IACtB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACtD,CAAC;AAeF,QAAA,MAAM,oBAAoB;YAA0B,YAAY;;wBAalC,qBAAqB,CAAC,MAAM,CAAC;cAAoB,QAAQ;;gBAoCjE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;qBAUnC,mBAAmB,CAAC,OAAO,CAAC;;;;;;;;;yDAc3B,mCAAmC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,WACrE,mCAAmC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;4DAyChD,mCAAmC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,WACrE,mCAAmC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;eAmD5D,MAAM,eACG,qBAAqB,CAAC,MAAM,CAAC;cACxB,QAAQ;;4BAmDf,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACrD,KAAK,2BAA2B,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;2BAkDxD,yBAAyB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACnD,yBAAyB,CAAC,OAAO,CAAC;;;;;;;;;wBA8BnC,cAAc,MAAM,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC;0BAUlD,aAAa,EAAE,WAAW,oBAAoB;;oDA4CpB,aAAa,CAAC,aAAa,CAAC,EAAE;mBAKrB,MAAM;qBAAe,MAAM;;6CAgBjD,aAAa,EAAE;;;;;;;sBA8ChC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;uBA8CpC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;2BA2LnD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,aAChD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACrD,2BAA2B,CAAC,MAAM,CAAC;2BAyBjC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,aAChD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;mCAyB1B,OAAO,CAAC,IAAI,CAAC;CA+CrD,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../server/src/services/release.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAe,IAAI,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,EACV,OAAO,EACP,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,QAAA,MAAM,oBAAoB,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;wBA2DnC,qBAAqB,CAAC,MAAM,CAAC,YAAY;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE;gBAiCnE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;qBAUnC,mBAAmB,CAAC,OAAO,CAAC;;;;;;;;;qBAa5B,GAAG;eASd,KAAK,EAAE,eACE,qBAAqB,CAAC,MAAM,CAAC,YAChC;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE;;sBAsEN,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;uBA8CpC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;mCAqG1B,OAAO,CAAC,IAAI,CAAC;CAiDrD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,eAAe,oBAAoB,CAAC"}
@@ -1,18 +1,17 @@
1
- import { Job } from 'node-schedule';
2
- import { LoadedStrapi } from '@strapi/types';
1
+ import type { Core } from '@strapi/types';
3
2
  import { Release } from '../../../shared/contracts/releases';
4
3
  declare const createSchedulingService: ({ strapi }: {
5
- strapi: LoadedStrapi;
4
+ strapi: Core.Strapi;
6
5
  }) => {
7
- set(releaseId: Release['id'], scheduleDate: Date): Promise<Map<import("@strapi/types/dist/types/core/entity").ID, Job>>;
8
- cancel(releaseId: Release['id']): Map<import("@strapi/types/dist/types/core/entity").ID, Job>;
9
- getAll(): Map<import("@strapi/types/dist/types/core/entity").ID, Job>;
6
+ set(releaseId: Release['id'], scheduleDate: Date): Promise<Map<import("@strapi/types/dist/data").ID, string>>;
7
+ cancel(releaseId: Release['id']): Map<import("@strapi/types/dist/data").ID, string>;
8
+ getAll(): Map<import("@strapi/types/dist/data").ID, string>;
10
9
  /**
11
10
  * On bootstrap, we can use this function to make sure to sync the scheduled jobs from the database that are not yet released
12
11
  * This is useful in case the server was restarted and the scheduled jobs were lost
13
12
  * This also could be used to sync different Strapi instances in case of a cluster
14
13
  */
15
- syncFromDatabase(): Promise<Map<import("@strapi/types/dist/types/core/entity").ID, Job>>;
14
+ syncFromDatabase(): Promise<Map<import("@strapi/types/dist/data").ID, string>>;
16
15
  };
17
16
  export default createSchedulingService;
18
17
  //# sourceMappingURL=scheduling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../../server/src/services/scheduling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,GAAG,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI7D,QAAA,MAAM,uBAAuB;YAA0B,YAAY;;mBAI1C,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI;sBA6BpC,OAAO,CAAC,IAAI,CAAC;;IAa/B;;;;OAIG;;CAkBN,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../../server/src/services/scheduling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI7D,QAAA,MAAM,uBAAuB,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;mBAI3C,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI;sBAkCpC,OAAO,CAAC,IAAI,CAAC;;IAa/B;;;;OAIG;;CAkBN,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Core } from '@strapi/types';
2
+ import type { Settings } from '../../../shared/contracts/settings';
3
+ declare const createSettingsService: ({ strapi }: {
4
+ strapi: Core.Strapi;
5
+ }) => {
6
+ update({ settings }: {
7
+ settings: Settings;
8
+ }): Promise<Settings>;
9
+ find(): Promise<Settings>;
10
+ };
11
+ export type SettingsService = ReturnType<typeof createSettingsService>;
12
+ export default createSettingsService;
13
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../server/src/services/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAMnE,QAAA,MAAM,qBAAqB,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;yBAInC;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,GAAG,QAAQ,QAAQ,CAAC;YAKvD,QAAQ,QAAQ,CAAC;CAUlC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,eAAe,qBAAqB,CAAC"}
@@ -1,11 +1,15 @@
1
- import { LoadedStrapi } from '@strapi/types';
1
+ import { errors } from '@strapi/utils';
2
+ import type { Core } from '@strapi/types';
2
3
  import type { CreateRelease, UpdateRelease } from '../../../shared/contracts/releases';
3
4
  import type { CreateReleaseAction } from '../../../shared/contracts/release-actions';
5
+ export declare class AlreadyOnReleaseError extends errors.ApplicationError<'AlreadyOnReleaseError'> {
6
+ constructor(message: string);
7
+ }
4
8
  declare const createReleaseValidationService: ({ strapi }: {
5
- strapi: LoadedStrapi;
9
+ strapi: Core.Strapi;
6
10
  }) => {
7
11
  validateUniqueEntry(releaseId: CreateReleaseAction.Request['params']['releaseId'], releaseActionArgs: CreateReleaseAction.Request['body']): Promise<void>;
8
- validateEntryContentType(contentTypeUid: CreateReleaseAction.Request['body']['entry']['contentType']): void;
12
+ validateEntryData(contentTypeUid: CreateReleaseAction.Request['body']['contentType'], entryDocumentId: CreateReleaseAction.Request['body']['entryDocumentId']): void;
9
13
  validatePendingReleasesLimit(): Promise<void>;
10
14
  validateUniqueNameForPendingRelease(name: CreateRelease.Request['body']['name'], id?: UpdateRelease.Request['params']['id']): Promise<void>;
11
15
  validateScheduledAtIsLaterThanNow(scheduledAt: CreateRelease.Request['body']['scheduledAt']): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../server/src/services/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAW,aAAa,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,QAAA,MAAM,8BAA8B;YAA0B,YAAY;;mCAE3D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,qBAC1C,2BAA2B,CAAC,MAAM,CAAC;6CA8BtC,2BAA2B,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;;8CA2BrE,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OACtC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;mDAmB7B,qBAAqB,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;CAM3D,CAAC;AAEH,eAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../server/src/services/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAW,aAAa,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,qBAAa,qBAAsB,SAAQ,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;gBAC7E,OAAO,EAAE,MAAM;CAI5B;AAED,QAAA,MAAM,8BAA8B,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;mCAE5D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,qBAC1C,2BAA2B,CAAC,MAAM,CAAC;sCAiCtC,2BAA2B,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,mBACjD,2BAA2B,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC;;8CAuCjE,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OACtC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;mDAmB7B,qBAAqB,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;CAM3D,CAAC;AAEH,eAAe,8BAA8B,CAAC"}
@@ -1,14 +1,35 @@
1
- import type { Common, Entity } from '@strapi/types';
2
- export declare const getService: (name: 'release' | 'release-validation' | 'scheduling' | 'release-action' | 'event-manager', { strapi }?: {
3
- strapi: Required<import("@strapi/types").Strapi>;
4
- }) => Common.Service;
5
- export declare const getPopulatedEntry: (contentTypeUid: Common.UID.ContentType, entryId: Entity.ID, { strapi }?: {
6
- strapi: Required<import("@strapi/types").Strapi>;
7
- }) => Promise<any>;
8
- export declare const getEntryValidStatus: (contentTypeUid: Common.UID.ContentType, entry: {
9
- [key: string]: any;
10
- id: Entity.ID;
11
- }, { strapi }?: {
12
- strapi: Required<import("@strapi/types").Strapi>;
1
+ import type { UID, Data, Core } from '@strapi/types';
2
+ import type { SettingsService } from '../services/settings';
3
+ import type { ReleaseService } from '../services/release';
4
+ import type { ReleaseActionService } from '../services/release-action';
5
+ type Services = {
6
+ release: ReleaseService;
7
+ 'release-validation': any;
8
+ scheduling: any;
9
+ 'release-action': ReleaseActionService;
10
+ 'event-manager': any;
11
+ settings: SettingsService;
12
+ };
13
+ interface Action {
14
+ contentType: UID.ContentType;
15
+ documentId?: Data.DocumentID;
16
+ locale?: string;
17
+ }
18
+ export declare const getService: <TName extends keyof Services>(name: TName, { strapi }: {
19
+ strapi: Core.Strapi;
20
+ }) => Services[TName];
21
+ export declare const getDraftEntryValidStatus: ({ contentType, documentId, locale }: Action, { strapi }: {
22
+ strapi: Core.Strapi;
13
23
  }) => Promise<boolean>;
24
+ export declare const isEntryValid: (contentTypeUid: string, entry: any, { strapi }: {
25
+ strapi: Core.Strapi;
26
+ }) => Promise<boolean>;
27
+ export declare const getEntry: ({ contentType, documentId, locale, populate, status, }: Action & {
28
+ status?: 'draft' | 'published';
29
+ populate: any;
30
+ }, { strapi }: {
31
+ strapi: Core.Strapi;
32
+ }) => Promise<import("@strapi/types/dist/modules/documents").AnyDocument | null>;
33
+ export declare const getEntryStatus: (contentType: UID.ContentType, entry: Data.ContentType) => Promise<"draft" | "published" | "modified">;
34
+ export {};
14
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,UAAU,SACf,SAAS,GAAG,oBAAoB,GAAG,YAAY,GAAG,gBAAgB,GAAG,eAAe;;oBAI3F,CAAC;AAEF,eAAO,MAAM,iBAAiB,mBACZ,OAAO,GAAG,CAAC,WAAW,WAC7B,OAAO,EAAE;;kBAanB,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBACd,OAAO,GAAG,CAAC,WAAW;;QACzB,OAAO,EAAE;;;sBAiBvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,cAAc,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,UAAU,EAAE,GAAG,CAAC;IAChB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,eAAe,EAAE,GAAG,CAAC;IACrB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,UAAU,MAAM;IACd,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC;IAC7B,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,uCACf,KAAK,cACC;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,KAClC,QAAQ,CAAC,KAAK,CAEhB,CAAC;AAEF,eAAO,MAAM,wBAAwB,wCACE,MAAM,cAC/B;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,qBASpC,CAAC;AAEF,eAAO,MAAM,YAAY,mBACP,MAAM,SACf,GAAG,cACE;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,qBA0BpC,CAAC;AAEF,eAAO,MAAM,QAAQ,2DAOhB,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,cACjD;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,+EAmBpC,CAAC;AAEF,eAAO,MAAM,cAAc,gBAAuB,IAAI,WAAW,SAAS,KAAK,WAAW,gDAwBzF,CAAC"}
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ const getService = (name, { strapi: strapi1 })=>{
4
+ return strapi1.plugin('content-releases').service(name);
5
+ };
6
+ const getDraftEntryValidStatus = async ({ contentType, documentId, locale }, { strapi: strapi1 })=>{
7
+ const populateBuilderService = strapi1.plugin('content-manager').service('populate-builder');
8
+ // @ts-expect-error - populateBuilderService should be a function but is returning service
9
+ const populate = await populateBuilderService(contentType).populateDeep(Infinity).build();
10
+ const entry = await getEntry({
11
+ contentType,
12
+ documentId,
13
+ locale,
14
+ populate
15
+ }, {
16
+ strapi: strapi1
17
+ });
18
+ return isEntryValid(contentType, entry, {
19
+ strapi: strapi1
20
+ });
21
+ };
22
+ const isEntryValid = async (contentTypeUid, entry, { strapi: strapi1 })=>{
23
+ try {
24
+ // @TODO: When documents service has validateEntityCreation method, use it instead
25
+ await strapi1.entityValidator.validateEntityCreation(strapi1.getModel(contentTypeUid), entry, undefined, // @ts-expect-error - FIXME: entity here is unnecessary
26
+ entry);
27
+ const workflowsService = strapi1.plugin('review-workflows').service('workflows');
28
+ // Workflows service may not be available depending on the license
29
+ const workflow = await workflowsService?.getAssignedWorkflow(contentTypeUid, {
30
+ populate: 'stageRequiredToPublish'
31
+ });
32
+ if (workflow?.stageRequiredToPublish) {
33
+ return entry.strapi_stage.id === workflow.stageRequiredToPublish.id;
34
+ }
35
+ return true;
36
+ } catch {
37
+ return false;
38
+ }
39
+ };
40
+ const getEntry = async ({ contentType, documentId, locale, populate, status = 'draft' }, { strapi: strapi1 })=>{
41
+ if (documentId) {
42
+ // Try to get an existing draft or published document
43
+ const entry = await strapi1.documents(contentType).findOne({
44
+ documentId,
45
+ locale,
46
+ populate,
47
+ status
48
+ });
49
+ // The document isn't published yet, but the action is to publish it, fetch the draft
50
+ if (status === 'published' && !entry) {
51
+ return strapi1.documents(contentType).findOne({
52
+ documentId,
53
+ locale,
54
+ populate,
55
+ status: 'draft'
56
+ });
57
+ }
58
+ return entry;
59
+ }
60
+ return strapi1.documents(contentType).findFirst({
61
+ locale,
62
+ populate,
63
+ status
64
+ });
65
+ };
66
+ const getEntryStatus = async (contentType, entry)=>{
67
+ if (entry.publishedAt) {
68
+ return 'published';
69
+ }
70
+ const publishedEntry = await strapi.documents(contentType).findOne({
71
+ documentId: entry.documentId,
72
+ locale: entry.locale,
73
+ status: 'published',
74
+ fields: [
75
+ 'updatedAt'
76
+ ]
77
+ });
78
+ if (!publishedEntry) {
79
+ return 'draft';
80
+ }
81
+ const entryUpdatedAt = new Date(entry.updatedAt).getTime();
82
+ const publishedEntryUpdatedAt = new Date(publishedEntry.updatedAt).getTime();
83
+ if (entryUpdatedAt > publishedEntryUpdatedAt) {
84
+ return 'modified';
85
+ }
86
+ return 'published';
87
+ };
88
+
89
+ exports.getDraftEntryValidStatus = getDraftEntryValidStatus;
90
+ exports.getEntry = getEntry;
91
+ exports.getEntryStatus = getEntryStatus;
92
+ exports.getService = getService;
93
+ exports.isEntryValid = isEntryValid;
94
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type { UID, Data, Core } from '@strapi/types';\n\nimport type { SettingsService } from '../services/settings';\nimport type { ReleaseService } from '../services/release';\nimport type { ReleaseActionService } from '../services/release-action';\n\ntype Services = {\n release: ReleaseService;\n 'release-validation': any;\n scheduling: any;\n 'release-action': ReleaseActionService;\n 'event-manager': any;\n settings: SettingsService;\n};\n\ninterface Action {\n contentType: UID.ContentType;\n documentId?: Data.DocumentID;\n locale?: string;\n}\n\nexport const getService = <TName extends keyof Services>(\n name: TName,\n { strapi }: { strapi: Core.Strapi }\n): Services[TName] => {\n return strapi.plugin('content-releases').service(name);\n};\n\nexport const getDraftEntryValidStatus = async (\n { contentType, documentId, locale }: Action,\n { strapi }: { strapi: Core.Strapi }\n) => {\n const populateBuilderService = strapi.plugin('content-manager').service('populate-builder');\n // @ts-expect-error - populateBuilderService should be a function but is returning service\n const populate = await populateBuilderService(contentType).populateDeep(Infinity).build();\n\n const entry = await getEntry({ contentType, documentId, locale, populate }, { strapi });\n\n return isEntryValid(contentType, entry, { strapi });\n};\n\nexport const isEntryValid = async (\n contentTypeUid: string,\n entry: any,\n { strapi }: { strapi: Core.Strapi }\n) => {\n try {\n // @TODO: When documents service has validateEntityCreation method, use it instead\n await strapi.entityValidator.validateEntityCreation(\n strapi.getModel(contentTypeUid as UID.ContentType),\n entry,\n undefined,\n // @ts-expect-error - FIXME: entity here is unnecessary\n entry\n );\n\n const workflowsService = strapi.plugin('review-workflows').service('workflows');\n // Workflows service may not be available depending on the license\n const workflow = await workflowsService?.getAssignedWorkflow(contentTypeUid, {\n populate: 'stageRequiredToPublish',\n });\n\n if (workflow?.stageRequiredToPublish) {\n return entry.strapi_stage.id === workflow.stageRequiredToPublish.id;\n }\n\n return true;\n } catch {\n return false;\n }\n};\n\nexport const getEntry = async (\n {\n contentType,\n documentId,\n locale,\n populate,\n status = 'draft',\n }: Action & { status?: 'draft' | 'published'; populate: any },\n { strapi }: { strapi: Core.Strapi }\n) => {\n if (documentId) {\n // Try to get an existing draft or published document\n const entry = await strapi\n .documents(contentType)\n .findOne({ documentId, locale, populate, status });\n\n // The document isn't published yet, but the action is to publish it, fetch the draft\n if (status === 'published' && !entry) {\n return strapi\n .documents(contentType)\n .findOne({ documentId, locale, populate, status: 'draft' });\n }\n\n return entry;\n }\n\n return strapi.documents(contentType).findFirst({ locale, populate, status });\n};\n\nexport const getEntryStatus = async (contentType: UID.ContentType, entry: Data.ContentType) => {\n if (entry.publishedAt) {\n return 'published';\n }\n\n const publishedEntry = await strapi.documents(contentType).findOne({\n documentId: entry.documentId,\n locale: entry.locale,\n status: 'published',\n fields: ['updatedAt'],\n });\n\n if (!publishedEntry) {\n return 'draft';\n }\n\n const entryUpdatedAt = new Date(entry.updatedAt).getTime();\n const publishedEntryUpdatedAt = new Date(publishedEntry.updatedAt).getTime();\n\n if (entryUpdatedAt > publishedEntryUpdatedAt) {\n return 'modified';\n }\n\n return 'published';\n};\n"],"names":["getService","name","strapi","plugin","service","getDraftEntryValidStatus","contentType","documentId","locale","populateBuilderService","populate","populateDeep","Infinity","build","entry","getEntry","isEntryValid","contentTypeUid","entityValidator","validateEntityCreation","getModel","undefined","workflowsService","workflow","getAssignedWorkflow","stageRequiredToPublish","strapi_stage","id","status","documents","findOne","findFirst","getEntryStatus","publishedAt","publishedEntry","fields","entryUpdatedAt","Date","updatedAt","getTime","publishedEntryUpdatedAt"],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ const getService = (name, { strapi: strapi1 })=>{
2
+ return strapi1.plugin('content-releases').service(name);
3
+ };
4
+ const getDraftEntryValidStatus = async ({ contentType, documentId, locale }, { strapi: strapi1 })=>{
5
+ const populateBuilderService = strapi1.plugin('content-manager').service('populate-builder');
6
+ // @ts-expect-error - populateBuilderService should be a function but is returning service
7
+ const populate = await populateBuilderService(contentType).populateDeep(Infinity).build();
8
+ const entry = await getEntry({
9
+ contentType,
10
+ documentId,
11
+ locale,
12
+ populate
13
+ }, {
14
+ strapi: strapi1
15
+ });
16
+ return isEntryValid(contentType, entry, {
17
+ strapi: strapi1
18
+ });
19
+ };
20
+ const isEntryValid = async (contentTypeUid, entry, { strapi: strapi1 })=>{
21
+ try {
22
+ // @TODO: When documents service has validateEntityCreation method, use it instead
23
+ await strapi1.entityValidator.validateEntityCreation(strapi1.getModel(contentTypeUid), entry, undefined, // @ts-expect-error - FIXME: entity here is unnecessary
24
+ entry);
25
+ const workflowsService = strapi1.plugin('review-workflows').service('workflows');
26
+ // Workflows service may not be available depending on the license
27
+ const workflow = await workflowsService?.getAssignedWorkflow(contentTypeUid, {
28
+ populate: 'stageRequiredToPublish'
29
+ });
30
+ if (workflow?.stageRequiredToPublish) {
31
+ return entry.strapi_stage.id === workflow.stageRequiredToPublish.id;
32
+ }
33
+ return true;
34
+ } catch {
35
+ return false;
36
+ }
37
+ };
38
+ const getEntry = async ({ contentType, documentId, locale, populate, status = 'draft' }, { strapi: strapi1 })=>{
39
+ if (documentId) {
40
+ // Try to get an existing draft or published document
41
+ const entry = await strapi1.documents(contentType).findOne({
42
+ documentId,
43
+ locale,
44
+ populate,
45
+ status
46
+ });
47
+ // The document isn't published yet, but the action is to publish it, fetch the draft
48
+ if (status === 'published' && !entry) {
49
+ return strapi1.documents(contentType).findOne({
50
+ documentId,
51
+ locale,
52
+ populate,
53
+ status: 'draft'
54
+ });
55
+ }
56
+ return entry;
57
+ }
58
+ return strapi1.documents(contentType).findFirst({
59
+ locale,
60
+ populate,
61
+ status
62
+ });
63
+ };
64
+ const getEntryStatus = async (contentType, entry)=>{
65
+ if (entry.publishedAt) {
66
+ return 'published';
67
+ }
68
+ const publishedEntry = await strapi.documents(contentType).findOne({
69
+ documentId: entry.documentId,
70
+ locale: entry.locale,
71
+ status: 'published',
72
+ fields: [
73
+ 'updatedAt'
74
+ ]
75
+ });
76
+ if (!publishedEntry) {
77
+ return 'draft';
78
+ }
79
+ const entryUpdatedAt = new Date(entry.updatedAt).getTime();
80
+ const publishedEntryUpdatedAt = new Date(publishedEntry.updatedAt).getTime();
81
+ if (entryUpdatedAt > publishedEntryUpdatedAt) {
82
+ return 'modified';
83
+ }
84
+ return 'published';
85
+ };
86
+
87
+ export { getDraftEntryValidStatus, getEntry, getEntryStatus, getService, isEntryValid };
88
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type { UID, Data, Core } from '@strapi/types';\n\nimport type { SettingsService } from '../services/settings';\nimport type { ReleaseService } from '../services/release';\nimport type { ReleaseActionService } from '../services/release-action';\n\ntype Services = {\n release: ReleaseService;\n 'release-validation': any;\n scheduling: any;\n 'release-action': ReleaseActionService;\n 'event-manager': any;\n settings: SettingsService;\n};\n\ninterface Action {\n contentType: UID.ContentType;\n documentId?: Data.DocumentID;\n locale?: string;\n}\n\nexport const getService = <TName extends keyof Services>(\n name: TName,\n { strapi }: { strapi: Core.Strapi }\n): Services[TName] => {\n return strapi.plugin('content-releases').service(name);\n};\n\nexport const getDraftEntryValidStatus = async (\n { contentType, documentId, locale }: Action,\n { strapi }: { strapi: Core.Strapi }\n) => {\n const populateBuilderService = strapi.plugin('content-manager').service('populate-builder');\n // @ts-expect-error - populateBuilderService should be a function but is returning service\n const populate = await populateBuilderService(contentType).populateDeep(Infinity).build();\n\n const entry = await getEntry({ contentType, documentId, locale, populate }, { strapi });\n\n return isEntryValid(contentType, entry, { strapi });\n};\n\nexport const isEntryValid = async (\n contentTypeUid: string,\n entry: any,\n { strapi }: { strapi: Core.Strapi }\n) => {\n try {\n // @TODO: When documents service has validateEntityCreation method, use it instead\n await strapi.entityValidator.validateEntityCreation(\n strapi.getModel(contentTypeUid as UID.ContentType),\n entry,\n undefined,\n // @ts-expect-error - FIXME: entity here is unnecessary\n entry\n );\n\n const workflowsService = strapi.plugin('review-workflows').service('workflows');\n // Workflows service may not be available depending on the license\n const workflow = await workflowsService?.getAssignedWorkflow(contentTypeUid, {\n populate: 'stageRequiredToPublish',\n });\n\n if (workflow?.stageRequiredToPublish) {\n return entry.strapi_stage.id === workflow.stageRequiredToPublish.id;\n }\n\n return true;\n } catch {\n return false;\n }\n};\n\nexport const getEntry = async (\n {\n contentType,\n documentId,\n locale,\n populate,\n status = 'draft',\n }: Action & { status?: 'draft' | 'published'; populate: any },\n { strapi }: { strapi: Core.Strapi }\n) => {\n if (documentId) {\n // Try to get an existing draft or published document\n const entry = await strapi\n .documents(contentType)\n .findOne({ documentId, locale, populate, status });\n\n // The document isn't published yet, but the action is to publish it, fetch the draft\n if (status === 'published' && !entry) {\n return strapi\n .documents(contentType)\n .findOne({ documentId, locale, populate, status: 'draft' });\n }\n\n return entry;\n }\n\n return strapi.documents(contentType).findFirst({ locale, populate, status });\n};\n\nexport const getEntryStatus = async (contentType: UID.ContentType, entry: Data.ContentType) => {\n if (entry.publishedAt) {\n return 'published';\n }\n\n const publishedEntry = await strapi.documents(contentType).findOne({\n documentId: entry.documentId,\n locale: entry.locale,\n status: 'published',\n fields: ['updatedAt'],\n });\n\n if (!publishedEntry) {\n return 'draft';\n }\n\n const entryUpdatedAt = new Date(entry.updatedAt).getTime();\n const publishedEntryUpdatedAt = new Date(publishedEntry.updatedAt).getTime();\n\n if (entryUpdatedAt > publishedEntryUpdatedAt) {\n return 'modified';\n }\n\n return 'published';\n};\n"],"names":["getService","name","strapi","plugin","service","getDraftEntryValidStatus","contentType","documentId","locale","populateBuilderService","populate","populateDeep","Infinity","build","entry","getEntry","isEntryValid","contentTypeUid","entityValidator","validateEntityCreation","getModel","undefined","workflowsService","workflow","getAssignedWorkflow","stageRequiredToPublish","strapi_stage","id","status","documents","findOne","findFirst","getEntryStatus","publishedAt","publishedEntry","fields","entryUpdatedAt","Date","updatedAt","getTime","publishedEntryUpdatedAt"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { errors } from '@strapi/utils';
2
+ import { Release } from './releases';
3
+ export declare namespace GetUpcomingReleases {
4
+ interface Request {
5
+ body: {};
6
+ }
7
+ interface Response {
8
+ data: Release[];
9
+ error?: errors.ApplicationError;
10
+ }
11
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../shared/contracts/homepage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,MAAM,CAAC,OAAO,WAAW,mBAAmB,CAAC;IAC3C,UAAiB,OAAO;QACtB,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF"}
@@ -1,25 +1,27 @@
1
- import { Attribute, Common, Documents, Schema } from '@strapi/types';
1
+ import type { Schema, Modules, UID, Struct } from '@strapi/types';
2
2
  import type { Release, Pagination } from './releases';
3
3
  import type { Entity } from '../types';
4
4
  import type { errors } from '@strapi/utils';
5
- export type ReleaseActionEntry = Documents.AnyDocument & {
6
- [key: string]: Attribute.Any;
5
+ export type ReleaseActionEntry = Modules.Documents.AnyDocument & {
6
+ [key: string]: Schema.Attribute.AnyAttribute;
7
7
  } & {
8
8
  locale?: string;
9
9
  };
10
10
  export interface ReleaseAction extends Entity {
11
11
  type: 'publish' | 'unpublish';
12
12
  entry: ReleaseActionEntry;
13
- contentType: Common.UID.ContentType;
13
+ contentType: UID.ContentType;
14
+ entryDocumentId: ReleaseActionEntry['documentId'];
14
15
  locale?: string;
15
16
  release: Release;
16
17
  isEntryValid: boolean;
18
+ status: 'draft' | 'published' | 'modified';
17
19
  }
18
20
  export interface FormattedReleaseAction extends Entity {
19
21
  type: 'publish' | 'unpublish';
20
22
  entry: ReleaseActionEntry;
21
23
  contentType: {
22
- uid: Common.UID.ContentType;
24
+ uid: UID.ContentType;
23
25
  mainFieldValue?: string;
24
26
  displayName: string;
25
27
  };
@@ -28,6 +30,7 @@ export interface FormattedReleaseAction extends Entity {
28
30
  code: string;
29
31
  };
30
32
  release: Release;
33
+ status: 'draft' | 'published' | 'modified';
31
34
  }
32
35
  /**
33
36
  * POST /content-releases/:releaseId/actions - Create a release action
@@ -39,11 +42,9 @@ export declare namespace CreateReleaseAction {
39
42
  };
40
43
  body: {
41
44
  type: ReleaseAction['type'];
42
- entry: {
43
- id: ReleaseActionEntry['id'];
44
- locale?: ReleaseActionEntry['locale'];
45
- contentType: Common.UID.ContentType;
46
- };
45
+ contentType: UID.ContentType;
46
+ entryDocumentId?: ReleaseActionEntry['documentId'];
47
+ locale?: ReleaseActionEntry['locale'];
47
48
  };
48
49
  }
49
50
  interface Response {
@@ -51,9 +52,37 @@ export declare namespace CreateReleaseAction {
51
52
  error?: errors.ApplicationError | errors.ValidationError | errors.NotFoundError;
52
53
  }
53
54
  }
55
+ /**
56
+ * POST /content-releases/:releaseId/actions/bulk - Create multiple release actions
57
+ */
58
+ export declare namespace CreateManyReleaseActions {
59
+ interface Request {
60
+ params: {
61
+ releaseId: Release['id'];
62
+ };
63
+ body: Array<{
64
+ type: ReleaseAction['type'];
65
+ contentType: UID.ContentType;
66
+ entryDocumentId: ReleaseActionEntry['documentId'];
67
+ locale?: ReleaseActionEntry['locale'];
68
+ }>;
69
+ }
70
+ interface Response {
71
+ data: Array<ReleaseAction>;
72
+ meta: {
73
+ totalEntries: number;
74
+ entriesAlreadyInRelease: number;
75
+ };
76
+ error?: errors.ApplicationError | errors.ValidationError | errors.NotFoundError;
77
+ }
78
+ }
54
79
  /**
55
80
  * GET /content-releases/:id/actions - Get all release actions
56
81
  */
82
+ export interface Stage extends Entity {
83
+ color: string;
84
+ name: string;
85
+ }
57
86
  export type ReleaseActionGroupBy = 'contentType' | 'action' | 'locale';
58
87
  export declare namespace GetReleaseActions {
59
88
  interface Request {
@@ -70,8 +99,11 @@ export declare namespace GetReleaseActions {
70
99
  };
71
100
  meta: {
72
101
  pagination: Pagination;
73
- contentTypes: Record<Schema.ContentType['uid'], Schema.ContentType>;
74
- components: Record<Schema.Component['uid'], Schema.Component>;
102
+ contentTypes: Record<Struct.ContentTypeSchema['uid'], Struct.ContentTypeSchema & {
103
+ hasReviewWorkflow: boolean;
104
+ stageRequiredToPublish?: Stage;
105
+ }>;
106
+ components: Record<Struct.ComponentSchema['uid'], Struct.ComponentSchema>;
75
107
  };
76
108
  }
77
109
  }
@@ -102,4 +134,3 @@ export declare namespace UpdateReleaseAction {
102
134
  error?: errors.ApplicationError | errors.ValidationError | errors.NotFoundError;
103
135
  }
104
136
  }
105
- //# sourceMappingURL=release-actions.d.ts.map