From d567d5ffc0ae71a14fafeacdbaae8b2eac70cbc8 Mon Sep 17 00:00:00 2001 From: "byte[]" Date: Sat, 12 Dec 2020 16:51:11 -0500 Subject: [PATCH] gallery reindexing to context --- lib/philomena/galleries.ex | 13 +++++++++++++ lib/philomena_web/controllers/gallery_controller.ex | 5 ----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/philomena/galleries.ex b/lib/philomena/galleries.ex index e4fcf8e2..3119e3d2 100644 --- a/lib/philomena/galleries.ex +++ b/lib/philomena/galleries.ex @@ -49,6 +49,7 @@ defmodule Philomena.Galleries do %Gallery{} |> Gallery.creation_changeset(attrs, user) |> Repo.insert() + |> reindex_after_update() end @doc """ @@ -67,6 +68,7 @@ defmodule Philomena.Galleries do gallery |> Gallery.changeset(attrs) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -91,6 +93,7 @@ defmodule Philomena.Galleries do Repo.delete(gallery) |> case do {:ok, gallery} -> + unindex_gallery(gallery) Images.reindex_images(images) {:ok, gallery} @@ -119,6 +122,16 @@ defmodule Philomena.Galleries do Elasticsearch.update_by_query(Gallery, data.query, data.set_replacements, data.replacements) end + defp reindex_after_update({:ok, gallery}) do + reindex_gallery(gallery) + + {:ok, gallery} + end + + defp reindex_after_update(error) do + error + end + def reindex_gallery(%Gallery{} = gallery) do Exq.enqueue(Exq, "indexing", IndexWorker, ["Galleries", "id", [gallery.id]]) diff --git a/lib/philomena_web/controllers/gallery_controller.ex b/lib/philomena_web/controllers/gallery_controller.ex index 764c5e41..c526a0ca 100644 --- a/lib/philomena_web/controllers/gallery_controller.ex +++ b/lib/philomena_web/controllers/gallery_controller.ex @@ -106,8 +106,6 @@ defmodule PhilomenaWeb.GalleryController do case Galleries.create_gallery(user, gallery_params) do {:ok, gallery} -> - Galleries.reindex_gallery(gallery) - conn |> put_flash(:info, "Gallery successfully created.") |> redirect(to: Routes.gallery_path(conn, :show, gallery)) @@ -130,8 +128,6 @@ defmodule PhilomenaWeb.GalleryController do case Galleries.update_gallery(gallery, gallery_params) do {:ok, gallery} -> - Galleries.reindex_gallery(gallery) - conn |> put_flash(:info, "Gallery successfully updated.") |> redirect(to: Routes.gallery_path(conn, :show, gallery)) @@ -146,7 +142,6 @@ defmodule PhilomenaWeb.GalleryController do gallery = conn.assigns.gallery {:ok, _gallery} = Galleries.delete_gallery(gallery) - Galleries.unindex_gallery(gallery) conn |> put_flash(:info, "Gallery successfully destroyed.")