pass_manager/src/state/mod.rs

39 lines
1.0 KiB
Rust

//! This module consists of endpoints to handle the state
mod generic;
mod get_existing_name;
mod get_login;
mod get_master_pass;
mod get_new_master_pass;
mod get_new_name;
mod get_password;
mod get_user;
mod handler;
pub use get_existing_name::get_existing_name;
pub use get_login::get_login;
pub use get_master_pass::get_master_pass;
pub use get_new_master_pass::get_new_master_pass;
pub use get_new_name::get_new_name;
pub use get_password::get_password;
pub use get_user::get_user;
pub use handler::{Handler, PackagedHandler};
use crate::prelude::*;
use teloxide::dispatching::dialogue::InMemStorage;
#[derive(Default, Clone)]
pub enum State {
#[default]
Start,
GetExistingName(PackagedHandler<String>),
GetNewName(PackagedHandler<String>),
GetMasterPass(PackagedHandler<String>),
GetNewMasterPass(PackagedHandler<String>),
GetLogin(PackagedHandler<String>),
GetPassword(PackagedHandler<String>),
GetUser(PackagedHandler<User>),
}
pub type MainDialogue = Dialogue<State, InMemStorage<State>>;