backbone-orm 2.7.36

Backbone Framework ORM - Database layer with PostgreSQL support
Documentation
//! Backbone Framework ORM
//!
//! Database layer with PostgreSQL support and generic repository patterns.
//!
//! # Features
//!
//! - PostgreSQL repository with migrations
//! - Query builder for type-safe queries
//! - Connection pooling
//! - Database seeding utilities
//! - In-memory store for testing

pub mod repository;
pub mod company_scope;
pub mod org_scope;
pub mod audit_context;
pub mod generic_repository;
pub mod migrations;
pub mod query_builder;
pub mod connection;
pub mod seeding;
pub mod raw_query;
pub mod filter;
pub mod in_memory;

// Include test modules
#[cfg(test)]
mod repository_tests;
#[cfg(test)]
mod migrations_tests;
#[cfg(test)]
mod query_builder_tests;
#[cfg(test)]
mod seeding_tests;
#[cfg(test)]
mod raw_query_tests;
#[cfg(test)]
mod qualify_relation_tests;

// Re-export commonly used types
pub use repository::*;
pub use company_scope::{current_company, with_company_scope};
pub use org_scope::{
    current_org_scope, resolve_org_scope, with_org_request_scope, with_org_request_scope_and_audit,
    OrgScope, OrgScopeError,
};
pub use audit_context::{RequestAuditContext, AUDIT_CONTEXT_VARS};
pub use generic_repository::{
    and_conditions, fetch_by_ids_as_json, strip_client_company_filters, company_fence,
    qualify_relation_table, EntityRepoMeta, GenericCrudRepository, HardDelete, MissingCompanyScope,
    SoftDelete,
};
pub use migrations::*;
pub use query_builder::*;
pub use connection::*;
pub use seeding::*;
pub use raw_query::*;
// Re-export filter module types with aliases to avoid conflicts with repository types
// The repository's FilterCondition/SortDirection are kept for backward compatibility
pub use filter::{
    QueryFilter,
    FilterOperator as QueryFilterOperator,
    FilterCondition as QueryFilterCondition,
    FilterValue,
    FilterLogical,
    SortDirection as FilterSortDirection,
    SortSpec,
    FilterableEntity,
    parse_filters,
    is_valid_field,
    sanitize_field_name,
};
pub use in_memory::InMemoryStore;

/// ORM version
pub const VERSION: &str = env!("CARGO_PKG_VERSION");

/// Database connection traits and utilities
pub use sqlx::postgres::PgPool;
pub use sqlx::postgres::PgPoolOptions;

/// PostgreSQL specific types
pub use sqlx::types::chrono::NaiveDateTime;
pub use sqlx::types::uuid::Uuid;