@raketa-cloud/admin 0.0.100 → 0.0.102

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 (377) hide show
  1. package/dist/application.css +3804 -0
  2. package/package.json +6 -2
  3. package/babel.config.js +0 -6
  4. package/bin/tailwind +0 -2
  5. package/jest.config.js +0 -22
  6. package/src/Adapter.js +0 -265
  7. package/src/HonoAdapter.js +0 -269
  8. package/src/Logger.js +0 -21
  9. package/src/RaketaContext.js +0 -46
  10. package/src/buildResourcePath.js +0 -22
  11. package/src/cipher.js +0 -49
  12. package/src/cloud/ArticleChanges.js +0 -36
  13. package/src/cloud/ArticleRevisions.js +0 -239
  14. package/src/cloud/Articles.js +0 -194
  15. package/src/cloud/Categories.js +0 -97
  16. package/src/cloud/EventChanges.js +0 -36
  17. package/src/cloud/EventRevisions.js +0 -246
  18. package/src/cloud/Events.js +0 -204
  19. package/src/cloud/PageChanges.js +0 -36
  20. package/src/cloud/PageRevisions.js +0 -226
  21. package/src/cloud/Pages.js +0 -185
  22. package/src/cloud/RaketaClient.js +0 -223
  23. package/src/cloud/Redirects.js +0 -81
  24. package/src/cloud/Settings.js +0 -28
  25. package/src/cloud/Tags.js +0 -80
  26. package/src/cloud/documents/articlesDocuments.js +0 -343
  27. package/src/cloud/documents/categoryDocuments.js +0 -52
  28. package/src/cloud/documents/common.js +0 -133
  29. package/src/cloud/documents/eventsDocuments.js +0 -351
  30. package/src/cloud/documents/pagesDocuments.js +0 -339
  31. package/src/cloud/documents/redirectsDocuments.js +0 -82
  32. package/src/cloud/documents/settingsDocuments.js +0 -23
  33. package/src/cloud/documents/tagsDocuments.js +0 -63
  34. package/src/currentPath.cjs +0 -1
  35. package/src/handlers/DashboardsHandler.js +0 -9
  36. package/src/handlers/RedirectsHandler.js +0 -124
  37. package/src/handlers/TagsHandler.js +0 -113
  38. package/src/handlers/_shared/SettingsHandler.js +0 -36
  39. package/src/handlers/article_revisions/ArticleRevisionsHandler.js +0 -49
  40. package/src/handlers/article_revisions/CancelSchedulesHandler.js +0 -26
  41. package/src/handlers/article_revisions/CodeHandler.js +0 -74
  42. package/src/handlers/article_revisions/GeneralHandler.js +0 -76
  43. package/src/handlers/article_revisions/LocksHandler.js +0 -77
  44. package/src/handlers/article_revisions/MetaHandler.js +0 -74
  45. package/src/handlers/article_revisions/PublishesHandler.js +0 -120
  46. package/src/handlers/article_revisions/RevertsHandler.js +0 -28
  47. package/src/handlers/article_revisions/TagHandler.js +0 -82
  48. package/src/handlers/article_revisions/UnlocksHandler.js +0 -24
  49. package/src/handlers/article_revisions/VisualHandler.js +0 -74
  50. package/src/handlers/article_revisions/WidgetHandler.js +0 -47
  51. package/src/handlers/articles/ArticlesHandler.js +0 -109
  52. package/src/handlers/articles/ClonesHandler.js +0 -19
  53. package/src/handlers/articles/DeletesHandler.js +0 -72
  54. package/src/handlers/articles/HistoryHandler.js +0 -31
  55. package/src/handlers/articles/TranslationsHandler.js +0 -231
  56. package/src/handlers/articles/URLsHandler.js +0 -83
  57. package/src/handlers/categories/index.js +0 -122
  58. package/src/handlers/event_revisions/CancelSchedulesHandler.js +0 -26
  59. package/src/handlers/event_revisions/CodeHandler.js +0 -72
  60. package/src/handlers/event_revisions/EventRevisionsHandler.js +0 -47
  61. package/src/handlers/event_revisions/GeneralHandler.js +0 -74
  62. package/src/handlers/event_revisions/LocksHandler.js +0 -65
  63. package/src/handlers/event_revisions/MetaHandler.js +0 -72
  64. package/src/handlers/event_revisions/PublishesHandler.js +0 -112
  65. package/src/handlers/event_revisions/RevertsHandler.js +0 -26
  66. package/src/handlers/event_revisions/TagHandler.js +0 -79
  67. package/src/handlers/event_revisions/UnlocksHandler.js +0 -24
  68. package/src/handlers/event_revisions/VisualHandler.js +0 -72
  69. package/src/handlers/event_revisions/WidgetHandler.js +0 -41
  70. package/src/handlers/events/ClonesHandler.js +0 -19
  71. package/src/handlers/events/DeletesHandler.js +0 -72
  72. package/src/handlers/events/EventsHandler.js +0 -111
  73. package/src/handlers/events/HistoryHandler.js +0 -31
  74. package/src/handlers/events/TranslationsHandler.js +0 -233
  75. package/src/handlers/events/URLsHandler.js +0 -81
  76. package/src/handlers/page_revisions/CancelSchedulesHandler.js +0 -26
  77. package/src/handlers/page_revisions/CodeHandler.js +0 -57
  78. package/src/handlers/page_revisions/GeneralHandler.js +0 -59
  79. package/src/handlers/page_revisions/LocksHandler.js +0 -69
  80. package/src/handlers/page_revisions/MetaHandler.js +0 -57
  81. package/src/handlers/page_revisions/PageRevisionsHandler.js +0 -47
  82. package/src/handlers/page_revisions/PublishesHandler.js +0 -112
  83. package/src/handlers/page_revisions/RevertsHandler.js +0 -26
  84. package/src/handlers/page_revisions/TagHandler.js +0 -105
  85. package/src/handlers/page_revisions/UnlocksHandler.js +0 -22
  86. package/src/handlers/page_revisions/VisualHandler.js +0 -58
  87. package/src/handlers/page_revisions/WidgetHandler.js +0 -41
  88. package/src/handlers/pages/ClonesHandler.js +0 -19
  89. package/src/handlers/pages/DeletesHandler.js +0 -68
  90. package/src/handlers/pages/HistoryHandler.js +0 -31
  91. package/src/handlers/pages/PagesHandler.js +0 -104
  92. package/src/handlers/pages/TranslationsHandler.js +0 -233
  93. package/src/handlers/pages/URLsHandler.js +0 -77
  94. package/src/helpers/AuthHelper.js +0 -49
  95. package/src/helpers/FormBuilder.js +0 -438
  96. package/src/helpers/HTMLBuilder.js +0 -38
  97. package/src/helpers/Inflector.js +0 -9
  98. package/src/helpers/Pagination.js +0 -92
  99. package/src/helpers/SortButton.js +0 -102
  100. package/src/helpers/form_for.js +0 -8
  101. package/src/helpers/historyUtils.js +0 -133
  102. package/src/helpers/pagination_helper.js +0 -5
  103. package/src/helpers/sort_button.js +0 -5
  104. package/src/helpers/utils.js +0 -21
  105. package/src/routeArticlesModule.js +0 -151
  106. package/src/routeCategoriesModule.js +0 -16
  107. package/src/routeCollection.js +0 -90
  108. package/src/routeEventsModule.js +0 -166
  109. package/src/routeMember.js +0 -40
  110. package/src/routeNestedCollection.js +0 -96
  111. package/src/routeNestedMember.js +0 -46
  112. package/src/routePagesModule.js +0 -163
  113. package/src/routeSettings.js +0 -14
  114. package/src/routeStandard.js +0 -35
  115. package/src/setGlobalContext.js +0 -5
  116. package/src/setupAuthentication.js +0 -154
  117. package/src/setupCloud.js +0 -50
  118. package/src/styles/application.css +0 -561
  119. package/src/tests/Adapter.test.js +0 -39
  120. package/src/tests/HonoAdapter.test.js +0 -34
  121. package/src/tests/Logger.test.js +0 -33
  122. package/src/tests/handlers/DashboardsHandler.test/index.test.js +0 -17
  123. package/src/tests/handlers/RedirectsHandler.test/create.test.js +0 -83
  124. package/src/tests/handlers/RedirectsHandler.test/create_form.test.js +0 -27
  125. package/src/tests/handlers/RedirectsHandler.test/destroy.test.js +0 -53
  126. package/src/tests/handlers/RedirectsHandler.test/edit_form.test.js +0 -37
  127. package/src/tests/handlers/RedirectsHandler.test/index.test.js +0 -41
  128. package/src/tests/handlers/RedirectsHandler.test/show.test.js +0 -41
  129. package/src/tests/handlers/RedirectsHandler.test/update.test.js +0 -88
  130. package/src/tests/handlers/TagsHandler.test/create.test.js +0 -96
  131. package/src/tests/handlers/TagsHandler.test/create_form.test.js +0 -25
  132. package/src/tests/handlers/TagsHandler.test/destroy.test.js +0 -51
  133. package/src/tests/handlers/TagsHandler.test/edit_form.test.js +0 -60
  134. package/src/tests/handlers/TagsHandler.test/index.test.js +0 -37
  135. package/src/tests/handlers/TagsHandler.test/update.test.js +0 -105
  136. package/src/tests/handlers/_shared/SettingsHandler.test/edit_form.test.js +0 -36
  137. package/src/tests/handlers/_shared/SettingsHandler.test/update.test.js +0 -114
  138. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/create.test.js +0 -79
  139. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/destroy.test.js +0 -57
  140. package/src/tests/handlers/article_revisions/CancelScheduledHandler.test/create.test.js +0 -90
  141. package/src/tests/handlers/article_revisions/CodesHandler.test/edit_form.test.js +0 -56
  142. package/src/tests/handlers/article_revisions/CodesHandler.test/update.test.js +0 -161
  143. package/src/tests/handlers/article_revisions/GeneralHandler.test/edit_form.test.js +0 -59
  144. package/src/tests/handlers/article_revisions/GeneralHandler.test/update.test.js +0 -162
  145. package/src/tests/handlers/article_revisions/LocksHandler.test/create.test.js +0 -142
  146. package/src/tests/handlers/article_revisions/LocksHandler.test/create_form.test.js +0 -55
  147. package/src/tests/handlers/article_revisions/MetaHandler.test/edit_form.test.js +0 -56
  148. package/src/tests/handlers/article_revisions/MetaHandler.test/update.test.js +0 -163
  149. package/src/tests/handlers/article_revisions/PublishesHandler.test/create.test.js +0 -333
  150. package/src/tests/handlers/article_revisions/PublishesHandler.test/create_form.test.js +0 -48
  151. package/src/tests/handlers/article_revisions/RevertsHandler.test/create.test.js +0 -86
  152. package/src/tests/handlers/article_revisions/TagHandler.test/edit_form.test.js +0 -72
  153. package/src/tests/handlers/article_revisions/TagHandler.test/update.test.js +0 -153
  154. package/src/tests/handlers/article_revisions/UnlocksHandler.test/create.test.js +0 -84
  155. package/src/tests/handlers/article_revisions/VisualHandler.test.test/edit_form.test.js +0 -56
  156. package/src/tests/handlers/article_revisions/VisualHandler.test.test/update.test.js +0 -146
  157. package/src/tests/handlers/article_revisions/WidgetHandler.test/show.test.js +0 -46
  158. package/src/tests/handlers/article_revisions/WidgetHandler.test/update.test.js +0 -103
  159. package/src/tests/handlers/articles/ArticlesHandler.test/create.test.js +0 -172
  160. package/src/tests/handlers/articles/ArticlesHandler.test/create_form.test.js +0 -44
  161. package/src/tests/handlers/articles/ArticlesHandler.test/index.test.js +0 -57
  162. package/src/tests/handlers/articles/ArticlesHandler.test/show.test.js +0 -109
  163. package/src/tests/handlers/articles/ArticlesHistoryHandler.test/index.test.js +0 -87
  164. package/src/tests/handlers/articles/ClonesHandler.test/create.test.js +0 -57
  165. package/src/tests/handlers/articles/DeletesHandler.test/create.test.js +0 -115
  166. package/src/tests/handlers/articles/DeletesHandler.test/create_form.test.js +0 -60
  167. package/src/tests/handlers/articles/TranslationHandler.test/create.test.js +0 -297
  168. package/src/tests/handlers/articles/TranslationHandler.test/create_form.test.js +0 -71
  169. package/src/tests/handlers/articles/TranslationHandler.test/index.test.js +0 -91
  170. package/src/tests/handlers/articles/URLsHandler.test/create.test.js +0 -160
  171. package/src/tests/handlers/articles/URLsHandler.test/create_form.test.js +0 -55
  172. package/src/tests/handlers/categories/create.test.js +0 -94
  173. package/src/tests/handlers/categories/create_form.test.js +0 -26
  174. package/src/tests/handlers/categories/destroy.test.js +0 -57
  175. package/src/tests/handlers/categories/edit_form.test.js +0 -59
  176. package/src/tests/handlers/categories/index.test.js +0 -46
  177. package/src/tests/handlers/categories/update.test.js +0 -88
  178. package/src/tests/handlers/event_revisions/CancelScheduledHandler.test/create.test.js +0 -90
  179. package/src/tests/handlers/event_revisions/CodesHandler.test/edit_form.test.js +0 -60
  180. package/src/tests/handlers/event_revisions/CodesHandler.test/update.test.js +0 -171
  181. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/create.test.js +0 -79
  182. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/destroy.test.js +0 -57
  183. package/src/tests/handlers/event_revisions/GeneralHandler.test/edit_form.test.js +0 -63
  184. package/src/tests/handlers/event_revisions/GeneralHandler.test/update.test.js +0 -172
  185. package/src/tests/handlers/event_revisions/LocksHandler.test/create.test.js +0 -142
  186. package/src/tests/handlers/event_revisions/LocksHandler.test/create_form.test.js +0 -55
  187. package/src/tests/handlers/event_revisions/MetaHandler.test/edit_form.test.js +0 -60
  188. package/src/tests/handlers/event_revisions/MetaHandler.test/update.test.js +0 -173
  189. package/src/tests/handlers/event_revisions/PublishesHandler.test/create.test.js +0 -333
  190. package/src/tests/handlers/event_revisions/PublishesHandler.test/create_form.test.js +0 -48
  191. package/src/tests/handlers/event_revisions/RevertsHandler.test/create.test.js +0 -83
  192. package/src/tests/handlers/event_revisions/TagHandler.test/edit_form.test.js +0 -76
  193. package/src/tests/handlers/event_revisions/TagHandler.test/update.test.js +0 -163
  194. package/src/tests/handlers/event_revisions/UnlocksHandler.test/create.test.js +0 -84
  195. package/src/tests/handlers/event_revisions/VisualHandler.test.test/edit_form.test.js +0 -60
  196. package/src/tests/handlers/event_revisions/VisualHandler.test.test/update.test.js +0 -156
  197. package/src/tests/handlers/event_revisions/WidgetHandler.test/show.test.js +0 -46
  198. package/src/tests/handlers/event_revisions/WidgetHandler.test/update.test.js +0 -103
  199. package/src/tests/handlers/events/ClonesHandler.test/create.test.js +0 -57
  200. package/src/tests/handlers/events/DeletesHandler.test/create.test.js +0 -115
  201. package/src/tests/handlers/events/DeletesHandler.test/create_form.test.js +0 -60
  202. package/src/tests/handlers/events/EventsHandler.test/create.test.js +0 -172
  203. package/src/tests/handlers/events/EventsHandler.test/create_form.test.js +0 -45
  204. package/src/tests/handlers/events/EventsHandler.test/index.test.js +0 -53
  205. package/src/tests/handlers/events/EventsHandler.test/show.test.js +0 -109
  206. package/src/tests/handlers/events/EventsHistoryHandler.test/index.test.js +0 -87
  207. package/src/tests/handlers/events/TranslationHandler.test/create.test.js +0 -303
  208. package/src/tests/handlers/events/TranslationHandler.test/create_form.test.js +0 -71
  209. package/src/tests/handlers/events/TranslationHandler.test/index.test.js +0 -91
  210. package/src/tests/handlers/events/URLsHandler.test/create.test.js +0 -160
  211. package/src/tests/handlers/events/URLsHandler.test/create_form.test.js +0 -55
  212. package/src/tests/handlers/page_revisions/CancelScheduledHandler.test/create.test.js +0 -86
  213. package/src/tests/handlers/page_revisions/CodesHandler.test/edit_form.test.js +0 -58
  214. package/src/tests/handlers/page_revisions/CodesHandler.test/update.test.js +0 -154
  215. package/src/tests/handlers/page_revisions/GeneralHandler.test/edit_form.test.js +0 -54
  216. package/src/tests/handlers/page_revisions/GeneralHandler.test/update.test.js +0 -166
  217. package/src/tests/handlers/page_revisions/LocksHandler.test/create.test.js +0 -138
  218. package/src/tests/handlers/page_revisions/LocksHandler.test/create_form.test.js +0 -55
  219. package/src/tests/handlers/page_revisions/MetaHandler.test/edit_form.test.js +0 -51
  220. package/src/tests/handlers/page_revisions/MetaHandler.test/update.test.js +0 -159
  221. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/create.test.js +0 -71
  222. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/destroy.test.js +0 -57
  223. package/src/tests/handlers/page_revisions/PublishesHandler.test/create.test.js +0 -333
  224. package/src/tests/handlers/page_revisions/PublishesHandler.test/create_form.test.js +0 -48
  225. package/src/tests/handlers/page_revisions/RevertsHandler.test/create.test.js +0 -83
  226. package/src/tests/handlers/page_revisions/TagHandler.test/edit_form.test.js +0 -100
  227. package/src/tests/handlers/page_revisions/TagHandler.test/update.test.js +0 -180
  228. package/src/tests/handlers/page_revisions/UnlocksHandler.test/create.test.js +0 -80
  229. package/src/tests/handlers/page_revisions/VisualHandler.test.test/edit_form.test.js +0 -58
  230. package/src/tests/handlers/page_revisions/VisualHandler.test.test/update.test.js +0 -139
  231. package/src/tests/handlers/page_revisions/WidgetHandler.test/show.test.js +0 -46
  232. package/src/tests/handlers/page_revisions/WidgetHandler.test/update.test.js +0 -103
  233. package/src/tests/handlers/pages/ConesHandler.test/create.test.js +0 -57
  234. package/src/tests/handlers/pages/DeletesHandler.test/create.test.js +0 -115
  235. package/src/tests/handlers/pages/DeletesHandler.test/create_form.test.js +0 -60
  236. package/src/tests/handlers/pages/PagesHandler.test/create.test.js +0 -167
  237. package/src/tests/handlers/pages/PagesHandler.test/create_form.test.js +0 -41
  238. package/src/tests/handlers/pages/PagesHandler.test/index.test.js +0 -53
  239. package/src/tests/handlers/pages/PagesHandler.test/show.test.js +0 -107
  240. package/src/tests/handlers/pages/PagesHistoryHandler.test/index.test.js +0 -87
  241. package/src/tests/handlers/pages/TranslationHandler.test/create.test.js +0 -290
  242. package/src/tests/handlers/pages/TranslationHandler.test/create_form.test.js +0 -71
  243. package/src/tests/handlers/pages/TranslationHandler.test/index.test.js +0 -87
  244. package/src/tests/handlers/pages/URLsHandler.test/create.test.js +0 -160
  245. package/src/tests/handlers/pages/URLsHandler.test/create_form.test.js +0 -58
  246. package/src/tests/helpers/AuthHelper.test.js +0 -169
  247. package/src/tests/helpers/FormBuildert.test.js +0 -357
  248. package/src/tests/helpers/HTMLBuilder.test.js +0 -44
  249. package/src/tests/helpers/Inflector.test.js +0 -75
  250. package/src/tests/helpers/Pagination.test.js +0 -65
  251. package/src/tests/helpers/SortButton.test.js +0 -85
  252. package/src/tests/helpers/historyUtils.test.js +0 -107
  253. package/src/tests/helpers/utils.test.js +0 -27
  254. package/src/tests/routeCollection.test.js +0 -163
  255. package/src/tests/routeMember.test.js +0 -97
  256. package/src/tests/routeNestedCollection.test.js +0 -182
  257. package/src/tests/routeNestedMember.test.js +0 -102
  258. package/src/tests/support/factory.js +0 -194
  259. package/src/tests/support/handlersHelper.js +0 -31
  260. package/src/utils.js +0 -30
  261. package/src/views/_auth/login.ejs +0 -82
  262. package/src/views/_shared/_credentials_input.ejs +0 -31
  263. package/src/views/_shared/_layout_input.ejs +0 -5
  264. package/src/views/_shared/_scripts_input.ejs +0 -5
  265. package/src/views/_shared/_structured_json_input.ejs +0 -7
  266. package/src/views/article_revisions/_nav.ejs +0 -44
  267. package/src/views/article_revisions/codes/_form.ejs +0 -13
  268. package/src/views/article_revisions/codes/edit_form.ejs +0 -16
  269. package/src/views/article_revisions/general/_form.ejs +0 -17
  270. package/src/views/article_revisions/general/edit_form.ejs +0 -16
  271. package/src/views/article_revisions/locks/_form.ejs +0 -11
  272. package/src/views/article_revisions/locks/create_form.ejs +0 -27
  273. package/src/views/article_revisions/meta/_form.ejs +0 -15
  274. package/src/views/article_revisions/meta/edit_form.ejs +0 -16
  275. package/src/views/article_revisions/publishes/_form.ejs +0 -70
  276. package/src/views/article_revisions/publishes/create_form.ejs +0 -9
  277. package/src/views/article_revisions/tags/_form.ejs +0 -12
  278. package/src/views/article_revisions/tags/edit_form.ejs +0 -16
  279. package/src/views/article_revisions/visuals/_form.ejs +0 -12
  280. package/src/views/article_revisions/visuals/edit_form.ejs +0 -16
  281. package/src/views/articles/_form.ejs +0 -45
  282. package/src/views/articles/_shared/_history_toolbar.ejs +0 -24
  283. package/src/views/articles/_shared/_revision_toolbar.ejs +0 -68
  284. package/src/views/articles/_shared/_title.ejs +0 -11
  285. package/src/views/articles/_shared/_toolbar.ejs +0 -33
  286. package/src/views/articles/_shared/history_table.ejs +0 -68
  287. package/src/views/articles/create_form.ejs +0 -9
  288. package/src/views/articles/deletes/create_form.ejs +0 -68
  289. package/src/views/articles/history/index.ejs +0 -87
  290. package/src/views/articles/index.ejs +0 -171
  291. package/src/views/articles/show.ejs +0 -234
  292. package/src/views/articles/translations/_translation_toolbar.ejs +0 -18
  293. package/src/views/articles/translations/create_form.ejs +0 -75
  294. package/src/views/articles/translations/index.ejs +0 -39
  295. package/src/views/articles/urls/create_form.ejs +0 -36
  296. package/src/views/categories/_form.ejs +0 -24
  297. package/src/views/categories/create_form.ejs +0 -9
  298. package/src/views/categories/edit_form.ejs +0 -9
  299. package/src/views/categories/index.ejs +0 -35
  300. package/src/views/dashboard/index.ejs +0 -23
  301. package/src/views/event_revisions/_nav.ejs +0 -44
  302. package/src/views/event_revisions/codes/_form.ejs +0 -13
  303. package/src/views/event_revisions/codes/edit_form.ejs +0 -16
  304. package/src/views/event_revisions/general/_form.ejs +0 -19
  305. package/src/views/event_revisions/general/edit_form.ejs +0 -16
  306. package/src/views/event_revisions/locks/_form.ejs +0 -11
  307. package/src/views/event_revisions/locks/create_form.ejs +0 -27
  308. package/src/views/event_revisions/meta/_form.ejs +0 -15
  309. package/src/views/event_revisions/meta/edit_form.ejs +0 -16
  310. package/src/views/event_revisions/publishes/_form.ejs +0 -77
  311. package/src/views/event_revisions/publishes/create_form.ejs +0 -9
  312. package/src/views/event_revisions/tags/_form.ejs +0 -12
  313. package/src/views/event_revisions/tags/edit_form.ejs +0 -16
  314. package/src/views/event_revisions/visuals/_form.ejs +0 -12
  315. package/src/views/event_revisions/visuals/edit_form.ejs +0 -16
  316. package/src/views/events/_form.ejs +0 -47
  317. package/src/views/events/_shared/_history_toolbar.ejs +0 -24
  318. package/src/views/events/_shared/_revision_toolbar.ejs +0 -68
  319. package/src/views/events/_shared/_title.ejs +0 -12
  320. package/src/views/events/_shared/_toolbar.ejs +0 -33
  321. package/src/views/events/_shared/history_table.ejs +0 -68
  322. package/src/views/events/create_form.ejs +0 -9
  323. package/src/views/events/deletes/create_form.ejs +0 -68
  324. package/src/views/events/history/index.ejs +0 -87
  325. package/src/views/events/index.ejs +0 -171
  326. package/src/views/events/show.ejs +0 -234
  327. package/src/views/events/translations/_translation_toolbar.ejs +0 -18
  328. package/src/views/events/translations/create_form.ejs +0 -75
  329. package/src/views/events/translations/index.ejs +0 -39
  330. package/src/views/events/urls/create_form.ejs +0 -36
  331. package/src/views/layouts/application.ejs +0 -239
  332. package/src/views/layouts/header.ejs +0 -47
  333. package/src/views/page_revisions/_nav.ejs +0 -44
  334. package/src/views/page_revisions/codes/_form.ejs +0 -13
  335. package/src/views/page_revisions/codes/edit_form.ejs +0 -16
  336. package/src/views/page_revisions/general/_form.ejs +0 -16
  337. package/src/views/page_revisions/general/edit_form.ejs +0 -16
  338. package/src/views/page_revisions/locks/_form.ejs +0 -11
  339. package/src/views/page_revisions/locks/create_form.ejs +0 -27
  340. package/src/views/page_revisions/meta/_form.ejs +0 -15
  341. package/src/views/page_revisions/meta/edit_form.ejs +0 -16
  342. package/src/views/page_revisions/publishes/_form.ejs +0 -76
  343. package/src/views/page_revisions/publishes/create_form.ejs +0 -9
  344. package/src/views/page_revisions/tags/_form.ejs +0 -12
  345. package/src/views/page_revisions/tags/edit_form.ejs +0 -21
  346. package/src/views/page_revisions/visuals/_form.ejs +0 -12
  347. package/src/views/page_revisions/visuals/edit_form.ejs +0 -16
  348. package/src/views/pages/_form.ejs +0 -44
  349. package/src/views/pages/_shared/_history_toolbar.ejs +0 -24
  350. package/src/views/pages/_shared/_revision_toolbar.ejs +0 -68
  351. package/src/views/pages/_shared/_title.ejs +0 -12
  352. package/src/views/pages/_shared/_toolbar.ejs +0 -33
  353. package/src/views/pages/_shared/history_table.ejs +0 -68
  354. package/src/views/pages/create_form.ejs +0 -9
  355. package/src/views/pages/deletes/create_form.ejs +0 -68
  356. package/src/views/pages/history/index.ejs +0 -87
  357. package/src/views/pages/index.ejs +0 -166
  358. package/src/views/pages/show.ejs +0 -235
  359. package/src/views/pages/translations/_translation_toolbar.ejs +0 -18
  360. package/src/views/pages/translations/create_form.ejs +0 -75
  361. package/src/views/pages/translations/index.ejs +0 -39
  362. package/src/views/pages/urls/create_form.ejs +0 -36
  363. package/src/views/redirects/_form.ejs +0 -26
  364. package/src/views/redirects/create_form.ejs +0 -9
  365. package/src/views/redirects/edit_form.ejs +0 -9
  366. package/src/views/redirects/index.ejs +0 -75
  367. package/src/views/redirects/show.ejs +0 -60
  368. package/src/views/settings/_nav.ejs +0 -22
  369. package/src/views/settings/layout/edit_form.ejs +0 -58
  370. package/src/views/settings/meta/edit_form.ejs +0 -24
  371. package/src/views/tags/_form.ejs +0 -25
  372. package/src/views/tags/create_form.ejs +0 -9
  373. package/src/views/tags/edit_form.ejs +0 -9
  374. package/src/views/tags/index.ejs +0 -43
  375. package/tailwind.config.js +0 -40
  376. package/tsconfig.json +0 -15
  377. package/tsconfig.lint.json +0 -8
