tito 0.1.14

A flexible database layer with powerful indexing strategies and relationship modeling, supporting multiple backends
Documentation
use thiserror::Error;

#[derive(Error, Debug, PartialEq, Eq)]
pub enum TitoError {
    #[error("Failed to connect to TiKV: {0}")]
    ConnectionFailed(String),

    #[error("Resource not found: {0}")]
    NotFound(String),

    #[error("Transaction failed: {0}")]
    TransactionFailed(String),

    #[error("Operation failed in read-only mode")]
    ReadOnlyMode,

    #[error("Failed to create resource: {0}")]
    CreateFailed(String),

    #[error("Failed to update resource: {0}")]
    UpdateFailed(String),

    #[error("Failed to delete resource: {0}")]
    DeleteFailed(String),

    #[error("Database query failed: {0}")]
    QueryFailed(String),

    #[error("Invalid input: {0}")]
    InvalidInput(String),

    #[error("Serialization error: {0}")]
    SerializationFailed(String),

    #[error("Deserialization error: {0}")]
    DeserializationFailed(String),

    #[error("Index error: {0}")]
    IndexError(String),

    #[error("Relationship error: {0}")]
    RelationshipError(String),

    #[error("Job queue error: {0}")]
    JobQueueError(String),

    #[error("Lock acquisition failed: {0}")]
    LockError(String),

    #[error("Timeout: {0}")]
    Timeout(String),

    #[error("Unexpected error: {0}")]
    Internal(String),

    #[error("Configuration error: {0}")]
    Configuration(String),
}