| Crates.io | burncloud-database-core |
| lib.rs | burncloud-database-core |
| version | 0.1.0 |
| created_at | 2025-09-21 16:26:03.450106+00 |
| updated_at | 2025-09-21 16:26:03.450106+00 |
| description | Core database abstractions and traits for BurnCloud AI management system |
| homepage | https://github.com/burncloud/burncloud-database |
| repository | https://github.com/burncloud/burncloud-database |
| max_upload_size | |
| id | 1848921 |
| size | 31,433 |
Core database abstractions and traits for the BurnCloud AI management system.
burncloud-database-core provides the foundational traits, types, and data models for building database-agnostic AI model management systems. It defines the core abstractions that allow different database backends to be used interchangeably.
DatabaseConnection: Manages database connections and basic operationsQueryExecutor: Executes queries and handles parametersTransactionManager: Manages database transactionsRepository: Generic repository pattern for data accessMigrationManager: Handles database schema migrationsAiModel: Represents AI models with metadata, requirements, and statusModelDeployment: Manages model deployments with configuration and resource settingsModelType: Enum for different types of AI models (ChatCompletion, TextGeneration, etc.)SystemMetrics: System-level performance metricsModelMetrics: Model-specific performance metricsRequestLog: API request loggingSystemLog: System event loggingUserSettings: User preferences and configurationSecurityConfig: Security policies and access controlsApiKey: API key management with permissionsFirewallRule: Network access control rulesuse burncloud_database_core::*;
// Define a custom repository
struct MyModelRepository {
// Implementation details
}
#[async_trait]
impl Repository<AiModel> for MyModelRepository {
async fn find_by_id(&self, id: &str, context: &QueryContext) -> DatabaseResult<Option<AiModel>> {
// Implementation
}
// Other repository methods...
}
Add this to your Cargo.toml:
[dependencies]
burncloud-database-core = "0.1"
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.