package/package.json CHANGED
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "@raketa-cloud/admin",
3
- "version": "0.0.100",
3
+ "version": "0.0.102",
4
4
  "main": "src/index.js",
5
+ "files": [
6
+ "dist/"
7
+ ],
5
8
  "scripts": {
6
9
  "dev": "npx tailwindcss -i ./src/styles/application.css -o ../../apps/admin/static/application.css --watch",
7
- "test": "jest --coverage --coverageReporters=html --coverageReporters=\"text-summary\""
10
+ "test": "jest --coverage --coverageReporters=html --coverageReporters=\"text-summary\"",
11
+ "prepare": "npx tailwindcss -i ./src/styles/application.css -o ./dist/application.css"
8
12
  },
9
13
  "devDependencies": {
10
14
  "@babel/core": "7.24.7",
package/babel.config.js DELETED
@@ -1,6 +0,0 @@
1
- module.exports = {
2
- presets: [
3
- ["@babel/preset-env", { targets: { node: "current" } }],
4
- "@babel/preset-typescript",
5
- ],
6
- };
package/bin/tailwind DELETED
@@ -1,2 +0,0 @@
1
- # npx tailwindcss -i ./src/styles/application.css -o ./dist/application.css --watch
2
- npx tailwindcss -i ./src/styles/application.css -o ../../apps/admin/static/application.css --watch
package/jest.config.js DELETED
@@ -1,22 +0,0 @@
1
- /** @type {import('jest').Config} */
2
- const config = {
3
- collectCoverageFrom: [
4
- "**/*.{js,jsx}",
5
- "!**/*.config.js",
6
- "!**/node_modules/**",
7
- "!**/vendor/**",
8
- "!**/cloud/**",
9
- "!**/coverage/**",
10
- "!**/tests/support/**",
11
- ],
12
- coverageThreshold: {
13
- global: {
14
- branches: 72,
15
- functions: 75,
16
- lines: 78,
17
- statements: 78,
18
- },
19
- },
20
- };
21
-
22
- module.exports = config;
package/src/Adapter.js DELETED
@@ -1,265 +0,0 @@
1
- import { existsSync, readFileSync } from "node:fs";
2
- import path from "node:path";
3
- import ejs from "ejs";
4
- import Logger from "./Logger";
5
- import currentPath from "./currentPath.cjs";
6
- import FormBuilder from "./helpers/FormBuilder";
7
- import HTMLBuilder from "./helpers/HTMLBuilder";
8
- import Inflector from "./helpers/Inflector";
9
- import form_for from "./helpers/form_for";
10
- import history from "./helpers/historyUtils";
11
- import pagination from "./helpers/pagination_helper";
12
- import sort_button from "./helpers/sort_button";
13
- import utils from "./helpers/utils";
14
-
15
- function escapeHtml(string) {
16
- var matchHtmlRegExp = /["'&<>]/;
17
-
18
- var str = "" + string;
19
- var match = matchHtmlRegExp.exec(str);
20
-
21
- if (!match) {
22
- return str;
23
- }
24
-
25
- var escape;
26
- var html = "";
27
- var index = 0;
28
- var lastIndex = 0;
29
-
30
- for (index = match.index; index < str.length; index++) {
31
- switch (str.charCodeAt(index)) {
32
- case 34: // "
33
- escape = "&quot;";
34
- break;
35
- case 38: // &
36
- escape = "&amp;";
37
- break;
38
- case 39: // '
39
- escape = "&#39;";
40
- break;
41
- case 60: // <
42
- escape = "&lt;";
43
- break;
44
- case 62: // >
45
- escape = "&gt;";
46
- break;
47
- default:
48
- continue;
49
- }
50
-
51
- if (lastIndex !== index) {
52
- html += str.substring(lastIndex, index);
53
- }
54
-
55
- lastIndex = index + 1;
56
- html += escape;
57
- }
58
-
59
- return lastIndex !== index ? html + str.substring(lastIndex, index) : html;
60
- }
61
-
62
- const renderError = (message, stack) => {
63
- const errorCSS = `
64
- * { box-sizing: border-box; margin: 0; padding: 0; }
65
- html { font-family: sans-serif; font-size: 16px; padding: 2rem; background-color: pink; }
66
- h1 { margin-bottom: 1rem; color: FireBrick; }
67
- .fail-squid { font-size: 7rem; }
68
- pre { padding: 1.5rem 2rem; border-radius: 0.5rem; background-color: black; color: white; line-height: 1.5; font-size: 1.25rem; }
69
- `;
70
- return `<style>${errorCSS}</style><div class="fail-squid">🦑</div><h1>${message}</h1><pre>${escapeHtml(stack)}</pre>`;
71
- };
72
-
73
- function toArray(value) {
74
- if (Array.isArray(value)) {
75
- return value;
76
- }
77
-
78
- return [value].filter(Boolean);
79
- }
80
-
81
- function putIn(result, key, value) {
82
- const segments = key.split(/[\[\]]+/).filter(Boolean);
83
- let current = result;
84
-
85
- segments.forEach((segment, idx) => {
86
- if (idx === segments.length - 1) {
87
- if (key.endsWith("[]") || Array.isArray(value)) {
88
- current[segment] = toArray(value);
89
- } else {
90
- current[segment] = value;
91
- }
92
- } else {
93
- if (!current[segment]) {
94
- current[segment] = {};
95
- }
96
-
97
- current = current[segment];
98
- }
99
- });
100
- }
101
-
102
- function sanitizePath(filePath) {
103
- return path.normalize(path.join(...["/", ...filePath.split("/")]));
104
- }
105
-
106
- function getPartialPath(partialPath, views, viewsFallback) {
107
- const packagePath = sanitizePath(
108
- `${currentPath}/views/${views}/${partialPath}`
109
- );
110
-
111
- const fallbackPackagePath = sanitizePath(
112
- `${currentPath}/views/${viewsFallback}/${partialPath}`
113
- );
114
-
115
- const appPath = sanitizePath(
116
- `${process.cwd()}/src/views/${views}/${partialPath}`
117
- );
118
-
119
- if (existsSync(appPath)) {
120
- return appPath;
121
- }
122
-
123
- if (existsSync(packagePath)) {
124
- return packagePath;
125
- }
126
-
127
- if (existsSync(fallbackPackagePath)) {
128
- return fallbackPackagePath;
129
- }
130
-
131
- throw new Error(
132
- `Looked for "${partialPath}" in the following places: \n${appPath}\n${packagePath}\n${fallbackPackagePath}\n`
133
- );
134
- }
135
-
136
- export default class Adapter {
137
- constructor(router) {
138
- this.router = router;
139
- }
140
-
141
- routeCollection(_resource, _mapping, _resourceConfig) {
142
- throw new Error("Implement in an adapter");
143
- }
144
-
145
- routeNestedCollection(_resource, _mapping, _resourceConfig) {
146
- throw new Error("Implement in an adapter");
147
- }
148
-
149
- routeMember(_resource, _mapping, _resourceConfig) {
150
- throw new Error("Implement in an adapter");
151
- }
152
-
153
- routeNestedMember(_resource, _mapping, _resourceConfig) {
154
- throw new Error("Implement in an adapter");
155
- }
156
-
157
- getActionPath(views, viewsFallback, action) {
158
- const packagePath = viewsFallback
159
- ? `${currentPath}/views/${viewsFallback}/${action}.ejs`
160
- : `${currentPath}/views/${views}/${action}.ejs`;
161
-
162
- const appPath = `${process.cwd()}/src/views/${views}/${action}.ejs`;
163
-
164
- return existsSync(appPath) ? appPath : packagePath;
165
- }
166
-
167
- getHelpers(viewHelpersConfig) {
168
- const t = new HTMLBuilder();
169
- const f = new FormBuilder();
170
-
171
- return {
172
- t,
173
- f,
174
- form_for: form_for(viewHelpersConfig),
175
- history,
176
- utils,
177
- sort_button,
178
- pagination,
179
- Inflector,
180
- };
181
- }
182
-
183
- async renderLayout(assigns, body) {
184
- const layoutTemplate = `${currentPath}/views/layouts/application.ejs`;
185
-
186
- return await ejs.renderFile(layoutTemplate, {
187
- ...assigns,
188
- body,
189
- });
190
- }
191
-
192
- renderPartial(assigns, views, viewsFallback) {
193
- return function render(relativePath, localAssigns) {
194
- const partialPath = getPartialPath(relativePath, views, viewsFallback);
195
-
196
- try {
197
- // Synchronously read the partial file as ejs does not support async/await
198
- const partialTemplate = readFileSync(partialPath, "utf8");
199
- const rendered = ejs.render(
200
- partialTemplate,
201
- {
202
- ...assigns,
203
- ...localAssigns,
204
- },
205
- { filename: partialPath }
206
- );
207
-
208
- return rendered;
209
- } catch (e) {
210
- const error = `Error rendering:\n ${partialPath}`;
211
- Logger.error(`${error}\n\n${e.stack}`);
212
-
213
- return renderError(error, e.stack);
214
- }
215
- };
216
- }
217
-
218
- async renderAction(
219
- { views, viewsFallback, action, assigns },
220
- viewHelpersConfig = {}
221
- ) {
222
- // Pick the parent here in the views so we can reuse stuff...
223
- const fullTemplatePath = this.getActionPath(views, viewsFallback, action);
224
- const renderAssigns = { ...this.getHelpers(viewHelpersConfig), ...assigns };
225
- const renderPartialHelper = this.renderPartial(
226
- renderAssigns,
227
- views,
228
- viewsFallback
229
- );
230
-
231
- try {
232
- // Synchronously read the full template file
233
- const template = readFileSync(fullTemplatePath, "utf8");
234
-
235
- // Render the full template with synchronous partial rendering
236
- const rendered = ejs.render(
237
- template,
238
- {
239
- ...renderAssigns,
240
- render_partial: renderPartialHelper,
241
- },
242
- { filename: fullTemplatePath }
243
- );
244
-
245
- const fullPage = this.renderLayout(renderAssigns, rendered);
246
-
247
- return fullPage;
248
- } catch (e) {
249
- const error = `Error rendering:\n ${fullTemplatePath}`;
250
- Logger.error(`${error}\n\n${e.stack}`);
251
-
252
- return renderError(error, e.stack);
253
- }
254
- }
255
-
256
- parseFormBody(body) {
257
- const result = {};
258
-
259
- for (const [key, value] of Object.entries(body)) {
260
- putIn(result, key, value);
261
- }
262
-
263
- return { ...result };
264
- }
265
- }
@@ -1,269 +0,0 @@
1
- import Adapter from "./Adapter";
2
- import Logger from "./Logger";
3
- import RaketaContext from "./RaketaContext";
4
- import setupAuthentication from "./setupAuthentication";
5
-
6
- async function parseBody(req) {
7
- switch (req.header("Content-type")) {
8
- case "multipart/form-data":
9
- case "application/x-www-form-urlencoded":
10
- return req.parseBody();
11
- case "application/json":
12
- return req.json();
13
- case "text/plain":
14
- return req.text();
15
- default:
16
- // That is an ok default for now
17
- return req.parseBody();
18
- }
19
- }
20
-
21
- function bodyToParams(req, parsedBody, adapter) {
22
- switch (req.header("Content-type")) {
23
- case "multipart/form-data":
24
- case "application/x-www-form-urlencoded":
25
- return adapter.parseFormBody(parsedBody);
26
- default:
27
- return parsedBody;
28
- }
29
- }
30
-
31
- export default class HonoAdapter extends Adapter {
32
- constructor(router, config) {
33
- super(router);
34
- this.globalCtx = (ctx) => ctx;
35
- this.router = router;
36
- this.globalConfig = config;
37
-
38
- // TODO: Pass in a path to redirect to after login?
39
- setupAuthentication(
40
- router,
41
- config
42
- );
43
-
44
- router.get("/", (c) => {
45
- return c.redirect("/en");
46
- });
47
- }
48
-
49
- setGlobalContext(globalCtx) {
50
- this.globalCtx = globalCtx;
51
- }
52
-
53
- async createContext(router, next, verb, resource, action) {
54
- const body = await parseBody(router.req);
55
-
56
- return new RaketaContext({
57
- router,
58
- res: next,
59
- req: router.req,
60
- method: verb,
61
- headers: router.req.header(),
62
- rawPath: router.req.routePath,
63
- path: router.req.path,
64
- url: router.req.url,
65
- action,
66
- params: router.req.param(),
67
- body,
68
- resourceParams: bodyToParams(router.req, body, this),
69
- query: this.formatQuery(router.req.queries()),
70
- resource,
71
- assigns: {},
72
- authentication: router.get("authentication"),
73
- getGlobalCtx: this.globalCtx,
74
- });
75
- }
76
-
77
- async createAction(
78
- [verb, path, resource, views, action, handler, before_filter, after_filter],
79
- resourceConfig
80
- ) {
81
- const method = this.getMethod(verb);
82
-
83
- Object.keys(this.globalConfig.i18n.locales).forEach((currentLocale) => {
84
- const completePath = `/${currentLocale}${path}`;
85
-
86
- // A terrible, terrible hack...
87
- // So how do we override for the entire handler.. do we need to completely override it, or just partially? Fun stuff?
88
- this.router.router.routes = this.router.router.routes.filter((route) => {
89
- return route[0] !== verb || route[1] !== completePath;
90
- });
91
-
92
- method(completePath, async (routerCtx, next) => {
93
- const ctx = await this.createContext(
94
- routerCtx,
95
- next,
96
- verb,
97
- resource,
98
- action
99
- );
100
-
101
- ctx.resourceConfig = resourceConfig;
102
- ctx.locales = this.globalConfig.i18n.locales;
103
- ctx.defaultLocale = this.globalConfig.i18n.defaultLocale;
104
- ctx.locale = currentLocale;
105
- ctx.remoteConfig = { ...this.globalConfig.remoteConfig };
106
- ctx.logger = Logger;
107
-
108
- const _context = {
109
- timezones: this.globalConfig.i18n.timezones,
110
- locales: ctx.locales,
111
- locale: ctx.locale,
112
- defaultLocale: ctx.defaultLocale,
113
- path: ctx.req.path,
114
- query: ctx.query || {},
115
- layout: {
116
- ...this.globalConfig.layout,
117
- },
118
- resourceConfig: resourceConfig,
119
- adminJwt: ctx.authentication.token,
120
- remoteConfig: { ...this.globalConfig.remoteConfig },
121
- globalConfig: this.globalConfig,
122
- };
123
-
124
- ctx.logger.info(
125
- `${ctx.method} "${ctx.rawPath}" -> ${resource}/${action} | ${JSON.stringify(ctx.params)}`
126
- );
127
-
128
- const assigns = {
129
- beforeFilterAssigns: {},
130
- actionAssigns: {},
131
- afterFilterAssigns: {},
132
- };
133
-
134
- // Initialize global context
135
- ctx.initGlobalContext();
136
-
137
- // Process before filters
138
- if (before_filter) {
139
- const {
140
- redirect,
141
- json,
142
- assigns: beforeFilterAssigns = {},
143
- } = before_filter(ctx) || {};
144
-
145
- if (redirect) return routerCtx.redirect(redirect);
146
-
147
- if (json) {
148
- return routerCtx.json(json);
149
- }
150
-
151
- assigns.beforeFilterAssigns = beforeFilterAssigns;
152
- }
153
-
154
- // Process action
155
- const {
156
- headers,
157
- redirect,
158
- json,
159
- assigns: actionAssigns = {},
160
- } = (await handler(ctx, resourceConfig)) || {};
161
- assigns.actionAssigns = actionAssigns;
162
-
163
- this.applyHeaders(headers, routerCtx);
164
-
165
- if (redirect) return routerCtx.redirect(redirect);
166
-
167
- // Process after filters
168
- if (after_filter) {
169
- const {
170
- redirect,
171
- json,
172
- assigns: afterFilterAssigns = {},
173
- } = after_filter(ctx) || {};
174
-
175
- if (redirect) return routerCtx.redirect(redirect);
176
-
177
- if (json) {
178
- return routerCtx.json(json);
179
- }
180
-
181
- assigns.afterFilterAssigns = afterFilterAssigns;
182
- }
183
-
184
- const fullAssigns = {
185
- ...ctx.assigns,
186
- ...assigns.beforeFilterAssigns,
187
- ...assigns.actionAssigns,
188
- ...assigns.afterFilterAssigns,
189
- _context: _context,
190
- };
191
-
192
- if (json) {
193
- return routerCtx.json(json);
194
- }
195
-
196
- const rendered = this.renderAction(
197
- {
198
- views: views,
199
- viewsFallback: resourceConfig.viewsFallback,
200
- action,
201
- assigns: fullAssigns,
202
- },
203
- this.globalConfig?.helpers || {}
204
- );
205
-
206
- return routerCtx.html(rendered);
207
- });
208
- });
209
- }
210
-
211
- routeCollection(mapping, resourceConfig) {
212
- mapping.forEach((handlerMap) =>
213
- this.createAction(handlerMap, resourceConfig)
214
- );
215
- }
216
-
217
- routeNestedCollection(mapping, resourceConfig) {
218
- mapping.forEach((handlerMap) =>
219
- this.createAction(handlerMap, resourceConfig)
220
- );
221
- }
222
-
223
- routeMember(mapping, resourceConfig) {
224
- mapping.forEach((handlerMap) =>
225
- this.createAction(handlerMap, resourceConfig)
226
- );
227
- }
228
-
229
- routeNestedMember(mapping, resourceConfig) {
230
- mapping.forEach((handlerMap) =>
231
- this.createAction(handlerMap, resourceConfig)
232
- );
233
- }
234
-
235
- getMethod(verb) {
236
- return (
237
- {
238
- GET: this.router.get,
239
- POST: this.router.post,
240
- PUT: this.router.put,
241
- DELETE: this.router.delete,
242
- }[verb] || this.router.get
243
- );
244
- }
245
-
246
- applyHeaders(headers, router) {
247
- if (!headers) {
248
- return;
249
- }
250
-
251
- for (const [key, value] of Object.entries(headers)) {
252
- router.header(key, value);
253
- }
254
- }
255
-
256
- formatQuery(queries) {
257
- const result = {};
258
-
259
- for (const [key, value] of Object.entries(queries)) {
260
- if (value.length === 1) {
261
- result[key] = value[0];
262
- } else {
263
- result[key] = value;
264
- }
265
- }
266
-
267
- return { ...result };
268
- }
269
- }
package/src/Logger.js DELETED
@@ -1,21 +0,0 @@
1
- import { inspect } from 'node:util';
2
-
3
-
4
- const dump = (item) => inspect(item, { depth: null }).replace(/^\'/, '').replace(/\'$/, '')
5
-
6
- const Logger = {
7
- error: (item) => {
8
- console.error('[ERROR]', dump(item));
9
- },
10
-
11
- info: (item) => {
12
- console.info('[INFO]', dump(item));
13
- },
14
-
15
- debug: (item) => {
16
- console.debug('[DEBUG]', dump(item));
17
- },
18
- }
19
-
20
- export default Logger;
21
-
@@ -1,46 +0,0 @@
1
- export default class RaketaContext {
2
- constructor({
3
- router,
4
- res,
5
- req,
6
- method,
7
- headers,
8
- rawPath,
9
- path,
10
- url,
11
- action,
12
- params,
13
- query,
14
- body,
15
- resourceParams,
16
- resource,
17
- assigns,
18
- authentication,
19
- getGlobalCtx,
20
- }) {
21
- this.router = router;
22
- this.res = res;
23
- this.req = req;
24
- this.method = method;
25
- this.headers = headers;
26
- this.rawPath = rawPath;
27
- this.path = path;
28
- this.url = url;
29
- this.action = action;
30
- this.params = params;
31
- this.query = query;
32
- this.body = body;
33
- this.resource = resource;
34
- this.resourceParams = resourceParams;
35
- this.assigns = assigns;
36
- this.authentication = authentication;
37
- this.getGlobalCtx = getGlobalCtx;
38
- }
39
-
40
- initGlobalContext() {
41
- const global = this.getGlobalCtx(this);
42
- for (const key in global) {
43
- this[key] = global[key];
44
- }
45
- }
46
- }
@@ -1,22 +0,0 @@
1
- export default function buildResourcePath({
2
- prefix_map,
3
- resource,
4
- resourceType,
5
- locale,
6
- defaultLocale,
7
- }) {
8
- const prefix = prefix_map[resourceType];
9
-
10
- if (!prefix) {
11
- throw new Error(`Unknown resource type: ${resourceType}`);
12
- }
13
-
14
- return [
15
- locale === defaultLocale ? "" : `/${locale}`,
16
- prefix,
17
- "/",
18
- resource.slug,
19
- ]
20
- .join("")
21
- .replace("//", "/");
22
- }