pub struct Repos {
pub models: Arc<dyn ModelRepository>,
pub settings: Arc<dyn SettingsRepository>,
pub mcp_servers: Arc<dyn McpServerRepository>,
pub chat_history: Arc<dyn ChatHistoryRepository>,
}Expand description
Container for all repository trait objects.
This struct provides a consistent way to wire repositories across adapters
without coupling them to concrete implementations. It lives in gglib-core
so that AppCore can accept it without depending on gglib-db.
§Example
ⓘ
// In gglib-db factory:
pub fn build_repos(pool: &SqlitePool) -> Repos { ... }
// In adapter bootstrap:
let repos = gglib_db::factory::build_repos(&pool);
let core = AppCore::new(repos, runner);Fields§
§models: Arc<dyn ModelRepository>Model repository for CRUD operations on models.
settings: Arc<dyn SettingsRepository>Settings repository for application settings.
mcp_servers: Arc<dyn McpServerRepository>MCP server repository for MCP server configurations.
chat_history: Arc<dyn ChatHistoryRepository>Chat history repository for conversations and messages.
Implementations§
Source§impl Repos
impl Repos
Sourcepub fn new(
models: Arc<dyn ModelRepository>,
settings: Arc<dyn SettingsRepository>,
mcp_servers: Arc<dyn McpServerRepository>,
chat_history: Arc<dyn ChatHistoryRepository>,
) -> Self
pub fn new( models: Arc<dyn ModelRepository>, settings: Arc<dyn SettingsRepository>, mcp_servers: Arc<dyn McpServerRepository>, chat_history: Arc<dyn ChatHistoryRepository>, ) -> Self
Create a new Repos container.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Repos
impl !RefUnwindSafe for Repos
impl Send for Repos
impl Sync for Repos
impl Unpin for Repos
impl !UnwindSafe for Repos
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more