diff --git a/src/main.rs b/src/main.rs index 9d4883b..95e814c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,7 +9,6 @@ mod context; mod email; mod file; mod llm; -mod models; mod org; mod session; mod shared; @@ -17,7 +16,6 @@ mod tools; mod web_automation; mod whatsapp; -use actix_web::middleware::Logger; use log::info; use qdrant_client::Qdrant; use std::sync::Arc; @@ -26,8 +24,8 @@ use actix_web::{web, App, HttpServer}; use dotenv::dotenv; use sqlx::PgPool; +use crate::auth::AuthService; use crate::bot::BotOrchestrator; -use crate::channels::ChannelAdapter; use crate::config::AppConfig; use crate::email::{ get_emails, get_latest_email_from, list_emails, save_click, save_draft, send_email, @@ -38,12 +36,9 @@ use crate::llm::llm_local::{ chat_completions_local, embeddings_local, ensure_llama_servers_running, }; use crate::session::SessionManager; -use crate::state::AppState; +use crate::shared::state::AppState; use crate::tools::{RedisToolExecutor, ToolManager}; use crate::web_automation::{initialize_browser_pool, BrowserPool}; -use crate::whatsapp::WhatsAppAdapter; -use crate::AuthService; -use crate::BotOrchestrator; #[tokio::main(flavor = "multi_thread")] async fn main() -> std::io::Result<()> { @@ -57,7 +52,7 @@ async fn main() -> std::io::Result<()> { let db = PgPool::connect(&db_url).await.unwrap(); let db_custom = PgPool::connect(&db_custom_url).await.unwrap(); - let minio_client = services::file::init_minio(&config) + let minio_client = init_minio(&config) .await .expect("Failed to initialize Minio"); @@ -81,7 +76,8 @@ async fn main() -> std::io::Result<()> { Ok(redis_url_value) => { let client = redis::Client::open(redis_url_value.clone()) .expect("Failed to create Redis client"); - let conn = redis::aio::Connection::new(client) + let conn = client + .get_connection() .await .expect("Failed to create Redis connection"); Some(Arc::new(conn)) diff --git a/src/models/bot_model.rs b/src/models/bot_model.rs deleted file mode 100644 index 19affdf..0000000 --- a/src/models/bot_model.rs +++ /dev/null @@ -1,18 +0,0 @@ -#[derive(Debug, Clone, Serialize, Deserialize, FromRow)] -pub struct Bot { - pub bot_id: Uuid, - pub name: String, - pub status: BotStatus, - pub config: serde_json::Value, - pub created_at: chrono::DateTime, - pub updated_at: chrono::DateTime, -} - -#[derive(Debug, Clone, Serialize, Deserialize, sqlx::Type)] -#[serde(rename_all = "snake_case")] -#[sqlx(type_name = "bot_status", rename_all = "snake_case")] -pub enum BotStatus { - Active, - Inactive, - Maintenance, -} diff --git a/src/models/mod.rs b/src/models/mod.rs deleted file mode 100644 index 8b13789..0000000 --- a/src/models/mod.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/models/org_model.rs b/src/models/org_model.rs deleted file mode 100644 index fddf524..0000000 --- a/src/models/org_model.rs +++ /dev/null @@ -1,12 +0,0 @@ -use chrono::{DateTime, Utc}; -use serde::{Deserialize, Serialize}; -use sqlx::FromRow; -use uuid::Uuid; - -#[derive(Debug, Clone, Serialize, Deserialize, FromRow)] -pub struct organization { - pub org_id: Uuid, - pub name: String, - pub slug: String, - pub created_at: DateTime, -} diff --git a/src/org/mod.rs b/src/org/mod.rs index df3565d..10f4516 100644 --- a/src/org/mod.rs +++ b/src/org/mod.rs @@ -1,7 +1,7 @@ use actix_web::{web, HttpResponse, Result}; -use chrono::{DateTime, Utc}; +use chrono::Utc; use serde::{Deserialize, Serialize}; -use sqlx::{FromRow, PgPool}; +use sqlx::PgPool; use uuid::Uuid; #[derive(Debug, Deserialize)] diff --git a/src/models/PROMPT.md b/src/shared/PROMPT-model.md similarity index 100% rename from src/models/PROMPT.md rename to src/shared/PROMPT-model.md diff --git a/src/shared/mod.rs b/src/shared/mod.rs index f077184..1975b83 100644 --- a/src/shared/mod.rs +++ b/src/shared/mod.rs @@ -1,3 +1,4 @@ +pub mod models; pub mod state; pub mod utils; diff --git a/src/models/automation_model.rs b/src/shared/models.rs similarity index 52% rename from src/models/automation_model.rs rename to src/shared/models.rs index 967f977..0162644 100644 --- a/src/models/automation_model.rs +++ b/src/shared/models.rs @@ -3,6 +3,38 @@ use serde::{Deserialize, Serialize}; use sqlx::FromRow; use uuid::Uuid; +#[derive(Debug, Clone, Serialize, Deserialize, FromRow)] +pub struct organization { + pub org_id: Uuid, + pub name: String, + pub slug: String, + pub created_at: DateTime, +} + +#[derive(Debug, Clone, Serialize, Deserialize, FromRow)] +pub struct Bot { + pub bot_id: Uuid, + pub name: String, + pub status: BotStatus, + pub config: serde_json::Value, + pub created_at: chrono::DateTime, + pub updated_at: chrono::DateTime, +} + +#[derive(Debug, Clone, Serialize, Deserialize, sqlx::Type)] +#[serde(rename_all = "snake_case")] +#[sqlx(type_name = "bot_status", rename_all = "snake_case")] +pub enum BotStatus { + Active, + Inactive, + Maintenance, +} + +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use sqlx::FromRow; +use uuid::Uuid; + #[derive(Debug, Clone, Copy, PartialEq)] pub enum TriggerKind { Scheduled = 0, diff --git a/src/shared/state.rs b/src/shared/state.rs index aad299d..4d68886 100644 --- a/src/shared/state.rs +++ b/src/shared/state.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use minio::s3::Client; -use crate::{config::AppConfig, web_automation::BrowserPool}; +use crate::{config::AppConfig, web_automator::BrowserPool}; #[derive(Clone)] pub struct AppState {