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