@raketa-cloud/admin 1.8.4 → 1.8.7

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 (314) hide show
  1. package/package.json +1 -1
  2. package/src/cloud/ResourceChanges.js +41 -0
  3. package/src/cloud/ResourceRevisions.js +242 -0
  4. package/src/cloud/Resources.js +219 -0
  5. package/src/cloud/documents/common.js +0 -30
  6. package/src/cloud/documents/resourcesDocuments.js +371 -0
  7. package/src/handlers/_shared/getResourceUpdateDestination.js +11 -0
  8. package/src/handlers/resource_revisions/CancelSchedulesHandler.js +31 -0
  9. package/src/handlers/resource_revisions/CodeHandler.js +70 -0
  10. package/src/handlers/resource_revisions/GeneralHandler.js +72 -0
  11. package/src/handlers/{article_revisions → resource_revisions}/LocksHandler.js +15 -10
  12. package/src/handlers/resource_revisions/MetaHandler.js +70 -0
  13. package/src/handlers/{article_revisions → resource_revisions}/PublishesHandler.js +27 -19
  14. package/src/handlers/resource_revisions/ResourceRevisionsHandler.js +65 -0
  15. package/src/handlers/{article_revisions → resource_revisions}/RevertsHandler.js +7 -5
  16. package/src/handlers/{page_revisions → resource_revisions}/TagHandler.js +31 -16
  17. package/src/handlers/resource_revisions/UnlocksHandler.js +29 -0
  18. package/src/handlers/resource_revisions/VisualHandler.js +71 -0
  19. package/src/handlers/{article_revisions → resource_revisions}/WidgetHandler.js +11 -6
  20. package/src/handlers/{pages → resources}/ChangeHandler.js +5 -3
  21. package/src/handlers/resources/ClonesHandler.js +24 -0
  22. package/src/handlers/resources/DeletesHandler.js +79 -0
  23. package/src/handlers/{pages → resources}/ExportsHandler.js +8 -4
  24. package/src/handlers/resources/HistoryHandler.js +39 -0
  25. package/src/handlers/{pages/PagesAPIHandler.js → resources/ResourcesAPIHandler.js} +4 -2
  26. package/src/handlers/{pages/PagesHandler.js → resources/ResourcesHandler.js} +35 -18
  27. package/src/handlers/{pages → resources}/TranslationsHandler.js +65 -37
  28. package/src/handlers/resources/URLsHandler.js +84 -0
  29. package/src/helpers/CSVExportHelper.js +5 -6
  30. package/src/index.js +28 -69
  31. package/src/routeArticlesModule.js +7 -167
  32. package/src/routeEventsModule.js +7 -182
  33. package/src/routePagesModule.js +7 -179
  34. package/src/routeResource.js +197 -0
  35. package/src/routeStandard.js +1 -1
  36. package/src/setupCloud.js +10 -30
  37. package/src/tests/HonoAdapter.coverage.test.js +640 -0
  38. package/src/tests/buildResourcePath.test.js +69 -0
  39. package/src/tests/handlers/_shared/getResourceUpdateDestination.test.js +63 -0
  40. package/src/tests/handlers/{article_revisions/CancelScheduledHandler.test → resource_revisions/CancelSchedulesHandler.test}/create.test.js +26 -26
  41. package/src/tests/handlers/{page_revisions/CodesHandler.test → resource_revisions/CodeHandler.test}/edit_form.test.js +13 -16
  42. package/src/tests/handlers/{article_revisions/CodesHandler.test → resource_revisions/CodeHandler.test}/update.test.js +38 -57
  43. package/src/tests/handlers/resource_revisions/GeneralHandler.test/edit_form.test.js +58 -0
  44. package/src/tests/handlers/{article_revisions → resource_revisions}/GeneralHandler.test/update.test.js +39 -53
  45. package/src/tests/handlers/{event_revisions → resource_revisions}/LocksHandler.test/create.test.js +34 -31
  46. package/src/tests/handlers/{event_revisions → resource_revisions}/LocksHandler.test/create_form.test.js +16 -12
  47. package/src/tests/handlers/{page_revisions → resource_revisions}/MetaHandler.test/edit_form.test.js +13 -9
  48. package/src/tests/handlers/{article_revisions → resource_revisions}/MetaHandler.test/update.test.js +38 -57
  49. package/src/tests/handlers/{article_revisions → resource_revisions}/PublishesHandler.test/create.test.js +60 -72
  50. package/src/tests/handlers/{page_revisions → resource_revisions}/PublishesHandler.test/create_form.test.js +14 -10
  51. package/src/tests/handlers/resource_revisions/ResourceRevisionsHandler.test/create.test.js +87 -0
  52. package/src/tests/handlers/{article_revisions/ArticleRevisionsHandler.test → resource_revisions/ResourceRevisionsHandler.test}/destroy.test.js +13 -13
  53. package/src/tests/handlers/resource_revisions/RevertsHandler.test/create.test.js +83 -0
  54. package/src/tests/handlers/{event_revisions → resource_revisions}/TagHandler.test/edit_form.test.js +23 -19
  55. package/src/tests/handlers/{article_revisions → resource_revisions}/TagHandler.test/update.test.js +44 -49
  56. package/src/tests/handlers/{article_revisions → resource_revisions}/UnlocksHandler.test/create.test.js +22 -22
  57. package/src/tests/handlers/{page_revisions/VisualHandler.test.test → resource_revisions/VisualHandler.test}/edit_form.test.js +13 -16
  58. package/src/tests/handlers/resource_revisions/VisualHandler.test/update.test.js +130 -0
  59. package/src/tests/handlers/{event_revisions → resource_revisions}/WidgetHandler.test/show.test.js +11 -7
  60. package/src/tests/handlers/{event_revisions → resource_revisions}/WidgetHandler.test/update.test.js +28 -14
  61. package/src/tests/handlers/resources/ChangeHandler.test/show.test.js +57 -0
  62. package/src/tests/handlers/resources/ClonesHandler.test/create.test.js +57 -0
  63. package/src/tests/handlers/{articles → resources}/DeletesHandler.test/create.test.js +30 -30
  64. package/src/tests/handlers/resources/DeletesHandler.test/create_form.test.js +60 -0
  65. package/src/tests/handlers/{articles → resources}/ExportsHandler.test/index.test.js +57 -57
  66. package/src/tests/handlers/{articles/ArticlesHistoryHandler.test → resources/HistoryHandler.test}/index.test.js +19 -20
  67. package/src/tests/handlers/resources/ResourcesAPIHandler.test/index.test.js +41 -0
  68. package/src/tests/handlers/{pages/PagesHandler.test → resources/ResourcesHandler.test}/create.test.js +23 -22
  69. package/src/tests/handlers/{events/EventsHandler.test → resources/ResourcesHandler.test}/create_form.test.js +12 -11
  70. package/src/tests/handlers/{events/EventsHandler.test → resources/ResourcesHandler.test}/index.test.js +18 -18
  71. package/src/tests/handlers/resources/ResourcesHandler.test/show.test.js +111 -0
  72. package/src/tests/handlers/resources/TranslationsHandler.test/create.test.js +320 -0
  73. package/src/tests/handlers/resources/TranslationsHandler.test/create_form.test.js +85 -0
  74. package/src/tests/handlers/resources/TranslationsHandler.test/index.test.js +99 -0
  75. package/src/tests/handlers/{articles → resources}/URLsHandler.test/create.test.js +48 -43
  76. package/src/tests/handlers/resources/URLsHandler.test/create_form.test.js +55 -0
  77. package/src/tests/routeArticlesModule.test.js +43 -0
  78. package/src/tests/routeCategoriesModule.test.js +23 -0
  79. package/src/tests/routeEventsModule.test.js +43 -0
  80. package/src/tests/routePagesModule.test.js +43 -0
  81. package/src/tests/routeResource.test.js +202 -0
  82. package/src/tests/routeSettings.test.js +40 -0
  83. package/src/tests/routeStandard.test.js +70 -0
  84. package/src/tests/setGlobalContext.test.js +12 -0
  85. package/src/tests/setupAuthentication.test.js +407 -0
  86. package/src/tests/setupCloud.test.js +51 -0
  87. package/src/tests/support/factory.js +15 -86
  88. package/src/views/article_revisions/_nav.ejs +6 -6
  89. package/src/views/article_revisions/codes/_form.ejs +2 -2
  90. package/src/views/article_revisions/general/_form.ejs +3 -3
  91. package/src/views/article_revisions/locks/_form.ejs +2 -2
  92. package/src/views/article_revisions/meta/_form.ejs +2 -2
  93. package/src/views/article_revisions/publishes/_form.ejs +2 -2
  94. package/src/views/article_revisions/tags/_form.ejs +2 -2
  95. package/src/views/article_revisions/visuals/_form.ejs +2 -2
  96. package/src/views/articles/_form.ejs +9 -9
  97. package/src/views/articles/_shared/_export_button.ejs +1 -1
  98. package/src/views/articles/_shared/_history_toolbar.ejs +2 -2
  99. package/src/views/articles/_shared/_revision_toolbar.ejs +7 -7
  100. package/src/views/articles/_shared/_title.ejs +2 -2
  101. package/src/views/articles/_shared/_toolbar.ejs +6 -6
  102. package/src/views/articles/_shared/history_table.ejs +1 -1
  103. package/src/views/articles/create_form.ejs +1 -1
  104. package/src/views/articles/deletes/create_form.ejs +3 -3
  105. package/src/views/articles/history/index.ejs +4 -4
  106. package/src/views/articles/index.ejs +11 -11
  107. package/src/views/articles/show.ejs +6 -6
  108. package/src/views/articles/translations/_translation_toolbar.ejs +2 -2
  109. package/src/views/articles/translations/create_form.ejs +2 -2
  110. package/src/views/articles/translations/index.ejs +3 -3
  111. package/src/views/articles/urls/create_form.ejs +3 -3
  112. package/src/views/event_revisions/_nav.ejs +6 -6
  113. package/src/views/event_revisions/codes/_form.ejs +2 -2
  114. package/src/views/event_revisions/general/_form.ejs +5 -5
  115. package/src/views/event_revisions/locks/_form.ejs +2 -2
  116. package/src/views/event_revisions/meta/_form.ejs +2 -2
  117. package/src/views/event_revisions/publishes/_form.ejs +2 -2
  118. package/src/views/event_revisions/tags/_form.ejs +2 -2
  119. package/src/views/event_revisions/visuals/_form.ejs +2 -2
  120. package/src/views/events/_form.ejs +6 -6
  121. package/src/views/events/_shared/_export_button.ejs +1 -1
  122. package/src/views/events/_shared/_history_toolbar.ejs +2 -2
  123. package/src/views/events/_shared/_revision_toolbar.ejs +7 -7
  124. package/src/views/events/_shared/_title.ejs +2 -2
  125. package/src/views/events/_shared/_toolbar.ejs +6 -6
  126. package/src/views/events/_shared/history_table.ejs +1 -1
  127. package/src/views/events/create_form.ejs +1 -1
  128. package/src/views/events/deletes/create_form.ejs +3 -3
  129. package/src/views/events/history/index.ejs +4 -4
  130. package/src/views/events/index.ejs +11 -11
  131. package/src/views/events/show.ejs +6 -6
  132. package/src/views/events/translations/_translation_toolbar.ejs +2 -2
  133. package/src/views/events/translations/create_form.ejs +2 -2
  134. package/src/views/events/translations/index.ejs +3 -3
  135. package/src/views/events/urls/create_form.ejs +3 -3
  136. package/src/views/page_revisions/_nav.ejs +6 -6
  137. package/src/views/page_revisions/codes/_form.ejs +2 -2
  138. package/src/views/page_revisions/general/_form.ejs +2 -2
  139. package/src/views/page_revisions/locks/_form.ejs +2 -2
  140. package/src/views/page_revisions/meta/_form.ejs +2 -2
  141. package/src/views/page_revisions/publishes/_form.ejs +2 -2
  142. package/src/views/page_revisions/tags/_form.ejs +2 -2
  143. package/src/views/page_revisions/visuals/_form.ejs +2 -2
  144. package/src/views/pages/_form.ejs +3 -3
  145. package/src/views/pages/_shared/_export_button.ejs +1 -1
  146. package/src/views/pages/_shared/_history_toolbar.ejs +2 -2
  147. package/src/views/pages/_shared/_revision_toolbar.ejs +7 -7
  148. package/src/views/pages/_shared/_title.ejs +2 -2
  149. package/src/views/pages/_shared/_toolbar.ejs +6 -6
  150. package/src/views/pages/_shared/history_table.ejs +1 -1
  151. package/src/views/pages/create_form.ejs +1 -1
  152. package/src/views/pages/deletes/create_form.ejs +3 -3
  153. package/src/views/pages/history/index.ejs +4 -4
  154. package/src/views/pages/index.ejs +9 -9
  155. package/src/views/pages/show.ejs +6 -6
  156. package/src/views/pages/translations/_translation_toolbar.ejs +2 -2
  157. package/src/views/pages/translations/create_form.ejs +2 -2
  158. package/src/views/pages/translations/index.ejs +3 -3
  159. package/src/views/pages/urls/create_form.ejs +3 -3
  160. package/src/cloud/ArticleChanges.js +0 -36
  161. package/src/cloud/ArticleRevisions.js +0 -239
  162. package/src/cloud/Articles.js +0 -216
  163. package/src/cloud/EventChanges.js +0 -36
  164. package/src/cloud/EventRevisions.js +0 -246
  165. package/src/cloud/Events.js +0 -231
  166. package/src/cloud/PageChanges.js +0 -36
  167. package/src/cloud/PageRevisions.js +0 -226
  168. package/src/cloud/Pages.js +0 -204
  169. package/src/cloud/documents/articlesDocuments.js +0 -375
  170. package/src/cloud/documents/eventsDocuments.js +0 -390
  171. package/src/cloud/documents/pagesDocuments.js +0 -370
  172. package/src/handlers/_shared/getArticlesUpdateDestination.js +0 -7
  173. package/src/handlers/_shared/getEventsUpdateDestination.js +0 -7
  174. package/src/handlers/_shared/getPagesUpdateDestination.js +0 -8
  175. package/src/handlers/article_revisions/ArticleRevisionsHandler.js +0 -57
  176. package/src/handlers/article_revisions/CancelSchedulesHandler.js +0 -26
  177. package/src/handlers/article_revisions/CodeHandler.js +0 -75
  178. package/src/handlers/article_revisions/GeneralHandler.js +0 -77
  179. package/src/handlers/article_revisions/MetaHandler.js +0 -75
  180. package/src/handlers/article_revisions/TagHandler.js +0 -83
  181. package/src/handlers/article_revisions/UnlocksHandler.js +0 -24
  182. package/src/handlers/article_revisions/VisualHandler.js +0 -75
  183. package/src/handlers/articles/ArticlesAPIHandler.js +0 -15
  184. package/src/handlers/articles/ArticlesHandler.js +0 -126
  185. package/src/handlers/articles/ChangeHandler.js +0 -22
  186. package/src/handlers/articles/ClonesHandler.js +0 -19
  187. package/src/handlers/articles/DeletesHandler.js +0 -72
  188. package/src/handlers/articles/ExportsHandler.js +0 -35
  189. package/src/handlers/articles/HistoryHandler.js +0 -31
  190. package/src/handlers/articles/TranslationsHandler.js +0 -231
  191. package/src/handlers/articles/URLsHandler.js +0 -83
  192. package/src/handlers/event_revisions/CancelSchedulesHandler.js +0 -26
  193. package/src/handlers/event_revisions/CodeHandler.js +0 -73
  194. package/src/handlers/event_revisions/EventRevisionsHandler.js +0 -55
  195. package/src/handlers/event_revisions/GeneralHandler.js +0 -75
  196. package/src/handlers/event_revisions/LocksHandler.js +0 -65
  197. package/src/handlers/event_revisions/MetaHandler.js +0 -73
  198. package/src/handlers/event_revisions/PublishesHandler.js +0 -112
  199. package/src/handlers/event_revisions/RevertsHandler.js +0 -26
  200. package/src/handlers/event_revisions/TagHandler.js +0 -80
  201. package/src/handlers/event_revisions/UnlocksHandler.js +0 -24
  202. package/src/handlers/event_revisions/VisualHandler.js +0 -73
  203. package/src/handlers/event_revisions/WidgetHandler.js +0 -41
  204. package/src/handlers/events/ChangeHandler.js +0 -22
  205. package/src/handlers/events/ClonesHandler.js +0 -19
  206. package/src/handlers/events/DeletesHandler.js +0 -72
  207. package/src/handlers/events/EventsAPIHandler.js +0 -15
  208. package/src/handlers/events/EventsHandler.js +0 -128
  209. package/src/handlers/events/ExportsHandler.js +0 -35
  210. package/src/handlers/events/HistoryHandler.js +0 -31
  211. package/src/handlers/events/TranslationsHandler.js +0 -233
  212. package/src/handlers/events/URLsHandler.js +0 -81
  213. package/src/handlers/page_revisions/CancelSchedulesHandler.js +0 -26
  214. package/src/handlers/page_revisions/CodeHandler.js +0 -59
  215. package/src/handlers/page_revisions/GeneralHandler.js +0 -61
  216. package/src/handlers/page_revisions/LocksHandler.js +0 -69
  217. package/src/handlers/page_revisions/MetaHandler.js +0 -59
  218. package/src/handlers/page_revisions/PageRevisionsHandler.js +0 -55
  219. package/src/handlers/page_revisions/PublishesHandler.js +0 -112
  220. package/src/handlers/page_revisions/RevertsHandler.js +0 -26
  221. package/src/handlers/page_revisions/UnlocksHandler.js +0 -22
  222. package/src/handlers/page_revisions/VisualHandler.js +0 -60
  223. package/src/handlers/page_revisions/WidgetHandler.js +0 -41
  224. package/src/handlers/pages/ClonesHandler.js +0 -19
  225. package/src/handlers/pages/DeletesHandler.js +0 -68
  226. package/src/handlers/pages/HistoryHandler.js +0 -31
  227. package/src/handlers/pages/URLsHandler.js +0 -77
  228. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/create.test.js +0 -87
  229. package/src/tests/handlers/article_revisions/CodesHandler.test/edit_form.test.js +0 -56
  230. package/src/tests/handlers/article_revisions/GeneralHandler.test/edit_form.test.js +0 -59
  231. package/src/tests/handlers/article_revisions/LocksHandler.test/create.test.js +0 -142
  232. package/src/tests/handlers/article_revisions/LocksHandler.test/create_form.test.js +0 -55
  233. package/src/tests/handlers/article_revisions/MetaHandler.test/edit_form.test.js +0 -56
  234. package/src/tests/handlers/article_revisions/PublishesHandler.test/create_form.test.js +0 -48
  235. package/src/tests/handlers/article_revisions/RevertsHandler.test/create.test.js +0 -86
  236. package/src/tests/handlers/article_revisions/TagHandler.test/edit_form.test.js +0 -72
  237. package/src/tests/handlers/article_revisions/VisualHandler.test.test/edit_form.test.js +0 -56
  238. package/src/tests/handlers/article_revisions/VisualHandler.test.test/update.test.js +0 -146
  239. package/src/tests/handlers/article_revisions/WidgetHandler.test/show.test.js +0 -46
  240. package/src/tests/handlers/article_revisions/WidgetHandler.test/update.test.js +0 -103
  241. package/src/tests/handlers/articles/ArticlesAPIHandler.test/index.test.js +0 -43
  242. package/src/tests/handlers/articles/ArticlesHandler.test/create.test.js +0 -172
  243. package/src/tests/handlers/articles/ArticlesHandler.test/create_form.test.js +0 -44
  244. package/src/tests/handlers/articles/ArticlesHandler.test/index.test.js +0 -73
  245. package/src/tests/handlers/articles/ArticlesHandler.test/show.test.js +0 -120
  246. package/src/tests/handlers/articles/ChangeHandler.test/show.test.js +0 -59
  247. package/src/tests/handlers/articles/ClonesHandler.test/create.test.js +0 -57
  248. package/src/tests/handlers/articles/DeletesHandler.test/create_form.test.js +0 -60
  249. package/src/tests/handlers/articles/TranslationHandler.test/create.test.js +0 -297
  250. package/src/tests/handlers/articles/TranslationHandler.test/create_form.test.js +0 -71
  251. package/src/tests/handlers/articles/TranslationHandler.test/index.test.js +0 -91
  252. package/src/tests/handlers/articles/URLsHandler.test/create_form.test.js +0 -55
  253. package/src/tests/handlers/event_revisions/CancelScheduledHandler.test/create.test.js +0 -90
  254. package/src/tests/handlers/event_revisions/CodesHandler.test/edit_form.test.js +0 -60
  255. package/src/tests/handlers/event_revisions/CodesHandler.test/update.test.js +0 -171
  256. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/create.test.js +0 -87
  257. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/destroy.test.js +0 -57
  258. package/src/tests/handlers/event_revisions/GeneralHandler.test/edit_form.test.js +0 -63
  259. package/src/tests/handlers/event_revisions/GeneralHandler.test/update.test.js +0 -172
  260. package/src/tests/handlers/event_revisions/MetaHandler.test/edit_form.test.js +0 -60
  261. package/src/tests/handlers/event_revisions/MetaHandler.test/update.test.js +0 -173
  262. package/src/tests/handlers/event_revisions/PublishesHandler.test/create.test.js +0 -333
  263. package/src/tests/handlers/event_revisions/PublishesHandler.test/create_form.test.js +0 -48
  264. package/src/tests/handlers/event_revisions/RevertsHandler.test/create.test.js +0 -83
  265. package/src/tests/handlers/event_revisions/TagHandler.test/update.test.js +0 -163
  266. package/src/tests/handlers/event_revisions/UnlocksHandler.test/create.test.js +0 -84
  267. package/src/tests/handlers/event_revisions/VisualHandler.test.test/edit_form.test.js +0 -60
  268. package/src/tests/handlers/event_revisions/VisualHandler.test.test/update.test.js +0 -156
  269. package/src/tests/handlers/events/ChangeHandler.test/show.test.js +0 -59
  270. package/src/tests/handlers/events/ClonesHandler.test/create.test.js +0 -57
  271. package/src/tests/handlers/events/DeletesHandler.test/create.test.js +0 -115
  272. package/src/tests/handlers/events/DeletesHandler.test/create_form.test.js +0 -60
  273. package/src/tests/handlers/events/EventsAPIHandler.test/index.test.js +0 -39
  274. package/src/tests/handlers/events/EventsHandler.test/create.test.js +0 -172
  275. package/src/tests/handlers/events/EventsHandler.test/show.test.js +0 -120
  276. package/src/tests/handlers/events/EventsHistoryHandler.test/index.test.js +0 -87
  277. package/src/tests/handlers/events/ExportsHandler.test/index.test.js +0 -212
  278. package/src/tests/handlers/events/TranslationHandler.test/create.test.js +0 -303
  279. package/src/tests/handlers/events/TranslationHandler.test/create_form.test.js +0 -71
  280. package/src/tests/handlers/events/TranslationHandler.test/index.test.js +0 -91
  281. package/src/tests/handlers/events/URLsHandler.test/create.test.js +0 -160
  282. package/src/tests/handlers/events/URLsHandler.test/create_form.test.js +0 -55
  283. package/src/tests/handlers/page_revisions/CancelScheduledHandler.test/create.test.js +0 -86
  284. package/src/tests/handlers/page_revisions/CodesHandler.test/update.test.js +0 -204
  285. package/src/tests/handlers/page_revisions/GeneralHandler.test/edit_form.test.js +0 -54
  286. package/src/tests/handlers/page_revisions/GeneralHandler.test/update.test.js +0 -219
  287. package/src/tests/handlers/page_revisions/LocksHandler.test/create.test.js +0 -138
  288. package/src/tests/handlers/page_revisions/LocksHandler.test/create_form.test.js +0 -55
  289. package/src/tests/handlers/page_revisions/MetaHandler.test/update.test.js +0 -211
  290. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/create.test.js +0 -85
  291. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/destroy.test.js +0 -57
  292. package/src/tests/handlers/page_revisions/PublishesHandler.test/create.test.js +0 -333
  293. package/src/tests/handlers/page_revisions/RevertsHandler.test/create.test.js +0 -83
  294. package/src/tests/handlers/page_revisions/TagHandler.test/edit_form.test.js +0 -100
  295. package/src/tests/handlers/page_revisions/TagHandler.test/update.test.js +0 -223
  296. package/src/tests/handlers/page_revisions/UnlocksHandler.test/create.test.js +0 -80
  297. package/src/tests/handlers/page_revisions/VisualHandler.test.test/update.test.js +0 -183
  298. package/src/tests/handlers/page_revisions/WidgetHandler.test/show.test.js +0 -46
  299. package/src/tests/handlers/page_revisions/WidgetHandler.test/update.test.js +0 -103
  300. package/src/tests/handlers/pages/ChangeHandler.test/show.test.js +0 -59
  301. package/src/tests/handlers/pages/ConesHandler.test/create.test.js +0 -57
  302. package/src/tests/handlers/pages/DeletesHandler.test/create.test.js +0 -115
  303. package/src/tests/handlers/pages/DeletesHandler.test/create_form.test.js +0 -60
  304. package/src/tests/handlers/pages/ExportsHandler.test/index.test.js +0 -212
  305. package/src/tests/handlers/pages/PagesAPIHandler.test/index.test.js +0 -39
  306. package/src/tests/handlers/pages/PagesHandler.test/create_form.test.js +0 -41
  307. package/src/tests/handlers/pages/PagesHandler.test/index.test.js +0 -69
  308. package/src/tests/handlers/pages/PagesHandler.test/show.test.js +0 -118
  309. package/src/tests/handlers/pages/PagesHistoryHandler.test/index.test.js +0 -87
  310. package/src/tests/handlers/pages/TranslationHandler.test/create.test.js +0 -290
  311. package/src/tests/handlers/pages/TranslationHandler.test/create_form.test.js +0 -71
  312. package/src/tests/handlers/pages/TranslationHandler.test/index.test.js +0 -87
  313. package/src/tests/handlers/pages/URLsHandler.test/create.test.js +0 -160
  314. package/src/tests/handlers/pages/URLsHandler.test/create_form.test.js +0 -58
