use actix::Addr; use config::SharedAppConfig; use database_manager::{query_db, Database}; use fake::{Fake, Faker}; use crate::{Result, SharedState}; pub(crate) async fn create_accounts( db: Addr, seed: SharedState, _config: SharedAppConfig, ) -> Result<()> { let accounts: Vec = query_db!(db, database_manager::AllAccounts, default vec![]); if accounts.len() >= 10 { seed.lock().unwrap().accounts = accounts; return Ok(()); } let mut accounts = Vec::with_capacity(10); for _ in 0..10 { let msg: database_manager::CreateAccount = Faker.fake::(); match db.send(msg).await { Ok(Ok(account)) => accounts.push(account), Ok(Err(e)) => { log::error!("{e}") } Err(e) => { log::error!("{e}") } } } seed.lock().unwrap().accounts = accounts; Ok(()) }