mirror of
https://github.com/philomena-dev/philomena.git
synced 2025-02-20 04:14:23 +01:00
Merge pull request #415 from mdashlw/firehose-image-merges
Broadcast image merges to firehose
This commit is contained in:
commit
f8490085ff
1 changed files with 17 additions and 5 deletions
|
@ -877,6 +877,12 @@ defmodule Philomena.Images do
|
|||
def merge_image(multi \\ nil, %Image{} = image, duplicate_of_image, user) do
|
||||
multi = multi || Multi.new()
|
||||
|
||||
image =
|
||||
Repo.preload(image, [:user, :intensity, :sources, tags: :aliases])
|
||||
|
||||
duplicate_of_image =
|
||||
Repo.preload(duplicate_of_image, [:user, :intensity, :sources, tags: :aliases])
|
||||
|
||||
image
|
||||
|> Image.merge_changeset(duplicate_of_image)
|
||||
|> hide_image_multi(image, user, multi)
|
||||
|
@ -891,11 +897,7 @@ defmodule Philomena.Images do
|
|||
{:ok, Tags.copy_tags(image, duplicate_of_image)}
|
||||
end)
|
||||
|> Multi.run(:migrate_sources, fn repo, %{} ->
|
||||
{:ok,
|
||||
migrate_sources(
|
||||
repo.preload(image, [:sources]),
|
||||
repo.preload(duplicate_of_image, [:sources])
|
||||
)}
|
||||
{:ok, migrate_sources(image, duplicate_of_image)}
|
||||
end)
|
||||
|> Multi.run(:migrate_comments, fn _, %{} ->
|
||||
{:ok, Comments.migrate_comments(image, duplicate_of_image)}
|
||||
|
@ -914,6 +916,16 @@ defmodule Philomena.Images do
|
|||
reindex_image(duplicate_of_image)
|
||||
Comments.reindex_comments(duplicate_of_image)
|
||||
|
||||
PhilomenaWeb.Endpoint.broadcast!(
|
||||
"firehose",
|
||||
"image:merge",
|
||||
%{
|
||||
image: PhilomenaWeb.Api.Json.ImageView.render("image.json", %{image: image}),
|
||||
duplicate_of_image:
|
||||
PhilomenaWeb.Api.Json.ImageView.render("image.json", %{image: duplicate_of_image})
|
||||
}
|
||||
)
|
||||
|
||||
{:ok, result}
|
||||
|
||||
error ->
|
||||
|
|
Loading…
Reference in a new issue