diff options
author | Stefan Melmuk <[email protected]> | 2024-08-01 19:45:42 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2024-08-01 19:45:42 +0200 |
commit | 39d4d31080f6b740b430598d2c25a6bb1755b0d2 (patch) | |
tree | 7d1788668e65de8b0b9764f694e817def2b8be9d | |
parent | c28246cf34bcf1f4ecfbfde88e5d6655a44ebcb7 (diff) | |
download | vaultwarden-39d4d31080f6b740b430598d2c25a6bb1755b0d2.tar.gz vaultwarden-39d4d31080f6b740b430598d2c25a6bb1755b0d2.zip |
make access_all optional (#4812)
* make access_all optional
* use #[serde(default)] instead of unwrapping
-rw-r--r-- | src/api/core/organizations.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/api/core/organizations.rs b/src/api/core/organizations.rs index 7b7f5896..01337311 100644 --- a/src/api/core/organizations.rs +++ b/src/api/core/organizations.rs @@ -844,7 +844,8 @@ struct InviteData { groups: Vec<String>, r#type: NumberOrString, collections: Option<Vec<CollectionData>>, - access_all: Option<bool>, + #[serde(default)] + access_all: bool, } #[post("/organizations/<org_id>/users/invite", data = "<data>")] @@ -896,7 +897,7 @@ async fn send_invite(org_id: &str, data: Json<InviteData>, headers: AdminHeaders }; let mut new_user = UserOrganization::new(user.uuid.clone(), String::from(org_id)); - let access_all = data.access_all.unwrap_or(false); + let access_all = data.access_all; new_user.access_all = access_all; new_user.atype = new_type; new_user.status = user_org_status; @@ -1297,6 +1298,7 @@ struct EditUserData { r#type: NumberOrString, collections: Option<Vec<CollectionData>>, groups: Option<Vec<String>>, + #[serde(default)] access_all: bool, } @@ -2223,7 +2225,8 @@ async fn get_groups(org_id: &str, _headers: ManagerHeadersLoose, mut conn: DbCon #[serde(rename_all = "camelCase")] struct GroupRequest { name: String, - access_all: Option<bool>, + #[serde(default)] + access_all: bool, external_id: Option<String>, collections: Vec<SelectionReadOnly>, users: Vec<String>, @@ -2231,17 +2234,12 @@ struct GroupRequest { impl GroupRequest { pub fn to_group(&self, organizations_uuid: &str) -> Group { - Group::new( - String::from(organizations_uuid), - self.name.clone(), - self.access_all.unwrap_or(false), - self.external_id.clone(), - ) + Group::new(String::from(organizations_uuid), self.name.clone(), self.access_all, self.external_id.clone()) } pub fn update_group(&self, mut group: Group) -> Group { group.name.clone_from(&self.name); - group.access_all = self.access_all.unwrap_or(false); + group.access_all = self.access_all; // Group Updates do not support changing the external_id // These input fields are in a disabled state, and can only be updated/added via ldap_import |