@@ -2,21 +2,21 @@
2
2
  <div class="page-title">
3
3
  <h1 class="heading-1">
4
4
  <span class="opacity-50">Delete / </span>
5
- <%= page.title %>
5
+ <%= record.title %>
6
6
  </h1>
7
7
  </div>
8
8
 
9
9
  <div class="grid gap-4 md:grid-cols-3">
10
10
  <div>
11
11
  <% form_for({ resource }, errors, (f) => { %>
12
- <form action="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}/deletes` %>" method="POST" class="form">
12
+ <form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/deletes` %>" method="POST" class="form">
13
13
  <%- f.field('resource.redirect', { as: 'select', required: true,options: [['301', '301: Redirect to another page'], ['404', '404: Return an error'],['410', '410: Inform Google to remove the content from its index']] }) %>
14
14
  <%- f.field('resource.destination', {label: 'Destination URL', required: true}) %>
15
15
 
16
16
  <div class="form-actions">
17
17
  <div class="btn-toolbar">
18
18
  <%- f.submit('Proceed', { class: 'btn-primary' }) %>
19
- <a href="<%=`/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}`%>" class="btn-secondary">Back</a>
19
+ <a href="<%=`/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}`%>" class="btn-secondary">Back</a>
20
20
  </div>
21
21
  </div>
22
22
  </form>
@@ -6,7 +6,7 @@
6
6
  </div>
7
7
 
8
8
  <div class="actions-toolbar">
9
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}` %>" class="btn-text">Back</a>
9
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}` %>" class="btn-text">Back</a>
10
10
  <button type="button" data-toggle-sidebar="1" class="p-2.5 rounded hover:bg-neutral-200 transition-all duration-300 ease-in-out dark:hover:bg-neutral-700">
11
11
  <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
12
12
  <path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
@@ -29,7 +29,7 @@
29
29
  <div data-sidebar="1" class="search-sidebar <%= Object.keys(_context.query).some(k => k.startsWith('f:')) ? '' : 'hidden' %>">
30
30
  <span class="heading-2">Search by</span>
31
31
 
32
- <form action="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}/history` %>" method="GET" class="form mt-4">
32
+ <form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/history` %>" method="GET" class="form mt-4">
33
33
  <input type="hidden" name="order_direction" value="<%= _context.query.order_direction %>" />
34
34
  <input type="hidden" name="order_by" value="<%= _context.query.order_by %>" />
35
35
 
@@ -56,7 +56,7 @@
56
56
  <div class="mb-4">
57
57
  <label for="" class="font-semibold hover:cursor-pointer body-3">Changes</label>
58
58
  <div class="checkbox-group mb-4">
59
- <% Object.entries(history.changeTypes(_context.resourceConfig.pageType)).forEach(([key, {label}])=> { %>
59
+ <% Object.entries(history.changeTypes(_context.resourceConfig.resourceType)).forEach(([key, {label}])=> { %>
60
60
  <div class="flex items-center gap-1">
61
61
  <% if (utils.includedInCollection(key, _context.query["f:change_type"])) { %>
62
62
  <input type="checkbox" name="f:change_type" id='change-<%= key %>' checked value="<%= key %>" class="hover:cursor-pointer">
@@ -73,7 +73,7 @@
73
73
 
74
74
  <div class="btn-toolbar">
75
75
  <button type="submit" class="btn-primary">Search</button>
76
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}/history` %>" class="btn-text">Clear search</a>
76
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/history` %>" class="btn-text">Clear search</a>
77
77
  </div>
78
78
  </form>
79
79
  </div>
@@ -1,9 +1,9 @@
1
1
  <div class="page-wrapper">
2
2
  <div class="page-title">
3
- <h1 class="heading-1"><%= Inflector.humanize(Inflector.capitalize(_context.resourceConfig.pageTypePlural)) %></h1>
3
+ <h1 class="heading-1"><%= Inflector.humanize(Inflector.capitalize(_context.resourceConfig.resourceTypePlural)) %></h1>
4
4
 
5
5
  <div class="actions-toolbar">
6
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/new` %>" class="btn-primary">
6
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/new` %>" class="btn-primary">
7
7
  Create new
8
8
  </a>
9
9
 
@@ -29,7 +29,7 @@
29
29
  <% items.list.forEach((item, idx)=> { %>
30
30
  <tr>
31
31
  <td class="w-1/2">
32
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${item.id}` %>" class="btn-text mr-1">
32
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${item.id}` %>" class="btn-text mr-1">
33
33
  <%= item.title %>
34
34
  </a>
35
35
  <% if (item.revisionsCount > 0) { %>
@@ -38,8 +38,8 @@
38
38
 
39
39
  <% if (item.visibility !== "private") { %>
40
40
  <div class="mt-1">
41
- <a href="<%= _context.remoteConfig.resourceUrl(item, _context.resourceConfig.pageType, _context.locale) %>" class="body-3 text-raketa-foreground/50" target="_blank">
42
- <%= _context.remoteConfig.resourcePath(item, _context.resourceConfig.pageType, _context.locale) %>
41
+ <a href="<%= _context.remoteConfig.resourceUrl(item, _context.resourceConfig.resourceType, _context.locale) %>" class="body-3 text-raketa-foreground/50" target="_blank">
42
+ <%= _context.remoteConfig.resourcePath(item, _context.resourceConfig.resourceType, _context.locale) %>
43
43
  </a>
44
44
  </div>
45
45
  <% } %>
@@ -103,11 +103,11 @@
103
103
  <% if (key === _context.locale) { %>
104
104
  <img title="<%= name %>" src="<%= flag %>" alt="<%= name %>" class="size-6 rounded-full border dark:border-neutral-700" />
105
105
  <% } else if (item.translations[key]) { %>
106
- <a href="<%= `/${key}/${_context.resourceConfig.pageTypePlural}/${item.translations[key].id}` %>">
106
+ <a href="<%= `/${key}/${_context.resourceConfig.resourceTypePlural}/${item.translations[key].id}` %>">
107
107
  <img title="<%= name %>" src="<%= flag %>" alt="<%= name %>" class="size-6 rounded-full border dark:border-neutral-700" />
108
108
  </a>
109
109
  <% } else { %>
110
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${item.id}/translations/new?target_locale=${key}` %>">
110
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${item.id}/translations/new?target_locale=${key}` %>">
111
111
  <img title="<%= name %>" src="<%= flag %>" alt="<%= name %>" class="<%= [" transition-all ease-in-out duration-300 size-6 rounded-full border hover:opacity-100 dark:border-neutral-700", key === _context.locale ? "opacity-100" : "opacity-10"].join(" ") %>" />
112
112
  </a>
113
113
  <% } %>
@@ -125,7 +125,7 @@
125
125
  <div data-sidebar="1" class="search-sidebar <%= Object.keys(_context.query).some(k => k.startsWith('f:')) ? '' : 'hidden' %>">
126
126
  <span class="heading-2">Search by</span>
127
127
 
128
- <form action="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}` %>" method="GET" class="form mt-4">
128
+ <form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}` %>" method="GET" class="form mt-4">
129
129
  <input type="hidden" name="order_direction" value="<%= _context.query.order_direction %>" />
130
130
  <input type="hidden" name="order_by" value="<%= _context.query.order_by %>" />
131
131
 
@@ -179,7 +179,7 @@
179
179
  <div class="btn-toolbar">
180
180
  <button type="submit" class="btn-primary">Search</button>
181
181
  <%- include('./_shared/_export_button.ejs') %>
182
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}` %>" class="btn-text">Clear search</a>
182
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}` %>" class="btn-text">Clear search</a>
183
183
  </div>
184
184
  </form>
185
185
  </div>
@@ -17,18 +17,18 @@
17
17
  <% if (key === _context.locale) { %>
18
18
  <img title="<%= name %>" src="<%= flag %>" alt="<%= name %>" class="border rounded-full size-6 dark:border-neutral-700" />
19
19
  <% } else if (resource.translations[key]) { %>
20
- <a href="<%= `/${key}/${_context.resourceConfig.pageTypePlural}/${resource.translations[key].id}` %>">
20
+ <a href="<%= `/${key}/${_context.resourceConfig.resourceTypePlural}/${resource.translations[key].id}` %>">
21
21
  <img title="<%= name %>" src="<%= flag %>" alt="<%= name %>" class="border rounded-full size-6 dark:border-neutral-700" />
22
22
  </a>
23
23
  <% } else { %>
24
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}/translations/new?target_locale=${key}` %>">
24
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/translations/new?target_locale=${key}` %>">
25
25
  <img title="<%= name %>" src="<%= flag %>" alt="<%= name %>" class="<%= [" transition-all ease-in-out duration-300 size-6 rounded-full border hover:opacity-100 dark:border-neutral-700", key === _context.locale ? "opacity-100" : "opacity-10"].join(" ") %>" />
26
26
  </a>
27
27
  <% } %>
28
28
  <% }); %>
29
29
 
30
30
  <% if (canBeTranslated) { %>
31
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}/translations/new` %>" class="ml-2 btn-text">
31
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/translations/new` %>" class="ml-2 btn-text">
32
32
  Translate
33
33
  </a>
34
34
  <% } %>
@@ -173,11 +173,11 @@
173
173
 
174
174
  <td class="whitespace-nowrap">
175
175
  <div class="justify-end actions-toolbar">
176
- <form action="<%= `/${_context.locale}/${_context.resourceConfig.pageType}_revisions/${revision.id}/cancel_schedules` %>" method="post" class="inline-flex items-center gap-2">
176
+ <form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${revision.id}/cancel_schedules` %>" method="post" class="inline-flex items-center gap-2">
177
177
  <%- f.submit('Remove schedule', { class: 'btn-text' }) %>
