only_remote -> remote renaming
This commit is contained in:
parent
ba512cbea4
commit
fdf1dfed56
5 changed files with 29 additions and 31 deletions
|
@ -49,7 +49,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
- Admin API: An endpoint to manage frontends.
|
- Admin API: An endpoint to manage frontends.
|
||||||
- Streaming API: Add follow relationships updates.
|
- Streaming API: Add follow relationships updates.
|
||||||
- WebPush: Introduce `pleroma:chat_mention` and `pleroma:emoji_reaction` notification types.
|
- WebPush: Introduce `pleroma:chat_mention` and `pleroma:emoji_reaction` notification types.
|
||||||
- Mastodon API: Home, public, hashtag & list timelines accept `only_media`, `only_remote` & `local` parameters for filtration.
|
- Mastodon API: Home, public, hashtag & list timelines accept `only_media`, `remote` & `local` parameters for filtration.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
|
@ -20,7 +20,7 @@ Home, public, hashtag & list timelines accept these parameters:
|
||||||
|
|
||||||
- `only_media`: show only statuses with media attached
|
- `only_media`: show only statuses with media attached
|
||||||
- `local`: show only local statuses
|
- `local`: show only local statuses
|
||||||
- `only_remote`: show only remote statuses
|
- `remote`: show only remote statuses
|
||||||
|
|
||||||
## Statuses
|
## Statuses
|
||||||
|
|
||||||
|
|
|
@ -735,7 +735,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|
||||||
|
|
||||||
defp restrict_local(query, _), do: query
|
defp restrict_local(query, _), do: query
|
||||||
|
|
||||||
defp restrict_remote(query, %{only_remote: true}) do
|
defp restrict_remote(query, %{remote: true}) do
|
||||||
from(activity in query, where: activity.local == false)
|
from(activity in query, where: activity.local == false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ defmodule Pleroma.Web.ApiSpec.TimelineOperation do
|
||||||
security: [%{"oAuth" => ["read:statuses"]}],
|
security: [%{"oAuth" => ["read:statuses"]}],
|
||||||
parameters: [
|
parameters: [
|
||||||
local_param(),
|
local_param(),
|
||||||
only_remote_param(),
|
remote_param(),
|
||||||
only_media_param(),
|
only_media_param(),
|
||||||
with_muted_param(),
|
with_muted_param(),
|
||||||
exclude_visibilities_param(),
|
exclude_visibilities_param(),
|
||||||
|
@ -63,7 +63,7 @@ defmodule Pleroma.Web.ApiSpec.TimelineOperation do
|
||||||
local_param(),
|
local_param(),
|
||||||
instance_param(),
|
instance_param(),
|
||||||
only_media_param(),
|
only_media_param(),
|
||||||
only_remote_param(),
|
remote_param(),
|
||||||
with_muted_param(),
|
with_muted_param(),
|
||||||
exclude_visibilities_param(),
|
exclude_visibilities_param(),
|
||||||
reply_visibility_param() | pagination_params()
|
reply_visibility_param() | pagination_params()
|
||||||
|
@ -110,7 +110,7 @@ defmodule Pleroma.Web.ApiSpec.TimelineOperation do
|
||||||
),
|
),
|
||||||
local_param(),
|
local_param(),
|
||||||
only_media_param(),
|
only_media_param(),
|
||||||
only_remote_param(),
|
remote_param(),
|
||||||
with_muted_param(),
|
with_muted_param(),
|
||||||
exclude_visibilities_param() | pagination_params()
|
exclude_visibilities_param() | pagination_params()
|
||||||
],
|
],
|
||||||
|
@ -137,7 +137,7 @@ defmodule Pleroma.Web.ApiSpec.TimelineOperation do
|
||||||
),
|
),
|
||||||
with_muted_param(),
|
with_muted_param(),
|
||||||
local_param(),
|
local_param(),
|
||||||
only_remote_param(),
|
remote_param(),
|
||||||
only_media_param(),
|
only_media_param(),
|
||||||
exclude_visibilities_param() | pagination_params()
|
exclude_visibilities_param() | pagination_params()
|
||||||
],
|
],
|
||||||
|
@ -206,9 +206,9 @@ defmodule Pleroma.Web.ApiSpec.TimelineOperation do
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp only_remote_param do
|
defp remote_param do
|
||||||
Operation.parameter(
|
Operation.parameter(
|
||||||
:only_remote,
|
:remote,
|
||||||
:query,
|
:query,
|
||||||
%Schema{allOf: [BooleanLike], default: false},
|
%Schema{allOf: [BooleanLike], default: false},
|
||||||
"Show only remote statuses?"
|
"Show only remote statuses?"
|
||||||
|
|
|
@ -131,22 +131,22 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
refute remote_activity.id in only_local_media_ids
|
refute remote_activity.id in only_local_media_ids
|
||||||
assert with_media.id in only_local_media_ids
|
assert with_media.id in only_local_media_ids
|
||||||
|
|
||||||
only_remote_ids =
|
remote_ids =
|
||||||
conn
|
conn
|
||||||
|> get("/api/v1/timelines/home?only_remote=true")
|
|> get("/api/v1/timelines/home?remote=true")
|
||||||
|> json_response_and_validate_schema(200)
|
|> json_response_and_validate_schema(200)
|
||||||
|> Enum.map(& &1["id"])
|
|> Enum.map(& &1["id"])
|
||||||
|
|
||||||
refute local_activity.id in only_remote_ids
|
refute local_activity.id in remote_ids
|
||||||
assert remote_activity.id in only_remote_ids
|
assert remote_activity.id in remote_ids
|
||||||
refute with_media.id in only_remote_ids
|
refute with_media.id in remote_ids
|
||||||
|
|
||||||
assert conn
|
assert conn
|
||||||
|> get("/api/v1/timelines/home?only_remote=true&only_media=true")
|
|> get("/api/v1/timelines/home?remote=true&only_media=true")
|
||||||
|> json_response_and_validate_schema(200) == []
|
|> json_response_and_validate_schema(200) == []
|
||||||
|
|
||||||
assert conn
|
assert conn
|
||||||
|> get("/api/v1/timelines/home?only_remote=true&local=true")
|
|> get("/api/v1/timelines/home?remote=true&local=true")
|
||||||
|> json_response_and_validate_schema(200) == []
|
|> json_response_and_validate_schema(200) == []
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -210,7 +210,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
|
|
||||||
assert [%{"id" => ^remote_id}] =
|
assert [%{"id" => ^remote_id}] =
|
||||||
conn
|
conn
|
||||||
|> get("/api/v1/timelines/public?only_remote=true")
|
|> get("/api/v1/timelines/public?remote=true")
|
||||||
|> json_response_and_validate_schema(:ok)
|
|> json_response_and_validate_schema(:ok)
|
||||||
|
|
||||||
with_media_id = with_media.id
|
with_media_id = with_media.id
|
||||||
|
@ -221,7 +221,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
|> json_response_and_validate_schema(:ok)
|
|> json_response_and_validate_schema(:ok)
|
||||||
|
|
||||||
assert conn
|
assert conn
|
||||||
|> get("/api/v1/timelines/public?only_remote=true&only_media=true")
|
|> get("/api/v1/timelines/public?remote=true&only_media=true")
|
||||||
|> json_response_and_validate_schema(:ok) == []
|
|> json_response_and_validate_schema(:ok) == []
|
||||||
|
|
||||||
# does not contain repeats
|
# does not contain repeats
|
||||||
|
@ -657,7 +657,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
] = result
|
] = result
|
||||||
end
|
end
|
||||||
|
|
||||||
test "filering", %{user: user, conn: conn} do
|
test "filtering", %{user: user, conn: conn} do
|
||||||
{:ok, list} = Pleroma.List.create("name", user)
|
{:ok, list} = Pleroma.List.create("name", user)
|
||||||
|
|
||||||
local_user = insert(:user)
|
local_user = insert(:user)
|
||||||
|
@ -699,18 +699,18 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
assert with_media.id in only_local_media_ids
|
assert with_media.id in only_local_media_ids
|
||||||
refute remote_activity.id in only_local_media_ids
|
refute remote_activity.id in only_local_media_ids
|
||||||
|
|
||||||
only_remote_ids =
|
remote_ids =
|
||||||
conn
|
conn
|
||||||
|> get("/api/v1/timelines/list/#{list.id}?only_remote=true")
|
|> get("/api/v1/timelines/list/#{list.id}?remote=true")
|
||||||
|> json_response_and_validate_schema(200)
|
|> json_response_and_validate_schema(200)
|
||||||
|> Enum.map(& &1["id"])
|
|> Enum.map(& &1["id"])
|
||||||
|
|
||||||
refute local_activity.id in only_remote_ids
|
refute local_activity.id in remote_ids
|
||||||
refute with_media.id in only_remote_ids
|
refute with_media.id in remote_ids
|
||||||
assert remote_activity.id in only_remote_ids
|
assert remote_activity.id in remote_ids
|
||||||
|
|
||||||
assert conn
|
assert conn
|
||||||
|> get("/api/v1/timelines/list/#{list.id}?only_remote=true&only_media=true")
|
|> get("/api/v1/timelines/list/#{list.id}?remote=true&only_media=true")
|
||||||
|> json_response_and_validate_schema(200) == []
|
|> json_response_and_validate_schema(200) == []
|
||||||
|
|
||||||
only_media_ids =
|
only_media_ids =
|
||||||
|
@ -724,9 +724,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
refute remote_activity.id in only_media_ids
|
refute remote_activity.id in only_media_ids
|
||||||
|
|
||||||
assert conn
|
assert conn
|
||||||
|> get(
|
|> get("/api/v1/timelines/list/#{list.id}?only_media=true&local=true&remote=true")
|
||||||
"/api/v1/timelines/list/#{list.id}?only_media=true&local=true&only_remote=true"
|
|
||||||
)
|
|
||||||
|> json_response_and_validate_schema(200) == []
|
|> json_response_and_validate_schema(200) == []
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -777,7 +775,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
|
|
||||||
remote_ids =
|
remote_ids =
|
||||||
conn
|
conn
|
||||||
|> get("/api/v1/timelines/tag/2hu?only_remote=true")
|
|> get("/api/v1/timelines/tag/2hu?remote=true")
|
||||||
|> json_response_and_validate_schema(:ok)
|
|> json_response_and_validate_schema(:ok)
|
||||||
|> Enum.map(& &1["id"])
|
|> Enum.map(& &1["id"])
|
||||||
|
|
||||||
|
@ -807,7 +805,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
|
|
||||||
ids =
|
ids =
|
||||||
conn
|
conn
|
||||||
|> get("/api/v1/timelines/tag/2hu?only_media=true&local=true&only_remote=true")
|
|> get("/api/v1/timelines/tag/2hu?only_media=true&local=true&remote=true")
|
||||||
|> json_response_and_validate_schema(:ok)
|
|> json_response_and_validate_schema(:ok)
|
||||||
|> Enum.map(& &1["id"])
|
|> Enum.map(& &1["id"])
|
||||||
|
|
||||||
|
@ -816,7 +814,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
|
||||||
refute remote_activity.id in ids
|
refute remote_activity.id in ids
|
||||||
|
|
||||||
assert conn
|
assert conn
|
||||||
|> get("/api/v1/timelines/tag/2hu?only_media=true&only_remote=true")
|
|> get("/api/v1/timelines/tag/2hu?only_media=true&remote=true")
|
||||||
|> json_response_and_validate_schema(:ok) == []
|
|> json_response_and_validate_schema(:ok) == []
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue