diff --git a/apps/emqx_auth/src/emqx_authn/emqx_authn_api.erl b/apps/emqx_auth/src/emqx_authn/emqx_authn_api.erl index 7f0413fbb..07584c76e 100644 --- a/apps/emqx_auth/src/emqx_authn/emqx_authn_api.erl +++ b/apps/emqx_auth/src/emqx_authn/emqx_authn_api.erl @@ -42,7 +42,8 @@ -export([ api_spec/0, paths/0, - schema/1 + schema/1, + namespace/0 ]). -export([ @@ -95,6 +96,8 @@ -elvis([{elvis_style, god_modules, disable}]). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_auth/src/emqx_authz/emqx_authz_api_sources.erl b/apps/emqx_auth/src/emqx_authz/emqx_authz_api_sources.erl index c2296f129..0af910d18 100644 --- a/apps/emqx_auth/src/emqx_authz/emqx_authz_api_sources.erl +++ b/apps/emqx_auth/src/emqx_authz/emqx_authz_api_sources.erl @@ -41,7 +41,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([ @@ -56,6 +57,9 @@ -define(TAGS, [<<"Authorization">>]). +namespace() -> + undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl b/apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl index 426c7a9f6..5a73f5991 100644 --- a/apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl +++ b/apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl @@ -22,7 +22,8 @@ -export([ roots/0, fields/1, - desc/1 + desc/1, + namespace/0 ]). -export([ @@ -65,6 +66,8 @@ roots() -> []. +namespace() -> undefined. + fields(?CONF_NS) -> emqx_schema:authz_fields() ++ authz_fields(); fields("metrics_status_fields") -> diff --git a/apps/emqx_auth_mnesia/src/emqx_authz_api_mnesia.erl b/apps/emqx_auth_mnesia/src/emqx_authz_api_mnesia.erl index 5fc1ec280..cab596da3 100644 --- a/apps/emqx_auth_mnesia/src/emqx_authz_api_mnesia.erl +++ b/apps/emqx_auth_mnesia/src/emqx_authz_api_mnesia.erl @@ -35,7 +35,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). %% operation funs @@ -69,6 +70,8 @@ -define(PUT_MAP_EXAMPLE, in_put_requestBody). -define(POST_ARRAY_EXAMPLE, in_post_requestBody). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_bridge/src/schema/emqx_bridge_enterprise.erl b/apps/emqx_bridge/src/schema/emqx_bridge_enterprise.erl index cc4c6eb01..3822c7a34 100644 --- a/apps/emqx_bridge/src/schema/emqx_bridge_enterprise.erl +++ b/apps/emqx_bridge/src/schema/emqx_bridge_enterprise.erl @@ -13,7 +13,8 @@ examples/1, resource_type/1, bridge_impl_module/1, - fields/1 + fields/1, + namespace/0 ]). api_schemas(Method) -> @@ -139,6 +140,8 @@ bridge_impl_module(azure_event_hub_producer) -> bridge_impl_module(_BridgeType) -> undefined. +namespace() -> undefined. + fields(bridges) -> [ {hstreamdb, diff --git a/apps/emqx_bridge_cassandra/src/emqx_bridge_cassandra_connector.erl b/apps/emqx_bridge_cassandra/src/emqx_bridge_cassandra_connector.erl index 872ccb532..a84d3912b 100644 --- a/apps/emqx_bridge_cassandra/src/emqx_bridge_cassandra_connector.erl +++ b/apps/emqx_bridge_cassandra/src/emqx_bridge_cassandra_connector.erl @@ -14,7 +14,7 @@ -include_lib("snabbkaffe/include/snabbkaffe.hrl"). %% schema --export([roots/0, fields/1, desc/1]). +-export([roots/0, fields/1, desc/1, namespace/0]). %% callbacks of behaviour emqx_resource -export([ @@ -56,6 +56,8 @@ %%-------------------------------------------------------------------- %% schema +namespace() -> cassandra. + roots() -> [{config, #{type => hoconsc:ref(?MODULE, config)}}]. diff --git a/apps/emqx_bridge_clickhouse/src/emqx_bridge_clickhouse.app.src b/apps/emqx_bridge_clickhouse/src/emqx_bridge_clickhouse.app.src index 85c035be1..3288b83fd 100644 --- a/apps/emqx_bridge_clickhouse/src/emqx_bridge_clickhouse.app.src +++ b/apps/emqx_bridge_clickhouse/src/emqx_bridge_clickhouse.app.src @@ -1,6 +1,6 @@ {application, emqx_bridge_clickhouse, [ {description, "EMQX Enterprise ClickHouse Bridge"}, - {vsn, "0.2.4"}, + {vsn, "0.2.5"}, {registered, []}, {applications, [ kernel, diff --git a/apps/emqx_bridge_clickhouse/src/emqx_bridge_clickhouse_connector.erl b/apps/emqx_bridge_clickhouse/src/emqx_bridge_clickhouse_connector.erl index 8f575dd8d..0a6c504c7 100644 --- a/apps/emqx_bridge_clickhouse/src/emqx_bridge_clickhouse_connector.erl +++ b/apps/emqx_bridge_clickhouse/src/emqx_bridge_clickhouse_connector.erl @@ -23,7 +23,8 @@ -export([ roots/0, fields/1, - values/1 + values/1, + namespace/0 ]). %% callbacks for behaviour emqx_resource @@ -72,6 +73,8 @@ %% Configuration and default values %%===================================================================== +namespace() -> clickhouse. + roots() -> [{config, #{type => hoconsc:ref(?MODULE, config)}}]. diff --git a/apps/emqx_bridge_dynamo/src/emqx_bridge_dynamo.app.src b/apps/emqx_bridge_dynamo/src/emqx_bridge_dynamo.app.src index a4b372056..a0e8e2f19 100644 --- a/apps/emqx_bridge_dynamo/src/emqx_bridge_dynamo.app.src +++ b/apps/emqx_bridge_dynamo/src/emqx_bridge_dynamo.app.src @@ -1,6 +1,6 @@ {application, emqx_bridge_dynamo, [ {description, "EMQX Enterprise Dynamo Bridge"}, - {vsn, "0.1.4"}, + {vsn, "0.1.5"}, {registered, []}, {applications, [ kernel, diff --git a/apps/emqx_bridge_dynamo/src/emqx_bridge_dynamo_connector.erl b/apps/emqx_bridge_dynamo/src/emqx_bridge_dynamo_connector.erl index 9cdb8886c..0739df747 100644 --- a/apps/emqx_bridge_dynamo/src/emqx_bridge_dynamo_connector.erl +++ b/apps/emqx_bridge_dynamo/src/emqx_bridge_dynamo_connector.erl @@ -12,7 +12,7 @@ -include_lib("snabbkaffe/include/snabbkaffe.hrl"). -include_lib("hocon/include/hoconsc.hrl"). --export([roots/0, fields/1]). +-export([roots/0, fields/1, namespace/0]). %% `emqx_resource' API -export([ @@ -32,6 +32,9 @@ %%===================================================================== %% Hocon schema + +namespace() -> dynamodka. + roots() -> [{config, #{type => hoconsc:ref(?MODULE, config)}}]. diff --git a/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.erl b/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.erl index 22514dc5c..c40473ee5 100644 --- a/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.erl +++ b/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.erl @@ -115,7 +115,8 @@ action_values() -> %% ------------------------------------------------------------------------------------------------- %% Hocon Schema Definitions -namespace() -> "bridge_rocketmq". + +namespace() -> "rocketmq". roots() -> []. diff --git a/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl b/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl index c9a7ce177..a5bfa6437 100644 --- a/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl +++ b/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl @@ -12,7 +12,7 @@ -include_lib("snabbkaffe/include/snabbkaffe.hrl"). -include_lib("hocon/include/hoconsc.hrl"). --export([roots/0, fields/1]). +-export([roots/0, fields/1, namespace/0]). %% `emqx_resource' API -export([ @@ -36,6 +36,9 @@ %%===================================================================== %% Hocon schema + +namespace() -> rocketmq. + roots() -> [{config, #{type => hoconsc:ref(?MODULE, config)}}]. diff --git a/apps/emqx_bridge_sqlserver/src/emqx_bridge_sqlserver.app.src b/apps/emqx_bridge_sqlserver/src/emqx_bridge_sqlserver.app.src index 331f9c29f..bddf212e3 100644 --- a/apps/emqx_bridge_sqlserver/src/emqx_bridge_sqlserver.app.src +++ b/apps/emqx_bridge_sqlserver/src/emqx_bridge_sqlserver.app.src @@ -1,6 +1,6 @@ {application, emqx_bridge_sqlserver, [ {description, "EMQX Enterprise SQL Server Bridge"}, - {vsn, "0.1.5"}, + {vsn, "0.1.6"}, {registered, []}, {applications, [kernel, stdlib, emqx_resource, odbc]}, {env, []}, diff --git a/apps/emqx_bridge_sqlserver/src/emqx_bridge_sqlserver_connector.erl b/apps/emqx_bridge_sqlserver/src/emqx_bridge_sqlserver_connector.erl index a87e71e31..e9e77ba6b 100644 --- a/apps/emqx_bridge_sqlserver/src/emqx_bridge_sqlserver_connector.erl +++ b/apps/emqx_bridge_sqlserver/src/emqx_bridge_sqlserver_connector.erl @@ -24,7 +24,8 @@ %% Hocon config schema exports -export([ roots/0, - fields/1 + fields/1, + namespace/0 ]). %% callbacks for behaviour emqx_resource @@ -132,6 +133,8 @@ %% Configuration and default values %%==================================================================== +namespace() -> sqlserver. + roots() -> [{config, #{type => hoconsc:ref(?MODULE, config)}}]. diff --git a/apps/emqx_connector/src/emqx_connector_schema_lib.erl b/apps/emqx_connector/src/emqx_connector_schema_lib.erl index 76a06cb5a..609ba892d 100644 --- a/apps/emqx_connector/src/emqx_connector_schema_lib.erl +++ b/apps/emqx_connector/src/emqx_connector_schema_lib.erl @@ -44,12 +44,6 @@ password/0 ]). --export([roots/0, fields/1]). - -roots() -> []. - -fields(_) -> []. - ssl_fields() -> [ {ssl, #{ diff --git a/apps/emqx_connector/src/schema/emqx_connector_ee_schema.erl b/apps/emqx_connector/src/schema/emqx_connector_ee_schema.erl index f8800cc10..c0b0c365a 100644 --- a/apps/emqx_connector/src/schema/emqx_connector_ee_schema.erl +++ b/apps/emqx_connector/src/schema/emqx_connector_ee_schema.erl @@ -15,8 +15,8 @@ -export([ api_schemas/1, fields/1, - %%examples/1 - schema_modules/0 + schema_modules/0, + namespace/0 ]). resource_type(Type) when is_binary(Type) -> @@ -93,6 +93,8 @@ connector_impl_module(rabbitmq) -> connector_impl_module(_ConnectorType) -> undefined. +namespace() -> undefined. + fields(connectors) -> connector_structs(). diff --git a/apps/emqx_dashboard/src/emqx_dashboard_monitor_api.erl b/apps/emqx_dashboard/src/emqx_dashboard_monitor_api.erl index c36c6d0f3..97397056d 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_monitor_api.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_monitor_api.erl @@ -27,7 +27,8 @@ -export([ paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([ @@ -35,6 +36,8 @@ monitor_current/2 ]). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true, translate_body => true}). diff --git a/apps/emqx_dashboard/test/emqx_swagger_parameter_SUITE.erl b/apps/emqx_dashboard/test/emqx_swagger_parameter_SUITE.erl index 1e9e24755..d09490cc9 100644 --- a/apps/emqx_dashboard/test/emqx_swagger_parameter_SUITE.erl +++ b/apps/emqx_dashboard/test/emqx_swagger_parameter_SUITE.erl @@ -19,7 +19,7 @@ -behaviour(hocon_schema). %% API --export([paths/0, api_spec/0, schema/1, namespace/0, fields/1]). +-export([paths/0, api_spec/0, schema/1, roots/0, namespace/0, fields/1]). -export([init_per_suite/1, end_per_suite/1]). -export([t_in_path/1, t_in_query/1, t_in_mix/1, t_without_in/1, t_ref/1, t_public_ref/1]). -export([t_require/1, t_query_enum/1, t_nullable/1, t_method/1, t_api_spec/1]). @@ -563,6 +563,7 @@ schema("/method/error") -> #{operationId => test, bar => #{200 => <<"ok">>}}. namespace() -> undefined. +roots() -> []. fields(page) -> [ diff --git a/apps/emqx_dashboard/test/emqx_swagger_remote_schema.erl b/apps/emqx_dashboard/test/emqx_swagger_remote_schema.erl index dc9d54260..23573d612 100644 --- a/apps/emqx_dashboard/test/emqx_swagger_remote_schema.erl +++ b/apps/emqx_dashboard/test/emqx_swagger_remote_schema.erl @@ -17,9 +17,10 @@ -include_lib("typerefl/include/types.hrl"). --export([roots/0, fields/1]). +-export([namespace/0, roots/0, fields/1]). -import(hoconsc, [mk/2]). roots() -> ["root"]. +namespace() -> undefined. fields("root") -> [ diff --git a/apps/emqx_dashboard/test/emqx_swagger_requestBody_SUITE.erl b/apps/emqx_dashboard/test/emqx_swagger_requestBody_SUITE.erl index 0e1264aeb..13754579e 100644 --- a/apps/emqx_dashboard/test/emqx_swagger_requestBody_SUITE.erl +++ b/apps/emqx_dashboard/test/emqx_swagger_requestBody_SUITE.erl @@ -813,7 +813,8 @@ to_schema(Body) -> post => #{requestBody => Body, responses => #{200 => <<"ok">>}} }. -%% Don't warning hocon callback namespace/0 undef. +roots() -> []. + namespace() -> atom_to_list(?MODULE). fields(good_ref) -> diff --git a/apps/emqx_dashboard/test/emqx_swagger_response_SUITE.erl b/apps/emqx_dashboard/test/emqx_swagger_response_SUITE.erl index 5ccb01b3e..b9d7bf2e4 100644 --- a/apps/emqx_dashboard/test/emqx_swagger_response_SUITE.erl +++ b/apps/emqx_dashboard/test/emqx_swagger_response_SUITE.erl @@ -680,6 +680,7 @@ to_schema(Object) -> post => #{responses => #{200 => Object, 201 => Object}} }. +rotos() -> []. namespace() -> undefined. fields(good_ref) -> diff --git a/apps/emqx_gateway/src/emqx_gateway_api.erl b/apps/emqx_gateway/src/emqx_gateway_api.erl index bd0bcff8a..6c125cf22 100644 --- a/apps/emqx_gateway/src/emqx_gateway_api.erl +++ b/apps/emqx_gateway/src/emqx_gateway_api.erl @@ -36,7 +36,8 @@ -export([ api_spec/0, paths/0, - schema/1 + schema/1, + namespace/0 ]). -export([ @@ -59,6 +60,8 @@ %% minirest behaviour callbacks %%-------------------------------------------------------------------- +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_gateway/src/emqx_gateway_api_clients.erl b/apps/emqx_gateway/src/emqx_gateway_api_clients.erl index 121cb4064..88c53d230 100644 --- a/apps/emqx_gateway/src/emqx_gateway_api_clients.erl +++ b/apps/emqx_gateway/src/emqx_gateway_api_clients.erl @@ -42,7 +42,8 @@ -export([ roots/0, - fields/1 + fields/1, + namespace/0 ]). %% http handlers @@ -775,6 +776,8 @@ schema_client() -> examples_client() ). +namespace() -> undefined. + roots() -> [ stomp_client, diff --git a/apps/emqx_gateway/src/emqx_gateway_api_listeners.erl b/apps/emqx_gateway/src/emqx_gateway_api_listeners.erl index 284576983..3072d8903 100644 --- a/apps/emqx_gateway/src/emqx_gateway_api_listeners.erl +++ b/apps/emqx_gateway/src/emqx_gateway_api_listeners.erl @@ -45,7 +45,8 @@ -export([ roots/0, - fields/1 + fields/1, + namespace/0 ]). %% http handlers @@ -651,6 +652,9 @@ params_paging_in_qs() -> %%-------------------------------------------------------------------- %% schemas +namespace() -> + undefined. + roots() -> [listener]. diff --git a/apps/emqx_gateway_jt808/src/emqx_jt808_schema.erl b/apps/emqx_gateway_jt808/src/emqx_jt808_schema.erl index d4b0a0b5e..97b01e5e8 100644 --- a/apps/emqx_gateway_jt808/src/emqx_jt808_schema.erl +++ b/apps/emqx_gateway_jt808/src/emqx_jt808_schema.erl @@ -9,10 +9,12 @@ -include_lib("typerefl/include/types.hrl"). -behaviour(hocon_schema). --export([namespace/0, fields/1, desc/1]). +-export([roots/0, namespace/0, fields/1, desc/1]). -define(NOT_EMPTY(MSG), emqx_resource_validator:not_empty(MSG)). +roots() -> []. + namespace() -> gateway. fields(jt808) -> diff --git a/apps/emqx_gcp_device/src/emqx_gcp_device.app.src b/apps/emqx_gcp_device/src/emqx_gcp_device.app.src index 7f1d81f14..b3a4407c0 100644 --- a/apps/emqx_gcp_device/src/emqx_gcp_device.app.src +++ b/apps/emqx_gcp_device/src/emqx_gcp_device.app.src @@ -1,6 +1,6 @@ {application, emqx_gcp_device, [ {description, "Application simplifying migration from GCP IoT Core"}, - {vsn, "0.1.3"}, + {vsn, "0.1.4"}, {registered, []}, {mod, {emqx_gcp_device_app, []}}, {applications, [ diff --git a/apps/emqx_gcp_device/src/emqx_gcp_device_api.erl b/apps/emqx_gcp_device/src/emqx_gcp_device_api.erl index a08e0af24..4e10092b8 100644 --- a/apps/emqx_gcp_device/src/emqx_gcp_device_api.erl +++ b/apps/emqx_gcp_device/src/emqx_gcp_device_api.erl @@ -22,7 +22,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([ @@ -62,6 +63,9 @@ %% `minirest' and `minirest_trails' API %%------------------------------------------------------------------------------------------------- +namespace() -> + undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_alarms.erl b/apps/emqx_management/src/emqx_mgmt_api_alarms.erl index d5965f019..ea88ba082 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_alarms.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_alarms.erl @@ -22,7 +22,7 @@ -include_lib("emqx/include/emqx.hrl"). -include_lib("typerefl/include/types.hrl"). --export([api_spec/0, paths/0, schema/1, fields/1]). +-export([api_spec/0, paths/0, schema/1, fields/1, namespace/0]). -export([alarms/2, format_alarm/2]). @@ -31,6 +31,9 @@ %% internal export (for query) -export([qs2ms/2]). +namespace() -> + undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_banned.erl b/apps/emqx_management/src/emqx_mgmt_api_banned.erl index cf1ab3c49..4f2ba6c00 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_banned.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_banned.erl @@ -28,7 +28,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([format/1]). @@ -44,6 +45,9 @@ -define(FORMAT_FUN, {?MODULE, format}). +namespace() -> + undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true, translate_body => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_clients.erl b/apps/emqx_management/src/emqx_mgmt_api_clients.erl index 8965f4633..f5c799dd9 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_clients.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_clients.erl @@ -32,7 +32,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([ @@ -83,6 +84,8 @@ message => <<"Client ID not found">> }). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true, translate_body => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_data_backup.erl b/apps/emqx_management/src/emqx_mgmt_api_data_backup.erl index ef0b095cb..86fc8131d 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_data_backup.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_data_backup.erl @@ -21,7 +21,7 @@ -include_lib("emqx/include/logger.hrl"). -include_lib("hocon/include/hoconsc.hrl"). --export([api_spec/0, paths/0, schema/1, fields/1]). +-export([api_spec/0, paths/0, schema/1, fields/1, namespace/0]). -export([ data_export/2, @@ -48,6 +48,8 @@ })} ). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_metrics.erl b/apps/emqx_management/src/emqx_mgmt_api_metrics.erl index 7ad0777c7..a4a27c0f4 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_metrics.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_metrics.erl @@ -27,7 +27,8 @@ -export([ api_spec/0, paths/0, - schema/1 + schema/1, + namespace/0 ]). -export([ @@ -42,6 +43,8 @@ %% minirest behaviour callbacks %%-------------------------------------------------------------------- +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_nodes.erl b/apps/emqx_management/src/emqx_mgmt_api_nodes.erl index 07d775f6e..9e9fad784 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_nodes.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_nodes.erl @@ -30,7 +30,8 @@ api_spec/0, schema/1, paths/0, - fields/1 + fields/1, + namespace/0 ]). %% API callbacks @@ -45,6 +46,8 @@ %% API spec funcs %%-------------------------------------------------------------------- +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_publish.erl b/apps/emqx_management/src/emqx_mgmt_api_publish.erl index f0834af96..c8c1a6e10 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_publish.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_publish.erl @@ -32,7 +32,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([ @@ -40,6 +41,8 @@ publish_batch/2 ]). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true, translate_body => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_stats.erl b/apps/emqx_management/src/emqx_mgmt_api_stats.erl index cddc2a7c3..cb07be6d2 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_stats.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_stats.erl @@ -34,11 +34,14 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([list/2]). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_subscriptions.erl b/apps/emqx_management/src/emqx_mgmt_api_subscriptions.erl index ca0a7a625..39dc639d5 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_subscriptions.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_subscriptions.erl @@ -28,7 +28,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([subscriptions/2]). @@ -48,6 +49,9 @@ {<<"match_topic">>, binary} ]). +namespace() -> + undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_management/src/emqx_mgmt_api_topics.erl b/apps/emqx_management/src/emqx_mgmt_api_topics.erl index 02d4461e9..bffcc2f0c 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_topics.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_topics.erl @@ -28,7 +28,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([ @@ -41,6 +42,8 @@ -define(TOPICS_QUERY_SCHEMA, [{<<"topic">>, binary}, {<<"node">>, atom}]). -define(TAGS, [<<"Topics">>]). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true, translate_body => true}). diff --git a/apps/emqx_modules/src/emqx_delayed_api.erl b/apps/emqx_modules/src/emqx_delayed_api.erl index f6ea99c12..37a79d8e0 100644 --- a/apps/emqx_modules/src/emqx_delayed_api.erl +++ b/apps/emqx_modules/src/emqx_delayed_api.erl @@ -34,7 +34,8 @@ -export([ paths/0, fields/1, - schema/1 + schema/1, + namespace/0 ]). %% for rpc @@ -55,6 +56,8 @@ -define(INVALID_TOPIC, 'INVALID_TOPIC_NAME'). -define(MESSAGE_NOT_FOUND, 'MESSAGE_NOT_FOUND'). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_modules/src/emqx_topic_metrics_api.erl b/apps/emqx_modules/src/emqx_topic_metrics_api.erl index 49b3071e0..982a4e710 100644 --- a/apps/emqx_modules/src/emqx_topic_metrics_api.erl +++ b/apps/emqx_modules/src/emqx_topic_metrics_api.erl @@ -47,7 +47,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -define(EXCEED_LIMIT, 'EXCEED_LIMIT'). @@ -55,6 +56,8 @@ -define(TOPIC_NOT_FOUND, 'TOPIC_NOT_FOUND'). -define(BAD_REQUEST, 'BAD_REQUEST'). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_mysql/src/emqx_mysql.erl b/apps/emqx_mysql/src/emqx_mysql.erl index d33f313bc..cf937aeba 100644 --- a/apps/emqx_mysql/src/emqx_mysql.erl +++ b/apps/emqx_mysql/src/emqx_mysql.erl @@ -44,7 +44,7 @@ unprepare_sql/1 ]). --export([roots/0, fields/1]). +-export([roots/0, fields/1, namespace/0]). -export([do_get_status/1]). @@ -63,6 +63,9 @@ -export_type([state/0]). %%===================================================================== %% Hocon schema + +namespace() -> mysql. + roots() -> [{config, #{type => hoconsc:ref(?MODULE, config)}}]. diff --git a/apps/emqx_oracle/src/emqx_oracle_schema.erl b/apps/emqx_oracle/src/emqx_oracle_schema.erl index ba9904f19..a30ffca92 100644 --- a/apps/emqx_oracle/src/emqx_oracle_schema.erl +++ b/apps/emqx_oracle/src/emqx_oracle_schema.erl @@ -12,9 +12,12 @@ %% Hocon config schema exports -export([ roots/0, - fields/1 + fields/1, + namespace/0 ]). +namespace() -> oracle. + roots() -> [{config, #{type => hoconsc:ref(?REF_MODULE, config)}}]. diff --git a/apps/emqx_postgresql/src/emqx_postgresql.erl b/apps/emqx_postgresql/src/emqx_postgresql.erl index e77a88c57..c8f354df0 100644 --- a/apps/emqx_postgresql/src/emqx_postgresql.erl +++ b/apps/emqx_postgresql/src/emqx_postgresql.erl @@ -23,7 +23,7 @@ -include_lib("epgsql/include/epgsql.hrl"). -include_lib("snabbkaffe/include/snabbkaffe.hrl"). --export([roots/0, fields/1]). +-export([roots/0, fields/1, namespace/0]). -behaviour(emqx_resource). @@ -71,6 +71,8 @@ %%===================================================================== +namespace() -> postgres. + roots() -> [{config, #{type => hoconsc:ref(?MODULE, config)}}]. diff --git a/apps/emqx_prometheus/src/emqx_prometheus_api.erl b/apps/emqx_prometheus/src/emqx_prometheus_api.erl index 89bfa6e6a..432142775 100644 --- a/apps/emqx_prometheus/src/emqx_prometheus_api.erl +++ b/apps/emqx_prometheus/src/emqx_prometheus_api.erl @@ -34,7 +34,8 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -export([ @@ -50,6 +51,8 @@ -define(IS_TRUE(Val), ((Val =:= true) orelse (Val =:= <<"true">>))). -define(IS_FALSE(Val), ((Val =:= false) orelse (Val =:= <<"false">>))). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}). diff --git a/apps/emqx_telemetry/src/emqx_telemetry_api.erl b/apps/emqx_telemetry/src/emqx_telemetry_api.erl index c90ad6b38..da18f761a 100644 --- a/apps/emqx_telemetry/src/emqx_telemetry_api.erl +++ b/apps/emqx_telemetry/src/emqx_telemetry_api.erl @@ -32,12 +32,15 @@ api_spec/0, paths/0, schema/1, - fields/1 + fields/1, + namespace/0 ]). -define(BAD_REQUEST, 'BAD_REQUEST'). -define(NOT_FOUND, 'NOT_FOUND'). +namespace() -> undefined. + api_spec() -> emqx_dashboard_swagger:spec(?MODULE, #{check_schema => true}).