aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/api_spec
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-09-29 21:49:04 +0300
committerrinpatch <rinpatch@sdf.org>2020-09-29 21:52:16 +0300
commit006b62fd12adadbf698419990ab13bf6f1e901b2 (patch)
tree5c0dd87dd76293390d566b77d7c57eb8d7662394 /lib/pleroma/web/api_spec
parent7bc561127da6489862d3b7ea49ebc853c0267729 (diff)
downloadpleroma-006b62fd12adadbf698419990ab13bf6f1e901b2.tar.gz
OpenAPI CastAndValidate: filter out empty params
Closes #2198
Diffstat (limited to 'lib/pleroma/web/api_spec')
-rw-r--r--lib/pleroma/web/api_spec/cast_and_validate.ex4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/pleroma/web/api_spec/cast_and_validate.ex b/lib/pleroma/web/api_spec/cast_and_validate.ex
index fbfc27d6f..6d1a7ebbc 100644
--- a/lib/pleroma/web/api_spec/cast_and_validate.ex
+++ b/lib/pleroma/web/api_spec/cast_and_validate.ex
@@ -115,6 +115,10 @@ defmodule Pleroma.Web.ApiSpec.CastAndValidate do
%{reason: :unexpected_field, name: name, path: [name]}, params ->
Map.delete(params, name)
+ # Filter out empty params
+ %{reason: :invalid_type, path: [name_atom], value: ""}, params ->
+ Map.delete(params, to_string(name_atom))
+
%{reason: :invalid_enum, name: nil, path: path, value: value}, params ->
path = path |> Enum.reverse() |> tl() |> Enum.reverse() |> list_items_to_string()
update_in(params, path, &List.delete(&1, value))