commit: 5ac67632384bfb284ac51f2a450d41cf3913378a
parent 102ebb42bdba1673da39a8fa8ed1662bc8565aa4
Author: Ekaterina Vaartis <vaartis@kotobank.ch>
Date: Sat, 27 Aug 2022 00:31:36 +0300
Make add_to_index and remove_from_index report errors
Diffstat:
3 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/lib/mix/tasks/pleroma/search/meilisearch.ex b/lib/mix/tasks/pleroma/search/meilisearch.ex
@@ -9,7 +9,7 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
import Ecto.Query
import Pleroma.Search.Meilisearch,
- only: [meili_post: 2, meili_put: 2, meili_get: 1, meili_delete!: 1]
+ only: [meili_post: 2, meili_put: 2, meili_get: 1, meili_delete: 1]
def run(["index"]) do
start_pleroma()
@@ -109,7 +109,7 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
def run(["clear"]) do
start_pleroma()
- meili_delete!("/indexes/objects/documents")
+ meili_delete("/indexes/objects/documents")
end
def run(["show-keys", master_key]) do
diff --git a/lib/pleroma/search/meilisearch.ex b/lib/pleroma/search/meilisearch.ex
@@ -62,17 +62,16 @@ defmodule Pleroma.Search.Meilisearch do
end
end
- def meili_delete!(path) do
+ def meili_delete(path) do
endpoint = Pleroma.Config.get([Pleroma.Search.Meilisearch, :url])
- {:ok, _} =
- Pleroma.HTTP.request(
- :delete,
- Path.join(endpoint, path),
- "",
- meili_headers(),
- []
- )
+ Pleroma.HTTP.request(
+ :delete,
+ Path.join(endpoint, path),
+ "",
+ meili_headers(),
+ []
+ )
end
@impl true
@@ -155,16 +154,22 @@ defmodule Pleroma.Search.Meilisearch do
with {:ok, res} <- result,
true <- Map.has_key?(res, "uid") do
- # Do nothing
+ # Added successfully
+ :ok
else
_ ->
+ # There was an error, report it
Logger.error("Failed to add activity #{activity.id} to index: #{inspect(result)}")
+ {:error, result}
end
+ else
+ # The post isn't something we can search, that's ok
+ :ok
end
end
@impl true
def remove_from_index(object) do
- meili_delete!("/indexes/objects/documents/#{object.id}")
+ meili_delete("/indexes/objects/documents/#{object.id}")
end
end
diff --git a/lib/pleroma/workers/search_indexing_worker.ex b/lib/pleroma/workers/search_indexing_worker.ex
@@ -9,8 +9,6 @@ defmodule Pleroma.Workers.SearchIndexingWorker do
search_module = Pleroma.Config.get([Pleroma.Search, :module])
search_module.add_to_index(activity)
-
- :ok
end
def perform(%Job{args: %{"op" => "remove_from_index", "object" => object_id}}) do
@@ -19,7 +17,5 @@ defmodule Pleroma.Workers.SearchIndexingWorker do
search_module = Pleroma.Config.get([Pleroma.Search, :module])
search_module.remove_from_index(object)
-
- :ok
end
end