diff options
author | lain <lain@soykaf.club> | 2020-05-30 10:02:37 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-05-30 10:02:37 +0000 |
commit | b004c427a073f0f5f187f5978de416c0fae96ab8 (patch) | |
tree | 456379716d00caf1dc5f4f77e31adba709666e2b /lib | |
parent | d23b3701d8f1341f3e4565d35ffa0c25b83af51d (diff) | |
parent | 6d4b80822b15f5958518f4c6006862fb1f92354a (diff) | |
download | pleroma-b004c427a073f0f5f187f5978de416c0fae96ab8.tar.gz |
Merge branch 'conversation-pagination' into 'develop'
Conversation pagination
See merge request pleroma/pleroma!2601
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/mastodon_api/controllers/conversation_controller.ex | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/pleroma/web/mastodon_api/controllers/conversation_controller.ex b/lib/pleroma/web/mastodon_api/controllers/conversation_controller.ex index f35ec3596..69f0e3846 100644 --- a/lib/pleroma/web/mastodon_api/controllers/conversation_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/conversation_controller.ex @@ -21,6 +21,7 @@ defmodule Pleroma.Web.MastodonAPI.ConversationController do @doc "GET /api/v1/conversations" def index(%{assigns: %{user: user}} = conn, params) do + params = stringify_pagination_params(params) participations = Participation.for_user_with_last_activity_id(user, params) conn @@ -36,4 +37,20 @@ defmodule Pleroma.Web.MastodonAPI.ConversationController do render(conn, "participation.json", participation: participation, for: user) end end + + defp stringify_pagination_params(params) do + atom_keys = + Pleroma.Pagination.page_keys() + |> Enum.map(&String.to_atom(&1)) + + str_keys = + params + |> Map.take(atom_keys) + |> Enum.map(fn {key, value} -> {to_string(key), value} end) + |> Enum.into(%{}) + + params + |> Map.delete(atom_keys) + |> Map.merge(str_keys) + end end |