staticlib/model/
access_rights.rsuse serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone, Default)]
#[serde(rename_all = "camelCase")]
pub struct AccessRights {
pub can_list_children: bool,
pub can_add_children: bool,
pub can_remove_children: bool,
pub can_delete: bool,
pub can_rename: bool,
pub can_copy: bool,
pub can_edit: bool,
pub can_download: bool,
}
impl AccessRights {
pub fn default(permissions: &str) -> AccessRights {
AccessRights {
can_list_children: true,
can_add_children: true,
can_remove_children: true,
can_delete: permissions.chars().nth(1).unwrap() == 'w',
can_rename: true,
can_copy: true,
can_edit: permissions.chars().nth(1).unwrap() == 'w',
can_download: permissions.chars().nth(0).unwrap() == 'r',
}
}
}