diff --git a/src/config.rs b/src/config.rs index 1f3ff3b..d58ade9 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1965,6 +1965,16 @@ pub struct GroupUser { pub name: String, } +#[derive(Debug, Default, Serialize, Deserialize, Clone)] +pub struct DeviceGroup { + #[serde( + default, + deserialize_with = "deserialize_string", + skip_serializing_if = "String::is_empty" + )] + pub name: String, +} + #[derive(Debug, Default, Serialize, Deserialize, Clone)] pub struct Group { #[serde( @@ -1977,6 +1987,8 @@ pub struct Group { pub users: Vec, #[serde(default, deserialize_with = "deserialize_vec_grouppeer")] pub peers: Vec, + #[serde(default, deserialize_with = "deserialize_vec_devicegroup")] + pub device_groups: Vec, } impl Group { @@ -2048,6 +2060,7 @@ deserialize_default!(deserialize_vec_abpeer, Vec); deserialize_default!(deserialize_vec_abentry, Vec); deserialize_default!(deserialize_vec_groupuser, Vec); deserialize_default!(deserialize_vec_grouppeer, Vec); +deserialize_default!(deserialize_vec_devicegroup, Vec); deserialize_default!(deserialize_keypair, KeyPair); deserialize_default!(deserialize_size, Size); deserialize_default!(deserialize_hashmap_string_string, HashMap);