Split the crate in 3, introduce JS frontend
This commit is contained in:
12
model/Cargo.toml
Normal file
12
model/Cargo.toml
Normal file
@@ -0,0 +1,12 @@
|
||||
[package]
|
||||
name = "lldap_model"
|
||||
version = "0.1.0"
|
||||
authors = ["Valentin Tolmer <valentin@tolmer.fr>", "Steve Barrau <steve.barrau@gmail.com>", "Thomas Wickham <mackwic@gmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
[features]
|
||||
js = []
|
||||
|
||||
[dependencies]
|
||||
chrono = "*"
|
||||
serde = "*"
|
||||
36
model/src/lib.rs
Normal file
36
model/src/lib.rs
Normal file
@@ -0,0 +1,36 @@
|
||||
#[cfg_attr(test, derive(PartialEq, Eq, Debug))]
|
||||
pub struct BindRequest {
|
||||
pub name: String,
|
||||
pub password: String,
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Eq)]
|
||||
#[cfg_attr(test, derive(Debug))]
|
||||
pub enum RequestFilter {
|
||||
And(Vec<RequestFilter>),
|
||||
Or(Vec<RequestFilter>),
|
||||
Not(Box<RequestFilter>),
|
||||
Equality(String, String),
|
||||
}
|
||||
|
||||
#[cfg_attr(test, derive(PartialEq, Eq, Debug))]
|
||||
pub struct ListUsersRequest {
|
||||
pub filters: Option<RequestFilter>,
|
||||
}
|
||||
|
||||
#[cfg_attr(test, derive(PartialEq, Eq, Debug))]
|
||||
pub struct User {
|
||||
pub user_id: String,
|
||||
pub email: String,
|
||||
pub display_name: String,
|
||||
pub first_name: String,
|
||||
pub last_name: String,
|
||||
// pub avatar: ?,
|
||||
pub creation_date: chrono::NaiveDateTime,
|
||||
}
|
||||
|
||||
#[cfg_attr(test, derive(PartialEq, Eq, Debug))]
|
||||
pub struct Group {
|
||||
pub display_name: String,
|
||||
pub users: Vec<String>,
|
||||
}
|
||||
Reference in New Issue
Block a user