query
end
+ query = if opts["actor_id"] do
+ from activity in query,
+ where: fragment("? @> ?", activity.data, ^%{actor: opts["actor_id"]})
+ else
+ query
+ end
+
Repo.all(query)
|> Enum.reverse
end
Repo.all(query)
end
- def upload(%Plug.Upload{} = file) do
+ def fetch_latest_follow(%User{ap_id: follower_id},
+ %User{ap_id: followed_id}) do
+ query = from activity in Activity,
+ where: fragment("? @> ?", activity.data, ^%{type: "Follow", actor: follower_id,
+ object: followed_id}),
+ order_by: [desc: :inserted_at],
+ limit: 1
+ Repo.one(query)
+ end
+
+ def upload(file) do
data = Upload.store(file)
Repo.insert(%Object{data: data})
end