Skip to content

Commit

Permalink
Merge pull request #8517 from zhongwencool/fix-bad-swagger-format
Browse files Browse the repository at this point in the history
fix: fix bad swagger format
  • Loading branch information
zhongwencool committed Jul 21, 2022
2 parents 53f9b59 + a468f4e commit 9c094a8
Show file tree
Hide file tree
Showing 7 changed files with 78 additions and 89 deletions.
1 change: 1 addition & 0 deletions CHANGES-5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
* Fix statistics related system topic name error
* Fix AuthN JWKS SSL schema. Using schema in `emqx_schema`. [#8458](https://github.com/emqx/emqx/pull/8458)
* `sentinel` field should be required when AuthN/AuthZ Redis using sentinel mode. [#8458](https://github.com/emqx/emqx/pull/8458)
* Fix bad swagger format. [#8517](https://github.com/emqx/emqx/pull/8517)

## Enhancements

Expand Down
20 changes: 2 additions & 18 deletions apps/emqx_authn/src/emqx_authn_user_import_api.erl
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,7 @@ schema("/authentication/:id/import_users") ->
tags => ?API_TAGS_GLOBAL,
description => ?DESC(authentication_id_import_users_post),
parameters => [emqx_authn_api:param_auth_id()],
'requestBody' => #{
content => #{
'multipart/form-data' => #{
schema => #{
filename => file
}
}
}
},
'requestBody' => emqx_dashboard_swagger:file_schema(filename),
responses => #{
204 => <<"Users imported">>,
400 => error_codes([?BAD_REQUEST], <<"Bad Request">>),
Expand All @@ -89,15 +81,7 @@ schema("/listeners/:listener_id/authentication/:id/import_users") ->
tags => ?API_TAGS_SINGLE,
description => ?DESC(listeners_listener_id_authentication_id_import_users_post),
parameters => [emqx_authn_api:param_listener_id(), emqx_authn_api:param_auth_id()],
'requestBody' => #{
content => #{
'multipart/form-data' => #{
schema => #{
filename => file
}
}
}
},
'requestBody' => emqx_dashboard_swagger:file_schema(filename),
responses => #{
204 => <<"Users imported">>,
400 => error_codes([?BAD_REQUEST], <<"Bad Request">>),
Expand Down
108 changes: 57 additions & 51 deletions apps/emqx_authz/src/emqx_authz_api_sources.erl
Original file line number Diff line number Diff line change
Expand Up @@ -565,58 +565,64 @@ bin(Term) -> erlang:iolist_to_binary(io_lib:format("~p", [Term])).

status_metrics_example() ->
#{
resource_metrics => #{
matched => 0,
success => 0,
failed => 0,
rate => 0.0,
rate_last5m => 0.0,
rate_max => 0.0
},
node_resource_metrics => [
#{
node => node(),
metrics => #{
matched => 0,
success => 0,
failed => 0,
rate => 0.0,
rate_last5m => 0.0,
rate_max => 0.0
}
}
],
metrics => #{
total => 0,
allow => 0,
deny => 0,
nomatch => 0,
rate => 0.0,
rate_last5m => 0.0,
rate_max => 0.0
},
node_metrics => [
#{
node => node(),
metrics => #{
total => 0,
allow => 0,
deny => 0,
nomatch => 0,
rate => 0.0,
rate_last5m => 0.0,
rate_max => 0.0
'metrics_example' => #{
summary => <<"Showing a typical metrics example">>,
value =>
#{
resource_metrics => #{
matched => 0,
success => 0,
failed => 0,
rate => 0.0,
rate_last5m => 0.0,
rate_max => 0.0
},
node_resource_metrics => [
#{
node => node(),
metrics => #{
matched => 0,
success => 0,
failed => 0,
rate => 0.0,
rate_last5m => 0.0,
rate_max => 0.0
}
}
],
metrics => #{
total => 0,
allow => 0,
deny => 0,
nomatch => 0,
rate => 0.0,
rate_last5m => 0.0,
rate_max => 0.0
},
node_metrics => [
#{
node => node(),
metrics => #{
total => 0,
allow => 0,
deny => 0,
nomatch => 0,
rate => 0.0,
rate_last5m => 0.0,
rate_max => 0.0
}
}
],

status => connected,
node_status => [
#{
node => node(),
status => connected
}
]
}
}
],

status => connected,
node_status => [
#{
node => node(),
status => connected
}
]
}
}.

create_authz_file(Body) ->
Expand Down
1 change: 0 additions & 1 deletion apps/emqx_dashboard/src/emqx_dashboard_api.erl
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@ field(username_in_path) ->
{username,
mk(binary(), #{
desc => ?DESC(username),
'maxLength' => 100,
example => <<"admin">>,
in => path,
required => true
Expand Down
15 changes: 15 additions & 0 deletions apps/emqx_dashboard/src/emqx_dashboard_swagger.erl
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
-export([namespace/0, namespace/1, fields/1]).
-export([schema_with_example/2, schema_with_examples/2]).
-export([error_codes/1, error_codes/2]).
-export([file_schema/1]).

-export([filter_check_request/2, filter_check_request_and_translate_body/2]).

Expand Down Expand Up @@ -165,6 +166,20 @@ error_codes(Codes = [_ | _], MsgDesc) ->
})}
].

file_schema(FileName) ->
#{
content => #{
'multipart/form-data' => #{
schema => #{
type => object,
properties => #{
FileName => #{type => string, format => binary}
}
}
}
}
}.

%%------------------------------------------------------------------------------
%% Private functions
%%------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion apps/emqx_gateway/src/emqx_gateway.app.src
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
%% -*- mode: erlang -*-
{application, emqx_gateway, [
{description, "The Gateway management application"},
{vsn, "0.1.1"},
{vsn, "0.1.2"},
{registered, []},
{mod, {emqx_gateway_app, []}},
{applications, [kernel, stdlib, grpc, emqx, emqx_authn]},
Expand Down
20 changes: 2 additions & 18 deletions apps/emqx_gateway/src/emqx_gateway_api_authn_user_import.erl
Original file line number Diff line number Diff line change
Expand Up @@ -124,15 +124,7 @@ schema("/gateway/:name/authentication/import_users") ->
#{
desc => ?DESC(emqx_gateway_api_authn, import_users),
parameters => params_gateway_name_in_path(),
'requestBody' => #{
content => #{
'multipart/form-data' => #{
schema => #{
filename => file
}
}
}
},
'requestBody' => emqx_dashboard_swagger:file_schema(filename),
responses =>
?STANDARD_RESP(#{204 => <<"Imported">>})
}
Expand All @@ -145,15 +137,7 @@ schema("/gateway/:name/listeners/:id/authentication/import_users") ->
desc => ?DESC(emqx_gateway_api_listeners, import_users),
parameters => params_gateway_name_in_path() ++
params_listener_id_in_path(),
'requestBody' => #{
content => #{
'multipart/form-data' => #{
schema => #{
filename => file
}
}
}
},
'requestBody' => emqx_dashboard_swagger:file_schema(filename),
responses =>
?STANDARD_RESP(#{204 => <<"Imported">>})
}
Expand Down

0 comments on commit 9c094a8

Please sign in to comment.