aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2020-06-27 13:43:25 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-09-24 09:12:37 +0300
commit9b6d89ff8c798079f4db18eb2b5c66a7426ecbc5 (patch)
tree77c5c4c4aeb5e024104b5288ddf98afcfc0666af /lib
parente02101e15c425416975f756aca7f3b058006668d (diff)
downloadpleroma-9b6d89ff8c798079f4db18eb2b5c66a7426ecbc5.tar.gz
support for special chars in pack name
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/emoji/pack.ex5
-rw-r--r--lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex2
-rw-r--r--lib/pleroma/web/router.ex16
3 files changed, 12 insertions, 11 deletions
diff --git a/lib/pleroma/emoji/pack.ex b/lib/pleroma/emoji/pack.ex
index 0b3f8f00b..9901aa832 100644
--- a/lib/pleroma/emoji/pack.ex
+++ b/lib/pleroma/emoji/pack.ex
@@ -244,7 +244,8 @@ defmodule Pleroma.Emoji.Pack do
uri = url |> String.trim() |> URI.parse()
with :ok <- validate_shareable_packs_available(uri),
- {:ok, remote_pack} <- uri |> URI.merge("/api/pleroma/emoji/packs/#{name}") |> http_get(),
+ {:ok, remote_pack} <-
+ uri |> URI.merge("/api/pleroma/emoji/packs/show?name=#{name}") |> http_get(),
{:ok, %{sha: sha, url: url} = pack_info} <- fetch_pack_info(remote_pack, uri, name),
{:ok, archive} <- download_archive(url, sha),
pack <- copy_as(remote_pack, as || name),
@@ -572,7 +573,7 @@ defmodule Pleroma.Emoji.Pack do
{:ok,
%{
sha: sha,
- url: URI.merge(uri, "/api/pleroma/emoji/packs/#{name}/archive") |> to_string()
+ url: URI.merge(uri, "/api/pleroma/emoji/packs/archive?name=#{name}") |> to_string()
}}
%{"fallback-src" => src, "fallback-src-sha256" => sha} when is_binary(src) ->
diff --git a/lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex b/lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex
index 59548af13..87ee5feb4 100644
--- a/lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex
@@ -192,7 +192,7 @@ defmodule Pleroma.Web.ApiSpec.PleromaEmojiPackOperation do
end
defp name_param do
- Operation.parameter(:name, :path, :string, "Pack Name", example: "cofe", required: true)
+ Operation.parameter(:name, :query, :string, "Pack Name", example: "cofe", required: true)
end
defp url_param do
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index 42a9db21d..6f591b12f 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -234,21 +234,21 @@ defmodule Pleroma.Web.Router do
get("/remote", EmojiPackController, :remote)
post("/download", EmojiPackController, :download)
- post("/:name", EmojiPackController, :create)
- patch("/:name", EmojiPackController, :update)
- delete("/:name", EmojiPackController, :delete)
+ post("/create", EmojiPackController, :create)
+ patch("/update", EmojiPackController, :update)
+ delete("/delete", EmojiPackController, :delete)
- post("/:name/files", EmojiFileController, :create)
- patch("/:name/files", EmojiFileController, :update)
- delete("/:name/files", EmojiFileController, :delete)
+ post("/files", EmojiFileController, :add_file)
+ patch("/files", EmojiFileController, :update_file)
+ delete("/files", EmojiFileController, :delete_file)
end
# Pack info / downloading
scope "/packs" do
pipe_through(:api)
get("/", EmojiPackController, :index)
- get("/:name", EmojiPackController, :show)
- get("/:name/archive", EmojiPackController, :archive)
+ get("/show", EmojiPackController, :show)
+ get("/archive", EmojiPackController, :archive)
end
end