@@ -823,8 +823,7 @@ pub struct QueryConfig {
823823 pub async_insert_stale_timeout : u64 ,
824824
825825 #[ clap( skip) ]
826- #[ serde( flatten) ]
827- pub idm : IDMConfig ,
826+ users : Vec < UserConfig > ,
828827}
829828
830829impl Default for QueryConfig {
@@ -877,7 +876,9 @@ impl TryInto<InnerQueryConfig> for QueryConfig {
877876 async_insert_max_data_size : self . async_insert_max_data_size ,
878877 async_insert_busy_timeout : self . async_insert_busy_timeout ,
879878 async_insert_stale_timeout : self . async_insert_stale_timeout ,
880- idm : self . idm . try_into ( ) ?,
879+ idm : InnerIDMConfig {
880+ users : users_to_inner ( self . users ) ?,
881+ } ,
881882 } )
882883 }
883884}
@@ -931,7 +932,7 @@ impl From<InnerQueryConfig> for QueryConfig {
931932 async_insert_max_data_size : inner. async_insert_max_data_size ,
932933 async_insert_busy_timeout : inner. async_insert_busy_timeout ,
933934 async_insert_stale_timeout : inner. async_insert_stale_timeout ,
934- idm : inner. idm . into ( ) ,
935+ users : users_from_inner ( inner. idm . users ) ,
935936 }
936937 }
937938}
@@ -1230,36 +1231,22 @@ impl Debug for MetaConfig {
12301231 }
12311232}
12321233
1233- #[ derive( Clone , Debug , Default , PartialEq , Eq , Serialize , Deserialize ) ]
1234- pub struct IDMConfig {
1235- users : Vec < UserConfig > ,
1236- }
1237-
1238- impl TryInto < InnerIDMConfig > for IDMConfig {
1239- type Error = ErrorCode ;
1240-
1241- fn try_into ( self ) -> Result < InnerIDMConfig > {
1242- let mut users = HashMap :: new ( ) ;
1243- for c in self . users . into_iter ( ) {
1244- users. insert ( c. name . clone ( ) , c. auth . try_into ( ) ?) ;
1245- }
1246- Ok ( InnerIDMConfig { users } )
1247- }
1234+ fn users_from_inner ( inner : HashMap < String , AuthInfo > ) -> Vec < UserConfig > {
1235+ inner
1236+ . into_iter ( )
1237+ . map ( |( name, auth) | UserConfig {
1238+ name,
1239+ auth : auth. into ( ) ,
1240+ } )
1241+ . collect ( )
12481242}
12491243
1250- impl From < InnerIDMConfig > for IDMConfig {
1251- fn from ( inner : InnerIDMConfig ) -> Self {
1252- Self {
1253- users : inner
1254- . users
1255- . into_iter ( )
1256- . map ( |( name, auth) | UserConfig {
1257- name,
1258- auth : auth. into ( ) ,
1259- } )
1260- . collect ( ) ,
1261- }
1244+ fn users_to_inner ( outer : Vec < UserConfig > ) -> Result < HashMap < String , AuthInfo > > {
1245+ let mut inner = HashMap :: new ( ) ;
1246+ for c in outer. into_iter ( ) {
1247+ inner. insert ( c. name . clone ( ) , c. auth . try_into ( ) ?) ;
12621248 }
1249+ Ok ( inner)
12631250}
12641251
12651252#[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
0 commit comments