From 4ceb3beb359bb1c3878d86cc78992f1d504cdba8 Mon Sep 17 00:00:00 2001 From: Liam Date: Wed, 5 Feb 2025 14:34:14 -0500 Subject: [PATCH] Add reindex_after_update helper to comments, images, tags contexts --- lib/philomena/comments.ex | 23 ++++++++++++++--------- lib/philomena/images.ex | 17 ++++++++++++++++- lib/philomena/tags.ex | 7 ++++++- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/lib/philomena/comments.ex b/lib/philomena/comments.ex index f7db9dfc..b4b29fc8 100644 --- a/lib/philomena/comments.ex +++ b/lib/philomena/comments.ex @@ -166,15 +166,7 @@ defmodule Philomena.Comments do comment |> Comment.unhide_changeset() |> Repo.update() - |> case do - {:ok, comment} -> - reindex_comment(comment) - - {:ok, comment} - - error -> - error - end + |> reindex_after_update() end @doc """ @@ -190,6 +182,19 @@ defmodule Philomena.Comments do comment |> Comment.destroy_changeset() |> Repo.update() + |> reindex_after_update() + end + + defp reindex_after_update(result) do + case result do + {:ok, comment} -> + reindex_comment(comment) + + {:ok, comment} + + error -> + error + end end @doc """ diff --git a/lib/philomena/images.ex b/lib/philomena/images.ex index 3d69ab99..b0537e34 100644 --- a/lib/philomena/images.ex +++ b/lib/philomena/images.ex @@ -289,6 +289,7 @@ defmodule Philomena.Images do image |> Image.lock_comments_changeset(locked) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -304,6 +305,7 @@ defmodule Philomena.Images do image |> Image.lock_description_changeset(locked) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -319,6 +321,7 @@ defmodule Philomena.Images do image |> Image.lock_tags_changeset(locked) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -335,6 +338,7 @@ defmodule Philomena.Images do image |> Image.remove_hash_changeset() |> Repo.update() + |> reindex_after_update() end @doc """ @@ -350,6 +354,7 @@ defmodule Philomena.Images do image |> Image.scratchpad_changeset(attrs) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -366,6 +371,7 @@ defmodule Philomena.Images do |> Repo.preload(:source_changes) |> Image.remove_source_history_changeset() |> Repo.update() + |> reindex_after_update() end @doc """ @@ -447,6 +453,7 @@ defmodule Philomena.Images do image |> Image.changeset(attrs) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -462,6 +469,7 @@ defmodule Philomena.Images do image |> Image.description_changeset(attrs) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -570,6 +578,7 @@ defmodule Philomena.Images do |> Repo.preload(:locked_tags) |> Image.locked_tags_changeset(attrs, new_tags) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -751,6 +760,7 @@ defmodule Philomena.Images do image |> Image.uploader_changeset(attrs) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -766,6 +776,7 @@ defmodule Philomena.Images do image |> Image.anonymous_changeset(attrs) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -784,7 +795,11 @@ defmodule Philomena.Images do image |> Image.hide_reason_changeset(attrs) |> Repo.update() - |> case do + |> reindex_after_update() + end + + defp reindex_after_update(result) do + case result do {:ok, image} -> reindex_image(image) diff --git a/lib/philomena/tags.ex b/lib/philomena/tags.ex index 7a9a79b6..11595f3a 100644 --- a/lib/philomena/tags.ex +++ b/lib/philomena/tags.ex @@ -176,7 +176,11 @@ defmodule Philomena.Tags do tag |> Tag.changeset(attrs, implied_tags) |> Repo.update() - |> case do + |> reindex_after_update() + end + + defp reindex_after_update(result) do + case result do {:ok, tag} -> reindex_tag(tag) @@ -483,6 +487,7 @@ defmodule Philomena.Tags do |> case do {:ok, _} = result -> reindex_tag_images(former_alias) + reindex_tags([tag, former_alias]) result