178
178
  </form>
179
179
 
180
- <a href="/remote/login?redirect_to=/<%= _context.locale %>/admin/<%= _context.resourceConfig.pageType %>-revisions/<%= revision.id %>/preview" target="_blank" class="btn-text has-icon">
180
+ <a href="/remote/login?redirect_to=/<%= _context.locale %>/admin/<%= _context.resourceConfig.resourceType %>-revisions/<%= revision.id %>/preview" target="_blank" class="btn-text has-icon">
181
181
  <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
182
182
  <path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" />
183
183
  <path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
@@ -215,7 +215,7 @@
215
215
  toolbarPath: './_shared/_history_toolbar.ejs'
216
216
  }) %>
217
217
 
218
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}/history` %>" class="ml-2 btn-text">
218
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/history` %>" class="ml-2 btn-text">
219
219
  Full page history
220
220
  </a>
221
221
  </div>
@@ -1,5 +1,5 @@
1
1
  <div class="actions-toolbar justify-end">
2
- <a href="/remote/login?redirect_to=/<%= translation.translationLocale %>/admin/<%= _context.resourceConfig.pageType %>-revisions/<%= translation.revisionId %>/builder" class="btn-text has-icon">
2
+ <a href="/remote/login?redirect_to=/<%= translation.translationLocale %>/admin/<%= _context.resourceConfig.resourceType %>-revisions/<%= translation.revisionId %>/builder" class="btn-text has-icon">
3
3
  <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
