systemprompt_agent/repository/context/
mod.rs1pub mod message;
4mod mutations;
5pub mod notifications;
6mod queries;
7
8pub use notifications::ContextNotificationRepository;
9
10use sqlx::PgPool;
11use std::sync::Arc;
12use systemprompt_database::DbPool;
13
14use crate::error::AgentError;
15
16#[derive(Debug, Clone)]
17pub struct ContextRepository {
18 pool: Arc<PgPool>,
19 write_pool: Arc<PgPool>,
20 db_pool: DbPool,
21}
22
23impl ContextRepository {
24 pub fn new(db: &DbPool) -> Result<Self, AgentError> {
25 let pool = db.pool_arc().map_err(|e| AgentError::Init(e.to_string()))?;
26 let write_pool = db
27 .write_pool_arc()
28 .map_err(|e| AgentError::Init(e.to_string()))?;
29 Ok(Self {
30 pool,
31 write_pool,
32 db_pool: Arc::clone(db),
33 })
34 }
35}