diff options
author | lain <lain@soykaf.club> | 2018-11-13 20:08:50 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2018-11-13 20:08:50 +0100 |
commit | ea9a776d7beb32b157269652759b85cdc17fec32 (patch) | |
tree | 8dea3fd79044f7c3c41648cc702ea52c14ee68b3 /lib | |
parent | 2cf40237ff44cdb04b20546ca51efb671270dbc2 (diff) | |
download | pleroma-ea9a776d7beb32b157269652759b85cdc17fec32.tar.gz |
TwitterApi: Add direct message endpoint
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/router.ex | 1 | ||||
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api_controller.ex | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 06d0f0623..7384f054b 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -270,6 +270,7 @@ defmodule Pleroma.Web.Router do get("/statuses/friends_timeline", TwitterAPI.Controller, :friends_timeline) get("/statuses/mentions", TwitterAPI.Controller, :mentions_timeline) get("/statuses/mentions_timeline", TwitterAPI.Controller, :mentions_timeline) + get("/statuses/dm_timeline", TwitterAPI.Controller, :dm_timeline) get("/qvitter/statuses/notifications", TwitterAPI.Controller, :notifications) # XXX: this is really a pleroma API, but we want to keep the pleroma namespace clean diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index 727469a66..dfcafdcc9 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -126,6 +126,19 @@ defmodule Pleroma.Web.TwitterAPI.Controller do |> render(ActivityView, "index.json", %{activities: activities, for: user}) end + def dm_timeline(%{assigns: %{user: user}} = conn, params) do + query = + ActivityPub.fetch_activities_query( + [user.ap_id], + Map.merge(params, %{"type" => "Create", visibility: "direct"}) + ) + + activities = Repo.all(query) + + conn + |> render(ActivityView, "index.json", %{activities: activities, for: user}) + end + def notifications(%{assigns: %{user: user}} = conn, params) do notifications = Notification.for_user(user, params) |