Created markups.rs
This commit is contained in:
		@@ -1,13 +1,9 @@
 | 
			
		||||
use crate::entity::{account, prelude::Account};
 | 
			
		||||
use crate::handlers::{utils::package_handler, MainDialogue, State};
 | 
			
		||||
use futures::TryStreamExt;
 | 
			
		||||
use sea_orm::prelude::*;
 | 
			
		||||
use teloxide::{
 | 
			
		||||
    adaptors::Throttle,
 | 
			
		||||
    prelude::*,
 | 
			
		||||
    types::ParseMode,
 | 
			
		||||
    types::{KeyboardButton, KeyboardMarkup},
 | 
			
		||||
use crate::{
 | 
			
		||||
    entity::{account, prelude::Account},
 | 
			
		||||
    handlers::{markups, utils::package_handler, MainDialogue, State},
 | 
			
		||||
};
 | 
			
		||||
use sea_orm::prelude::*;
 | 
			
		||||
use teloxide::{adaptors::Throttle, prelude::*, types::ParseMode};
 | 
			
		||||
use tokio::task::spawn_blocking;
 | 
			
		||||
 | 
			
		||||
async fn get_master_pass(
 | 
			
		||||
@@ -64,13 +60,7 @@ pub async fn get_account(
 | 
			
		||||
    dialogue: MainDialogue,
 | 
			
		||||
    db: DatabaseConnection,
 | 
			
		||||
) -> crate::Result<()> {
 | 
			
		||||
    let account_names: Vec<Vec<KeyboardButton>> = Account::get_names(msg.from().unwrap().id.0, &db)
 | 
			
		||||
        .await?
 | 
			
		||||
        .map_ok(|account| KeyboardButton::new(account))
 | 
			
		||||
        .try_chunks(3)
 | 
			
		||||
        .try_collect()
 | 
			
		||||
        .await?;
 | 
			
		||||
    let markup = KeyboardMarkup::new(account_names).resize_keyboard(true);
 | 
			
		||||
    let markup = markups::account_markup(msg.from().unwrap().id.0, &db).await?;
 | 
			
		||||
    let previous = bot
 | 
			
		||||
        .send_message(msg.chat.id, "Send account name")
 | 
			
		||||
        .reply_markup(markup)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								src/handlers/markups.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/handlers/markups.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
use crate::entity::prelude::Account;
 | 
			
		||||
use futures::TryStreamExt;
 | 
			
		||||
use sea_orm::prelude::*;
 | 
			
		||||
use teloxide::types::{KeyboardButton, KeyboardMarkup};
 | 
			
		||||
 | 
			
		||||
#[inline]
 | 
			
		||||
pub async fn account_markup(
 | 
			
		||||
    user_id: u64,
 | 
			
		||||
    db: &DatabaseConnection,
 | 
			
		||||
) -> crate::Result<KeyboardMarkup> {
 | 
			
		||||
    let account_names: Vec<Vec<KeyboardButton>> = Account::get_names(user_id, db)
 | 
			
		||||
        .await?
 | 
			
		||||
        .map_ok(|account| KeyboardButton::new(account))
 | 
			
		||||
        .try_chunks(3)
 | 
			
		||||
        .try_collect()
 | 
			
		||||
        .await?;
 | 
			
		||||
    let markup = KeyboardMarkup::new(account_names)
 | 
			
		||||
        .resize_keyboard(true)
 | 
			
		||||
        .one_time_keyboard(true);
 | 
			
		||||
    Ok(markup)
 | 
			
		||||
}
 | 
			
		||||
@@ -10,6 +10,7 @@ use teloxide::{
 | 
			
		||||
use tokio::sync::Mutex;
 | 
			
		||||
 | 
			
		||||
mod commands;
 | 
			
		||||
mod markups;
 | 
			
		||||
mod state;
 | 
			
		||||
mod utils;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,7 @@ where
 | 
			
		||||
        dialogue.exit().await?;
 | 
			
		||||
        bot.send_message(msg.chat.id, "Successfully cancelled")
 | 
			
		||||
            .await?;
 | 
			
		||||
        return Ok(());
 | 
			
		||||
    }
 | 
			
		||||
    match check(&bot, &msg, &db, &text).await {
 | 
			
		||||
        Ok(true) => (),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user