rskit_database/lib.rs
1//! Database contracts with an in-memory default and opt-in adapter backends.
2//!
3//! This crate provides:
4//!
5//! - [`DatabaseConfig`] — backend selection and common pool configuration.
6//! - [`DatabaseClient`] — vendor-neutral async execution and transaction contract.
7//! - [`InMemoryDatabase`] — local backend for tests and development.
8//! - [`Repository`] — a generic trait for entity CRUD operations.
9//! - [`FindOpts`] — builder for paginated / filtered queries.
10//! - [`query`] — HTTP query-string parsing and pagination helpers.
11
12#![warn(missing_docs)]
13
14/// Database configuration types.
15pub mod config;
16/// Database client contracts and in-memory backend.
17pub mod database;
18/// HTTP query parameter parsing and pagination.
19pub mod query;
20/// Explicit backend registration helpers.
21pub mod registry;
22/// Repository trait and helpers.
23pub mod repository;
24/// Tenant-scoping helpers for multi-tenant queries.
25pub mod tenant;
26
27pub use config::{DatabaseConfig, MemoryDatabaseConfig};
28pub use database::{
29 DatabaseClient, DatabaseQuery, DatabaseResult, DatabaseTransaction, InMemoryDatabase,
30};
31pub use query::{
32 PaginatedResult, Pagination, QueryConfig, QueryParams, SortOrder, parse_query_string,
33};
34pub use registry::{DatabaseFactory, DatabaseRegistry, register_memory};
35pub use repository::{FindOpts, Repository};
36pub use tenant::TenantScope;