dialtone_common 0.1.0

Dialtone Common Code
Documentation
use crate::rest::users::web_user::{UserPrefs, UserStatus, UserSystemData};
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};

use super::user_login::UserCredential;

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub struct GetUser {
    pub acct: String,
}

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub struct GetUserPage {
    pub prev_date: Option<DateTime<Utc>>,
    pub next_date: Option<DateTime<Utc>>,
    pub limit: u32,
    pub host_name: String,
}

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub struct PutUserPassword {
    pub acct: String,
    pub password: String,
}

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub struct PutUserPreferences {
    pub acct: String,
    pub preferences: UserPrefs,
}

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub struct PutUserStatus {
    pub acct: String,
    pub status: UserStatus,
}

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub struct PutUserSysData {
    pub acct: String,
    pub sysinfo: UserSystemData,
}

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub enum PostUser {
    OpenRegistration(UserCredential),
    SimpleCode {
        user_creds: UserCredential,
        simple_code_for_registration: String,
    },
}

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub enum PostUserResponse {
    AccountRegistered(Option<String>),
    AccountNotRegistered(Option<String>),
    AccountNeedsApproval(Option<String>),
}