23 lines
542 B
Elixir
23 lines
542 B
Elixir
|
defmodule Mobilizon.Service.Workers.ActivityBuilder do
|
||
|
@moduledoc """
|
||
|
Worker to insert activity items in users feeds
|
||
|
"""
|
||
|
|
||
|
alias Mobilizon.Activities
|
||
|
alias Mobilizon.Activities.Activity
|
||
|
|
||
|
use Mobilizon.Service.Workers.Helper, queue: "activity"
|
||
|
|
||
|
@impl Oban.Worker
|
||
|
def perform(%Job{args: args}) do
|
||
|
with {"build_activity", args} <- Map.pop(args, "op") do
|
||
|
build_activity(args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
@spec build_activity(map()) :: {:ok, Activity.t()}
|
||
|
def build_activity(args) do
|
||
|
Activities.create_activity(args)
|
||
|
end
|
||
|
end
|