@strapi/content-releases 0.0.0-next.fe88c7878fe2948cfdc68f4867329c1032a618b2 → 0.0.0-next.ffc36acb308febe288f1a31b62cbbb75b286585c

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