2021-05-09 09:52:53 +00:00
|
|
|
use serde::{Serialize, Deserialize};
|
|
|
|
|
2021-05-09 10:06:58 +00:00
|
|
|
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Clone)]
|
2021-05-08 09:34:55 +00:00
|
|
|
pub struct BindRequest {
|
|
|
|
pub name: String,
|
|
|
|
pub password: String,
|
|
|
|
}
|
|
|
|
|
2021-05-09 10:06:58 +00:00
|
|
|
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Clone)]
|
2021-05-08 09:34:55 +00:00
|
|
|
pub enum RequestFilter {
|
|
|
|
And(Vec<RequestFilter>),
|
|
|
|
Or(Vec<RequestFilter>),
|
|
|
|
Not(Box<RequestFilter>),
|
|
|
|
Equality(String, String),
|
|
|
|
}
|
|
|
|
|
2021-05-09 10:06:58 +00:00
|
|
|
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Clone)]
|
2021-05-08 09:34:55 +00:00
|
|
|
pub struct ListUsersRequest {
|
|
|
|
pub filters: Option<RequestFilter>,
|
|
|
|
}
|
|
|
|
|
2021-05-09 09:52:53 +00:00
|
|
|
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize)]
|
2021-05-09 08:10:17 +00:00
|
|
|
#[cfg_attr(not(target_arch = "wasm32"), derive(sqlx::FromRow))]
|
2021-05-08 09:34:55 +00:00
|
|
|
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,
|
|
|
|
}
|
|
|
|
|
2021-05-09 09:52:53 +00:00
|
|
|
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize)]
|
2021-05-08 09:34:55 +00:00
|
|
|
pub struct Group {
|
|
|
|
pub display_name: String,
|
|
|
|
pub users: Vec<String>,
|
|
|
|
}
|