From 2b36b48f98eff9ef793acc4de9ce65eaccec290c Mon Sep 17 00:00:00 2001 From: Andrew Mayorov Date: Tue, 7 Nov 2023 15:32:46 +0700 Subject: [PATCH] feat(connector): use `emqx_schema_secret` as password field schema --- .../src/emqx_connector_schema_lib.erl | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/apps/emqx_connector/src/emqx_connector_schema_lib.erl b/apps/emqx_connector/src/emqx_connector_schema_lib.erl index a277fe8c8..d2357b360 100644 --- a/apps/emqx_connector/src/emqx_connector_schema_lib.erl +++ b/apps/emqx_connector/src/emqx_connector_schema_lib.erl @@ -22,15 +22,15 @@ -export([ relational_db_fields/0, ssl_fields/0, - prepare_statement_fields/0 + prepare_statement_fields/0, + password_field/0, + password_field/1 ]). -export([ pool_size/1, database/1, username/1, - password/1, - password_required/1, auto_reconnect/1 ]). @@ -68,10 +68,19 @@ relational_db_fields() -> %% See emqx_resource.hrl {pool_size, fun pool_size/1}, {username, fun username/1}, - {password, fun password/1}, + {password, password_field()}, {auto_reconnect, fun auto_reconnect/1} ]. +-spec password_field() -> hocon_schema:field_schema(). +password_field() -> + password_field(#{}). + +-spec password_field(#{atom() => _}) -> hocon_schema:field_schema(). +password_field(Overrides) -> + Base = #{desc => ?DESC("password")}, + emqx_schema_secret:mk(maps:merge(Base, Overrides)). + prepare_statement_fields() -> [{prepare_statement, fun prepare_statement/1}]. @@ -97,22 +106,6 @@ username(desc) -> ?DESC("username"); username(required) -> false; username(_) -> undefined. -password(type) -> binary(); -password(desc) -> ?DESC("password"); -password(required) -> false; -password(format) -> <<"password">>; -password(sensitive) -> true; -password(converter) -> fun emqx_schema:password_converter/2; -password(_) -> undefined. - -password_required(type) -> binary(); -password_required(desc) -> ?DESC("password"); -password_required(required) -> true; -password_required(format) -> <<"password">>; -password_required(sensitive) -> true; -password_required(converter) -> fun emqx_schema:password_converter/2; -password_required(_) -> undefined. - auto_reconnect(type) -> boolean(); auto_reconnect(desc) -> ?DESC("auto_reconnect"); auto_reconnect(default) -> true;