4
4
  <path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125" />
5
5
  </svg>
@@ -7,7 +7,7 @@
7
7
  Update Content
8
8
  </a>
9
9
 
10
- <a href="<%= `/${translation.translationLocale}/${_context.resourceConfig.pageType}_revisions/${translation.revisionId}/general/edit` %>" class="btn-text has-icon">
10
+ <a href="<%= `/${translation.translationLocale}/${_context.resourceConfig.resourceType}_revisions/${translation.revisionId}/general/edit` %>" class="btn-text has-icon">
11
11
  <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
12
12
  <path stroke-linecap="round" stroke-linejoin="round" d="M10.343 3.94c.09-.542.56-.94 1.11-.94h1.093c.55 0 1.02.398 1.11.94l.149.894c.07.424.384.764.78.93.398.164.855.142 1.205-.108l.737-.527a1.125 1.125 0 0 1 1.45.12l.773.774c.39.389.44 1.002.12 1.45l-.527.737c-.25.35-.272.806-.107 1.204.165.397.505.71.93.78l.893.15c.543.09.94.559.94 1.109v1.094c0 .55-.397 1.02-.94 1.11l-.894.149c-.424.07-.764.383-.929.78-.165.398-.143.854.107 1.204l.527.738c.32.447.269 1.06-.12 1.45l-.774.773a1.125 1.125 0 0 1-1.449.12l-.738-.527c-.35-.25-.806-.272-1.203-.107-.398.165-.71.505-.781.929l-.149.894c-.09.542-.56.94-1.11.94h-1.094c-.55 0-1.019-.398-1.11-.94l-.148-.894c-.071-.424-.384-.764-.781-.93-.398-.164-.854-.142-1.204.108l-.738.527c-.447.32-1.06.269-1.45-.12l-.773-.774a1.125 1.125 0 0 1-.12-1.45l.527-.737c.25-.35.272-.806.108-1.204-.165-.397-.506-.71-.93-.78l-.894-.15c-.542-.09-.94-.56-.94-1.109v-1.094c0-.55.398-1.02.94-1.11l.894-.149c.424-.07.765-.383.93-.78.165-.398.143-.854-.108-1.204l-.526-.738a1.125 1.125 0 0 1 .12-1.45l.773-.773a1.125 1.125 0 0 1 1.45-.12l.737.527c.35.25.807.272 1.204.107.397-.165.71-.505.78-.929l.15-.894Z" />
