systemprompt-content 0.63.0

Markdown content management, sources, and event tracking for systemprompt.io AI governance dashboards. Governed publishing pipeline for the MCP governance platform.
Documentation
//! Content persistence: SQL-backed repositories for content, links, and search.
//!
//! [`ContentRepository`] owns content rows; [`LinkRepository`] and
//! [`LinkAnalyticsRepository`] own campaign links and their click analytics;
//! [`SearchRepository`] backs full-text queries. All access goes through
//! compile-time-verified query macros.
//!
//! Copyright (c) systemprompt.io — Business Source License 1.1.
//! See <https://systemprompt.io> for licensing details.

pub mod content;
pub mod link;
mod ownership;
pub mod search;

pub use content::ContentRepository;
pub use link::{LinkAnalyticsRepository, LinkRepository};
pub use ownership::ContentOwnerReassignment;
pub use search::SearchRepository;

use systemprompt_database::DbPool;

#[derive(Debug, Clone)]
pub struct ContentRepositories {
    pub content: ContentRepository,
    pub search: SearchRepository,
    pub link: LinkRepository,
    pub link_analytics: LinkAnalyticsRepository,
}

impl ContentRepositories {
    pub fn new(db: &DbPool) -> Self {
        Self {
            content: ContentRepository::new(db),
            search: SearchRepository::new(db),
            link: LinkRepository::new(db),
            link_analytics: LinkAnalyticsRepository::new(db),
        }
    }
}