use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize)]
pub struct ParamsCreateDepartment {
pub name: String,
#[serde(rename = "parentid")]
pub parent_id: u64,
#[serde(skip_serializing_if = "Option::is_none")]
pub order: Option<u32>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct ParamsUpdateDepartment {
pub id: u64,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "parentid", skip_serializing_if = "Option::is_none")]
pub parent_id: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub order: Option<u32>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct ParamsSerchDepartment {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub fuzzy: Option<u32>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct ParamsCreateUser {
#[serde(rename = "userid")]
pub user_id: String,
pub name: String,
pub department: Vec<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub position: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mobile: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tel: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", rename = "extid")]
pub ext_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gender: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub slaves: Option<Vec<String>>,
pub password: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub cpwd_login: Option<u8>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct ParamsUpdateUser {
#[serde(rename = "userid")]
pub user_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
pub department: Option<Vec<u64>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub position: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mobile: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tel: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub extid: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gender: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub slaves: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable: Option<u8>,
#[serde(skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cpwd_login: Option<u8>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct ParamsCreateGroup {
pub groupid: String,
pub groupname: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub userlist: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub grouplist: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub department: Option<Vec<u64>>,
pub allow_type: u8,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_userlist: Option<String>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct ParamsUpdateGroup {
pub groupid: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub groupname: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub userlist: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub grouplist: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub department: Option<Vec<u64>>,
pub allow_type: Option<u8>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_userlist: Option<String>,
}