@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,51 +0,0 @@
1
- 'use strict';
2
-
3
- var utils = require('@strapi/utils');
4
-
5
- /**
6
- * On v4, release actions are linked with entries using the built in Polymorphic relations.
7
- *
8
- * On v5, we are going to save entryDocumentId on the release action and make the link manually.
9
- * This because entryId is not a reliable way to link documents, as it can change.
10
- */ const addEntryDocumentToReleaseActions = {
11
- name: 'content-releases::5.0.0-add-entry-document-id-to-release-actions',
12
- async up (trx, db) {
13
- // Check if the table exists
14
- const hasTable = await trx.schema.hasTable('strapi_release_actions');
15
- if (!hasTable) {
16
- return;
17
- }
18
- const hasPolymorphicColumn = await trx.schema.hasColumn('strapi_release_actions', 'target_id');
19
- // If user has PolymorphicColumn means that is coming from v4
20
- if (hasPolymorphicColumn) {
21
- // First time coming from v4 user doesn't have entryDocumentId
22
- // but we double check to avoid errors
23
- const hasEntryDocumentIdColumn = await trx.schema.hasColumn('strapi_release_actions', 'entry_document_id');
24
- if (!hasEntryDocumentIdColumn) {
25
- await trx.schema.alterTable('strapi_release_actions', (table)=>{
26
- table.string('entry_document_id');
27
- });
28
- }
29
- const releaseActions = await trx.select('*').from('strapi_release_actions');
30
- utils.async.map(releaseActions, async (action)=>{
31
- const { target_type, target_id } = action;
32
- const entry = await db.query(target_type).findOne({
33
- where: {
34
- id: target_id
35
- }
36
- });
37
- if (entry) {
38
- await trx('strapi_release_actions').update({
39
- entry_document_id: entry.documentId
40
- }).where('id', action.id);
41
- }
42
- });
43
- }
44
- },
45
- async down () {
46
- throw new Error('not implemented');
47
- }
48
- };
49
-
50
- exports.addEntryDocumentToReleaseActions = addEntryDocumentToReleaseActions;
51
- //# sourceMappingURL=5.0.0-document-id-in-actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"5.0.0-document-id-in-actions.js","sources":["../../../../server/src/migrations/database/5.0.0-document-id-in-actions.ts"],"sourcesContent":["import { async } from '@strapi/utils';\n\nimport type { Migration, Database } from '@strapi/database';\n\ntype Knex = Parameters<Migration['up']>[0];\n\n/**\n * On v4, release actions are linked with entries using the built in Polymorphic relations.\n *\n * On v5, we are going to save entryDocumentId on the release action and make the link manually.\n * This because entryId is not a reliable way to link documents, as it can change.\n */\nexport const addEntryDocumentToReleaseActions: Migration = {\n name: 'content-releases::5.0.0-add-entry-document-id-to-release-actions',\n async up(trx: Knex, db: Database) {\n // Check if the table exists\n const hasTable = await trx.schema.hasTable('strapi_release_actions');\n\n if (!hasTable) {\n return;\n }\n\n const hasPolymorphicColumn = await trx.schema.hasColumn('strapi_release_actions', 'target_id');\n\n // If user has PolymorphicColumn means that is coming from v4\n if (hasPolymorphicColumn) {\n // First time coming from v4 user doesn't have entryDocumentId\n // but we double check to avoid errors\n const hasEntryDocumentIdColumn = await trx.schema.hasColumn(\n 'strapi_release_actions',\n 'entry_document_id'\n );\n\n if (!hasEntryDocumentIdColumn) {\n await trx.schema.alterTable('strapi_release_actions', (table) => {\n table.string('entry_document_id');\n });\n }\n\n const releaseActions = await trx.select('*').from('strapi_release_actions');\n\n async.map(releaseActions, async (action: any) => {\n const { target_type, target_id } = action;\n\n const entry = await db.query(target_type).findOne({ where: { id: target_id } });\n\n if (entry) {\n await trx('strapi_release_actions')\n .update({ entry_document_id: entry.documentId })\n .where('id', action.id);\n }\n });\n }\n },\n async down() {\n throw new Error('not implemented');\n },\n};\n"],"names":["addEntryDocumentToReleaseActions","name","up","trx","db","hasTable","schema","hasPolymorphicColumn","hasColumn","hasEntryDocumentIdColumn","alterTable","table","string","releaseActions","select","from","async","map","action","target_type","target_id","entry","query","findOne","where","id","update","entry_document_id","documentId","down","Error"],"mappings":";;;;AAMA;;;;;UAMaA,gCAA8C,GAAA;IACzDC,IAAM,EAAA,kEAAA;IACN,MAAMC,EAAAA,CAAAA,CAAGC,GAAS,EAAEC,EAAY,EAAA;;AAE9B,QAAA,MAAMC,WAAW,MAAMF,GAAAA,CAAIG,MAAM,CAACD,QAAQ,CAAC,wBAAA,CAAA;AAE3C,QAAA,IAAI,CAACA,QAAU,EAAA;AACb,YAAA;AACF;AAEA,QAAA,MAAME,uBAAuB,MAAMJ,GAAAA,CAAIG,MAAM,CAACE,SAAS,CAAC,wBAA0B,EAAA,WAAA,CAAA;;AAGlF,QAAA,IAAID,oBAAsB,EAAA;;;AAGxB,YAAA,MAAME,2BAA2B,MAAMN,GAAAA,CAAIG,MAAM,CAACE,SAAS,CACzD,wBACA,EAAA,mBAAA,CAAA;AAGF,YAAA,IAAI,CAACC,wBAA0B,EAAA;AAC7B,gBAAA,MAAMN,IAAIG,MAAM,CAACI,UAAU,CAAC,0BAA0B,CAACC,KAAAA,GAAAA;AACrDA,oBAAAA,KAAAA,CAAMC,MAAM,CAAC,mBAAA,CAAA;AACf,iBAAA,CAAA;AACF;AAEA,YAAA,MAAMC,iBAAiB,MAAMV,GAAAA,CAAIW,MAAM,CAAC,GAAA,CAAA,CAAKC,IAAI,CAAC,wBAAA,CAAA;YAElDC,WAAMC,CAAAA,GAAG,CAACJ,cAAAA,EAAgB,OAAOK,MAAAA,GAAAA;AAC/B,gBAAA,MAAM,EAAEC,WAAW,EAAEC,SAAS,EAAE,GAAGF,MAAAA;AAEnC,gBAAA,MAAMG,QAAQ,MAAMjB,EAAAA,CAAGkB,KAAK,CAACH,WAAAA,CAAAA,CAAaI,OAAO,CAAC;oBAAEC,KAAO,EAAA;wBAAEC,EAAIL,EAAAA;AAAU;AAAE,iBAAA,CAAA;AAE7E,gBAAA,IAAIC,KAAO,EAAA;oBACT,MAAMlB,GAAAA,CAAI,wBACPuB,CAAAA,CAAAA,MAAM,CAAC;AAAEC,wBAAAA,iBAAAA,EAAmBN,MAAMO;AAAW,qBAAA,CAAA,CAC7CJ,KAAK,CAAC,IAAMN,EAAAA,MAAAA,CAAOO,EAAE,CAAA;AAC1B;AACF,aAAA,CAAA;AACF;AACF,KAAA;IACA,MAAMI,IAAAA,CAAAA,GAAAA;AACJ,QAAA,MAAM,IAAIC,KAAM,CAAA,iBAAA,CAAA;AAClB;AACF;;;;"}
@@ -1,49 +0,0 @@
1
- import { async } from '@strapi/utils';
2
-
3
- /**
4
- * On v4, release actions are linked with entries using the built in Polymorphic relations.
5
- *
6
- * On v5, we are going to save entryDocumentId on the release action and make the link manually.
7
- * This because entryId is not a reliable way to link documents, as it can change.
8
- */ const addEntryDocumentToReleaseActions = {
9
- name: 'content-releases::5.0.0-add-entry-document-id-to-release-actions',
10
- async up (trx, db) {
11
- // Check if the table exists
12
- const hasTable = await trx.schema.hasTable('strapi_release_actions');
13
- if (!hasTable) {
14
- return;
15
- }
16
- const hasPolymorphicColumn = await trx.schema.hasColumn('strapi_release_actions', 'target_id');
17
- // If user has PolymorphicColumn means that is coming from v4
18
- if (hasPolymorphicColumn) {
19
- // First time coming from v4 user doesn't have entryDocumentId
20
- // but we double check to avoid errors
21
- const hasEntryDocumentIdColumn = await trx.schema.hasColumn('strapi_release_actions', 'entry_document_id');
22
- if (!hasEntryDocumentIdColumn) {
23
- await trx.schema.alterTable('strapi_release_actions', (table)=>{
24
- table.string('entry_document_id');
25
- });
26
- }
27
- const releaseActions = await trx.select('*').from('strapi_release_actions');
28
- async.map(releaseActions, async (action)=>{
29
- const { target_type, target_id } = action;
30
- const entry = await db.query(target_type).findOne({
31
- where: {
32
- id: target_id
33
- }
34
- });
35
- if (entry) {
36
- await trx('strapi_release_actions').update({
37
- entry_document_id: entry.documentId
38
- }).where('id', action.id);
39
- }
40
- });
41
- }
42
- },
43
- async down () {
44
- throw new Error('not implemented');
45
- }
46
- };
47
-
48
- export { addEntryDocumentToReleaseActions };
49
- //# sourceMappingURL=5.0.0-document-id-in-actions.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"5.0.0-document-id-in-actions.mjs","sources":["../../../../server/src/migrations/database/5.0.0-document-id-in-actions.ts"],"sourcesContent":["import { async } from '@strapi/utils';\n\nimport type { Migration, Database } from '@strapi/database';\n\ntype Knex = Parameters<Migration['up']>[0];\n\n/**\n * On v4, release actions are linked with entries using the built in Polymorphic relations.\n *\n * On v5, we are going to save entryDocumentId on the release action and make the link manually.\n * This because entryId is not a reliable way to link documents, as it can change.\n */\nexport const addEntryDocumentToReleaseActions: Migration = {\n name: 'content-releases::5.0.0-add-entry-document-id-to-release-actions',\n async up(trx: Knex, db: Database) {\n // Check if the table exists\n const hasTable = await trx.schema.hasTable('strapi_release_actions');\n\n if (!hasTable) {\n return;\n }\n\n const hasPolymorphicColumn = await trx.schema.hasColumn('strapi_release_actions', 'target_id');\n\n // If user has PolymorphicColumn means that is coming from v4\n if (hasPolymorphicColumn) {\n // First time coming from v4 user doesn't have entryDocumentId\n // but we double check to avoid errors\n const hasEntryDocumentIdColumn = await trx.schema.hasColumn(\n 'strapi_release_actions',\n 'entry_document_id'\n );\n\n if (!hasEntryDocumentIdColumn) {\n await trx.schema.alterTable('strapi_release_actions', (table) => {\n table.string('entry_document_id');\n });\n }\n\n const releaseActions = await trx.select('*').from('strapi_release_actions');\n\n async.map(releaseActions, async (action: any) => {\n const { target_type, target_id } = action;\n\n const entry = await db.query(target_type).findOne({ where: { id: target_id } });\n\n if (entry) {\n await trx('strapi_release_actions')\n .update({ entry_document_id: entry.documentId })\n .where('id', action.id);\n }\n });\n }\n },\n async down() {\n throw new Error('not implemented');\n },\n};\n"],"names":["addEntryDocumentToReleaseActions","name","up","trx","db","hasTable","schema","hasPolymorphicColumn","hasColumn","hasEntryDocumentIdColumn","alterTable","table","string","releaseActions","select","from","async","map","action","target_type","target_id","entry","query","findOne","where","id","update","entry_document_id","documentId","down","Error"],"mappings":";;AAMA;;;;;UAMaA,gCAA8C,GAAA;IACzDC,IAAM,EAAA,kEAAA;IACN,MAAMC,EAAAA,CAAAA,CAAGC,GAAS,EAAEC,EAAY,EAAA;;AAE9B,QAAA,MAAMC,WAAW,MAAMF,GAAAA,CAAIG,MAAM,CAACD,QAAQ,CAAC,wBAAA,CAAA;AAE3C,QAAA,IAAI,CAACA,QAAU,EAAA;AACb,YAAA;AACF;AAEA,QAAA,MAAME,uBAAuB,MAAMJ,GAAAA,CAAIG,MAAM,CAACE,SAAS,CAAC,wBAA0B,EAAA,WAAA,CAAA;;AAGlF,QAAA,IAAID,oBAAsB,EAAA;;;AAGxB,YAAA,MAAME,2BAA2B,MAAMN,GAAAA,CAAIG,MAAM,CAACE,SAAS,CACzD,wBACA,EAAA,mBAAA,CAAA;AAGF,YAAA,IAAI,CAACC,wBAA0B,EAAA;AAC7B,gBAAA,MAAMN,IAAIG,MAAM,CAACI,UAAU,CAAC,0BAA0B,CAACC,KAAAA,GAAAA;AACrDA,oBAAAA,KAAAA,CAAMC,MAAM,CAAC,mBAAA,CAAA;AACf,iBAAA,CAAA;AACF;AAEA,YAAA,MAAMC,iBAAiB,MAAMV,GAAAA,CAAIW,MAAM,CAAC,GAAA,CAAA,CAAKC,IAAI,CAAC,wBAAA,CAAA;YAElDC,KAAMC,CAAAA,GAAG,CAACJ,cAAAA,EAAgB,OAAOK,MAAAA,GAAAA;AAC/B,gBAAA,MAAM,EAAEC,WAAW,EAAEC,SAAS,EAAE,GAAGF,MAAAA;AAEnC,gBAAA,MAAMG,QAAQ,MAAMjB,EAAAA,CAAGkB,KAAK,CAACH,WAAAA,CAAAA,CAAaI,OAAO,CAAC;oBAAEC,KAAO,EAAA;wBAAEC,EAAIL,EAAAA;AAAU;AAAE,iBAAA,CAAA;AAE7E,gBAAA,IAAIC,KAAO,EAAA;oBACT,MAAMlB,GAAAA,CAAI,wBACPuB,CAAAA,CAAAA,MAAM,CAAC;AAAEC,wBAAAA,iBAAAA,EAAmBN,MAAMO;AAAW,qBAAA,CAAA,CAC7CJ,KAAK,CAAC,IAAMN,EAAAA,MAAAA,CAAOO,EAAE,CAAA;AAC1B;AACF,aAAA,CAAA;AACF;AACF,KAAA;IACA,MAAMI,IAAAA,CAAAA,GAAAA;AACJ,QAAA,MAAM,IAAIC,KAAM,CAAA,iBAAA,CAAA;AAClB;AACF;;;;"}
@@ -1,205 +0,0 @@
1
- 'use strict';
2
-
3
- var utils = require('@strapi/utils');
4
- var isEqual = require('lodash/isEqual');
5
- var lodash = require('lodash');
6
- var constants = require('../constants.js');
7
- var index = require('../utils/index.js');
8
-
9
- async function deleteActionsOnDisableDraftAndPublish({ oldContentTypes, contentTypes }) {
10
- if (!oldContentTypes) {
11
- return;
12
- }
13
- for(const uid in contentTypes){
14
- if (!oldContentTypes[uid]) {
15
- continue;
16
- }
17
- const oldContentType = oldContentTypes[uid];
18
- const contentType = contentTypes[uid];
19
- if (utils.contentTypes.hasDraftAndPublish(oldContentType) && !utils.contentTypes.hasDraftAndPublish(contentType)) {
20
- await strapi.db?.queryBuilder(constants.RELEASE_ACTION_MODEL_UID).delete().where({
21
- contentType: uid
22
- }).execute();
23
- }
24
- }
25
- }
26
- async function deleteActionsOnDeleteContentType({ oldContentTypes, contentTypes }) {
27
- const deletedContentTypes = lodash.difference(lodash.keys(oldContentTypes), lodash.keys(contentTypes)) ?? [];
28
- if (deletedContentTypes.length) {
29
- await utils.async.map(deletedContentTypes, async (deletedContentTypeUID)=>{
30
- return strapi.db?.queryBuilder(constants.RELEASE_ACTION_MODEL_UID).delete().where({
31
- contentType: deletedContentTypeUID
32
- }).execute();
33
- });
34
- }
35
- }
36
- async function migrateIsValidAndStatusReleases() {
37
- const releasesWithoutStatus = await strapi.db.query(constants.RELEASE_MODEL_UID).findMany({
38
- where: {
39
- status: null,
40
- releasedAt: null
41
- },
42
- populate: {
43
- actions: {
44
- populate: {
45
- entry: true
46
- }
47
- }
48
- }
49
- });
50
- utils.async.map(releasesWithoutStatus, async (release)=>{
51
- const actions = release.actions;
52
- const notValidatedActions = actions.filter((action)=>action.isEntryValid === null);
53
- for (const action of notValidatedActions){
54
- // We need to check the Action is related to a valid entry because we can't assume this is gonna be always the case
55
- // example: users could make changes directly to their database, or data could be lost
56
- if (action.entry) {
57
- const isEntryValid = index.getDraftEntryValidStatus({
58
- contentType: action.contentType,
59
- documentId: action.entryDocumentId,
60
- locale: action.locale
61
- }, {
62
- strapi
63
- });
64
- await strapi.db.query(constants.RELEASE_ACTION_MODEL_UID).update({
65
- where: {
66
- id: action.id
67
- },
68
- data: {
69
- isEntryValid
70
- }
71
- });
72
- }
73
- }
74
- return index.getService('release', {
75
- strapi
76
- }).updateReleaseStatus(release.id);
77
- });
78
- const publishedReleases = await strapi.db.query(constants.RELEASE_MODEL_UID).findMany({
79
- where: {
80
- status: null,
81
- releasedAt: {
82
- $notNull: true
83
- }
84
- }
85
- });
86
- utils.async.map(publishedReleases, async (release)=>{
87
- return strapi.db.query(constants.RELEASE_MODEL_UID).update({
88
- where: {
89
- id: release.id
90
- },
91
- data: {
92
- status: 'done'
93
- }
94
- });
95
- });
96
- }
97
- async function revalidateChangedContentTypes({ oldContentTypes, contentTypes }) {
98
- if (oldContentTypes !== undefined && contentTypes !== undefined) {
99
- const contentTypesWithDraftAndPublish = Object.keys(oldContentTypes).filter((uid)=>oldContentTypes[uid]?.options?.draftAndPublish);
100
- const releasesAffected = new Set();
101
- utils.async.map(contentTypesWithDraftAndPublish, async (contentTypeUID)=>{
102
- const oldContentType = oldContentTypes[contentTypeUID];
103
- const contentType = contentTypes[contentTypeUID];
104
- // If attributes have changed, we need to revalidate actions because maybe validations rules are different
105
- if (!isEqual(oldContentType?.attributes, contentType?.attributes)) {
106
- const actions = await strapi.db.query(constants.RELEASE_ACTION_MODEL_UID).findMany({
107
- where: {
108
- contentType: contentTypeUID
109
- },
110
- populate: {
111
- entry: true,
112
- release: true
113
- }
114
- });
115
- await utils.async.map(actions, async (action)=>{
116
- if (action.entry && action.release && action.type === 'publish') {
117
- const isEntryValid = await index.getDraftEntryValidStatus({
118
- contentType: contentTypeUID,
119
- documentId: action.entryDocumentId,
120
- locale: action.locale
121
- }, {
122
- strapi
123
- });
124
- releasesAffected.add(action.release.id);
125
- await strapi.db.query(constants.RELEASE_ACTION_MODEL_UID).update({
126
- where: {
127
- id: action.id
128
- },
129
- data: {
130
- isEntryValid
131
- }
132
- });
133
- }
134
- });
135
- }
136
- }).then(()=>{
137
- // We need to update the status of the releases affected
138
- utils.async.map(releasesAffected, async (releaseId)=>{
139
- return index.getService('release', {
140
- strapi
141
- }).updateReleaseStatus(releaseId);
142
- });
143
- });
144
- }
145
- }
146
- async function disableContentTypeLocalized({ oldContentTypes, contentTypes }) {
147
- if (!oldContentTypes) {
148
- return;
149
- }
150
- const i18nPlugin = strapi.plugin('i18n');
151
- if (!i18nPlugin) {
152
- return;
153
- }
154
- for(const uid in contentTypes){
155
- if (!oldContentTypes[uid]) {
156
- continue;
157
- }
158
- const oldContentType = oldContentTypes[uid];
159
- const contentType = contentTypes[uid];
160
- const { isLocalizedContentType } = i18nPlugin.service('content-types');
161
- // if i18N is disabled remove non default locales before sync
162
- if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {
163
- await strapi.db.queryBuilder(constants.RELEASE_ACTION_MODEL_UID).update({
164
- locale: null
165
- }).where({
166
- contentType: uid
167
- }).execute();
168
- }
169
- }
170
- }
171
- async function enableContentTypeLocalized({ oldContentTypes, contentTypes }) {
172
- if (!oldContentTypes) {
173
- return;
174
- }
175
- const i18nPlugin = strapi.plugin('i18n');
176
- if (!i18nPlugin) {
177
- return;
178
- }
179
- for(const uid in contentTypes){
180
- if (!oldContentTypes[uid]) {
181
- continue;
182
- }
183
- const oldContentType = oldContentTypes[uid];
184
- const contentType = contentTypes[uid];
185
- const { isLocalizedContentType } = i18nPlugin.service('content-types');
186
- const { getDefaultLocale } = i18nPlugin.service('locales');
187
- // if i18N is enabled remove non default locales before sync
188
- if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {
189
- const defaultLocale = await getDefaultLocale();
190
- await strapi.db.queryBuilder(constants.RELEASE_ACTION_MODEL_UID).update({
191
- locale: defaultLocale
192
- }).where({
193
- contentType: uid
194
- }).execute();
195
- }
196
- }
197
- }
198
-
199
- exports.deleteActionsOnDeleteContentType = deleteActionsOnDeleteContentType;
200
- exports.deleteActionsOnDisableDraftAndPublish = deleteActionsOnDisableDraftAndPublish;
201
- exports.disableContentTypeLocalized = disableContentTypeLocalized;
202
- exports.enableContentTypeLocalized = enableContentTypeLocalized;
203
- exports.migrateIsValidAndStatusReleases = migrateIsValidAndStatusReleases;
204
- exports.revalidateChangedContentTypes = revalidateChangedContentTypes;
205
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../server/src/migrations/index.ts"],"sourcesContent":["import type { Schema, UID } from '@strapi/types';\nimport { contentTypes as contentTypesUtils, async } from '@strapi/utils';\nimport isEqual from 'lodash/isEqual';\n\nimport { difference, keys } from 'lodash';\nimport { RELEASE_ACTION_MODEL_UID, RELEASE_MODEL_UID } from '../constants';\nimport { getDraftEntryValidStatus, getService } from '../utils';\nimport { Release } from '../../../shared/contracts/releases';\nimport { ReleaseAction } from '../../../shared/contracts/release-actions';\n\ninterface Input {\n oldContentTypes: Record<string, Schema.ContentType>;\n contentTypes: Record<string, Schema.ContentType>;\n}\n\nexport async function deleteActionsOnDisableDraftAndPublish({\n oldContentTypes,\n contentTypes,\n}: Input) {\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n if (\n contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n !contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n await strapi.db\n ?.queryBuilder(RELEASE_ACTION_MODEL_UID)\n .delete()\n .where({ contentType: uid })\n .execute();\n }\n }\n}\n\nexport async function deleteActionsOnDeleteContentType({ oldContentTypes, contentTypes }: Input) {\n const deletedContentTypes = difference(keys(oldContentTypes), keys(contentTypes)) ?? [];\n\n if (deletedContentTypes.length) {\n await async.map(deletedContentTypes, async (deletedContentTypeUID: unknown) => {\n return strapi.db\n ?.queryBuilder(RELEASE_ACTION_MODEL_UID)\n .delete()\n .where({ contentType: deletedContentTypeUID })\n .execute();\n });\n }\n}\n\nexport async function migrateIsValidAndStatusReleases() {\n const releasesWithoutStatus = (await strapi.db.query(RELEASE_MODEL_UID).findMany({\n where: {\n status: null,\n releasedAt: null,\n },\n populate: {\n actions: {\n populate: {\n entry: true,\n },\n },\n },\n })) as Release[];\n\n async.map(releasesWithoutStatus, async (release: Release) => {\n const actions = release.actions;\n\n const notValidatedActions = actions.filter((action) => action.isEntryValid === null);\n\n for (const action of notValidatedActions) {\n // We need to check the Action is related to a valid entry because we can't assume this is gonna be always the case\n // example: users could make changes directly to their database, or data could be lost\n if (action.entry) {\n const isEntryValid = getDraftEntryValidStatus(\n {\n contentType: action.contentType,\n documentId: action.entryDocumentId,\n locale: action.locale,\n },\n { strapi }\n );\n\n await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({\n where: {\n id: action.id,\n },\n data: {\n isEntryValid,\n },\n });\n }\n }\n\n return getService('release', { strapi }).updateReleaseStatus(release.id);\n });\n\n const publishedReleases = await strapi.db.query(RELEASE_MODEL_UID).findMany({\n where: {\n status: null,\n releasedAt: {\n $notNull: true,\n },\n },\n });\n\n async.map(publishedReleases, async (release: Release) => {\n return strapi.db.query(RELEASE_MODEL_UID).update({\n where: {\n id: release.id,\n },\n data: {\n status: 'done',\n },\n });\n });\n}\n\nexport async function revalidateChangedContentTypes({ oldContentTypes, contentTypes }: Input) {\n if (oldContentTypes !== undefined && contentTypes !== undefined) {\n const contentTypesWithDraftAndPublish = Object.keys(oldContentTypes).filter(\n (uid) => oldContentTypes[uid]?.options?.draftAndPublish\n );\n const releasesAffected = new Set();\n\n async\n .map(contentTypesWithDraftAndPublish, async (contentTypeUID: UID.ContentType) => {\n const oldContentType = oldContentTypes[contentTypeUID];\n const contentType = contentTypes[contentTypeUID];\n\n // If attributes have changed, we need to revalidate actions because maybe validations rules are different\n if (!isEqual(oldContentType?.attributes, contentType?.attributes)) {\n const actions = await strapi.db.query(RELEASE_ACTION_MODEL_UID).findMany({\n where: {\n contentType: contentTypeUID,\n },\n populate: {\n entry: true,\n release: true,\n },\n });\n\n await async.map(actions, async (action: ReleaseAction) => {\n if (action.entry && action.release && action.type === 'publish') {\n const isEntryValid = await getDraftEntryValidStatus(\n {\n contentType: contentTypeUID,\n documentId: action.entryDocumentId,\n locale: action.locale,\n },\n { strapi }\n );\n\n releasesAffected.add(action.release.id);\n\n await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({\n where: {\n id: action.id,\n },\n data: {\n isEntryValid,\n },\n });\n }\n });\n }\n })\n .then(() => {\n // We need to update the status of the releases affected\n async.map(releasesAffected, async (releaseId: Release['id']) => {\n return getService('release', { strapi }).updateReleaseStatus(releaseId);\n });\n });\n }\n}\n\nexport async function disableContentTypeLocalized({ oldContentTypes, contentTypes }: Input) {\n if (!oldContentTypes) {\n return;\n }\n\n const i18nPlugin = strapi.plugin('i18n');\n if (!i18nPlugin) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n const { isLocalizedContentType } = i18nPlugin.service('content-types');\n\n // if i18N is disabled remove non default locales before sync\n if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {\n await strapi.db\n .queryBuilder(RELEASE_ACTION_MODEL_UID)\n .update({\n locale: null,\n })\n .where({ contentType: uid })\n .execute();\n }\n }\n}\n\nexport async function enableContentTypeLocalized({ oldContentTypes, contentTypes }: Input) {\n if (!oldContentTypes) {\n return;\n }\n\n const i18nPlugin = strapi.plugin('i18n');\n if (!i18nPlugin) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n const { isLocalizedContentType } = i18nPlugin.service('content-types');\n const { getDefaultLocale } = i18nPlugin.service('locales');\n\n // if i18N is enabled remove non default locales before sync\n if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {\n const defaultLocale = await getDefaultLocale();\n\n await strapi.db\n .queryBuilder(RELEASE_ACTION_MODEL_UID)\n .update({\n locale: defaultLocale,\n })\n .where({ contentType: uid })\n .execute();\n }\n }\n}\n"],"names":["deleteActionsOnDisableDraftAndPublish","oldContentTypes","contentTypes","uid","oldContentType","contentType","contentTypesUtils","hasDraftAndPublish","strapi","db","queryBuilder","RELEASE_ACTION_MODEL_UID","delete","where","execute","deleteActionsOnDeleteContentType","deletedContentTypes","difference","keys","length","async","map","deletedContentTypeUID","migrateIsValidAndStatusReleases","releasesWithoutStatus","query","RELEASE_MODEL_UID","findMany","status","releasedAt","populate","actions","entry","release","notValidatedActions","filter","action","isEntryValid","getDraftEntryValidStatus","documentId","entryDocumentId","locale","update","id","data","getService","updateReleaseStatus","publishedReleases","$notNull","revalidateChangedContentTypes","undefined","contentTypesWithDraftAndPublish","Object","options","draftAndPublish","releasesAffected","Set","contentTypeUID","isEqual","attributes","type","add","then","releaseId","disableContentTypeLocalized","i18nPlugin","plugin","isLocalizedContentType","service","enableContentTypeLocalized","getDefaultLocale","defaultLocale"],"mappings":"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"}
@@ -1,198 +0,0 @@
1
- import { contentTypes, async } from '@strapi/utils';
2
- import isEqual from 'lodash/isEqual';
3
- import { difference, keys } from 'lodash';
4
- import { RELEASE_ACTION_MODEL_UID, RELEASE_MODEL_UID } from '../constants.mjs';
5
- import { getDraftEntryValidStatus, getService } from '../utils/index.mjs';
6
-
7
- async function deleteActionsOnDisableDraftAndPublish({ oldContentTypes, contentTypes: contentTypes$1 }) {
8
- if (!oldContentTypes) {
9
- return;
10
- }
11
- for(const uid in contentTypes$1){
12
- if (!oldContentTypes[uid]) {
13
- continue;
14
- }
15
- const oldContentType = oldContentTypes[uid];
16
- const contentType = contentTypes$1[uid];
17
- if (contentTypes.hasDraftAndPublish(oldContentType) && !contentTypes.hasDraftAndPublish(contentType)) {
18
- await strapi.db?.queryBuilder(RELEASE_ACTION_MODEL_UID).delete().where({
19
- contentType: uid
20
- }).execute();
21
- }
22
- }
23
- }
24
- async function deleteActionsOnDeleteContentType({ oldContentTypes, contentTypes }) {
25
- const deletedContentTypes = difference(keys(oldContentTypes), keys(contentTypes)) ?? [];
26
- if (deletedContentTypes.length) {
27
- await async.map(deletedContentTypes, async (deletedContentTypeUID)=>{
28
- return strapi.db?.queryBuilder(RELEASE_ACTION_MODEL_UID).delete().where({
29
- contentType: deletedContentTypeUID
30
- }).execute();
31
- });
32
- }
33
- }
34
- async function migrateIsValidAndStatusReleases() {
35
- const releasesWithoutStatus = await strapi.db.query(RELEASE_MODEL_UID).findMany({
36
- where: {
37
- status: null,
38
- releasedAt: null
39
- },
40
- populate: {
41
- actions: {
42
- populate: {
43
- entry: true
44
- }
45
- }
46
- }
47
- });
48
- async.map(releasesWithoutStatus, async (release)=>{
49
- const actions = release.actions;
50
- const notValidatedActions = actions.filter((action)=>action.isEntryValid === null);
51
- for (const action of notValidatedActions){
52
- // We need to check the Action is related to a valid entry because we can't assume this is gonna be always the case
53
- // example: users could make changes directly to their database, or data could be lost
54
- if (action.entry) {
55
- const isEntryValid = getDraftEntryValidStatus({
56
- contentType: action.contentType,
57
- documentId: action.entryDocumentId,
58
- locale: action.locale
59
- }, {
60
- strapi
61
- });
62
- await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({
63
- where: {
64
- id: action.id
65
- },
66
- data: {
67
- isEntryValid
68
- }
69
- });
70
- }
71
- }
72
- return getService('release', {
73
- strapi
74
- }).updateReleaseStatus(release.id);
75
- });
76
- const publishedReleases = await strapi.db.query(RELEASE_MODEL_UID).findMany({
77
- where: {
78
- status: null,
79
- releasedAt: {
80
- $notNull: true
81
- }
82
- }
83
- });
84
- async.map(publishedReleases, async (release)=>{
85
- return strapi.db.query(RELEASE_MODEL_UID).update({
86
- where: {
87
- id: release.id
88
- },
89
- data: {
90
- status: 'done'
91
- }
92
- });
93
- });
94
- }
95
- async function revalidateChangedContentTypes({ oldContentTypes, contentTypes }) {
96
- if (oldContentTypes !== undefined && contentTypes !== undefined) {
97
- const contentTypesWithDraftAndPublish = Object.keys(oldContentTypes).filter((uid)=>oldContentTypes[uid]?.options?.draftAndPublish);
98
- const releasesAffected = new Set();
99
- async.map(contentTypesWithDraftAndPublish, async (contentTypeUID)=>{
100
- const oldContentType = oldContentTypes[contentTypeUID];
101
- const contentType = contentTypes[contentTypeUID];
102
- // If attributes have changed, we need to revalidate actions because maybe validations rules are different
103
- if (!isEqual(oldContentType?.attributes, contentType?.attributes)) {
104
- const actions = await strapi.db.query(RELEASE_ACTION_MODEL_UID).findMany({
105
- where: {
106
- contentType: contentTypeUID
107
- },
108
- populate: {
109
- entry: true,
110
- release: true
111
- }
112
- });
113
- await async.map(actions, async (action)=>{
114
- if (action.entry && action.release && action.type === 'publish') {
115
- const isEntryValid = await getDraftEntryValidStatus({
116
- contentType: contentTypeUID,
117
- documentId: action.entryDocumentId,
118
- locale: action.locale
119
- }, {
120
- strapi
121
- });
122
- releasesAffected.add(action.release.id);
123
- await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({
124
- where: {
125
- id: action.id
126
- },
127
- data: {
128
- isEntryValid
129
- }
130
- });
131
- }
132
- });
133
- }
134
- }).then(()=>{
135
- // We need to update the status of the releases affected
136
- async.map(releasesAffected, async (releaseId)=>{
137
- return getService('release', {
138
- strapi
139
- }).updateReleaseStatus(releaseId);
140
- });
141
- });
142
- }
143
- }
144
- async function disableContentTypeLocalized({ oldContentTypes, contentTypes }) {
145
- if (!oldContentTypes) {
146
- return;
147
- }
148
- const i18nPlugin = strapi.plugin('i18n');
149
- if (!i18nPlugin) {
150
- return;
151
- }
152
- for(const uid in contentTypes){
153
- if (!oldContentTypes[uid]) {
154
- continue;
155
- }
156
- const oldContentType = oldContentTypes[uid];
157
- const contentType = contentTypes[uid];
158
- const { isLocalizedContentType } = i18nPlugin.service('content-types');
159
- // if i18N is disabled remove non default locales before sync
160
- if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {
161
- await strapi.db.queryBuilder(RELEASE_ACTION_MODEL_UID).update({
162
- locale: null
163
- }).where({
164
- contentType: uid
165
- }).execute();
166
- }
167
- }
168
- }
169
- async function enableContentTypeLocalized({ oldContentTypes, contentTypes }) {
170
- if (!oldContentTypes) {
171
- return;
172
- }
173
- const i18nPlugin = strapi.plugin('i18n');
174
- if (!i18nPlugin) {
175
- return;
176
- }
177
- for(const uid in contentTypes){
178
- if (!oldContentTypes[uid]) {
179
- continue;
180
- }
181
- const oldContentType = oldContentTypes[uid];
182
- const contentType = contentTypes[uid];
183
- const { isLocalizedContentType } = i18nPlugin.service('content-types');
184
- const { getDefaultLocale } = i18nPlugin.service('locales');
185
- // if i18N is enabled remove non default locales before sync
186
- if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {
187
- const defaultLocale = await getDefaultLocale();
188
- await strapi.db.queryBuilder(RELEASE_ACTION_MODEL_UID).update({
189
- locale: defaultLocale
190
- }).where({
191
- contentType: uid
192
- }).execute();
193
- }
194
- }
195
- }
196
-
197
- export { deleteActionsOnDeleteContentType, deleteActionsOnDisableDraftAndPublish, disableContentTypeLocalized, enableContentTypeLocalized, migrateIsValidAndStatusReleases, revalidateChangedContentTypes };
198
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../server/src/migrations/index.ts"],"sourcesContent":["import type { Schema, UID } from '@strapi/types';\nimport { contentTypes as contentTypesUtils, async } from '@strapi/utils';\nimport isEqual from 'lodash/isEqual';\n\nimport { difference, keys } from 'lodash';\nimport { RELEASE_ACTION_MODEL_UID, RELEASE_MODEL_UID } from '../constants';\nimport { getDraftEntryValidStatus, getService } from '../utils';\nimport { Release } from '../../../shared/contracts/releases';\nimport { ReleaseAction } from '../../../shared/contracts/release-actions';\n\ninterface Input {\n oldContentTypes: Record<string, Schema.ContentType>;\n contentTypes: Record<string, Schema.ContentType>;\n}\n\nexport async function deleteActionsOnDisableDraftAndPublish({\n oldContentTypes,\n contentTypes,\n}: Input) {\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n if (\n contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n !contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n await strapi.db\n ?.queryBuilder(RELEASE_ACTION_MODEL_UID)\n .delete()\n .where({ contentType: uid })\n .execute();\n }\n }\n}\n\nexport async function deleteActionsOnDeleteContentType({ oldContentTypes, contentTypes }: Input) {\n const deletedContentTypes = difference(keys(oldContentTypes), keys(contentTypes)) ?? [];\n\n if (deletedContentTypes.length) {\n await async.map(deletedContentTypes, async (deletedContentTypeUID: unknown) => {\n return strapi.db\n ?.queryBuilder(RELEASE_ACTION_MODEL_UID)\n .delete()\n .where({ contentType: deletedContentTypeUID })\n .execute();\n });\n }\n}\n\nexport async function migrateIsValidAndStatusReleases() {\n const releasesWithoutStatus = (await strapi.db.query(RELEASE_MODEL_UID).findMany({\n where: {\n status: null,\n releasedAt: null,\n },\n populate: {\n actions: {\n populate: {\n entry: true,\n },\n },\n },\n })) as Release[];\n\n async.map(releasesWithoutStatus, async (release: Release) => {\n const actions = release.actions;\n\n const notValidatedActions = actions.filter((action) => action.isEntryValid === null);\n\n for (const action of notValidatedActions) {\n // We need to check the Action is related to a valid entry because we can't assume this is gonna be always the case\n // example: users could make changes directly to their database, or data could be lost\n if (action.entry) {\n const isEntryValid = getDraftEntryValidStatus(\n {\n contentType: action.contentType,\n documentId: action.entryDocumentId,\n locale: action.locale,\n },\n { strapi }\n );\n\n await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({\n where: {\n id: action.id,\n },\n data: {\n isEntryValid,\n },\n });\n }\n }\n\n return getService('release', { strapi }).updateReleaseStatus(release.id);\n });\n\n const publishedReleases = await strapi.db.query(RELEASE_MODEL_UID).findMany({\n where: {\n status: null,\n releasedAt: {\n $notNull: true,\n },\n },\n });\n\n async.map(publishedReleases, async (release: Release) => {\n return strapi.db.query(RELEASE_MODEL_UID).update({\n where: {\n id: release.id,\n },\n data: {\n status: 'done',\n },\n });\n });\n}\n\nexport async function revalidateChangedContentTypes({ oldContentTypes, contentTypes }: Input) {\n if (oldContentTypes !== undefined && contentTypes !== undefined) {\n const contentTypesWithDraftAndPublish = Object.keys(oldContentTypes).filter(\n (uid) => oldContentTypes[uid]?.options?.draftAndPublish\n );\n const releasesAffected = new Set();\n\n async\n .map(contentTypesWithDraftAndPublish, async (contentTypeUID: UID.ContentType) => {\n const oldContentType = oldContentTypes[contentTypeUID];\n const contentType = contentTypes[contentTypeUID];\n\n // If attributes have changed, we need to revalidate actions because maybe validations rules are different\n if (!isEqual(oldContentType?.attributes, contentType?.attributes)) {\n const actions = await strapi.db.query(RELEASE_ACTION_MODEL_UID).findMany({\n where: {\n contentType: contentTypeUID,\n },\n populate: {\n entry: true,\n release: true,\n },\n });\n\n await async.map(actions, async (action: ReleaseAction) => {\n if (action.entry && action.release && action.type === 'publish') {\n const isEntryValid = await getDraftEntryValidStatus(\n {\n contentType: contentTypeUID,\n documentId: action.entryDocumentId,\n locale: action.locale,\n },\n { strapi }\n );\n\n releasesAffected.add(action.release.id);\n\n await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({\n where: {\n id: action.id,\n },\n data: {\n isEntryValid,\n },\n });\n }\n });\n }\n })\n .then(() => {\n // We need to update the status of the releases affected\n async.map(releasesAffected, async (releaseId: Release['id']) => {\n return getService('release', { strapi }).updateReleaseStatus(releaseId);\n });\n });\n }\n}\n\nexport async function disableContentTypeLocalized({ oldContentTypes, contentTypes }: Input) {\n if (!oldContentTypes) {\n return;\n }\n\n const i18nPlugin = strapi.plugin('i18n');\n if (!i18nPlugin) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n const { isLocalizedContentType } = i18nPlugin.service('content-types');\n\n // if i18N is disabled remove non default locales before sync\n if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {\n await strapi.db\n .queryBuilder(RELEASE_ACTION_MODEL_UID)\n .update({\n locale: null,\n })\n .where({ contentType: uid })\n .execute();\n }\n }\n}\n\nexport async function enableContentTypeLocalized({ oldContentTypes, contentTypes }: Input) {\n if (!oldContentTypes) {\n return;\n }\n\n const i18nPlugin = strapi.plugin('i18n');\n if (!i18nPlugin) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n const { isLocalizedContentType } = i18nPlugin.service('content-types');\n const { getDefaultLocale } = i18nPlugin.service('locales');\n\n // if i18N is enabled remove non default locales before sync\n if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {\n const defaultLocale = await getDefaultLocale();\n\n await strapi.db\n .queryBuilder(RELEASE_ACTION_MODEL_UID)\n .update({\n locale: defaultLocale,\n })\n .where({ contentType: uid })\n .execute();\n }\n }\n}\n"],"names":["deleteActionsOnDisableDraftAndPublish","oldContentTypes","contentTypes","uid","oldContentType","contentType","contentTypesUtils","hasDraftAndPublish","strapi","db","queryBuilder","RELEASE_ACTION_MODEL_UID","delete","where","execute","deleteActionsOnDeleteContentType","deletedContentTypes","difference","keys","length","async","map","deletedContentTypeUID","migrateIsValidAndStatusReleases","releasesWithoutStatus","query","RELEASE_MODEL_UID","findMany","status","releasedAt","populate","actions","entry","release","notValidatedActions","filter","action","isEntryValid","getDraftEntryValidStatus","documentId","entryDocumentId","locale","update","id","data","getService","updateReleaseStatus","publishedReleases","$notNull","revalidateChangedContentTypes","undefined","contentTypesWithDraftAndPublish","Object","options","draftAndPublish","releasesAffected","Set","contentTypeUID","isEqual","attributes","type","add","then","releaseId","disableContentTypeLocalized","i18nPlugin","plugin","isLocalizedContentType","service","enableContentTypeLocalized","getDefaultLocale","defaultLocale"],"mappings":";;;;;;AAeO,eAAeA,qCAAsC,CAAA,EAC1DC,eAAe,gBACfC,cAAY,EACN,EAAA;AACN,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,IAAK,MAAME,OAAOD,cAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACE,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBH,eAAe,CAACE,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcH,cAAY,CAACC,GAAI,CAAA;QAErC,IACEG,YAAAA,CAAkBC,kBAAkB,CAACH,cAAAA,CAAAA,IACrC,CAACE,YAAkBC,CAAAA,kBAAkB,CAACF,WACtC,CAAA,EAAA;AACA,YAAA,MAAMG,OAAOC,EAAE,EACXC,YAAaC,CAAAA,wBAAAA,CAAAA,CACdC,SACAC,KAAM,CAAA;gBAAER,WAAaF,EAAAA;aACrBW,CAAAA,CAAAA,OAAAA,EAAAA;AACL;AACF;AACF;AAEO,eAAeC,gCAAiC,CAAA,EAAEd,eAAe,EAAEC,YAAY,EAAS,EAAA;AAC7F,IAAA,MAAMc,sBAAsBC,UAAWC,CAAAA,IAAAA,CAAKjB,eAAkBiB,CAAAA,EAAAA,IAAAA,CAAKhB,kBAAkB,EAAE;IAEvF,IAAIc,mBAAAA,CAAoBG,MAAM,EAAE;AAC9B,QAAA,MAAMC,KAAMC,CAAAA,GAAG,CAACL,mBAAAA,EAAqB,OAAOM,qBAAAA,GAAAA;AAC1C,YAAA,OAAOd,OAAOC,EAAE,EACZC,YAAaC,CAAAA,wBAAAA,CAAAA,CACdC,SACAC,KAAM,CAAA;gBAAER,WAAaiB,EAAAA;aACrBR,CAAAA,CAAAA,OAAAA,EAAAA;AACL,SAAA,CAAA;AACF;AACF;AAEO,eAAeS,+BAAAA,GAAAA;IACpB,MAAMC,qBAAAA,GAAyB,MAAMhB,MAAOC,CAAAA,EAAE,CAACgB,KAAK,CAACC,iBAAmBC,CAAAA,CAAAA,QAAQ,CAAC;QAC/Ed,KAAO,EAAA;YACLe,MAAQ,EAAA,IAAA;YACRC,UAAY,EAAA;AACd,SAAA;QACAC,QAAU,EAAA;YACRC,OAAS,EAAA;gBACPD,QAAU,EAAA;oBACRE,KAAO,EAAA;AACT;AACF;AACF;AACF,KAAA,CAAA;IAEAZ,KAAMC,CAAAA,GAAG,CAACG,qBAAAA,EAAuB,OAAOS,OAAAA,GAAAA;QACtC,MAAMF,OAAAA,GAAUE,QAAQF,OAAO;QAE/B,MAAMG,mBAAAA,GAAsBH,QAAQI,MAAM,CAAC,CAACC,MAAWA,GAAAA,MAAAA,CAAOC,YAAY,KAAK,IAAA,CAAA;QAE/E,KAAK,MAAMD,UAAUF,mBAAqB,CAAA;;;YAGxC,IAAIE,MAAAA,CAAOJ,KAAK,EAAE;AAChB,gBAAA,MAAMK,eAAeC,wBACnB,CAAA;AACEjC,oBAAAA,WAAAA,EAAa+B,OAAO/B,WAAW;AAC/BkC,oBAAAA,UAAAA,EAAYH,OAAOI,eAAe;AAClCC,oBAAAA,MAAAA,EAAQL,OAAOK;iBAEjB,EAAA;AAAEjC,oBAAAA;AAAO,iBAAA,CAAA;AAGX,gBAAA,MAAMA,OAAOC,EAAE,CAACgB,KAAK,CAACd,wBAAAA,CAAAA,CAA0B+B,MAAM,CAAC;oBACrD7B,KAAO,EAAA;AACL8B,wBAAAA,EAAAA,EAAIP,OAAOO;AACb,qBAAA;oBACAC,IAAM,EAAA;AACJP,wBAAAA;AACF;AACF,iBAAA,CAAA;AACF;AACF;AAEA,QAAA,OAAOQ,WAAW,SAAW,EAAA;AAAErC,YAAAA;SAAUsC,CAAAA,CAAAA,mBAAmB,CAACb,OAAAA,CAAQU,EAAE,CAAA;AACzE,KAAA,CAAA;IAEA,MAAMI,iBAAAA,GAAoB,MAAMvC,MAAOC,CAAAA,EAAE,CAACgB,KAAK,CAACC,iBAAmBC,CAAAA,CAAAA,QAAQ,CAAC;QAC1Ed,KAAO,EAAA;YACLe,MAAQ,EAAA,IAAA;YACRC,UAAY,EAAA;gBACVmB,QAAU,EAAA;AACZ;AACF;AACF,KAAA,CAAA;IAEA5B,KAAMC,CAAAA,GAAG,CAAC0B,iBAAAA,EAAmB,OAAOd,OAAAA,GAAAA;AAClC,QAAA,OAAOzB,OAAOC,EAAE,CAACgB,KAAK,CAACC,iBAAAA,CAAAA,CAAmBgB,MAAM,CAAC;YAC/C7B,KAAO,EAAA;AACL8B,gBAAAA,EAAAA,EAAIV,QAAQU;AACd,aAAA;YACAC,IAAM,EAAA;gBACJhB,MAAQ,EAAA;AACV;AACF,SAAA,CAAA;AACF,KAAA,CAAA;AACF;AAEO,eAAeqB,6BAA8B,CAAA,EAAEhD,eAAe,EAAEC,YAAY,EAAS,EAAA;IAC1F,IAAID,eAAAA,KAAoBiD,SAAahD,IAAAA,YAAAA,KAAiBgD,SAAW,EAAA;AAC/D,QAAA,MAAMC,+BAAkCC,GAAAA,MAAAA,CAAOlC,IAAI,CAACjB,eAAiBkC,CAAAA,CAAAA,MAAM,CACzE,CAAChC,GAAQF,GAAAA,eAAe,CAACE,GAAAA,CAAI,EAAEkD,OAASC,EAAAA,eAAAA,CAAAA;AAE1C,QAAA,MAAMC,mBAAmB,IAAIC,GAAAA,EAAAA;QAE7BpC,KACGC,CAAAA,GAAG,CAAC8B,+BAAAA,EAAiC,OAAOM,cAAAA,GAAAA;YAC3C,MAAMrD,cAAAA,GAAiBH,eAAe,CAACwD,cAAe,CAAA;YACtD,MAAMpD,WAAAA,GAAcH,YAAY,CAACuD,cAAe,CAAA;;AAGhD,YAAA,IAAI,CAACC,OAAAA,CAAQtD,cAAgBuD,EAAAA,UAAAA,EAAYtD,aAAasD,UAAa,CAAA,EAAA;gBACjE,MAAM5B,OAAAA,GAAU,MAAMvB,MAAOC,CAAAA,EAAE,CAACgB,KAAK,CAACd,wBAA0BgB,CAAAA,CAAAA,QAAQ,CAAC;oBACvEd,KAAO,EAAA;wBACLR,WAAaoD,EAAAA;AACf,qBAAA;oBACA3B,QAAU,EAAA;wBACRE,KAAO,EAAA,IAAA;wBACPC,OAAS,EAAA;AACX;AACF,iBAAA,CAAA;AAEA,gBAAA,MAAMb,KAAMC,CAAAA,GAAG,CAACU,OAAAA,EAAS,OAAOK,MAAAA,GAAAA;oBAC9B,IAAIA,MAAAA,CAAOJ,KAAK,IAAII,MAAAA,CAAOH,OAAO,IAAIG,MAAAA,CAAOwB,IAAI,KAAK,SAAW,EAAA;wBAC/D,MAAMvB,YAAAA,GAAe,MAAMC,wBACzB,CAAA;4BACEjC,WAAaoD,EAAAA,cAAAA;AACblB,4BAAAA,UAAAA,EAAYH,OAAOI,eAAe;AAClCC,4BAAAA,MAAAA,EAAQL,OAAOK;yBAEjB,EAAA;AAAEjC,4BAAAA;AAAO,yBAAA,CAAA;AAGX+C,wBAAAA,gBAAAA,CAAiBM,GAAG,CAACzB,MAAOH,CAAAA,OAAO,CAACU,EAAE,CAAA;AAEtC,wBAAA,MAAMnC,OAAOC,EAAE,CAACgB,KAAK,CAACd,wBAAAA,CAAAA,CAA0B+B,MAAM,CAAC;4BACrD7B,KAAO,EAAA;AACL8B,gCAAAA,EAAAA,EAAIP,OAAOO;AACb,6BAAA;4BACAC,IAAM,EAAA;AACJP,gCAAAA;AACF;AACF,yBAAA,CAAA;AACF;AACF,iBAAA,CAAA;AACF;AACF,SAAA,CAAA,CACCyB,IAAI,CAAC,IAAA;;YAEJ1C,KAAMC,CAAAA,GAAG,CAACkC,gBAAAA,EAAkB,OAAOQ,SAAAA,GAAAA;AACjC,gBAAA,OAAOlB,WAAW,SAAW,EAAA;AAAErC,oBAAAA;AAAO,iBAAA,CAAA,CAAGsC,mBAAmB,CAACiB,SAAAA,CAAAA;AAC/D,aAAA,CAAA;AACF,SAAA,CAAA;AACJ;AACF;AAEO,eAAeC,2BAA4B,CAAA,EAAE/D,eAAe,EAAEC,YAAY,EAAS,EAAA;AACxF,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,MAAMgE,UAAAA,GAAazD,MAAO0D,CAAAA,MAAM,CAAC,MAAA,CAAA;AACjC,IAAA,IAAI,CAACD,UAAY,EAAA;AACf,QAAA;AACF;IAEA,IAAK,MAAM9D,OAAOD,YAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACE,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBH,eAAe,CAACE,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcH,YAAY,CAACC,GAAI,CAAA;AAErC,QAAA,MAAM,EAAEgE,sBAAsB,EAAE,GAAGF,UAAAA,CAAWG,OAAO,CAAC,eAAA,CAAA;;AAGtD,QAAA,IAAID,sBAAuB/D,CAAAA,cAAAA,CAAAA,IAAmB,CAAC+D,sBAAAA,CAAuB9D,WAAc,CAAA,EAAA;AAClF,YAAA,MAAMG,OAAOC,EAAE,CACZC,YAAY,CAACC,wBAAAA,CAAAA,CACb+B,MAAM,CAAC;gBACND,MAAQ,EAAA;AACV,aAAA,CAAA,CACC5B,KAAK,CAAC;gBAAER,WAAaF,EAAAA;AAAI,aAAA,CAAA,CACzBW,OAAO,EAAA;AACZ;AACF;AACF;AAEO,eAAeuD,0BAA2B,CAAA,EAAEpE,eAAe,EAAEC,YAAY,EAAS,EAAA;AACvF,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,MAAMgE,UAAAA,GAAazD,MAAO0D,CAAAA,MAAM,CAAC,MAAA,CAAA;AACjC,IAAA,IAAI,CAACD,UAAY,EAAA;AACf,QAAA;AACF;IAEA,IAAK,MAAM9D,OAAOD,YAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACE,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBH,eAAe,CAACE,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcH,YAAY,CAACC,GAAI,CAAA;AAErC,QAAA,MAAM,EAAEgE,sBAAsB,EAAE,GAAGF,UAAAA,CAAWG,OAAO,CAAC,eAAA,CAAA;AACtD,QAAA,MAAM,EAAEE,gBAAgB,EAAE,GAAGL,UAAAA,CAAWG,OAAO,CAAC,SAAA,CAAA;;AAGhD,QAAA,IAAI,CAACD,sBAAAA,CAAuB/D,cAAmB+D,CAAAA,IAAAA,sBAAAA,CAAuB9D,WAAc,CAAA,EAAA;AAClF,YAAA,MAAMkE,gBAAgB,MAAMD,gBAAAA,EAAAA;AAE5B,YAAA,MAAM9D,OAAOC,EAAE,CACZC,YAAY,CAACC,wBAAAA,CAAAA,CACb+B,MAAM,CAAC;gBACND,MAAQ8B,EAAAA;AACV,aAAA,CAAA,CACC1D,KAAK,CAAC;gBAAER,WAAaF,EAAAA;AAAI,aAAA,CAAA,CACzBW,OAAO,EAAA;AACZ;AACF;AACF;;;;"}
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- var constants = require('./constants.js');
4
- var index = require('./migrations/index.js');
5
- var _5_0_0DocumentIdInActions = require('./migrations/database/5.0.0-document-id-in-actions.js');
6
-
7
- const register = async ({ strapi })=>{
8
- if (strapi.ee.features.isEnabled('cms-content-releases')) {
9
- await strapi.service('admin::permission').actionProvider.registerMany(constants.ACTIONS);
10
- strapi.db.migrations.providers.internal.register(_5_0_0DocumentIdInActions.addEntryDocumentToReleaseActions);
11
- strapi.hook('strapi::content-types.beforeSync').register(index.disableContentTypeLocalized).register(index.deleteActionsOnDisableDraftAndPublish);
12
- strapi.hook('strapi::content-types.afterSync').register(index.deleteActionsOnDeleteContentType).register(index.enableContentTypeLocalized).register(index.revalidateChangedContentTypes).register(index.migrateIsValidAndStatusReleases);
13
- }
14
- if (strapi.plugin('graphql')) {
15
- const graphqlExtensionService = strapi.plugin('graphql').service('extension');
16
- // Exclude the release and release action models from the GraphQL schema
17
- graphqlExtensionService.shadowCRUD(constants.RELEASE_MODEL_UID).disable();
18
- graphqlExtensionService.shadowCRUD(constants.RELEASE_ACTION_MODEL_UID).disable();
19
- }
20
- };
21
-
22
- exports.register = register;
23
- //# sourceMappingURL=register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.js","sources":["../../server/src/register.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport type { Core } from '@strapi/types';\n\nimport { ACTIONS, RELEASE_MODEL_UID, RELEASE_ACTION_MODEL_UID } from './constants';\nimport {\n deleteActionsOnDeleteContentType,\n deleteActionsOnDisableDraftAndPublish,\n migrateIsValidAndStatusReleases,\n revalidateChangedContentTypes,\n disableContentTypeLocalized,\n enableContentTypeLocalized,\n} from './migrations';\nimport { addEntryDocumentToReleaseActions } from './migrations/database/5.0.0-document-id-in-actions';\n\nexport const register = async ({ strapi }: { strapi: Core.Strapi }) => {\n if (strapi.ee.features.isEnabled('cms-content-releases')) {\n await strapi.service('admin::permission').actionProvider.registerMany(ACTIONS);\n\n strapi.db.migrations.providers.internal.register(addEntryDocumentToReleaseActions);\n\n strapi\n .hook('strapi::content-types.beforeSync')\n .register(disableContentTypeLocalized)\n .register(deleteActionsOnDisableDraftAndPublish);\n\n strapi\n .hook('strapi::content-types.afterSync')\n .register(deleteActionsOnDeleteContentType)\n .register(enableContentTypeLocalized)\n .register(revalidateChangedContentTypes)\n .register(migrateIsValidAndStatusReleases);\n }\n\n if (strapi.plugin('graphql')) {\n const graphqlExtensionService = strapi.plugin('graphql').service('extension');\n // Exclude the release and release action models from the GraphQL schema\n graphqlExtensionService.shadowCRUD(RELEASE_MODEL_UID).disable();\n graphqlExtensionService.shadowCRUD(RELEASE_ACTION_MODEL_UID).disable();\n }\n};\n"],"names":["register","strapi","ee","features","isEnabled","service","actionProvider","registerMany","ACTIONS","db","migrations","providers","internal","addEntryDocumentToReleaseActions","hook","disableContentTypeLocalized","deleteActionsOnDisableDraftAndPublish","deleteActionsOnDeleteContentType","enableContentTypeLocalized","revalidateChangedContentTypes","migrateIsValidAndStatusReleases","plugin","graphqlExtensionService","shadowCRUD","RELEASE_MODEL_UID","disable","RELEASE_ACTION_MODEL_UID"],"mappings":";;;;;;AAcaA,MAAAA,QAAAA,GAAW,OAAO,EAAEC,MAAM,EAA2B,GAAA;AAChE,IAAA,IAAIA,OAAOC,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,sBAAyB,CAAA,EAAA;AACxD,QAAA,MAAMH,OAAOI,OAAO,CAAC,qBAAqBC,cAAc,CAACC,YAAY,CAACC,iBAAAA,CAAAA;QAEtEP,MAAOQ,CAAAA,EAAE,CAACC,UAAU,CAACC,SAAS,CAACC,QAAQ,CAACZ,QAAQ,CAACa,0DAAAA,CAAAA;AAEjDZ,QAAAA,MAAAA,CACGa,IAAI,CAAC,kCAAA,CAAA,CACLd,QAAQ,CAACe,iCAAAA,CAAAA,CACTf,QAAQ,CAACgB,2CAAAA,CAAAA;AAEZf,QAAAA,MAAAA,CACGa,IAAI,CAAC,iCACLd,CAAAA,CAAAA,QAAQ,CAACiB,sCAAAA,CAAAA,CACTjB,QAAQ,CAACkB,gCACTlB,CAAAA,CAAAA,QAAQ,CAACmB,mCAAAA,CAAAA,CACTnB,QAAQ,CAACoB,qCAAAA,CAAAA;AACd;IAEA,IAAInB,MAAAA,CAAOoB,MAAM,CAAC,SAAY,CAAA,EAAA;AAC5B,QAAA,MAAMC,0BAA0BrB,MAAOoB,CAAAA,MAAM,CAAC,SAAA,CAAA,CAAWhB,OAAO,CAAC,WAAA,CAAA;;QAEjEiB,uBAAwBC,CAAAA,UAAU,CAACC,2BAAAA,CAAAA,CAAmBC,OAAO,EAAA;QAC7DH,uBAAwBC,CAAAA,UAAU,CAACG,kCAAAA,CAAAA,CAA0BD,OAAO,EAAA;AACtE;AACF;;;;"}