Browse Source

Add hashtag filter to user statuses (GET /api/v1/accounts/:id/statuses)

tags/v1.1.4
Eugenij rinpatch 5 years ago
parent
commit
1f76740e10
3 changed files with 19 additions and 0 deletions
  1. +2
    -0
      CHANGELOG.md
  2. +4
    -0
      lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
  3. +13
    -0
      test/web/mastodon_api/mastodon_api_controller_test.exs

+ 2
- 0
CHANGELOG.md View File

@@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [Unreleased]
### Added
- MRF: Support for priming the mediaproxy cache (`Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy`)
- Mastodon API: Support for the [`tagged` filter](https://github.com/tootsuite/mastodon/pull/9755) in [`GET /api/v1/accounts/:id/statuses`](https://docs.joinmastodon.org/api/rest/accounts/#get-api-v1-accounts-id-statuses)

### Fixed
- Not being able to pin unlisted posts



+ 4
- 0
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex View File

@@ -356,6 +356,10 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do

def user_statuses(%{assigns: %{user: reading_user}} = conn, params) do
with %User{} = user <- User.get_cached_by_id(params["id"]) do
params =
params
|> Map.put("tag", params["tagged"])

activities = ActivityPub.fetch_user_activities(user, reading_user, params)

conn


+ 13
- 0
test/web/mastodon_api/mastodon_api_controller_test.exs View File

@@ -1408,6 +1408,19 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
assert [%{"id" => id}] = json_response(conn, 200)
assert id == to_string(post.id)
end

test "filters user's statuses by a hashtag", %{conn: conn} do
user = insert(:user)
{:ok, post} = CommonAPI.post(user, %{"status" => "#hashtag"})
{:ok, _post} = CommonAPI.post(user, %{"status" => "hashtag"})

conn =
conn
|> get("/api/v1/accounts/#{user.id}/statuses", %{"tagged" => "hashtag"})

assert [%{"id" => id}] = json_response(conn, 200)
assert id == to_string(post.id)
end
end

describe "user relationships" do


Loading…
Cancel
Save