Skip to main content

Crate backbone_orm

Crate backbone_orm 

Source
Expand description

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

Re-exports§

pub use company_scope::current_company;
pub use company_scope::with_company_scope;
pub use org_scope::current_org_scope;
pub use org_scope::resolve_org_scope;
pub use org_scope::with_org_request_scope;
pub use org_scope::with_org_request_scope_and_audit;
pub use org_scope::OrgScope;
pub use org_scope::OrgScopeError;
pub use audit_context::RequestAuditContext;
pub use audit_context::AUDIT_CONTEXT_VARS;
pub use generic_repository::and_conditions;
pub use generic_repository::fetch_by_ids_as_json;
pub use generic_repository::strip_client_company_filters;
pub use generic_repository::company_fence;
pub use generic_repository::qualify_relation_table;
pub use generic_repository::EntityRepoMeta;
pub use generic_repository::GenericCrudRepository;
pub use generic_repository::HardDelete;
pub use generic_repository::MissingCompanyScope;
pub use generic_repository::SoftDelete;
pub use filter::QueryFilter;
pub use filter::FilterOperator as QueryFilterOperator;
pub use filter::FilterCondition as QueryFilterCondition;
pub use filter::FilterValue;
pub use filter::FilterLogical;
pub use filter::SortDirection as FilterSortDirection;
pub use filter::SortSpec;
pub use filter::FilterableEntity;
pub use filter::parse_filters;
pub use filter::is_valid_field;
pub use filter::sanitize_field_name;
pub use in_memory::InMemoryStore;
pub use repository::*;
pub use migrations::*;
pub use query_builder::*;
pub use connection::*;
pub use seeding::*;
pub use raw_query::*;

Modules§

audit_context
Request audit context: the attribution channel of data-change audit capture (ADR-0025).
company_scope
Request company scope for the Postgres RLS read/write fence (ADR-0008).
connection
Database connection management
filter
Query filter system inspired by Laravel Filter Query String
generic_repository
GenericCrudRepository<T, DeleteMode> — one implementation for all entities.
in_memory
In-Memory Store - Generic Testing and Prototyping Utility
migrations
Database migration system
org_scope
Org-tree request scope for the entitlement-union RLS fence (ADR-0028/0029).
query_builder
Query builder for PostgreSQL with parameterized queries
raw_query
Raw SQL query builder with parameter binding and advanced SQL features
repository
Repository implementations for PostgreSQL with comprehensive CRUD operations
seeding
Database seeding system for test data and initial data setup

Structs§

NaiveDateTime
PostgreSQL specific types ISO 8601 combined date and time without timezone.
Uuid
A Universally Unique Identifier (UUID).

Constants§

VERSION
ORM version

Type Aliases§

PgPool
Database connection traits and utilities An alias for Pool, specialized for Postgres.
PgPoolOptions
An alias for PoolOptions, specialized for Postgres.