pass_manager/src/handlers/state/get_password.rs

34 lines
901 B
Rust
Raw Normal View History

2023-05-03 18:08:14 +00:00
use sea_orm::prelude::*;
use teloxide::{adaptors::Throttle, prelude::*};
use crate::handlers::{markups::deletion_markup, utils::validate_field, MainDialogue};
2023-05-03 18:08:14 +00:00
2023-05-09 17:27:58 +00:00
/// Function to handle GetPassword state
2023-05-03 18:08:14 +00:00
pub async fn get_password(
bot: Throttle<Bot>,
msg: Message,
db: DatabaseConnection,
dialogue: MainDialogue,
next: super::PackagedHandler<String>,
2023-05-03 18:08:14 +00:00
) -> crate::Result<()> {
super::generic::generic(
bot,
msg,
db,
dialogue,
|bot, msg, _, password| {
Box::pin(async move {
let is_valid = validate_field(password);
if !is_valid {
bot.send_message(msg.chat.id, "Invalid password")
.reply_markup(deletion_markup())
.await?;
}
Ok(is_valid)
})
},
2023-05-03 18:08:14 +00:00
next,
)
.await
}