From ccc788a9dad686cf226c4cb06bf561f695482747 Mon Sep 17 00:00:00 2001 From: "byte[]" Date: Sun, 6 Sep 2020 13:30:28 -0400 Subject: [PATCH] ensure subscriptions are carried over on merge --- lib/philomena/images.ex | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/philomena/images.ex b/lib/philomena/images.ex index e694b1ff..dcdc6d87 100644 --- a/lib/philomena/images.ex +++ b/lib/philomena/images.ex @@ -415,6 +415,9 @@ defmodule Philomena.Images do |> Multi.run(:migrate_comments, fn _, %{} -> {:ok, Comments.migrate_comments(image, duplicate_of_image)} end) + |> Multi.run(:migrate_subscriptions, fn _, %{} -> + {:ok, migrate_subscriptions(image, duplicate_of_image)} + end) |> Multi.run(:migrate_interactions, fn _, %{} -> {:ok, Interactions.migrate_interactions(image, duplicate_of_image)} end) @@ -706,7 +709,7 @@ defmodule Philomena.Images do end @doc """ - Deletes a Subscription. + Deletes a subscription. ## Examples @@ -724,6 +727,12 @@ defmodule Philomena.Images do |> Repo.delete() end + def migrate_subscriptions(source, target) do + Subscription + |> where(image_id: ^source.id) + |> Repo.update_all(set: [image_id: target.id]) + end + def clear_notification(_image, nil), do: nil def clear_notification(image, user) do