vllora 0.1.23

AI gateway for managing and routing LLM requests - Govern, Secure, and Optimize your AI Traffic.
use crate::threads::service::ThreadServiceImpl;
use std::sync::Arc;
use vllora_core::metadata::pool::DbPool;
use vllora_core::types::metadata::project::Project;
use vllora_core::types::threads::public_threads::PublicThreads;
use vllora_core::types::threads::related_threads::RelatedThreads;
use vllora_core::types::threads::service::ThreadService;
use vllora_core::types::threads::ThreadServiceWrapper;

pub mod service;

#[derive(Clone)]
pub struct ThreadImpl {
    #[allow(dead_code)]
    db_pool: DbPool,
    service: Arc<dyn ThreadService>,
}

impl ThreadImpl {
    pub fn new(db_pool: DbPool, project: Project) -> Self {
        Self {
            service: Arc::new(ThreadServiceImpl::new(db_pool.clone(), project.clone())),
            db_pool,
        }
    }
}

impl ThreadServiceWrapper for ThreadImpl {
    fn related_threads(&self) -> Arc<dyn RelatedThreads> {
        todo!()
    }

    fn public_threads(&self) -> Arc<dyn PublicThreads> {
        todo!()
    }

    fn service(&self) -> Arc<dyn ThreadService> {
        self.service.clone()
    }
}