scope "/api/v1/akkoma", Pleroma.Web.AkkomaAPI do
pipe_through(:authenticated_api)
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
+ )
end
scope "/api/v1", Pleroma.Web.MastodonAPI do
post("/accounts/:id/mute", AccountController, :mute)
post("/accounts/:id/unmute", AccountController, :unmute)
post("/accounts/:id/note", AccountController, :note)
+ post("/accounts/:id/remove_from_followers", AccountController, :remove_from_followers)
get("/conversations", ConversationController, :index)
post("/conversations/:id/read", ConversationController, :mark_as_read)
get("/announcements", AnnouncementController, :index)
post("/announcements/:id/dismiss", AnnouncementController, :mark_read)
+
+ get("/tags/:id", TagController, :show)
+ post("/tags/:id/follow", TagController, :follow)
+ post("/tags/:id/unfollow", TagController, :unfollow)
end
scope "/api/web", Pleroma.Web do
get("/users/:nickname/feed", Feed.UserController, :feed, as: :user_feed)
end
+ scope "/", Pleroma.Web.StaticFE do
+ # Profile pages for static-fe
+ get("/users/:nickname/with_replies", StaticFEController, :show)
+ get("/users/:nickname/media", StaticFEController, :show)
+ end
+
scope "/", Pleroma.Web do
pipe_through(:accepts_html)
get("/notice/:id/embed_player", OStatus.OStatusController, :notice_player)
post("/users/:nickname/outbox", ActivityPubController, :update_outbox)
post("/api/ap/upload_media", ActivityPubController, :upload_media)
+ get("/users/:nickname/collections/featured", ActivityPubController, :pinned)
+ end
+
+ scope "/", Pleroma.Web.ActivityPub do
+ # Note: html format is supported only if static FE is enabled
+ pipe_through([:accepts_html_json, :static_fe, :activitypub_client])
+
# The following two are S2S as well, see `ActivityPub.fetch_follow_information_for_user/1`:
get("/users/:nickname/followers", ActivityPubController, :followers)
get("/users/:nickname/following", ActivityPubController, :following)
- get("/users/:nickname/collections/featured", ActivityPubController, :pinned)
end
scope "/", Pleroma.Web.ActivityPub do