Merge branch 'fix/empty-params-openapi' into 'develop'
OpenAPI CastAndValidate: filter out empty params Closes #2198 See merge request pleroma/pleroma!3047
This commit is contained in:
commit
9e96c9ae48
|
@ -39,6 +39,11 @@ switched to a new configuration mechanism, however it was not officially removed
|
||||||
- Add documented-but-missing chat pagination.
|
- Add documented-but-missing chat pagination.
|
||||||
- Allow sending out emails again.
|
- Allow sending out emails again.
|
||||||
|
|
||||||
|
## Unreleased (Patch)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- API: Empty parameter values for integer parameters are now ignored in non-strict validaton mode.
|
||||||
|
|
||||||
## [2.1.2] - 2020-09-17
|
## [2.1.2] - 2020-09-17
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
|
@ -115,6 +115,10 @@ defp cast_and_validate(spec, operation, conn, content_type, false = _strict) do
|
||||||
%{reason: :unexpected_field, name: name, path: [name]}, params ->
|
%{reason: :unexpected_field, name: name, path: [name]}, params ->
|
||||||
Map.delete(params, name)
|
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 ->
|
%{reason: :invalid_enum, name: nil, path: path, value: value}, params ->
|
||||||
path = path |> Enum.reverse() |> tl() |> Enum.reverse() |> list_items_to_string()
|
path = path |> Enum.reverse() |> tl() |> Enum.reverse() |> list_items_to_string()
|
||||||
update_in(params, path, &List.delete(&1, value))
|
update_in(params, path, &List.delete(&1, value))
|
||||||
|
|
Loading…
Reference in New Issue