@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,324 +0,0 @@
1
- 'use strict';
2
-
3
- var utils = require('@strapi/utils');
4
- var constants = require('../constants.js');
5
- var index = require('../utils/index.js');
6
-
7
- const createReleaseService = ({ strapi })=>{
8
- const dispatchWebhook = (event, { isPublished, release, error })=>{
9
- strapi.eventHub.emit(event, {
10
- isPublished,
11
- error,
12
- release
13
- });
14
- };
15
- /**
16
- * Given a release id, it returns the actions formatted ready to be used to publish them.
17
- * We split them by contentType and type (publish/unpublish) and extract only the documentIds and locales.
18
- */ const getFormattedActions = async (releaseId)=>{
19
- const actions = await strapi.db.query(constants.RELEASE_ACTION_MODEL_UID).findMany({
20
- where: {
21
- release: {
22
- id: releaseId
23
- }
24
- }
25
- });
26
- if (actions.length === 0) {
27
- throw new utils.errors.ValidationError('No entries to publish');
28
- }
29
- /**
30
- * We separate publish and unpublish actions, grouping them by contentType and extracting only their documentIds and locales.
31
- */ const formattedActions = {};
32
- for (const action of actions){
33
- const contentTypeUid = action.contentType;
34
- if (!formattedActions[contentTypeUid]) {
35
- formattedActions[contentTypeUid] = {
36
- publish: [],
37
- unpublish: []
38
- };
39
- }
40
- formattedActions[contentTypeUid][action.type].push({
41
- documentId: action.entryDocumentId,
42
- locale: action.locale
43
- });
44
- }
45
- return formattedActions;
46
- };
47
- return {
48
- async create (releaseData, { user }) {
49
- const releaseWithCreatorFields = await utils.setCreatorFields({
50
- user
51
- })(releaseData);
52
- const { validatePendingReleasesLimit, validateUniqueNameForPendingRelease, validateScheduledAtIsLaterThanNow } = index.getService('release-validation', {
53
- strapi
54
- });
55
- await Promise.all([
56
- validatePendingReleasesLimit(),
57
- validateUniqueNameForPendingRelease(releaseWithCreatorFields.name),
58
- validateScheduledAtIsLaterThanNow(releaseWithCreatorFields.scheduledAt)
59
- ]);
60
- const release = await strapi.db.query(constants.RELEASE_MODEL_UID).create({
61
- data: {
62
- ...releaseWithCreatorFields,
63
- status: 'empty'
64
- }
65
- });
66
- if (releaseWithCreatorFields.scheduledAt) {
67
- const schedulingService = index.getService('scheduling', {
68
- strapi
69
- });
70
- await schedulingService.set(release.id, release.scheduledAt);
71
- }
72
- strapi.telemetry.send('didCreateContentRelease');
73
- return release;
74
- },
75
- async findOne (id, query = {}) {
76
- const dbQuery = strapi.get('query-params').transform(constants.RELEASE_MODEL_UID, query);
77
- const release = await strapi.db.query(constants.RELEASE_MODEL_UID).findOne({
78
- ...dbQuery,
79
- where: {
80
- id
81
- }
82
- });
83
- return release;
84
- },
85
- findPage (query) {
86
- const dbQuery = strapi.get('query-params').transform(constants.RELEASE_MODEL_UID, query ?? {});
87
- return strapi.db.query(constants.RELEASE_MODEL_UID).findPage({
88
- ...dbQuery,
89
- populate: {
90
- actions: {
91
- count: true
92
- }
93
- }
94
- });
95
- },
96
- findMany (query) {
97
- const dbQuery = strapi.get('query-params').transform(constants.RELEASE_MODEL_UID, query ?? {});
98
- return strapi.db.query(constants.RELEASE_MODEL_UID).findMany({
99
- ...dbQuery
100
- });
101
- },
102
- async update (id, releaseData, { user }) {
103
- const releaseWithCreatorFields = await utils.setCreatorFields({
104
- user,
105
- isEdition: true
106
- })(releaseData);
107
- const { validateUniqueNameForPendingRelease, validateScheduledAtIsLaterThanNow } = index.getService('release-validation', {
108
- strapi
109
- });
110
- await Promise.all([
111
- validateUniqueNameForPendingRelease(releaseWithCreatorFields.name, id),
112
- validateScheduledAtIsLaterThanNow(releaseWithCreatorFields.scheduledAt)
113
- ]);
114
- const release = await strapi.db.query(constants.RELEASE_MODEL_UID).findOne({
115
- where: {
116
- id
117
- }
118
- });
119
- if (!release) {
120
- throw new utils.errors.NotFoundError(`No release found for id ${id}`);
121
- }
122
- if (release.releasedAt) {
123
- throw new utils.errors.ValidationError('Release already published');
124
- }
125
- const updatedRelease = await strapi.db.query(constants.RELEASE_MODEL_UID).update({
126
- where: {
127
- id
128
- },
129
- data: releaseWithCreatorFields
130
- });
131
- const schedulingService = index.getService('scheduling', {
132
- strapi
133
- });
134
- if (releaseData.scheduledAt) {
135
- // set function always cancel the previous job if it exists, so we can call it directly
136
- await schedulingService.set(id, releaseData.scheduledAt);
137
- } else if (release.scheduledAt) {
138
- // When user don't send a scheduledAt and we have one on the release, means that user want to unschedule it
139
- schedulingService.cancel(id);
140
- }
141
- this.updateReleaseStatus(id);
142
- strapi.telemetry.send('didUpdateContentRelease');
143
- return updatedRelease;
144
- },
145
- async getAllComponents () {
146
- const contentManagerComponentsService = strapi.plugin('content-manager').service('components');
147
- const components = await contentManagerComponentsService.findAllComponents();
148
- const componentsMap = components.reduce((acc, component)=>{
149
- acc[component.uid] = component;
150
- return acc;
151
- }, {});
152
- return componentsMap;
153
- },
154
- async delete (releaseId) {
155
- const release = await strapi.db.query(constants.RELEASE_MODEL_UID).findOne({
156
- where: {
157
- id: releaseId
158
- },
159
- populate: {
160
- actions: {
161
- select: [
162
- 'id'
163
- ]
164
- }
165
- }
166
- });
167
- if (!release) {
168
- throw new utils.errors.NotFoundError(`No release found for id ${releaseId}`);
169
- }
170
- if (release.releasedAt) {
171
- throw new utils.errors.ValidationError('Release already published');
172
- }
173
- // Only delete the release and its actions is you in fact can delete all the actions and the release
174
- // Otherwise, if the transaction fails it throws an error
175
- await strapi.db.transaction(async ()=>{
176
- await strapi.db.query(constants.RELEASE_ACTION_MODEL_UID).deleteMany({
177
- where: {
178
- id: {
179
- $in: release.actions.map((action)=>action.id)
180
- }
181
- }
182
- });
183
- await strapi.db.query(constants.RELEASE_MODEL_UID).delete({
184
- where: {
185
- id: releaseId
186
- }
187
- });
188
- });
189
- if (release.scheduledAt) {
190
- const schedulingService = index.getService('scheduling', {
191
- strapi
192
- });
193
- await schedulingService.cancel(release.id);
194
- }
195
- strapi.telemetry.send('didDeleteContentRelease');
196
- return release;
197
- },
198
- async publish (releaseId) {
199
- const { release, error } = await strapi.db.transaction(async ({ trx })=>{
200
- /**
201
- * We lock the release in this transaction, so any other process trying to publish it will wait until this transaction is finished
202
- * In this transaction we don't care about rollback, becasue we want to persist the lock until the end and if it fails we want to change the release status to failed
203
- */ const lockedRelease = await strapi.db?.queryBuilder(constants.RELEASE_MODEL_UID).where({
204
- id: releaseId
205
- }).select([
206
- 'id',
207
- 'name',
208
- 'releasedAt',
209
- 'status'
210
- ]).first().transacting(trx).forUpdate().execute();
211
- if (!lockedRelease) {
212
- throw new utils.errors.NotFoundError(`No release found for id ${releaseId}`);
213
- }
214
- if (lockedRelease.releasedAt) {
215
- throw new utils.errors.ValidationError('Release already published');
216
- }
217
- if (lockedRelease.status === 'failed') {
218
- throw new utils.errors.ValidationError('Release failed to publish');
219
- }
220
- try {
221
- strapi.log.info(`[Content Releases] Starting to publish release ${lockedRelease.name}`);
222
- const formattedActions = await getFormattedActions(releaseId);
223
- await strapi.db.transaction(async ()=>Promise.all(Object.keys(formattedActions).map(async (contentTypeUid)=>{
224
- const contentType = contentTypeUid;
225
- const { publish, unpublish } = formattedActions[contentType];
226
- return Promise.all([
227
- ...publish.map((params)=>strapi.documents(contentType).publish(params)),
228
- ...unpublish.map((params)=>strapi.documents(contentType).unpublish(params))
229
- ]);
230
- })));
231
- const release = await strapi.db.query(constants.RELEASE_MODEL_UID).update({
232
- where: {
233
- id: releaseId
234
- },
235
- data: {
236
- status: 'done',
237
- releasedAt: new Date()
238
- }
239
- });
240
- dispatchWebhook(constants.ALLOWED_WEBHOOK_EVENTS.RELEASES_PUBLISH, {
241
- isPublished: true,
242
- release
243
- });
244
- strapi.telemetry.send('didPublishContentRelease');
245
- return {
246
- release,
247
- error: null
248
- };
249
- } catch (error) {
250
- dispatchWebhook(constants.ALLOWED_WEBHOOK_EVENTS.RELEASES_PUBLISH, {
251
- isPublished: false,
252
- error
253
- });
254
- // We need to run the update in the same transaction because the release is locked
255
- await strapi.db?.queryBuilder(constants.RELEASE_MODEL_UID).where({
256
- id: releaseId
257
- }).update({
258
- status: 'failed'
259
- }).transacting(trx).execute();
260
- // At this point, we don't want to throw the error because if that happen we rollback the change in the release status
261
- // We want to throw the error after the transaction is finished, so we return the error
262
- return {
263
- release: null,
264
- error
265
- };
266
- }
267
- });
268
- // Now the first transaction is commited, we can safely throw the error if it exists
269
- if (error instanceof Error) {
270
- throw error;
271
- }
272
- return release;
273
- },
274
- async updateReleaseStatus (releaseId) {
275
- const releaseActionService = index.getService('release-action', {
276
- strapi
277
- });
278
- const [totalActions, invalidActions] = await Promise.all([
279
- releaseActionService.countActions({
280
- filters: {
281
- release: releaseId
282
- }
283
- }),
284
- releaseActionService.countActions({
285
- filters: {
286
- release: releaseId,
287
- isEntryValid: false
288
- }
289
- })
290
- ]);
291
- if (totalActions > 0) {
292
- if (invalidActions > 0) {
293
- return strapi.db.query(constants.RELEASE_MODEL_UID).update({
294
- where: {
295
- id: releaseId
296
- },
297
- data: {
298
- status: 'blocked'
299
- }
300
- });
301
- }
302
- return strapi.db.query(constants.RELEASE_MODEL_UID).update({
303
- where: {
304
- id: releaseId
305
- },
306
- data: {
307
- status: 'ready'
308
- }
309
- });
310
- }
311
- return strapi.db.query(constants.RELEASE_MODEL_UID).update({
312
- where: {
313
- id: releaseId
314
- },
315
- data: {
316
- status: 'empty'
317
- }
318
- });
319
- }
320
- };
321
- };
322
-
323
- module.exports = createReleaseService;
324
- //# sourceMappingURL=release.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"release.js","sources":["../../../server/src/services/release.ts"],"sourcesContent":["import { setCreatorFields, errors } from '@strapi/utils';\n\nimport type { Core, Struct, UID, Data } from '@strapi/types';\n\nimport { ALLOWED_WEBHOOK_EVENTS, RELEASE_ACTION_MODEL_UID, RELEASE_MODEL_UID } from '../constants';\nimport type {\n GetReleases,\n CreateRelease,\n UpdateRelease,\n PublishRelease,\n GetRelease,\n Release,\n DeleteRelease,\n} from '../../../shared/contracts/releases';\nimport type { ReleaseAction } from '../../../shared/contracts/release-actions';\nimport type { UserInfo } from '../../../shared/types';\nimport { getService } from '../utils';\n\nconst createReleaseService = ({ strapi }: { strapi: Core.Strapi }) => {\n const dispatchWebhook = (\n event: string,\n { isPublished, release, error }: { isPublished: boolean; release?: any; error?: unknown }\n ) => {\n strapi.eventHub.emit(event, {\n isPublished,\n error,\n release,\n });\n };\n\n /**\n * Given a release id, it returns the actions formatted ready to be used to publish them.\n * We split them by contentType and type (publish/unpublish) and extract only the documentIds and locales.\n */\n const getFormattedActions = async (releaseId: Release['id']) => {\n const actions = (await strapi.db.query(RELEASE_ACTION_MODEL_UID).findMany({\n where: {\n release: {\n id: releaseId,\n },\n },\n })) as ReleaseAction[];\n\n if (actions.length === 0) {\n throw new errors.ValidationError('No entries to publish');\n }\n\n /**\n * We separate publish and unpublish actions, grouping them by contentType and extracting only their documentIds and locales.\n */\n const formattedActions: {\n [key: UID.ContentType]: {\n publish: { documentId: ReleaseAction['entryDocumentId']; locale?: string }[];\n unpublish: { documentId: ReleaseAction['entryDocumentId']; locale?: string }[];\n };\n } = {};\n\n for (const action of actions) {\n const contentTypeUid: UID.ContentType = action.contentType;\n\n if (!formattedActions[contentTypeUid]) {\n formattedActions[contentTypeUid] = {\n publish: [],\n unpublish: [],\n };\n }\n\n formattedActions[contentTypeUid][action.type].push({\n documentId: action.entryDocumentId,\n locale: action.locale,\n });\n }\n\n return formattedActions;\n };\n\n return {\n async create(releaseData: CreateRelease.Request['body'], { user }: { user: UserInfo }) {\n const releaseWithCreatorFields = await setCreatorFields({ user })(releaseData);\n\n const {\n validatePendingReleasesLimit,\n validateUniqueNameForPendingRelease,\n validateScheduledAtIsLaterThanNow,\n } = getService('release-validation', { strapi });\n\n await Promise.all([\n validatePendingReleasesLimit(),\n validateUniqueNameForPendingRelease(releaseWithCreatorFields.name),\n validateScheduledAtIsLaterThanNow(releaseWithCreatorFields.scheduledAt),\n ]);\n\n const release = await strapi.db.query(RELEASE_MODEL_UID).create({\n data: {\n ...releaseWithCreatorFields,\n status: 'empty',\n },\n });\n\n if (releaseWithCreatorFields.scheduledAt) {\n const schedulingService = getService('scheduling', { strapi });\n\n await schedulingService.set(release.id, release.scheduledAt);\n }\n\n strapi.telemetry.send('didCreateContentRelease');\n\n return release;\n },\n\n async findOne(id: GetRelease.Request['params']['id'], query = {}) {\n const dbQuery = strapi.get('query-params').transform(RELEASE_MODEL_UID, query);\n const release = await strapi.db.query(RELEASE_MODEL_UID).findOne({\n ...dbQuery,\n where: { id },\n });\n\n return release;\n },\n\n findPage(query?: GetReleases.Request['query']) {\n const dbQuery = strapi.get('query-params').transform(RELEASE_MODEL_UID, query ?? {});\n\n return strapi.db.query(RELEASE_MODEL_UID).findPage({\n ...dbQuery,\n populate: {\n actions: {\n count: true,\n },\n },\n });\n },\n\n findMany(query?: any) {\n const dbQuery = strapi.get('query-params').transform(RELEASE_MODEL_UID, query ?? {});\n\n return strapi.db.query(RELEASE_MODEL_UID).findMany({\n ...dbQuery,\n });\n },\n\n async update(\n id: Data.ID,\n releaseData: UpdateRelease.Request['body'],\n { user }: { user: UserInfo }\n ) {\n const releaseWithCreatorFields = await setCreatorFields({ user, isEdition: true })(\n releaseData\n );\n\n const { validateUniqueNameForPendingRelease, validateScheduledAtIsLaterThanNow } = getService(\n 'release-validation',\n { strapi }\n );\n\n await Promise.all([\n validateUniqueNameForPendingRelease(releaseWithCreatorFields.name, id),\n validateScheduledAtIsLaterThanNow(releaseWithCreatorFields.scheduledAt),\n ]);\n\n const release = await strapi.db.query(RELEASE_MODEL_UID).findOne({ where: { id } });\n\n if (!release) {\n throw new errors.NotFoundError(`No release found for id ${id}`);\n }\n\n if (release.releasedAt) {\n throw new errors.ValidationError('Release already published');\n }\n\n const updatedRelease = await strapi.db.query(RELEASE_MODEL_UID).update({\n where: { id },\n data: releaseWithCreatorFields,\n });\n\n const schedulingService = getService('scheduling', { strapi });\n\n if (releaseData.scheduledAt) {\n // set function always cancel the previous job if it exists, so we can call it directly\n await schedulingService.set(id, releaseData.scheduledAt);\n } else if (release.scheduledAt) {\n // When user don't send a scheduledAt and we have one on the release, means that user want to unschedule it\n schedulingService.cancel(id);\n }\n\n this.updateReleaseStatus(id);\n\n strapi.telemetry.send('didUpdateContentRelease');\n\n return updatedRelease;\n },\n\n async getAllComponents() {\n const contentManagerComponentsService = strapi\n .plugin('content-manager')\n .service('components');\n\n const components = await contentManagerComponentsService.findAllComponents();\n\n const componentsMap = components.reduce(\n (\n acc: { [key: Struct.ComponentSchema['uid']]: Struct.ComponentSchema },\n component: Struct.ComponentSchema\n ) => {\n acc[component.uid] = component;\n\n return acc;\n },\n {}\n );\n\n return componentsMap;\n },\n\n async delete(releaseId: DeleteRelease.Request['params']['id']) {\n const release: Release = await strapi.db.query(RELEASE_MODEL_UID).findOne({\n where: { id: releaseId },\n populate: {\n actions: {\n select: ['id'],\n },\n },\n });\n\n if (!release) {\n throw new errors.NotFoundError(`No release found for id ${releaseId}`);\n }\n\n if (release.releasedAt) {\n throw new errors.ValidationError('Release already published');\n }\n\n // Only delete the release and its actions is you in fact can delete all the actions and the release\n // Otherwise, if the transaction fails it throws an error\n await strapi.db.transaction(async () => {\n await strapi.db.query(RELEASE_ACTION_MODEL_UID).deleteMany({\n where: {\n id: {\n $in: release.actions.map((action) => action.id),\n },\n },\n });\n\n await strapi.db.query(RELEASE_MODEL_UID).delete({\n where: {\n id: releaseId,\n },\n });\n });\n\n if (release.scheduledAt) {\n const schedulingService = getService('scheduling', { strapi });\n await schedulingService.cancel(release.id);\n }\n\n strapi.telemetry.send('didDeleteContentRelease');\n\n return release;\n },\n\n async publish(releaseId: PublishRelease.Request['params']['id']) {\n const {\n release,\n error,\n }: { release: Pick<Release, 'id' | 'releasedAt' | 'status'> | null; error: unknown | null } =\n await strapi.db.transaction(async ({ trx }) => {\n /**\n * We lock the release in this transaction, so any other process trying to publish it will wait until this transaction is finished\n * In this transaction we don't care about rollback, becasue we want to persist the lock until the end and if it fails we want to change the release status to failed\n */\n const lockedRelease = (await strapi.db\n ?.queryBuilder(RELEASE_MODEL_UID)\n .where({ id: releaseId })\n .select(['id', 'name', 'releasedAt', 'status'])\n .first()\n .transacting(trx)\n .forUpdate()\n .execute()) as Pick<Release, 'id' | 'name' | 'releasedAt' | 'status'> | undefined;\n\n if (!lockedRelease) {\n throw new errors.NotFoundError(`No release found for id ${releaseId}`);\n }\n\n if (lockedRelease.releasedAt) {\n throw new errors.ValidationError('Release already published');\n }\n\n if (lockedRelease.status === 'failed') {\n throw new errors.ValidationError('Release failed to publish');\n }\n\n try {\n strapi.log.info(`[Content Releases] Starting to publish release ${lockedRelease.name}`);\n\n const formattedActions = await getFormattedActions(releaseId);\n\n await strapi.db.transaction(async () =>\n Promise.all(\n Object.keys(formattedActions).map(async (contentTypeUid) => {\n const contentType = contentTypeUid as UID.ContentType;\n const { publish, unpublish } = formattedActions[contentType];\n\n return Promise.all([\n ...publish.map((params) => strapi.documents(contentType).publish(params)),\n ...unpublish.map((params) => strapi.documents(contentType).unpublish(params)),\n ]);\n })\n )\n );\n\n const release = await strapi.db.query(RELEASE_MODEL_UID).update({\n where: {\n id: releaseId,\n },\n data: {\n status: 'done',\n releasedAt: new Date(),\n },\n });\n\n dispatchWebhook(ALLOWED_WEBHOOK_EVENTS.RELEASES_PUBLISH, {\n isPublished: true,\n release,\n });\n\n strapi.telemetry.send('didPublishContentRelease');\n\n return { release, error: null };\n } catch (error) {\n dispatchWebhook(ALLOWED_WEBHOOK_EVENTS.RELEASES_PUBLISH, {\n isPublished: false,\n error,\n });\n\n // We need to run the update in the same transaction because the release is locked\n await strapi.db\n ?.queryBuilder(RELEASE_MODEL_UID)\n .where({ id: releaseId })\n .update({\n status: 'failed',\n })\n .transacting(trx)\n .execute();\n\n // At this point, we don't want to throw the error because if that happen we rollback the change in the release status\n // We want to throw the error after the transaction is finished, so we return the error\n return {\n release: null,\n error,\n };\n }\n });\n\n // Now the first transaction is commited, we can safely throw the error if it exists\n if (error instanceof Error) {\n throw error;\n }\n\n return release;\n },\n\n async updateReleaseStatus(releaseId: Release['id']) {\n const releaseActionService = getService('release-action', { strapi });\n\n const [totalActions, invalidActions] = await Promise.all([\n releaseActionService.countActions({\n filters: {\n release: releaseId,\n },\n }),\n releaseActionService.countActions({\n filters: {\n release: releaseId,\n isEntryValid: false,\n },\n }),\n ]);\n\n if (totalActions > 0) {\n if (invalidActions > 0) {\n return strapi.db.query(RELEASE_MODEL_UID).update({\n where: {\n id: releaseId,\n },\n data: {\n status: 'blocked',\n },\n });\n }\n\n return strapi.db.query(RELEASE_MODEL_UID).update({\n where: {\n id: releaseId,\n },\n data: {\n status: 'ready',\n },\n });\n }\n\n return strapi.db.query(RELEASE_MODEL_UID).update({\n where: {\n id: releaseId,\n },\n data: {\n status: 'empty',\n },\n });\n },\n };\n};\n\nexport type ReleaseService = ReturnType<typeof createReleaseService>;\n\nexport default createReleaseService;\n"],"names":["createReleaseService","strapi","dispatchWebhook","event","isPublished","release","error","eventHub","emit","getFormattedActions","releaseId","actions","db","query","RELEASE_ACTION_MODEL_UID","findMany","where","id","length","errors","ValidationError","formattedActions","action","contentTypeUid","contentType","publish","unpublish","type","push","documentId","entryDocumentId","locale","create","releaseData","user","releaseWithCreatorFields","setCreatorFields","validatePendingReleasesLimit","validateUniqueNameForPendingRelease","validateScheduledAtIsLaterThanNow","getService","Promise","all","name","scheduledAt","RELEASE_MODEL_UID","data","status","schedulingService","set","telemetry","send","findOne","dbQuery","get","transform","findPage","populate","count","update","isEdition","NotFoundError","releasedAt","updatedRelease","cancel","updateReleaseStatus","getAllComponents","contentManagerComponentsService","plugin","service","components","findAllComponents","componentsMap","reduce","acc","component","uid","delete","select","transaction","deleteMany","$in","map","trx","lockedRelease","queryBuilder","first","transacting","forUpdate","execute","log","info","Object","keys","params","documents","Date","ALLOWED_WEBHOOK_EVENTS","RELEASES_PUBLISH","Error","releaseActionService","totalActions","invalidActions","countActions","filters","isEntryValid"],"mappings":"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"}