Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
[akkoma] / lib / pleroma / workers / transmogrifier.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Workers.Transmogrifier do
6 alias Pleroma.User
7
8 # Note: `max_attempts` is intended to be overridden in `new/1` call
9 use Oban.Worker,
10 queue: "transmogrifier",
11 max_attempts: Pleroma.Config.get([:workers, :retries, :compile_time_default])
12
13 @impl Oban.Worker
14 def perform(%{"op" => "user_upgrade", "user_id" => user_id}) do
15 user = User.get_by_id(user_id)
16 Pleroma.Web.ActivityPub.Transmogrifier.perform(:user_upgrade, user)
17 end
18 end