Skip to main content

systemprompt_api/repository/
mod.rs

1//! Composition helpers that construct single repositories for router state.
2//!
3//! Copyright (c) systemprompt.io — Business Source License 1.1.
4//! See <https://systemprompt.io> for licensing details.
5
6use std::sync::Arc;
7use systemprompt_database::DbPool;
8
9pub fn banned_ips(db: &DbPool) -> Arc<systemprompt_users::BannedIpRepository> {
10    Arc::new(systemprompt_users::BannedIpRepository::new(db))
11}
12
13pub fn tool_usage(db: &DbPool) -> Arc<systemprompt_mcp::repository::ToolUsageRepository> {
14    Arc::new(systemprompt_mcp::repository::ToolUsageRepository::new(db))
15}
16
17pub fn proxy_identities(
18    db: &DbPool,
19) -> Arc<systemprompt_mcp::repository::McpProxyIdentityRepository> {
20    Arc::new(systemprompt_mcp::repository::McpProxyIdentityRepository::new(db))
21}
22
23pub fn user_rate_limit_buckets(
24    db: &DbPool,
25) -> Arc<systemprompt_users::UserRateLimitBucketRepository> {
26    Arc::new(systemprompt_users::UserRateLimitBucketRepository::new(db))
27}