mirror of
https://github.com/kanidm/kanidm.git
synced 2025-02-24 04:57:00 +01:00
65 lines
1.3 KiB
Rust
65 lines
1.3 KiB
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
pub struct NssUser {
|
|
pub name: String,
|
|
pub gid: u32,
|
|
pub gecos: String,
|
|
pub homedir: String,
|
|
pub shell: String,
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
pub struct NssGroup {
|
|
pub name: String,
|
|
pub gid: u32,
|
|
pub members: Vec<String>,
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
pub enum ClientRequest {
|
|
SshKey(String),
|
|
NssAccounts,
|
|
NssAccountByUid(u32),
|
|
NssAccountByName(String),
|
|
NssGroups,
|
|
NssGroupByGid(u32),
|
|
NssGroupByName(String),
|
|
PamAuthenticate(String, String),
|
|
PamAccountAllowed(String),
|
|
PamAccountBeginSession(String),
|
|
InvalidateCache,
|
|
ClearCache,
|
|
Status,
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
pub enum ClientResponse {
|
|
SshKeys(Vec<String>),
|
|
NssAccounts(Vec<NssUser>),
|
|
NssAccount(Option<NssUser>),
|
|
NssGroups(Vec<NssGroup>),
|
|
NssGroup(Option<NssGroup>),
|
|
PamStatus(Option<bool>),
|
|
Ok,
|
|
Error,
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
|
pub struct HomeDirectoryInfo {
|
|
pub gid: u32,
|
|
pub name: String,
|
|
pub aliases: Vec<String>,
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
|
pub enum TaskRequest {
|
|
HomeDirectory(HomeDirectoryInfo),
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
pub enum TaskResponse {
|
|
Success,
|
|
Error(String),
|
|
}
|