diff options
author | Maksim Pechnikov <parallel588@gmail.com> | 2019-12-04 21:18:05 +0300 |
---|---|---|
committer | Maksim Pechnikov <parallel588@gmail.com> | 2019-12-04 21:18:05 +0300 |
commit | 3c3bba0b7c65187b3270ef3402442cf870a55198 (patch) | |
tree | 1727e2999f8e957fc96a8fbd6e4bd1dd7676884a /lib | |
parent | c0d572d0bf842fae08c609aa58c82554bee3a263 (diff) | |
download | pleroma-3c3bba0b7c65187b3270ef3402442cf870a55198.tar.gz |
fix ScheduledActivity
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/scheduled_activity.ex | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/pleroma/scheduled_activity.ex b/lib/pleroma/scheduled_activity.ex index ea78dce6a..d01100702 100644 --- a/lib/pleroma/scheduled_activity.ex +++ b/lib/pleroma/scheduled_activity.ex @@ -119,11 +119,7 @@ defmodule Pleroma.ScheduledActivity do def create(%User{} = user, attrs) do Multi.new() |> Multi.insert(:scheduled_activity, new(user, attrs)) - |> Multi.run(:scheduled_activity_job, fn _repo, %{scheduled_activity: activity} -> - %{activity_id: activity.id} - |> ScheduledActivityWorker.new(scheduled_at: activity.scheduled_at) - |> Oban.insert() - end) + |> maybe_add_jobs(Config.get([ScheduledActivity, :enabled])) |> Repo.transaction() |> case do {:ok, %{scheduled_activity: scheduled_activity}} -> @@ -134,6 +130,17 @@ defmodule Pleroma.ScheduledActivity do end end + defp maybe_add_jobs(multi, true) do + multi + |> Multi.run(:scheduled_activity_job, fn _repo, %{scheduled_activity: activity} -> + %{activity_id: activity.id} + |> ScheduledActivityWorker.new(scheduled_at: activity.scheduled_at) + |> Oban.insert() + end) + end + + defp maybe_add_jobs(multi, _), do: multi + def get(%User{} = user, scheduled_activity_id) do ScheduledActivity |> where(user_id: ^user.id) |