Skip to main content

systemprompt_database/
lib.rs

1pub mod admin;
2pub mod error;
3pub mod extension;
4pub mod lifecycle;
5pub mod models;
6#[macro_use]
7pub mod repository;
8pub mod services;
9
10pub use extension::DatabaseExtension;
11
12pub use models::{
13    parse_database_datetime, ArtifactId, ClientId, ColumnInfo, ContentId, ContextId, DatabaseInfo,
14    DatabaseQuery, DatabaseTransaction, DbValue, ExecutionStepId, FileId, FromDatabaseRow,
15    FromDbValue, IndexInfo, JsonRow, LogId, QueryResult, QueryRow, QuerySelector, SessionId,
16    SkillId, TableInfo, TaskId, ToDbValue, TokenId, TraceId, UserId,
17};
18
19pub use services::{
20    with_transaction, with_transaction_raw, with_transaction_retry, BoxFuture, Database,
21    DatabaseCliDisplay, DatabaseExt, DatabaseProvider, DatabaseProviderExt, DbPool,
22    PostgresProvider, SqlExecutor,
23};
24
25pub use error::RepositoryError;
26pub use lifecycle::{
27    install_extension_schemas, install_extension_schemas_with_config,
28    install_module_schemas_from_source, install_module_seeds_from_path, install_schema,
29    install_seed, validate_column_exists, validate_database_connection, validate_table_exists,
30    AppliedMigration, MigrationResult, MigrationService, MigrationStatus, ModuleInstaller,
31};
32pub use repository::{
33    CleanupRepository, CreateServiceInput, DatabaseInfoRepository, PaginatedRepository, PgDbPool,
34    Repository, ServiceConfig, ServiceRepository,
35};
36
37pub use admin::{DatabaseAdminService, QueryExecutor, QueryExecutorError};
38pub use sqlx::types::Json;
39pub use sqlx::{PgPool, Pool, Postgres, Transaction};
40
41use systemprompt_traits::DatabaseHandle;
42
43impl DatabaseHandle for Database {
44    fn is_connected(&self) -> bool {
45        true
46    }
47
48    fn as_any(&self) -> &dyn std::any::Any {
49        self
50    }
51}