Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
9b63647a
Commit
9b63647a
authored
Nov 02, 2017
by
lain
Browse files
MastoApi: Add blocking to fetches.
parent
d89a7a0b
Pipeline
#19
passed with stage
in 1 minute and 54 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
View file @
9b63647a
...
...
@@ -79,6 +79,7 @@ defp add_link_headers(conn, method, activities) do
def
home_timeline
(%{
assigns:
%{
user:
user
}}
=
conn
,
params
)
do
params
=
params
|>
Map
.
put
(
"type"
,
[
"Create"
,
"Announce"
])
|>
Map
.
put
(
"blocking_user"
,
user
)
activities
=
ActivityPub
.
fetch_activities
([
user
.
ap_id
|
user
.
following
],
params
)
|>
Enum
.
reverse
...
...
@@ -92,6 +93,7 @@ def public_timeline(%{assigns: %{user: user}} = conn, params) do
params
=
params
|>
Map
.
put
(
"type"
,
[
"Create"
,
"Announce"
])
|>
Map
.
put
(
"local_only"
,
!!params
[
"local"
])
|>
Map
.
put
(
"blocking_user"
,
user
)
activities
=
ActivityPub
.
fetch_public_activities
(
params
)
|>
Enum
.
reverse
...
...
@@ -123,7 +125,7 @@ def get_status(%{assigns: %{user: user}} = conn, %{"id" => id}) do
def
get_context
(%{
assigns:
%{
user:
user
}}
=
conn
,
%{
"id"
=>
id
})
do
with
%
Activity
{}
=
activity
<-
Repo
.
get
(
Activity
,
id
),
activities
<-
ActivityPub
.
fetch_activities_for_context
(
activity
.
data
[
"object"
][
"context"
]),
activities
<-
ActivityPub
.
fetch_activities_for_context
(
activity
.
data
[
"object"
][
"context"
]
,
%{
"blocking_user"
=>
user
}
),
activities
<-
activities
|>
Enum
.
filter
(
fn
(%{
id:
aid
})
->
to_string
(
aid
)
!=
to_string
(
id
)
end
),
grouped_activities
<-
Enum
.
group_by
(
activities
,
fn
(%{
id:
id
})
->
id
<
activity
.
id
end
)
do
result
=
%{
...
...
@@ -246,6 +248,7 @@ def hashtag_timeline(%{assigns: %{user: user}} = conn, params) do
params
=
params
|>
Map
.
put
(
"type"
,
"Create"
)
|>
Map
.
put
(
"local_only"
,
!!params
[
"local"
])
|>
Map
.
put
(
"blocking_user"
,
user
)
activities
=
ActivityPub
.
fetch_public_activities
(
params
)
|>
Enum
.
reverse
...
...
@@ -338,6 +341,7 @@ def favourites(%{assigns: %{user: user}} = conn, params) do
params
=
conn
|>
Map
.
put
(
"type"
,
"Create"
)
|>
Map
.
put
(
"favorited_by"
,
user
.
ap_id
)
|>
Map
.
put
(
"blocking_user"
,
user
)
activities
=
ActivityPub
.
fetch_activities
([],
params
)
|>
Enum
.
reverse
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment