use serde::Deserialize;
#[derive(Deserialize, Debug)]
pub struct KeyInfo {
key: String,
#[serde(alias = "userID")]
user_id: usize,
username: String,
access: Access,
}
#[derive(Deserialize, Debug)]
struct Access {
user: User,
groups: Option<Groups>,
}
#[derive(Deserialize, Debug)]
struct User {
#[serde(default = "default_as_false")]
library: bool,
#[serde(default = "default_as_false")]
files: bool,
#[serde(default = "default_as_false")]
notes: bool,
#[serde(default = "default_as_false")]
write: bool,
}
#[derive(Deserialize, Debug)]
struct Groups {
all: Option<Group>,
}
#[derive(Deserialize, Debug)]
struct Group {
#[serde(default = "default_as_false")]
library: bool,
#[serde(default = "default_as_false")]
write: bool,
}