Skip to content
GitLab
Menu
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
e0b8c0cc
Commit
e0b8c0cc
authored
Sep 10, 2018
by
kaniini
Browse files
MRF: reject non-public: use pattern match to remove unnecessary if block
parent
88094c26
Pipeline
#3702
passed with stages
in 6 minutes and 8 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/activity_pub/mrf/reject_non_public.ex
View file @
e0b8c0cc
...
...
@@ -7,43 +7,42 @@ defmodule Pleroma.Web.ActivityPub.MRF.RejectNonPublic do
@allow_direct
Keyword
.
get
(
@mrf_rejectnonpublic
,
:allow_direct
)
@impl
true
def
filter
(
object
)
do
if
object
[
"type"
]
==
"Create"
do
user
=
User
.
get_cached_by_ap_id
(
object
[
"actor"
])
public
=
"https://www.w3.org/ns/activitystreams#Public"
# Determine visibility
visibility
=
cond
do
public
in
object
[
"to"
]
->
"public"
public
in
object
[
"cc"
]
->
"unlisted"
user
.
follower_address
in
object
[
"to"
]
->
"followers"
true
->
"direct"
end
def
filter
(%{
"type"
=>
"Create"
}
=
object
)
do
user
=
User
.
get_cached_by_ap_id
(
object
[
"actor"
])
public
=
"https://www.w3.org/ns/activitystreams#Public"
case
visibility
do
"public"
->
{
:ok
,
object
}
# Determine visibility
visibility
=
cond
do
public
in
object
[
"to"
]
->
"public"
public
in
object
[
"cc"
]
->
"unlisted"
user
.
follower_address
in
object
[
"to"
]
->
"followers"
true
->
"direct"
end
"unlisted"
->
case
visibility
do
"public"
->
{
:ok
,
object
}
"unlisted"
->
{
:ok
,
object
}
"followers"
->
with
true
<-
@allow_followersonly
do
{
:ok
,
object
}
else
_e
->
{
:reject
,
nil
}
end
"followers"
->
with
true
<-
@allow_followersonly
do
{
:ok
,
object
}
else
_e
->
{
:reject
,
nil
}
end
"direct"
->
with
true
<-
@allow_direct
do
{
:ok
,
object
}
else
_e
->
{
:reject
,
nil
}
end
end
else
{
:ok
,
object
}
"direct"
->
with
true
<-
@allow_direct
do
{
:ok
,
object
}
else
_e
->
{
:reject
,
nil
}
end
end
end
@impl
true
def
filter
(
object
),
do
:
{
:ok
,
object
}
end
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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