Change the meilisearch key auth to conform to 0.25.0

This commit is contained in:
Ekaterina Vaartis 2022-03-22 20:29:17 +03:00
parent 79225d9b0a
commit 1e23f527e3
3 changed files with 12 additions and 10 deletions

View File

@ -47,15 +47,15 @@ you have to get the _private key_, which is actually used for authentication.
=== "OTP"
```sh
./bin/pleroma_ctl search.meilisearch show-private-key <your master key here>
./bin/pleroma_ctl search.meilisearch show-keys <your master key here>
```
=== "From Source"
```sh
mix pleroma.search.meilisearch show-private-key <your master key here>
mix pleroma.search.meilisearch show-keys <your master key here>
```
This is the key you actually put into your configuration file.
You will see a "Default Admin API Key", this is the key you actually put into your configuration file.
### Initial indexing

View File

@ -22,7 +22,7 @@ def run(["index"]) do
)
# The ranking rule syntax was changed but nothing about that is mentioned in the changelog
if not Version.match?(meili_version, ">= 0.24.0") do
if not Version.match?(meili_version, ">= 0.25.0") do
raise "Meilisearch <0.24.0 not supported"
end
@ -112,7 +112,7 @@ def run(["clear"]) do
meili_delete!("/indexes/objects/documents")
end
def run(["show-private-key", master_key]) do
def run(["show-keys", master_key]) do
start_pleroma()
endpoint = Pleroma.Config.get([Pleroma.Search.Meilisearch, :url])
@ -120,15 +120,17 @@ def run(["show-private-key", master_key]) do
{:ok, result} =
Pleroma.HTTP.get(
Path.join(endpoint, "/keys"),
[{"X-Meili-API-Key", master_key}]
[{"Authorization", "Bearer #{master_key}"}]
)
decoded = Jason.decode!(result.body)
if decoded["private"] do
IO.puts(decoded["private"])
if decoded["results"] do
Enum.each(decoded["results"], fn %{"description" => desc, "key" => key} ->
IO.puts("#{desc}: #{key}")
end)
else
IO.puts("Error fetching the key, check the master key is correct: #{inspect(decoded)}")
IO.puts("Error fetching the keys, check the master key is correct: #{inspect(decoded)}")
end
end

View File

@ -13,7 +13,7 @@ defp meili_headers do
private_key = Pleroma.Config.get([Pleroma.Search.Meilisearch, :private_key])
[{"Content-Type", "application/json"}] ++
if is_nil(private_key), do: [], else: [{"X-Meili-API-Key", private_key}]
if is_nil(private_key), do: [], else: [{"Authorization", "Bearer #{private_key}"}]
end
def meili_get(path) do