13
13
  <path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
@@ -8,7 +8,7 @@
8
8
 
9
9
  <div class="grid gap-4 md:grid-cols-3">
10
10
  <% form_for({ resource }, errors, (f) => { %>
11
- <form action="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${blueprint.id}/translations` %>" method="post" class="form">
11
+ <form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${blueprint.id}/translations` %>" method="post" class="form">
12
12
  <h6>Available languages:</h6>
13
13
  <% if (targetLocale) { %>
14
14
  <input type="hidden" name="resource[languages][]" value="<%= targetLocale %>">
@@ -46,7 +46,7 @@
46
46
  <div class="form-actions">
47
47
  <div class="btn-toolbar">
48
48
  <%- f.submit('Initiate translations', { class: 'btn-primary' }) %>
49
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${blueprint.id}` %>" class="btn-secondary">Cancel</a>
49
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${blueprint.id}` %>" class="btn-secondary">Cancel</a>
50
50
  </div>
51
51
  </div>
52
52
  </form>
@@ -2,7 +2,7 @@
2
2
  <div class="page-title">
3
3
  <div>
4
4
  <h1 class="heading-1">Translations initiated</h1>
5
- <span class="body-2 opacity-50"><%= pageTitle %></span>
5
+ <span class="body-2 opacity-50"><%= resourceTitle %></span>
6
6
  </div>
7
7
  </div>
8
8
 
@@ -19,7 +19,7 @@
19
19
  <tr class="border-b border-mono-25">
20
20
  <td class="py-4 pl-2 w-full">
21
21
  <div class="flex gap-1 items-center">
22
- <a href="<%= `/${translation.translationLocale}/${_context.resourceConfig.pageTypePlural}/${translation.id}` %>" class="btn-text">
22
+ <a href="<%= `/${translation.translationLocale}/${_context.resourceConfig.resourceTypePlural}/${translation.id}` %>" class="btn-text">
23
23
  <%= _context.locales[translation.translationLocale].name %>
24
24
  </a>
25
25
  </div>
@@ -33,7 +33,7 @@
33
33
  </tbody>
34
34
  </table>
35
35
  <% } %>
36
- <a href="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${parent_id}` %>" class="btn-primary mt-8">
36
+ <a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${parent_id}` %>" class="btn-primary mt-8">
37
37
  Go to original
38
38
  </a>
39
39
  </div>
@@ -2,18 +2,18 @@
2
2
  <div class="page-title">
3
3
  <h1 class="heading-1">
4
4
  <span class="opacity-50">Change URL / </span>
5
- <%= page.title %>
5
+ <%= record.title %>
6
6
  </h1>
7
7
  </div>
8
8
 
9
9
  <div class="grid gap-4 md:grid-cols-3">
10
10
  <% form_for({ resource }, errors, (f) => { %>
11
- <form action="<%= `/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}/urls` %>" method="post" class="form">
11
+ <form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/urls` %>" method="post" class="form">
12
12
  <%- f.field('resource.slug', { label: "URL", required: true, hint: "Only lowercase letters, numbers, slash and dash allowed. Ex: celebrate/friday-13" }) %>
13
13
  <%- f.field('resource.redirect', { as: "checkbox", value: "1", label: "Create 301 redirect for the old URL" }) %>
14
14
 
15
15
  <%- f.submit('Save record', { class: 'btn-primary' }) %>
16
- <a href="<%=`/${_context.locale}/${_context.resourceConfig.pageTypePlural}/${resource.id}`%>" class="btn-secondary">Back</a>
16
+ <a href="<%=`/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}`%>" class="btn-secondary">Back</a>
17
17
  </form>
18
18
  <% }) %>
