zero-trust-sdk 0.1.0

Rust SDK for Zero Trust Blockchain Database - Secure, programmable access to zero-trust data storage
Documentation
//! # Zero Trust SDK
//!
//! A powerful Rust SDK for interacting with Zero Trust Blockchain Databases.
//! 
//! ## Features
//! 
//! - **🔐 Authentication** - Secure JWT-based authentication
//! - **📊 Database Operations** - Full CRUD operations with typed queries
//! - **🔄 Data Migration** - Import/export with multiple format support
//! - **⚡ Real-time Sync** - Live data synchronization from external sources
//! - **🛡️ Type Safety** - Full Rust type safety with error handling
//! 
//! ## Quick Start
//! 
//! ```rust,no_run
//! use zero_trust_sdk::{ZeroTrustClient, Config};
//! 
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//!     // Initialize client
//!     let config = Config::new("https://api.zerotrust.com")?;
//!     let client = ZeroTrustClient::new(config).await?;
//!     
//!     // Authenticate
//!     client.auth().login("user@example.com", "password").await?;
//!     
//!     // Create database
//!     let db = client.databases().create("my-app-db").await?;
//!     
//!     // Execute query
//!     let results = client.databases()
//!         .query("my-app-db")
//!         .execute("SELECT * FROM users")
//!         .await?;
//!     
//!     Ok(())
//! }
//! ```

#![deny(missing_docs)]
#![warn(rust_2018_idioms)]

pub mod auth;
pub mod client;
pub mod config;
pub mod database;
pub mod error;
pub mod types;

#[cfg(feature = "migration")]
pub mod migration;

#[cfg(feature = "sync")]
pub mod sync;

// Re-exports for convenience
pub use client::ZeroTrustClient;
pub use config::Config;
pub use error::{Result, ZeroTrustError};

/// Prelude module for common imports
pub mod prelude {
    pub use crate::{
        ZeroTrustClient, 
        Config, 
        ZeroTrustError, 
        Result,
        auth::AuthManager,
        database::DatabaseManager,
    };
    
    #[cfg(feature = "migration")]
    pub use crate::migration::MigrationManager;
    
    #[cfg(feature = "sync")]
    pub use crate::sync::SyncManager;
}