From 2f1970adbcb21387521cb8cbc092878202804676 Mon Sep 17 00:00:00 2001 From: Ilya Averyanov Date: Wed, 5 Apr 2023 13:36:34 +0300 Subject: [PATCH] fix(ft): make ee schema aware of ee fields --- apps/emqx_ft/src/emqx_ft_schema.erl | 5 ++++- lib-ee/emqx_ee_conf/src/emqx_ee_conf_schema.erl | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/emqx_ft/src/emqx_ft_schema.erl b/apps/emqx_ft/src/emqx_ft_schema.erl index 697220e1e..270543bc9 100644 --- a/apps/emqx_ft/src/emqx_ft_schema.erl +++ b/apps/emqx_ft/src/emqx_ft_schema.erl @@ -35,7 +35,7 @@ -reflect_type([json_value/0]). --import(hoconsc, [ref/1, ref/2, mk/2]). +-import(hoconsc, [ref/2, mk/2]). namespace() -> file_transfer. @@ -217,3 +217,6 @@ converter(checksum) -> _ = byte_size(Hex) =:= 64 orelse throw({expected_length, 64}), {sha256, binary:decode_hex(Hex)} end. + +ref(Ref) -> + ref(?MODULE, Ref). diff --git a/lib-ee/emqx_ee_conf/src/emqx_ee_conf_schema.erl b/lib-ee/emqx_ee_conf/src/emqx_ee_conf_schema.erl index 10c6c0379..8e2800c68 100644 --- a/lib-ee/emqx_ee_conf/src/emqx_ee_conf_schema.erl +++ b/lib-ee/emqx_ee_conf/src/emqx_ee_conf_schema.erl @@ -26,10 +26,24 @@ roots() -> ). fields(Name) -> - emqx_conf_schema:fields(Name). + ee_fields(?EE_SCHEMA_MODULES, Name). translations() -> emqx_conf_schema:translations(). translation(Name) -> emqx_conf_schema:translation(Name). + +%%------------------------------------------------------------------------------ +%% helpers +%%------------------------------------------------------------------------------ + +ee_fields([EEMod | EEMods], Name) -> + case lists:member(Name, apply(EEMod, roots, [])) of + true -> + apply(EEMod, fields, [Name]); + false -> + ee_fields(EEMods, Name) + end; +ee_fields([], Name) -> + emqx_conf_schema:fields(Name).