Now altering messages where possible
This commit is contained in:
@ -8,22 +8,23 @@ async fn get_master_pass(
|
||||
msg: Message,
|
||||
db: DatabaseConnection,
|
||||
dialogue: MainDialogue,
|
||||
ids: MessageIds,
|
||||
mut ids: MessageIds,
|
||||
name: String,
|
||||
login: String,
|
||||
password: String,
|
||||
master_pass: String,
|
||||
) -> crate::Result<()> {
|
||||
ids.delete(&bot).await;
|
||||
let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
|
||||
dialogue.exit().await?;
|
||||
|
||||
let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
|
||||
|
||||
let account = spawn_blocking(move || {
|
||||
account::ActiveModel::from_unencrypted(user_id, name, &login, &password, &master_pass)
|
||||
})
|
||||
.await??;
|
||||
account.insert(&db).await?;
|
||||
bot.send_message(msg.chat.id, "Success")
|
||||
.reply_markup(deletion_markup())
|
||||
|
||||
ids.alter_message(&bot, "Success", deletion_markup(), None)
|
||||
.await?;
|
||||
Ok(())
|
||||
}
|
||||
|
@ -7,18 +7,23 @@ async fn get_master_pass(
|
||||
msg: Message,
|
||||
db: DatabaseConnection,
|
||||
dialogue: MainDialogue,
|
||||
ids: MessageIds,
|
||||
mut ids: MessageIds,
|
||||
name: String,
|
||||
_: String,
|
||||
) -> crate::Result<()> {
|
||||
ids.delete(&bot).await;
|
||||
dialogue.exit().await?;
|
||||
|
||||
let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
|
||||
Account::delete_by_id((user_id, name)).exec(&db).await?;
|
||||
bot.send_message(msg.chat.id, "The account is successfully deleted")
|
||||
.reply_markup(deletion_markup())
|
||||
.await?;
|
||||
|
||||
ids.alter_message(
|
||||
&bot,
|
||||
"The account is successfully deleted",
|
||||
deletion_markup(),
|
||||
None,
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
@ -10,10 +10,9 @@ async fn get_master_pass(
|
||||
msg: Message,
|
||||
db: DatabaseConnection,
|
||||
dialogue: MainDialogue,
|
||||
ids: MessageIds,
|
||||
mut ids: MessageIds,
|
||||
_: String,
|
||||
) -> crate::Result<()> {
|
||||
ids.delete(&bot).await;
|
||||
dialogue.exit().await?;
|
||||
let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
|
||||
let txn = db.begin().await?;
|
||||
@ -32,8 +31,7 @@ async fn get_master_pass(
|
||||
"Something went wrong. Try again later"
|
||||
}
|
||||
};
|
||||
bot.send_message(msg.chat.id, text)
|
||||
.reply_markup(deletion_markup())
|
||||
ids.alter_message(&bot, text, deletion_markup(), None)
|
||||
.await?;
|
||||
Ok(())
|
||||
}
|
||||
|
@ -26,6 +26,8 @@ async fn get_master_pass(
|
||||
ids: MessageIds,
|
||||
master_pass: String,
|
||||
) -> crate::Result<()> {
|
||||
dialogue.exit().await?;
|
||||
|
||||
ids.delete(&bot).await;
|
||||
let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
|
||||
let mut accounts = Vec::new();
|
||||
@ -51,7 +53,6 @@ async fn get_master_pass(
|
||||
bot.send_document(msg.chat.id, file)
|
||||
.reply_markup(deletion_markup())
|
||||
.await?;
|
||||
dialogue.exit().await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
@ -8,14 +8,14 @@ async fn get_master_pass(
|
||||
msg: Message,
|
||||
db: DatabaseConnection,
|
||||
dialogue: MainDialogue,
|
||||
ids: MessageIds,
|
||||
mut ids: MessageIds,
|
||||
name: String,
|
||||
master_pass: String,
|
||||
) -> crate::Result<()> {
|
||||
ids.delete(&bot).await;
|
||||
dialogue.exit().await?;
|
||||
|
||||
let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
|
||||
|
||||
let account = match Account::get(user_id, &name, &db).await? {
|
||||
Some(account) => account,
|
||||
None => {
|
||||
@ -25,11 +25,11 @@ async fn get_master_pass(
|
||||
return Ok(());
|
||||
}
|
||||
};
|
||||
|
||||
let (login, password) = spawn_blocking(move || account.decrypt(&master_pass)).await??;
|
||||
let message = format!("Name:\n`{name}`\nLogin:\n`{login}`\nPassword:\n`{password}`");
|
||||
bot.send_message(msg.chat.id, message)
|
||||
.reply_markup(deletion_markup())
|
||||
.parse_mode(ParseMode::MarkdownV2)
|
||||
let text = format!("Name:\n`{name}`\nLogin:\n`{login}`\nPassword:\n`{password}`");
|
||||
|
||||
ids.alter_message(&bot, text, deletion_markup(), ParseMode::MarkdownV2)
|
||||
.await?;
|
||||
Ok(())
|
||||
}
|
||||
|
@ -31,11 +31,12 @@ async fn get_master_pass(
|
||||
msg: Message,
|
||||
db: DatabaseConnection,
|
||||
dialogue: MainDialogue,
|
||||
ids: MessageIds,
|
||||
mut ids: MessageIds,
|
||||
user: User,
|
||||
master_pass: String,
|
||||
) -> crate::Result<()> {
|
||||
ids.delete(&bot).await;
|
||||
dialogue.exit().await?;
|
||||
|
||||
let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
|
||||
let mut failed = Vec::new();
|
||||
|
||||
@ -50,7 +51,7 @@ async fn get_master_pass(
|
||||
.await;
|
||||
}
|
||||
|
||||
let message = if failed.is_empty() {
|
||||
let text = if failed.is_empty() {
|
||||
"Success".to_owned()
|
||||
} else {
|
||||
format!(
|
||||
@ -58,10 +59,8 @@ async fn get_master_pass(
|
||||
failed.into_iter().format("\n")
|
||||
)
|
||||
};
|
||||
bot.send_message(msg.chat.id, message)
|
||||
.reply_markup(deletion_markup())
|
||||
ids.alter_message(&bot, text, deletion_markup(), None)
|
||||
.await?;
|
||||
dialogue.exit().await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
@ -7,10 +7,9 @@ async fn get_master_pass(
|
||||
msg: Message,
|
||||
db: DatabaseConnection,
|
||||
dialogue: MainDialogue,
|
||||
ids: MessageIds,
|
||||
mut ids: MessageIds,
|
||||
master_pass: String,
|
||||
) -> crate::Result<()> {
|
||||
ids.delete(&bot).await;
|
||||
dialogue.exit().await?;
|
||||
|
||||
let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
|
||||
@ -18,8 +17,7 @@ async fn get_master_pass(
|
||||
spawn_blocking(move || master_pass::ActiveModel::from_unencrypted(user_id, &master_pass))
|
||||
.await?;
|
||||
model.insert(&db).await?;
|
||||
bot.send_message(msg.chat.id, "Success")
|
||||
.reply_markup(deletion_markup())
|
||||
ids.alter_message(&bot, "Success", deletion_markup(), None)
|
||||
.await?;
|
||||
Ok(())
|
||||
}
|
||||
@ -44,7 +42,7 @@ pub async fn set_master_pass(
|
||||
|
||||
change_state!(
|
||||
dialogue,
|
||||
previous,
|
||||
&previous,
|
||||
(),
|
||||
State::GetNewMasterPass,
|
||||
get_master_pass
|
||||
|
Reference in New Issue
Block a user