fix: auto sub & banned & topics rewrite, add required

This commit is contained in:
DDDHuang 2022-04-19 17:08:19 +08:00
parent 86e8498bce
commit 39d3d6a3d3
3 changed files with 7 additions and 3 deletions

View File

@ -38,6 +38,7 @@ fields("auto_subscribe") ->
fields("topic") -> fields("topic") ->
[ {topic, sc(binary(), #{ [ {topic, sc(binary(), #{
required => true,
example => topic_example(), example => topic_example(),
desc => ?DESC("topic")})} desc => ?DESC("topic")})}
, {qos, sc(emqx_schema:qos(), #{ , {qos, sc(emqx_schema:qos(), #{

View File

@ -87,12 +87,14 @@ schema("/banned/:as/:who") ->
{as, {as,
hoconsc:mk(hoconsc:enum(?BANNED_TYPES), #{ hoconsc:mk(hoconsc:enum(?BANNED_TYPES), #{
desc => ?DESC(as), desc => ?DESC(as),
required => true,
in => path, in => path,
example => username example => username
})}, })},
{who, {who,
hoconsc:mk(binary(), #{ hoconsc:mk(binary(), #{
desc => ?DESC(who), desc => ?DESC(who),
required => true,
in => path, in => path,
example => <<"Badass">> example => <<"Badass">>
})} })}

View File

@ -51,17 +51,17 @@ fields("rewrite") ->
{action, {action,
sc( sc(
hoconsc:enum([subscribe, publish, all]), hoconsc:enum([subscribe, publish, all]),
#{desc => ?DESC(tr_action), example => publish} #{required => true, desc => ?DESC(tr_action), example => publish}
)}, )},
{source_topic, {source_topic,
sc( sc(
binary(), binary(),
#{desc => ?DESC(tr_source_topic), example => "x/#"} #{required => true, desc => ?DESC(tr_source_topic), example => "x/#"}
)}, )},
{dest_topic, {dest_topic,
sc( sc(
binary(), binary(),
#{desc => ?DESC(tr_dest_topic), example => "z/y/$1"} #{required => true, desc => ?DESC(tr_dest_topic), example => "z/y/$1"}
)}, )},
{re, fun regular_expression/1} {re, fun regular_expression/1}
]; ];
@ -80,6 +80,7 @@ desc(_) ->
undefined. undefined.
regular_expression(type) -> binary(); regular_expression(type) -> binary();
regular_expression(required) -> true;
regular_expression(desc) -> ?DESC(tr_re); regular_expression(desc) -> ?DESC(tr_re);
regular_expression(example) -> "^x/y/(.+)$"; regular_expression(example) -> "^x/y/(.+)$";
regular_expression(validator) -> fun is_re/1; regular_expression(validator) -> fun is_re/1;