systemprompt_content/repository/
mod.rs1pub mod content;
12pub mod link;
13pub mod search;
14
15pub use content::ContentRepository;
16pub use link::{LinkAnalyticsRepository, LinkRepository};
17pub use search::SearchRepository;
18
19use crate::error::ContentError;
20use systemprompt_database::DbPool;
21
22#[derive(Debug, Clone)]
23pub struct ContentRepositories {
24 pub content: ContentRepository,
25 pub search: SearchRepository,
26 pub link: LinkRepository,
27 pub link_analytics: LinkAnalyticsRepository,
28}
29
30impl ContentRepositories {
31 pub fn new(db: &DbPool) -> Result<Self, ContentError> {
32 Ok(Self {
33 content: ContentRepository::new(db)?,
34 search: SearchRepository::new(db)?,
35 link: LinkRepository::new(db)?,
36 link_analytics: LinkAnalyticsRepository::new(db)?,
37 })
38 }
39}