clacks/lib/clacks/worker/federate.ex

16 lines
429 B
Elixir

defmodule Clacks.Worker.Federate do
use Oban.Worker, queue: :federate
alias Clacks.{Repo, Activity, Actor, ActivityPub}
@impl Oban.Worker
require Logger
def perform(%{"id" => activity_id, "actor_id" => actor_id}, _job) do
%Activity{data: activity_data} = Repo.get(Activity, activity_id)
actor = Repo.get(Actor, actor_id)
:ok = ActivityPub.Federator.federate_to_followers(activity_data, actor)
end
end