use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct Account {
pub service: String,
pub account_id: Option<String>,
pub secret: String,
pub algorithm: Algorithm,
pub digits: u8,
pub period: u64,
}
impl Account {
pub fn new(name: String, secret: String) -> Self {
Self {
service: name,
account_id: None,
secret: secret,
algorithm: Algorithm::Sha1,
digits: 6,
period: 30,
}
}
}
#[derive(Debug, Serialize, Deserialize)]
pub enum Algorithm {
Sha1,
Sha256,
Sha512,
}