16 lines
429 B
Elixir
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
|