+ scope "/api/v1", Pleroma.Web.PleromaAPI do
+ pipe_through(:authenticated_api)
+ put("/statuses/:id/emoji_reactions/:emoji", EmojiReactionController, :create)
+ end
+
+ scope "/akkoma/", Pleroma.Web.AkkomaAPI do
+ pipe_through(:browser)
+
+ get("/frontend", FrontendSwitcherController, :switch)
+ post("/frontend", FrontendSwitcherController, :do_switch)
+ end
+
+ scope "/api/v1/akkoma", Pleroma.Web.AkkomaAPI do
+ pipe_through(:api)
+
+ get(
+ "/api/v1/akkoma/preferred_frontend/available",
+ FrontendSettingsController,
+ :available_frontends
+ )
+
+ put(
+ "/api/v1/akkoma/preferred_frontend",
+ FrontendSettingsController,
+ :update_preferred_frontend
+ )
+ end
+
+ scope "/api/v1/akkoma", Pleroma.Web.AkkomaAPI do
+ pipe_through(:authenticated_api)
+ get("/metrics", MetricsController, :show)
+ get("/translation/languages", TranslationController, :languages)
+
+ get("/frontend_settings/:frontend_name", FrontendSettingsController, :list_profiles)
+
+ get(
+ "/frontend_settings/:frontend_name/:profile_name",
+ FrontendSettingsController,
+ :get_profile
+ )
+
+ put(
+ "/frontend_settings/:frontend_name/:profile_name",
+ FrontendSettingsController,
+ :update_profile
+ )
+
+ delete(
+ "/frontend_settings/:frontend_name/:profile_name",
+ FrontendSettingsController,
+ :delete_profile
+ )