use serde::Deserialize;
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct User {
pub username: Option<String>,
pub display_name: Option<String>,
#[serde(default)]
pub disabled: bool,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone)]
pub struct CreateUser {
pub username: String,
pub display_name: String,
pub password: String,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Group {
pub name: Option<String>,
pub description: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone)]
pub struct CreateGroup {
pub name: String,
pub description: String,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct UserListResponse {
pub users: Vec<User>,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct GroupListResponse {
pub groups: Vec<Group>,
}