Removed utils mod, moved hexing the name to entity library
This commit is contained in:
parent
e8f0fcd819
commit
a359364606
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -438,6 +438,7 @@ name = "entity"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"futures",
|
||||
"hex",
|
||||
"sqlx",
|
||||
]
|
||||
|
||||
@ -1164,7 +1165,6 @@ dependencies = [
|
||||
"dotenvy",
|
||||
"entity",
|
||||
"futures",
|
||||
"hex",
|
||||
"itertools 0.12.1",
|
||||
"log",
|
||||
"parking_lot",
|
||||
|
@ -30,7 +30,6 @@ cryptography = { version = "0.1", path = "cryptography" }
|
||||
dotenvy = "0.15"
|
||||
entity = { version = "0.1", path = "entity" }
|
||||
futures = "0.3"
|
||||
hex = "0.4"
|
||||
itertools = "0.12"
|
||||
log = "0.4"
|
||||
parking_lot = "0.12"
|
||||
|
@ -16,3 +16,4 @@ sqlx = { version = "0.7", features = [
|
||||
"macros",
|
||||
"migrate",
|
||||
], default-features = false }
|
||||
hex = "0.4"
|
||||
|
@ -93,13 +93,14 @@ impl Account {
|
||||
.map(|_| ())
|
||||
}
|
||||
|
||||
/// Gets a name by a hex of a SHA256 hash of the name
|
||||
/// Gets a name by a SHA256 hash of the name
|
||||
#[inline]
|
||||
pub async fn get_name_by_hash(
|
||||
user_id: u64,
|
||||
hash: String,
|
||||
hash: &[u8],
|
||||
pool: &Pool,
|
||||
) -> crate::Result<Option<String>> {
|
||||
let hash = hex::encode(hash);
|
||||
let name = query_as::<_, (String,)>(
|
||||
"SELECT `name` FROM `account` WHERE SHA2(`name`, 256) = ? AND `user_id` = ?;",
|
||||
)
|
||||
|
@ -80,7 +80,7 @@ pub async fn alter(
|
||||
let user_id = q.from.id.0;
|
||||
let mut ids: MessageIds = q.message.as_ref().unwrap().into();
|
||||
|
||||
let Some(name) = name_from_hash(&db, user_id, &hash).await? else {
|
||||
let Some(name) = Account::get_name_by_hash(user_id, &hash, &db).await? else {
|
||||
try_join!(
|
||||
bot.send_message(ids.0, "Account wasn't found")
|
||||
.reply_markup(deletion_markup())
|
||||
|
@ -52,7 +52,7 @@ pub async fn decrypt(
|
||||
let mut ids: MessageIds = q.message.as_ref().unwrap().into();
|
||||
let user_id = q.from.id.0;
|
||||
|
||||
let Some(name) = name_from_hash(&db, user_id, &hash).await? else {
|
||||
let Some(name) = Account::get_name_by_hash(user_id, &hash, &db).await? else {
|
||||
try_join!(
|
||||
bot.send_message(ids.0, "Account wasn't found")
|
||||
.reply_markup(deletion_markup())
|
||||
|
@ -40,7 +40,7 @@ pub async fn delete(
|
||||
let mut ids: MessageIds = q.message.as_ref().unwrap().into();
|
||||
let user_id = q.from.id.0;
|
||||
|
||||
let Some(name) = name_from_hash(&db, user_id, &hash).await? else {
|
||||
let Some(name) = Account::get_name_by_hash(user_id, &hash, &db).await? else {
|
||||
try_join!(
|
||||
bot.send_message(ids.0, "Account wasn't found")
|
||||
.reply_markup(deletion_markup())
|
||||
|
@ -12,7 +12,7 @@ pub async fn get(
|
||||
let user_id = q.from.id.0;
|
||||
let mut ids: MessageIds = q.message.as_ref().unwrap().into();
|
||||
|
||||
let Some(name) = name_from_hash(&db, user_id, &hash).await? else {
|
||||
let Some(name) = Account::get_name_by_hash(user_id, &hash, &db).await? else {
|
||||
try_join!(
|
||||
bot.send_message(ids.0, "Account wasn't found")
|
||||
.reply_markup(deletion_markup())
|
||||
|
7
src/delete_mesage_handler.rs
Normal file
7
src/delete_mesage_handler.rs
Normal file
@ -0,0 +1,7 @@
|
||||
use crate::prelude::*;
|
||||
|
||||
/// Deletes the message ignoring the errors
|
||||
#[inline]
|
||||
pub async fn delete_message(bot: Throttle<Bot>, msg: Message) {
|
||||
let _ = bot.delete_message(msg.chat.id, msg.id).await;
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
mod callbacks;
|
||||
mod commands;
|
||||
mod default;
|
||||
mod delete_mesage_handler;
|
||||
mod errors;
|
||||
mod filter_user_info;
|
||||
mod macros;
|
||||
@ -9,7 +10,6 @@ mod master_password_check;
|
||||
mod models;
|
||||
mod prelude;
|
||||
mod state;
|
||||
mod utils;
|
||||
|
||||
use anyhow::{Error, Result};
|
||||
use dotenvy::dotenv;
|
||||
@ -45,7 +45,7 @@ fn get_dispatcher(
|
||||
.branch(case![Command::Import].endpoint(commands::import));
|
||||
|
||||
let message_handler = Update::filter_message()
|
||||
.map_async(utils::delete_message)
|
||||
.map_async(delete_mesage_handler::delete_message)
|
||||
// Filters out the messages without user information
|
||||
.branch(filter_user_info::get_handler())
|
||||
.branch(case![State::GetNewName(next)].endpoint(state::get_new_name))
|
||||
|
@ -5,7 +5,6 @@ pub use crate::{
|
||||
markups::*,
|
||||
models::*,
|
||||
state::{Handler, MainDialogue, MessageIds, PackagedHandler, State},
|
||||
utils::*,
|
||||
};
|
||||
pub use cryptography::prelude::*;
|
||||
pub use entity::{prelude::*, Pool};
|
||||
|
15
src/utils.rs
15
src/utils.rs
@ -1,15 +0,0 @@
|
||||
use crate::prelude::*;
|
||||
|
||||
/// Deletes the message ignoring the errors
|
||||
#[inline]
|
||||
pub async fn delete_message(bot: Throttle<Bot>, msg: Message) {
|
||||
let _ = bot.delete_message(msg.chat.id, msg.id).await;
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub async fn name_from_hash(db: &Pool, user_id: u64, hash: &[u8]) -> crate::Result<Option<String>> {
|
||||
let hash = hex::encode(hash);
|
||||
Account::get_name_by_hash(user_id, hash, db)
|
||||
.await
|
||||
.map_err(Into::into)
|
||||
}
|
Loading…
Reference in New Issue
Block a user