Allow moderators to edit version info (#703)

* Allow moderators to edit version info

* Clippy fix
This commit is contained in:
Emma Alexia Triphora
2023-09-11 14:21:50 -04:00
committed by GitHub
parent 35a541f99b
commit e6818023a3
3 changed files with 19 additions and 20 deletions

View File

@@ -45,6 +45,23 @@ impl Default for Permissions {
}
}
impl Permissions {
pub fn get_permissions_by_role(
role: &crate::models::users::Role,
team_member: &Option<crate::database::models::TeamMember>,
) -> Option<Self> {
if role.is_admin() {
Some(Permissions::ALL)
} else if let Some(member) = team_member {
Some(member.permissions)
} else if role.is_mod() {
Some(Permissions::EDIT_DETAILS | Permissions::EDIT_BODY | Permissions::UPLOAD_VERSION)
} else {
None
}
}
}
/// A member of a team
#[derive(Serialize, Deserialize, Clone)]
pub struct TeamMember {