def get_follow_requests_query(%User{} = user) do
from(
a in Activity,
- where: fragment(
- "? ->> 'type' = 'Follow'",
- a.data
- ),
- where: fragment(
- "? ->> 'state' = 'pending'",
- a.data
- ),
- where: fragment(
- "? @> ?",
- a.data,
- ^%{"object" => user.ap_id}
- )
+ where:
+ fragment(
+ "? ->> 'type' = 'Follow'",
+ a.data
+ ),
+ where:
+ fragment(
+ "? ->> 'state' = 'pending'",
+ a.data
+ ),
+ where:
+ fragment(
+ "? @> ?",
+ a.data,
+ ^%{"object" => user.ap_id}
+ )
)
end
reqs = Repo.all(q)
users =
- Enum.map(reqs, fn (req) -> req.actor end)
- |> Enum.uniq
- |> Enum.map(fn (ap_id) -> get_by_ap_id(ap_id) end)
+ Enum.map(reqs, fn req -> req.actor end)
+ |> Enum.uniq()
+ |> Enum.map(fn ap_id -> get_by_ap_id(ap_id) end)
{:ok, users}
end
%User{} = follower <- User.get_or_fetch_by_ap_id(follower),
{:ok, activity} <- ActivityPub.follow(follower, followed, id, false) do
if not User.locked?(followed) do
- ActivityPub.accept(%{to: [follower.ap_id], actor: followed.ap_id, object: data, local: true})
+ ActivityPub.accept(%{
+ to: [follower.ap_id],
+ actor: followed.ap_id,
+ object: data,
+ local: true
+ })
+
User.follow(follower, followed)
end
@doc """
Makes a follow activity data for the given follower and followed
"""
- def make_follow_data(%User{ap_id: follower_id}, %User{ap_id: followed_id} = followed, activity_id) do
+ def make_follow_data(
+ %User{ap_id: follower_id},
+ %User{ap_id: followed_id} = followed,
+ activity_id
+ ) do
data = %{
"type" => "Follow",
"actor" => follower_id,