forked from AkkomaGang/akkoma
Add back /api/qvitter/statuses/notifications/read.json
This commit is contained in:
parent
9cabc02864
commit
bd3ed3a622
2 changed files with 31 additions and 0 deletions
|
@ -495,6 +495,12 @@ defmodule Pleroma.Web.Router do
|
||||||
|
|
||||||
get("/oauth_tokens", TwitterAPI.Controller, :oauth_tokens)
|
get("/oauth_tokens", TwitterAPI.Controller, :oauth_tokens)
|
||||||
delete("/oauth_tokens/:id", TwitterAPI.Controller, :revoke_token)
|
delete("/oauth_tokens/:id", TwitterAPI.Controller, :revoke_token)
|
||||||
|
|
||||||
|
scope [] do
|
||||||
|
pipe_through(:oauth_read)
|
||||||
|
|
||||||
|
post("/qvitter/statuses/notifications/read", TwitterAPI.Controller, :notifications_read)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline :ap_service_actor do
|
pipeline :ap_service_actor do
|
||||||
|
|
|
@ -7,6 +7,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
|
||||||
|
|
||||||
alias Ecto.Changeset
|
alias Ecto.Changeset
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
|
alias Pleroma.Notification
|
||||||
alias Pleroma.Web.OAuth.Token
|
alias Pleroma.Web.OAuth.Token
|
||||||
alias Pleroma.Web.TwitterAPI.TokenView
|
alias Pleroma.Web.TwitterAPI.TokenView
|
||||||
|
|
||||||
|
@ -58,4 +59,28 @@ defp json_reply(conn, status, json) do
|
||||||
|> put_resp_content_type("application/json")
|
|> put_resp_content_type("application/json")
|
||||||
|> send_resp(status, json)
|
|> send_resp(status, json)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def notifications_read(%{assigns: %{user: user}} = conn, %{"latest_id" => latest_id} = params) do
|
||||||
|
Notification.set_read_up_to(user, latest_id)
|
||||||
|
|
||||||
|
notifications = Notification.for_user(user, params)
|
||||||
|
|
||||||
|
conn
|
||||||
|
# XXX: This is a hack because pleroma-fe still uses that API.
|
||||||
|
|> put_view(Pleroma.Web.MastodonAPI.NotificationView)
|
||||||
|
|> render("index.json", %{notifications: notifications, for: user})
|
||||||
|
end
|
||||||
|
|
||||||
|
def notifications_read(%{assigns: %{user: _user}} = conn, _) do
|
||||||
|
bad_request_reply(conn, "You need to specify latest_id")
|
||||||
|
end
|
||||||
|
|
||||||
|
defp bad_request_reply(conn, error_message) do
|
||||||
|
json = error_json(conn, error_message)
|
||||||
|
json_reply(conn, 400, json)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp error_json(conn, error_message) do
|
||||||
|
%{"error" => error_message, "request" => conn.request_path} |> Jason.encode!()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue