Просмотр исходного кода

Merge pull request #11142 from zhongwencool/list-listener-group-with-wrong-bind

List listener group with wrong bind
zhongwencool 2 лет назад
Родитель
Сommit
9dae408b5a

+ 15 - 8
apps/emqx_management/src/emqx_mgmt_api_clients.erl

@@ -213,9 +213,9 @@ schema("/clients/kickout/bulk") ->
         post => #{
             description => ?DESC(kickout_clients),
             tags => ?TAGS,
-            'requestBody' => hoconsc:mk(
+            'requestBody' => emqx_dashboard_swagger:schema_with_example(
                 hoconsc:array(binary()),
-                #{desc => <<"The list of Client IDs that need to be kicked out">>}
+                ["emqx_clienid_985bb09d", "emqx_clientid_211cc01c"]
             ),
             responses => #{
                 204 => <<"Kick out clients successfully">>
@@ -547,10 +547,14 @@ fields(client) ->
     ];
 fields(authz_cache) ->
     [
-        {access, hoconsc:mk(binary(), #{desc => <<"Access type">>})},
-        {result, hoconsc:mk(binary(), #{desc => <<"Allow or deny">>})},
-        {topic, hoconsc:mk(binary(), #{desc => <<"Topic name">>})},
-        {updated_time, hoconsc:mk(integer(), #{desc => <<"Update time">>})}
+        {access, hoconsc:mk(binary(), #{desc => <<"Access type">>, example => <<"publish">>})},
+        {result,
+            hoconsc:mk(hoconsc:enum([allow, denny]), #{
+                desc => <<"Allow or deny">>, example => <<"allow">>
+            })},
+        {topic, hoconsc:mk(binary(), #{desc => <<"Topic name">>, example => <<"testtopic/1">>})},
+        {updated_time,
+            hoconsc:mk(integer(), #{desc => <<"Update time">>, example => 1687850712989})}
     ];
 fields(keepalive) ->
     [
@@ -559,7 +563,10 @@ fields(keepalive) ->
     ];
 fields(subscribe) ->
     [
-        {topic, hoconsc:mk(binary(), #{required => true, desc => <<"Topic">>})},
+        {topic,
+            hoconsc:mk(binary(), #{
+                required => true, desc => <<"Topic">>, example => <<"testtopic/#">>
+            })},
         {qos, hoconsc:mk(emqx_schema:qos(), #{default => 0, desc => <<"QoS">>})},
         {nl, hoconsc:mk(integer(), #{default => 0, desc => <<"No Local">>})},
         {rap, hoconsc:mk(integer(), #{default => 0, desc => <<"Retain as Published">>})},
@@ -567,7 +574,7 @@ fields(subscribe) ->
     ];
 fields(unsubscribe) ->
     [
-        {topic, hoconsc:mk(binary(), #{desc => <<"Topic">>})}
+        {topic, hoconsc:mk(binary(), #{desc => <<"Topic">>, example => <<"testtopic/#">>})}
     ].
 
 %%%==============================================================================================

+ 5 - 1
apps/emqx_management/src/emqx_mgmt_api_listeners.erl

@@ -521,7 +521,11 @@ err_msg_str(Reason) ->
     io_lib:format("~p", [Reason]).
 
 list_listeners() ->
-    [list_listeners(Node) || Node <- emqx:running_nodes()].
+    %% prioritize displaying the bind of the current node
+    %% when each node's same type's bind is different.
+    %% e.g: tcp bind on node1 is 1883, but node2 is 1884.
+    Self = node(),
+    lists:map(fun list_listeners/1, [Self | lists:delete(Self, emqx:running_nodes())]).
 
 list_listeners(Node) ->
     wrap_rpc(emqx_management_proto_v2:list_listeners(Node)).

+ 10 - 7
apps/emqx_management/src/emqx_mgmt_api_subscriptions.erl

@@ -74,13 +74,16 @@ schema("/subscriptions") ->
 
 fields(subscription) ->
     [
-        {node, hoconsc:mk(binary(), #{desc => <<"Access type">>})},
-        {topic, hoconsc:mk(binary(), #{desc => <<"Topic name">>})},
-        {clientid, hoconsc:mk(binary(), #{desc => <<"Client identifier">>})},
-        {qos, hoconsc:mk(emqx_schema:qos(), #{desc => <<"QoS">>})},
-        {nl, hoconsc:mk(integer(), #{desc => <<"No Local">>})},
-        {rap, hoconsc:mk(integer(), #{desc => <<"Retain as Published">>})},
-        {rh, hoconsc:mk(integer(), #{desc => <<"Retain Handling">>})}
+        {node, hoconsc:mk(binary(), #{desc => <<"Access type">>, example => <<"emqx@127.0.0.1">>})},
+        {topic, hoconsc:mk(binary(), #{desc => <<"Topic name">>, example => <<"testtopic/1">>})},
+        {clientid,
+            hoconsc:mk(binary(), #{
+                desc => <<"Client identifier">>, example => <<"emqx_clientid_xx128cdhfc">>
+            })},
+        {qos, hoconsc:mk(emqx_schema:qos(), #{desc => <<"QoS">>, example => 0})},
+        {nl, hoconsc:mk(integer(), #{desc => <<"No Local">>, example => 0})},
+        {rap, hoconsc:mk(integer(), #{desc => <<"Retain as Published">>, example => 0})},
+        {rh, hoconsc:mk(integer(), #{desc => <<"Retain Handling">>, example => 0})}
     ].
 
 parameters() ->