Renamed DatabaseConnection into Pool
This commit is contained in:
		@@ -7,7 +7,7 @@ use tokio::{task::spawn_blocking, try_join};
 | 
				
			|||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
async fn update_account(
 | 
					async fn update_account(
 | 
				
			||||||
    user_id: u64,
 | 
					    user_id: u64,
 | 
				
			||||||
    db: &DatabaseConnection,
 | 
					    db: &Pool,
 | 
				
			||||||
    name: String,
 | 
					    name: String,
 | 
				
			||||||
    field: AlterableField,
 | 
					    field: AlterableField,
 | 
				
			||||||
    field_value: String,
 | 
					    field_value: String,
 | 
				
			||||||
@@ -43,7 +43,7 @@ async fn update_account(
 | 
				
			|||||||
async fn get_master_pass(
 | 
					async fn get_master_pass(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    mut ids: MessageIds,
 | 
					    mut ids: MessageIds,
 | 
				
			||||||
    name: String,
 | 
					    name: String,
 | 
				
			||||||
@@ -73,7 +73,7 @@ handler!(get_field(name:String, field:AlterableField, field_value:String), "Send
 | 
				
			|||||||
pub async fn alter(
 | 
					pub async fn alter(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    q: CallbackQuery,
 | 
					    q: CallbackQuery,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    (hash, field): (super::NameHash, AlterableField),
 | 
					    (hash, field): (super::NameHash, AlterableField),
 | 
				
			||||||
) -> crate::Result<()> {
 | 
					) -> crate::Result<()> {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,7 @@ use tokio::{task::spawn_blocking, try_join};
 | 
				
			|||||||
async fn get_master_pass(
 | 
					async fn get_master_pass(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    mut ids: MessageIds,
 | 
					    mut ids: MessageIds,
 | 
				
			||||||
    name: String,
 | 
					    name: String,
 | 
				
			||||||
@@ -45,7 +45,7 @@ async fn get_master_pass(
 | 
				
			|||||||
pub async fn decrypt(
 | 
					pub async fn decrypt(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    q: CallbackQuery,
 | 
					    q: CallbackQuery,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    hash: super::NameHash,
 | 
					    hash: super::NameHash,
 | 
				
			||||||
) -> crate::Result<()> {
 | 
					) -> crate::Result<()> {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ use crate::{change_state, prelude::*};
 | 
				
			|||||||
async fn get_master_pass(
 | 
					async fn get_master_pass(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    mut ids: MessageIds,
 | 
					    mut ids: MessageIds,
 | 
				
			||||||
    name: String,
 | 
					    name: String,
 | 
				
			||||||
@@ -33,7 +33,7 @@ async fn get_master_pass(
 | 
				
			|||||||
pub async fn delete(
 | 
					pub async fn delete(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    q: CallbackQuery,
 | 
					    q: CallbackQuery,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    (hash, is_command): (super::NameHash, bool),
 | 
					    (hash, is_command): (super::NameHash, bool),
 | 
				
			||||||
) -> crate::Result<()> {
 | 
					) -> crate::Result<()> {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,7 @@ use teloxide::types::ParseMode;
 | 
				
			|||||||
pub async fn get(
 | 
					pub async fn get(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    q: CallbackQuery,
 | 
					    q: CallbackQuery,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    hash: super::NameHash,
 | 
					    hash: super::NameHash,
 | 
				
			||||||
) -> crate::Result<()> {
 | 
					) -> crate::Result<()> {
 | 
				
			||||||
    let user_id = q.from.id.0;
 | 
					    let user_id = q.from.id.0;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,7 @@
 | 
				
			|||||||
use crate::prelude::*;
 | 
					use crate::prelude::*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
pub async fn get_menu(
 | 
					pub async fn get_menu(bot: Throttle<Bot>, q: CallbackQuery, db: Pool) -> crate::Result<()> {
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					 | 
				
			||||||
    q: CallbackQuery,
 | 
					 | 
				
			||||||
    db: DatabaseConnection,
 | 
					 | 
				
			||||||
) -> crate::Result<()> {
 | 
					 | 
				
			||||||
    let user_id = q.from.id.0;
 | 
					    let user_id = q.from.id.0;
 | 
				
			||||||
    let mut ids: MessageIds = q.message.as_ref().unwrap().into();
 | 
					    let mut ids: MessageIds = q.message.as_ref().unwrap().into();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ use tokio::task::spawn_blocking;
 | 
				
			|||||||
async fn get_master_pass(
 | 
					async fn get_master_pass(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    mut ids: MessageIds,
 | 
					    mut ids: MessageIds,
 | 
				
			||||||
    name: String,
 | 
					    name: String,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@ use crate::prelude::*;
 | 
				
			|||||||
use tokio::task::spawn_blocking;
 | 
					use tokio::task::spawn_blocking;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
pub async fn delete(bot: Throttle<Bot>, msg: Message, db: DatabaseConnection) -> crate::Result<()> {
 | 
					pub async fn delete(bot: Throttle<Bot>, msg: Message, db: Pool) -> crate::Result<()> {
 | 
				
			||||||
    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
					    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let names: Vec<String> = Account::get_names(user_id, &db).try_collect().await?;
 | 
					    let names: Vec<String> = Account::get_names(user_id, &db).try_collect().await?;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ use log::error;
 | 
				
			|||||||
async fn get_master_pass(
 | 
					async fn get_master_pass(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    mut ids: MessageIds,
 | 
					    mut ids: MessageIds,
 | 
				
			||||||
    _: String,
 | 
					    _: String,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,7 +22,7 @@ async fn decrypt_account(
 | 
				
			|||||||
async fn get_master_pass(
 | 
					async fn get_master_pass(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    ids: MessageIds,
 | 
					    ids: MessageIds,
 | 
				
			||||||
    master_pass: String,
 | 
					    master_pass: String,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,11 +2,7 @@ use crate::prelude::*;
 | 
				
			|||||||
use tokio::task::spawn_blocking;
 | 
					use tokio::task::spawn_blocking;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
pub async fn get_account(
 | 
					pub async fn get_account(bot: Throttle<Bot>, msg: Message, db: Pool) -> crate::Result<()> {
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					 | 
				
			||||||
    msg: Message,
 | 
					 | 
				
			||||||
    db: DatabaseConnection,
 | 
					 | 
				
			||||||
) -> crate::Result<()> {
 | 
					 | 
				
			||||||
    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
					    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let names: Vec<String> = Account::get_names(user_id, &db).try_collect().await?;
 | 
					    let names: Vec<String> = Account::get_names(user_id, &db).try_collect().await?;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,11 +5,7 @@ use teloxide::types::ParseMode;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/// Handles /`get_accounts` command by sending the list of copyable account names to the user
 | 
					/// Handles /`get_accounts` command by sending the list of copyable account names to the user
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
pub async fn get_accounts(
 | 
					pub async fn get_accounts(bot: Throttle<Bot>, msg: Message, db: Pool) -> crate::Result<()> {
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					 | 
				
			||||||
    msg: Message,
 | 
					 | 
				
			||||||
    db: DatabaseConnection,
 | 
					 | 
				
			||||||
) -> crate::Result<()> {
 | 
					 | 
				
			||||||
    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
					    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
				
			||||||
    let mut account_names = Account::get_names(user_id, &db);
 | 
					    let mut account_names = Account::get_names(user_id, &db);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ use tokio::task::spawn_blocking;
 | 
				
			|||||||
async fn encrypt_account(
 | 
					async fn encrypt_account(
 | 
				
			||||||
    account: DecryptedAccount,
 | 
					    account: DecryptedAccount,
 | 
				
			||||||
    user_id: u64,
 | 
					    user_id: u64,
 | 
				
			||||||
    db: &DatabaseConnection,
 | 
					    db: &Pool,
 | 
				
			||||||
    master_pass: Arc<str>,
 | 
					    master_pass: Arc<str>,
 | 
				
			||||||
    failed: &Mutex<&mut Vec<String>>,
 | 
					    failed: &Mutex<&mut Vec<String>>,
 | 
				
			||||||
) {
 | 
					) {
 | 
				
			||||||
@@ -30,7 +30,7 @@ async fn encrypt_account(
 | 
				
			|||||||
async fn get_master_pass(
 | 
					async fn get_master_pass(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    mut ids: MessageIds,
 | 
					    mut ids: MessageIds,
 | 
				
			||||||
    user: User,
 | 
					    user: User,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@ use crate::prelude::*;
 | 
				
			|||||||
use tokio::task::spawn_blocking;
 | 
					use tokio::task::spawn_blocking;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
pub async fn menu(bot: Throttle<Bot>, msg: Message, db: DatabaseConnection) -> crate::Result<()> {
 | 
					pub async fn menu(bot: Throttle<Bot>, msg: Message, db: Pool) -> crate::Result<()> {
 | 
				
			||||||
    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
					    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let names: Vec<String> = Account::get_names(user_id, &db).try_collect().await?;
 | 
					    let names: Vec<String> = Account::get_names(user_id, &db).try_collect().await?;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,7 @@ use tokio::task::spawn_blocking;
 | 
				
			|||||||
async fn get_master_pass2(
 | 
					async fn get_master_pass2(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    mut ids: MessageIds,
 | 
					    mut ids: MessageIds,
 | 
				
			||||||
    hash: HashedBytes<[u8; 64], [u8; 64]>,
 | 
					    hash: HashedBytes<[u8; 64], [u8; 64]>,
 | 
				
			||||||
@@ -45,7 +45,7 @@ async fn get_master_pass2(
 | 
				
			|||||||
async fn get_master_pass(
 | 
					async fn get_master_pass(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    _: Message,
 | 
					    _: Message,
 | 
				
			||||||
    _: DatabaseConnection,
 | 
					    _: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    mut ids: MessageIds,
 | 
					    mut ids: MessageIds,
 | 
				
			||||||
    master_pass: String,
 | 
					    master_pass: String,
 | 
				
			||||||
@@ -71,7 +71,7 @@ pub async fn set_master_pass(
 | 
				
			|||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
) -> crate::Result<()> {
 | 
					) -> crate::Result<()> {
 | 
				
			||||||
    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
					    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
				
			||||||
    if MasterPass::exists(user_id, &db).await? {
 | 
					    if MasterPass::exists(user_id, &db).await? {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,7 +21,7 @@ use crate::callbacks::CallbackCommand;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
fn get_dispatcher(
 | 
					fn get_dispatcher(
 | 
				
			||||||
    token: String,
 | 
					    token: String,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
) -> Dispatcher<Throttle<Bot>, crate::Error, teloxide::dispatching::DefaultKey> {
 | 
					) -> Dispatcher<Throttle<Bot>, crate::Error, teloxide::dispatching::DefaultKey> {
 | 
				
			||||||
    use dptree::{case, deps};
 | 
					    use dptree::{case, deps};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -87,7 +87,7 @@ async fn main() -> Result<()> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    let token = env::var("TOKEN").expect("expected TOKEN in the enviroment");
 | 
					    let token = env::var("TOKEN").expect("expected TOKEN in the enviroment");
 | 
				
			||||||
    let database_url = env::var("DATABASE_URL").expect("expected DATABASE_URL in the enviroment");
 | 
					    let database_url = env::var("DATABASE_URL").expect("expected DATABASE_URL in the enviroment");
 | 
				
			||||||
    let pool = DatabaseConnection::connect(&database_url).await?;
 | 
					    let pool = Pool::connect(&database_url).await?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    entity::migrate(&pool).await?;
 | 
					    entity::migrate(&pool).await?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,7 +29,7 @@ pub fn menu_markup_sync(
 | 
				
			|||||||
pub async fn menu_markup(
 | 
					pub async fn menu_markup(
 | 
				
			||||||
    command: impl Into<String> + Send,
 | 
					    command: impl Into<String> + Send,
 | 
				
			||||||
    user_id: u64,
 | 
					    user_id: u64,
 | 
				
			||||||
    db: &DatabaseConnection,
 | 
					    db: &Pool,
 | 
				
			||||||
) -> crate::Result<InlineKeyboardMarkup> {
 | 
					) -> crate::Result<InlineKeyboardMarkup> {
 | 
				
			||||||
    let command: String = command.into();
 | 
					    let command: String = command.into();
 | 
				
			||||||
    let names: Vec<String> = Account::get_names(user_id, db).try_collect().await?;
 | 
					    let names: Vec<String> = Account::get_names(user_id, db).try_collect().await?;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@ type DynError = Arc<dyn std::error::Error + Send + Sync>;
 | 
				
			|||||||
/// Returns None if account exists, Some(None) if there's an account and Some(Some(String)) if an error occures.
 | 
					/// Returns None if account exists, Some(None) if there's an account and Some(Some(String)) if an error occures.
 | 
				
			||||||
/// The String represents the error that occured
 | 
					/// The String represents the error that occured
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
async fn master_pass_exists(update: Update, db: DatabaseConnection) -> Option<Option<DynError>> {
 | 
					async fn master_pass_exists(update: Update, db: Pool) -> Option<Option<DynError>> {
 | 
				
			||||||
    let user_id = match update.user() {
 | 
					    let user_id = match update.user() {
 | 
				
			||||||
        Some(user) => user.id.0,
 | 
					        Some(user) => user.id.0,
 | 
				
			||||||
        None => return Some(Some(Arc::new(NoUserInfo))),
 | 
					        None => return Some(Some(Arc::new(NoUserInfo))),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,6 +8,6 @@ pub use crate::{
 | 
				
			|||||||
    utils::*,
 | 
					    utils::*,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
pub use cryptography::prelude::*;
 | 
					pub use cryptography::prelude::*;
 | 
				
			||||||
pub use entity::{prelude::*, Pool as DatabaseConnection};
 | 
					pub use entity::{prelude::*, Pool};
 | 
				
			||||||
pub use futures::{StreamExt, TryStreamExt};
 | 
					pub use futures::{StreamExt, TryStreamExt};
 | 
				
			||||||
pub use teloxide::{adaptors::Throttle, prelude::*};
 | 
					pub use teloxide::{adaptors::Throttle, prelude::*};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,18 +6,14 @@ use futures::future::BoxFuture;
 | 
				
			|||||||
pub async fn generic<F>(
 | 
					pub async fn generic<F>(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    check: F,
 | 
					    check: F,
 | 
				
			||||||
    no_text_message: impl Into<String> + Send,
 | 
					    no_text_message: impl Into<String> + Send,
 | 
				
			||||||
    handler: PackagedHandler<String>,
 | 
					    handler: PackagedHandler<String>,
 | 
				
			||||||
) -> crate::Result<()>
 | 
					) -> crate::Result<()>
 | 
				
			||||||
where
 | 
					where
 | 
				
			||||||
    for<'a> F: FnOnce(
 | 
					    for<'a> F: FnOnce(&'a Message, &'a Pool, &'a str) -> BoxFuture<'a, crate::Result<Option<String>>>
 | 
				
			||||||
            &'a Message,
 | 
					 | 
				
			||||||
            &'a DatabaseConnection,
 | 
					 | 
				
			||||||
            &'a str,
 | 
					 | 
				
			||||||
        ) -> BoxFuture<'a, crate::Result<Option<String>>>
 | 
					 | 
				
			||||||
        + Send,
 | 
					        + Send,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    let mut handler = handler.lock().await;
 | 
					    let mut handler = handler.lock().await;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,7 @@
 | 
				
			|||||||
use crate::prelude::*;
 | 
					use crate::prelude::*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
async fn check_login(
 | 
					async fn check_login(_: &Message, _: &Pool, login: &str) -> crate::Result<Option<String>> {
 | 
				
			||||||
    _: &Message,
 | 
					 | 
				
			||||||
    _: &DatabaseConnection,
 | 
					 | 
				
			||||||
    login: &str,
 | 
					 | 
				
			||||||
) -> crate::Result<Option<String>> {
 | 
					 | 
				
			||||||
    let is_valid = validate_field(login);
 | 
					    let is_valid = validate_field(login);
 | 
				
			||||||
    if !is_valid {
 | 
					    if !is_valid {
 | 
				
			||||||
        return Ok(Some("Invalid login. Try again".to_owned()));
 | 
					        return Ok(Some("Invalid login. Try again".to_owned()));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ use tokio::task::spawn_blocking;
 | 
				
			|||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
async fn check_master_pass(
 | 
					async fn check_master_pass(
 | 
				
			||||||
    msg: &Message,
 | 
					    msg: &Message,
 | 
				
			||||||
    db: &DatabaseConnection,
 | 
					    db: &Pool,
 | 
				
			||||||
    master_pass: &str,
 | 
					    master_pass: &str,
 | 
				
			||||||
) -> crate::Result<Option<String>> {
 | 
					) -> crate::Result<Option<String>> {
 | 
				
			||||||
    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
					    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@ fn process_validity(validity: PasswordValidity) -> Result<(), String> {
 | 
				
			|||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
async fn check_new_master_pass(
 | 
					async fn check_new_master_pass(
 | 
				
			||||||
    _: &Message,
 | 
					    _: &Message,
 | 
				
			||||||
    _: &DatabaseConnection,
 | 
					    _: &Pool,
 | 
				
			||||||
    password: &str,
 | 
					    password: &str,
 | 
				
			||||||
) -> crate::Result<Option<String>> {
 | 
					) -> crate::Result<Option<String>> {
 | 
				
			||||||
    let validity = check_master_pass(password);
 | 
					    let validity = check_master_pass(password);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@ use crate::prelude::*;
 | 
				
			|||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
async fn check_new_account_name(
 | 
					async fn check_new_account_name(
 | 
				
			||||||
    msg: &Message,
 | 
					    msg: &Message,
 | 
				
			||||||
    db: &DatabaseConnection,
 | 
					    db: &Pool,
 | 
				
			||||||
    name: &str,
 | 
					    name: &str,
 | 
				
			||||||
) -> crate::Result<Option<String>> {
 | 
					) -> crate::Result<Option<String>> {
 | 
				
			||||||
    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
					    let user_id = msg.from().ok_or(NoUserInfo)?.id.0;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,7 @@
 | 
				
			|||||||
use crate::prelude::*;
 | 
					use crate::prelude::*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
async fn check_password(
 | 
					async fn check_password(_: &Message, _: &Pool, password: &str) -> crate::Result<Option<String>> {
 | 
				
			||||||
    _: &Message,
 | 
					 | 
				
			||||||
    _: &DatabaseConnection,
 | 
					 | 
				
			||||||
    password: &str,
 | 
					 | 
				
			||||||
) -> crate::Result<Option<String>> {
 | 
					 | 
				
			||||||
    let is_valid = validate_field(password);
 | 
					    let is_valid = validate_field(password);
 | 
				
			||||||
    if !is_valid {
 | 
					    if !is_valid {
 | 
				
			||||||
        return Ok(Some("Invalid password. Try again".to_owned()));
 | 
					        return Ok(Some("Invalid password. Try again".to_owned()));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -132,7 +132,7 @@ fn user_from_vec(
 | 
				
			|||||||
pub async fn get_user(
 | 
					pub async fn get_user(
 | 
				
			||||||
    bot: Throttle<Bot>,
 | 
					    bot: Throttle<Bot>,
 | 
				
			||||||
    msg: Message,
 | 
					    msg: Message,
 | 
				
			||||||
    db: DatabaseConnection,
 | 
					    db: Pool,
 | 
				
			||||||
    dialogue: MainDialogue,
 | 
					    dialogue: MainDialogue,
 | 
				
			||||||
    handler: PackagedHandler<User>,
 | 
					    handler: PackagedHandler<User>,
 | 
				
			||||||
) -> crate::Result<()> {
 | 
					) -> crate::Result<()> {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -65,7 +65,7 @@ type DynHanlder<T> = Box<
 | 
				
			|||||||
    dyn FnOnce(
 | 
					    dyn FnOnce(
 | 
				
			||||||
            Throttle<Bot>,
 | 
					            Throttle<Bot>,
 | 
				
			||||||
            Message,
 | 
					            Message,
 | 
				
			||||||
            DatabaseConnection,
 | 
					            Pool,
 | 
				
			||||||
            MainDialogue,
 | 
					            MainDialogue,
 | 
				
			||||||
            MessageIds,
 | 
					            MessageIds,
 | 
				
			||||||
            T,
 | 
					            T,
 | 
				
			||||||
@@ -89,7 +89,7 @@ impl<T> Handler<T> {
 | 
				
			|||||||
        H: FnOnce(
 | 
					        H: FnOnce(
 | 
				
			||||||
                Throttle<Bot>,
 | 
					                Throttle<Bot>,
 | 
				
			||||||
                Message,
 | 
					                Message,
 | 
				
			||||||
                DatabaseConnection,
 | 
					                Pool,
 | 
				
			||||||
                MainDialogue,
 | 
					                MainDialogue,
 | 
				
			||||||
                MessageIds,
 | 
					                MessageIds,
 | 
				
			||||||
                T,
 | 
					                T,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,11 +7,7 @@ pub async fn delete_message(bot: Throttle<Bot>, msg: Message) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[inline]
 | 
					#[inline]
 | 
				
			||||||
pub async fn name_from_hash(
 | 
					pub async fn name_from_hash(db: &Pool, user_id: u64, hash: &[u8]) -> crate::Result<Option<String>> {
 | 
				
			||||||
    db: &DatabaseConnection,
 | 
					 | 
				
			||||||
    user_id: u64,
 | 
					 | 
				
			||||||
    hash: &[u8],
 | 
					 | 
				
			||||||
) -> crate::Result<Option<String>> {
 | 
					 | 
				
			||||||
    let hash = hex::encode(hash);
 | 
					    let hash = hex::encode(hash);
 | 
				
			||||||
    Account::get_name_by_hash(user_id, hash, db)
 | 
					    Account::get_name_by_hash(user_id, hash, db)
 | 
				
			||||||
        .await
 | 
					        .await
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user