[#468] Merged `upstream/develop`.
authorIvan Tashkinov <ivantashkinov@gmail.com>
Wed, 20 Feb 2019 13:48:59 +0000 (16:48 +0300)
committerIvan Tashkinov <ivantashkinov@gmail.com>
Wed, 20 Feb 2019 13:48:59 +0000 (16:48 +0300)
1  2 
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
lib/pleroma/web/router.ex
test/web/mastodon_api/mastodon_api_controller_test.exs

index 421fb075a4d429a7502cdd54874eb80b2855ccc6,158a62af39e8d514369fdedb797d5130df83d7a2..562e24ad9497cf143e3be5381ea5631b062e76e4
@@@ -194,106 -160,87 +196,106 @@@ defmodule Pleroma.Web.Router d
    scope "/api/v1", Pleroma.Web.MastodonAPI do
      pipe_through(:authenticated_api)
  
 -    patch("/accounts/update_credentials", MastodonAPIController, :update_credentials)
 -    get("/accounts/verify_credentials", MastodonAPIController, :verify_credentials)
 -    get("/accounts/relationships", MastodonAPIController, :relationships)
 -    get("/accounts/search", MastodonAPIController, :account_search)
 -    post("/accounts/:id/follow", MastodonAPIController, :follow)
 -    post("/accounts/:id/unfollow", MastodonAPIController, :unfollow)
 -    post("/accounts/:id/block", MastodonAPIController, :block)
 -    post("/accounts/:id/unblock", MastodonAPIController, :unblock)
 -    post("/accounts/:id/mute", MastodonAPIController, :mute)
 -    post("/accounts/:id/unmute", MastodonAPIController, :unmute)
 -    get("/accounts/:id/lists", MastodonAPIController, :account_lists)
 +    scope [] do
 +      pipe_through(:oauth_read)
 +
 +      get("/accounts/verify_credentials", MastodonAPIController, :verify_credentials)
 +
 +      get("/accounts/relationships", MastodonAPIController, :relationships)
 +      get("/accounts/search", MastodonAPIController, :account_search)
 +
 +      get("/accounts/:id/lists", MastodonAPIController, :account_lists)
 +
 +      get("/follow_requests", MastodonAPIController, :follow_requests)
 +      get("/blocks", MastodonAPIController, :blocks)
-       get("/mutes", MastodonAPIController, :empty_array)
++      get("/mutes", MastodonAPIController, :mutes)
 +
 +      get("/timelines/home", MastodonAPIController, :home_timeline)
 +      get("/timelines/direct", MastodonAPIController, :dm_timeline)
 +
 +      get("/favourites", MastodonAPIController, :favourites)
 +      get("/bookmarks", MastodonAPIController, :bookmarks)
  
 -    get("/follow_requests", MastodonAPIController, :follow_requests)
 -    post("/follow_requests/:id/authorize", MastodonAPIController, :authorize_follow_request)
 -    post("/follow_requests/:id/reject", MastodonAPIController, :reject_follow_request)
 +      post("/notifications/clear", MastodonAPIController, :clear_notifications)
 +      post("/notifications/dismiss", MastodonAPIController, :dismiss_notification)
 +      get("/notifications", MastodonAPIController, :notifications)
 +      get("/notifications/:id", MastodonAPIController, :get_notification)
  
 -    post("/follows", MastodonAPIController, :follow)
 +      get("/lists", MastodonAPIController, :get_lists)
 +      get("/lists/:id", MastodonAPIController, :get_list)
 +      get("/lists/:id/accounts", MastodonAPIController, :list_accounts)
  
 -    get("/blocks", MastodonAPIController, :blocks)
 +      get("/domain_blocks", MastodonAPIController, :domain_blocks)
  
 -    get("/mutes", MastodonAPIController, :mutes)
 +      get("/filters", MastodonAPIController, :get_filters)
  
 -    get("/timelines/home", MastodonAPIController, :home_timeline)
 +      get("/suggestions", MastodonAPIController, :suggestions)
  
 -    get("/timelines/direct", MastodonAPIController, :dm_timeline)
 +      get("/endorsements", MastodonAPIController, :empty_array)
  
 -    get("/favourites", MastodonAPIController, :favourites)
 -    get("/bookmarks", MastodonAPIController, :bookmarks)
 +      get("/pleroma/flavour", MastodonAPIController, :get_flavour)
 +    end
 +
 +    scope [] do
 +      pipe_through(:oauth_write)
 +
 +      patch("/accounts/update_credentials", MastodonAPIController, :update_credentials)
  
 -    post("/statuses", MastodonAPIController, :post_status)
 -    delete("/statuses/:id", MastodonAPIController, :delete_status)
 +      post("/statuses", MastodonAPIController, :post_status)
 +      delete("/statuses/:id", MastodonAPIController, :delete_status)
  
 -    post("/statuses/:id/reblog", MastodonAPIController, :reblog_status)
 -    post("/statuses/:id/unreblog", MastodonAPIController, :unreblog_status)
 -    post("/statuses/:id/favourite", MastodonAPIController, :fav_status)
 -    post("/statuses/:id/unfavourite", MastodonAPIController, :unfav_status)
 -    post("/statuses/:id/pin", MastodonAPIController, :pin_status)
 -    post("/statuses/:id/unpin", MastodonAPIController, :unpin_status)
 -    post("/statuses/:id/bookmark", MastodonAPIController, :bookmark_status)
 -    post("/statuses/:id/unbookmark", MastodonAPIController, :unbookmark_status)
 -    post("/statuses/:id/mute", MastodonAPIController, :mute_conversation)
 -    post("/statuses/:id/unmute", MastodonAPIController, :unmute_conversation)
 +      post("/statuses/:id/reblog", MastodonAPIController, :reblog_status)
 +      post("/statuses/:id/unreblog", MastodonAPIController, :unreblog_status)
 +      post("/statuses/:id/favourite", MastodonAPIController, :fav_status)
 +      post("/statuses/:id/unfavourite", MastodonAPIController, :unfav_status)
 +      post("/statuses/:id/pin", MastodonAPIController, :pin_status)
 +      post("/statuses/:id/unpin", MastodonAPIController, :unpin_status)
 +      post("/statuses/:id/bookmark", MastodonAPIController, :bookmark_status)
 +      post("/statuses/:id/unbookmark", MastodonAPIController, :unbookmark_status)
 +      post("/statuses/:id/mute", MastodonAPIController, :mute_conversation)
 +      post("/statuses/:id/unmute", MastodonAPIController, :unmute_conversation)
  
 -    post("/notifications/clear", MastodonAPIController, :clear_notifications)
 -    post("/notifications/dismiss", MastodonAPIController, :dismiss_notification)
 -    get("/notifications", MastodonAPIController, :notifications)
 -    get("/notifications/:id", MastodonAPIController, :get_notification)
 +      post("/media", MastodonAPIController, :upload)
 +      put("/media/:id", MastodonAPIController, :update_media)
  
 -    post("/media", MastodonAPIController, :upload)
 -    put("/media/:id", MastodonAPIController, :update_media)
 +      delete("/lists/:id", MastodonAPIController, :delete_list)
 +      post("/lists", MastodonAPIController, :create_list)
 +      put("/lists/:id", MastodonAPIController, :rename_list)
  
 -    get("/lists", MastodonAPIController, :get_lists)
 -    get("/lists/:id", MastodonAPIController, :get_list)
 -    delete("/lists/:id", MastodonAPIController, :delete_list)
 -    post("/lists", MastodonAPIController, :create_list)
 -    put("/lists/:id", MastodonAPIController, :rename_list)
 -    get("/lists/:id/accounts", MastodonAPIController, :list_accounts)
 -    post("/lists/:id/accounts", MastodonAPIController, :add_to_list)
 -    delete("/lists/:id/accounts", MastodonAPIController, :remove_from_list)
 +      post("/lists/:id/accounts", MastodonAPIController, :add_to_list)
 +      delete("/lists/:id/accounts", MastodonAPIController, :remove_from_list)
  
 -    get("/domain_blocks", MastodonAPIController, :domain_blocks)
 -    post("/domain_blocks", MastodonAPIController, :block_domain)
 -    delete("/domain_blocks", MastodonAPIController, :unblock_domain)
 +      post("/filters", MastodonAPIController, :create_filter)
 +      get("/filters/:id", MastodonAPIController, :get_filter)
 +      put("/filters/:id", MastodonAPIController, :update_filter)
 +      delete("/filters/:id", MastodonAPIController, :delete_filter)
 +
 +      post("/pleroma/flavour/:flavour", MastodonAPIController, :set_flavour)
 +    end
  
 -    get("/filters", MastodonAPIController, :get_filters)
 -    post("/filters", MastodonAPIController, :create_filter)
 -    get("/filters/:id", MastodonAPIController, :get_filter)
 -    put("/filters/:id", MastodonAPIController, :update_filter)
 -    delete("/filters/:id", MastodonAPIController, :delete_filter)
 +    scope [] do
 +      pipe_through(:oauth_follow)
  
 -    post("/push/subscription", MastodonAPIController, :create_push_subscription)
 -    get("/push/subscription", MastodonAPIController, :get_push_subscription)
 -    put("/push/subscription", MastodonAPIController, :update_push_subscription)
 -    delete("/push/subscription", MastodonAPIController, :delete_push_subscription)
 +      post("/follows", MastodonAPIController, :follow)
 +      post("/accounts/:id/follow", MastodonAPIController, :follow)
  
 -    get("/suggestions", MastodonAPIController, :suggestions)
 +      post("/accounts/:id/unfollow", MastodonAPIController, :unfollow)
 +      post("/accounts/:id/block", MastodonAPIController, :block)
 +      post("/accounts/:id/unblock", MastodonAPIController, :unblock)
-       post("/accounts/:id/mute", MastodonAPIController, :relationship_noop)
-       post("/accounts/:id/unmute", MastodonAPIController, :relationship_noop)
++      post("/accounts/:id/mute", MastodonAPIController, :mute)
++      post("/accounts/:id/unmute", MastodonAPIController, :unmute)
  
 -    get("/endorsements", MastodonAPIController, :empty_array)
 +      post("/follow_requests/:id/authorize", MastodonAPIController, :authorize_follow_request)
 +      post("/follow_requests/:id/reject", MastodonAPIController, :reject_follow_request)
  
 -    post("/pleroma/flavour/:flavour", MastodonAPIController, :set_flavour)
 -    get("/pleroma/flavour", MastodonAPIController, :get_flavour)
 +      post("/domain_blocks", MastodonAPIController, :block_domain)
 +      delete("/domain_blocks", MastodonAPIController, :unblock_domain)
 +
 +      post("/push/subscription", MastodonAPIController, :create_push_subscription)
 +      get("/push/subscription", MastodonAPIController, :get_push_subscription)
 +      put("/push/subscription", MastodonAPIController, :update_push_subscription)
 +      delete("/push/subscription", MastodonAPIController, :delete_push_subscription)
 +    end
    end
  
    scope "/api/web", Pleroma.Web.MastodonAPI do