19
19
 
@@ -1,36 +0,0 @@
1
- import RaketaClient from "./RaketaClient";
2
-
3
- import {
4
- ArticleHistoryDocument,
5
- ArticleEditorsDocument,
6
- } from "./documents/articlesDocuments";
7
-
8
- export default class ArticleChanges extends RaketaClient {
9
- async list(query, articleId, locale) {
10
- const vars = this.buildListInput(query, locale);
11
-
12
- const { articleHistory: items } = await this.query(ArticleHistoryDocument, {
13
- input: {
14
- ...vars.input,
15
- id: articleId,
16
- locale,
17
- pagination: {
18
- ...(vars.input.pagination || {}),
19
- },
20
- },
21
- });
22
-
23
- return items;
24
- }
25
-
26
- async all_editors(articleId, locale) {
27
- const { articleEditors } = await this.query(ArticleEditorsDocument, {
28
- input: {
29
- id: articleId,
30
- locale,
31
- },
32
- });
33
-
34
- return articleEditors?.list;
35
- }
36
- }
@@ -1,239 +0,0 @@
1
- import { dateToUTCISO8601String } from "../utils";
2
- import RaketaClient from "./RaketaClient";
3
- import {
4
- ArticleRevisionDocument,
5
- ArticleRevisionsDocument,
6
- CancelArticleRevisionScheduleDocument,
7
- buildBatchStartArticleRevisionDocument,
8
- DeleteArticleDocument,
9
- LockArticleRevisionDocument,
10
- MergeArticleRevisionDocument,
11
- ReopenArticleChangeDocument,
12
- ScheduleArticleRevisionDocument,
13
- StartArticleRevisionDocument,
14
- UnlockArticleRevisionDocument,
15
- UpdateArticleDocument,
16
- UpdateArticleWidgetsDocument,
17
- } from "./documents/articlesDocuments";
18
-
19
- export default class ArticleRevisions extends RaketaClient {
20
- selectUpdateParams(revision) {
21
- return {
22
- title: revision.title,
23
- slug: revision.slug,
24
- publishAt: revision.publishAt,
25
- widgets: [...revision.widgets],
26
- settings: {
27
- ...revision.settings,
28
- },
29
- visibility: revision.visibility,
30
- tags: revision.tags.map((t) => (t.id ? t.id : t)),
31
- categories: revision.categories.map((c) => (c.id ? c.id : c)),
32
- };
33
- }
34
-
35
- formatDates(params) {
36
- if (params.publishAt) {
37
- params.publishAt = dateToUTCISO8601String(params.publishAt);
38
- }
39
-
40
- return { ...params };
41
- }
42
-
43
- async all(articleId, locale) {
44
- const { articleRevisions: items } = await this.query(
45
- ArticleRevisionsDocument,
46
- {
47
- input: {
48
- id: articleId,
49
- locale,
50
- },
51
- }
52
- );
53
-
54
- return items;
55
- }
56
-
57
- async find(id, locale) {
58
- const { articleRevision } = await this.query(ArticleRevisionDocument, {
59
- input: {
60
- id,
61
- locale,
62
- },
63
- });
64
-
65
- return articleRevision;
66
- }
67
-
68
- async publish(id, locale, params, articleParams) {
69
- const {
70
- mergeArticleRevision: { article, errors },
71
- } = await this.query(MergeArticleRevisionDocument, {
72
- input: {
73
- id,
74
- locale,
75
- ...params,
76
- article: { ...articleParams },
77
- },
78
- });
79
-
80
- return { article, errors };
81
- }
82
-
83
- async schedule(id, locale, params, articleParams) {
84
- const {
85
- scheduleArticleRevision: { revision, errors, articleErrors },
86
- } = await this.query(ScheduleArticleRevisionDocument, {
87
- input: {
88
- id,
89
- locale,
90
- ...params,
91
- article: { ...articleParams },
92
- },
93
- });
94
-
95
- return { revision, errors, articleErrors };
96
- }
97
-
98
- async cancelSchedule(id, locale) {
99
- const {
100
- cancelArticleRevisionSchedule: { revision, errors, articleErrors },
101
- } = await this.query(CancelArticleRevisionScheduleDocument, {
102
- input: {
103
- revisionId: id,
104
- locale: locale,
105
- },
106
- });
107
-
108
- return { revision, errors, articleErrors };
109
- }
110
-
111
- async create(articleId, locale) {
112
- const {
113
- startArticleRevision: { revision, errors, articleErrors },
114
- } = await this.query(StartArticleRevisionDocument, {
115
- input: {
116
- id: articleId,
117
- locale,
118
- title: "New revision",
119
- description: "",
120
- },
121
- });
122
-
123
- return { revision, errors, articleErrors };
124
- }
125
-
126
- async createBatch(revisionInputs) {
127
- const BatchDocument = buildBatchStartArticleRevisionDocument(
128
- revisionInputs.length
129
- );
130
-
131
- const variables = {};
132
- revisionInputs.forEach((input, i) => {
133
- variables[`input${i}`] = {
134
- id: input.articleId,
135
- locale: input.locale,
136
- title: "New revision",
137
- description: "",
138
- };
139
- });
140
-
141
- const response = await this.query(BatchDocument, variables);
142
-
143
- return revisionInputs.map((_, i) => {
144
- const result = response[`startRevision${i}`];
145
- return {
146
- revision: result.revision,
147
- errors: result.errors,
148
- articleErrors: result.articleErrors,
149
- };
150
- });
151
- }
152
-
153
- async update(id, locale, params) {
154
- const copyParams = { ...params };
155
-
156
- copyParams.widgets = JSON.stringify(params.widgets || []);
157
- copyParams.settings = JSON.stringify(params.settings || {});
158
-
159
- const {
160
- updateArticle: { errors, article },
161
- } = await this.query(UpdateArticleDocument, {
162
- input: {
163
- id,
164
- locale,
165
- article: copyParams,
166
- },
167
- });
168
-
169
- return { article, errors };
170
- }
171
-
172
- async updateWidgets(id, locale, widgets) {
173
- const {
174
- updateArticleWidgets: { errors, article },
175
- } = await this.query(UpdateArticleWidgetsDocument, {
176
- input: {
177
- id,
178
- locale,
179
- widgets: JSON.stringify(widgets),
180
- },
181
- });
182
-
183
- return { article, errors };
184
- }
185
-
186
- async delete(revisionId, locale) {
187
- const {
188
- deleteArticle: { article, errors },
189
- } = await this.query(DeleteArticleDocument, {
190
- input: {
191
- id: revisionId,
192
- locale,
193
- },
194
- });
195
-
196
- return { revision: article, errors };
197
- }
198
-
199
- async lock(revisionId, locale, message) {
200
- const {
201
- lockArticleRevision: { revision, errors },
202
- } = await this.query(LockArticleRevisionDocument, {
203
- input: {
204
- revisionId,
205
- message,
206
- locale,
207
- },
208
- });
209
-
210
- return { revision, errors };
211
- }
212
-
213
- async unlock(revisionId, locale) {
214
- const {
215
- unlockArticleRevision: { revision, errors },
216
- } = await this.query(UnlockArticleRevisionDocument, {
217
- input: {
218
- revisionId,
219
- locale,
220
- },
221
- });
222
-
223
- return { revision, errors };
224
- }
225
-
226
- async revert(articleId, version, locale) {
227
- const {
228
- reopenArticleChange: { revision, errors, articleErrors },
229
- } = await this.query(ReopenArticleChangeDocument, {
230
- input: {
231
- articleId,
232
- locale,
233
- version,
234
- },
235
- });
236
-
237
- return { revision, errors, articleErrors };
238
- }
239
- }