Crate postrust_core

Crate postrust_core 

Source
Expand description

Postrust Core - PostgREST-compatible REST API for PostgreSQL in Rust.

This crate provides the core functionality for Postrust, a serverless alternative to PostgREST written in Rust.

§Architecture

The request processing pipeline:

  1. API Request Parsing (api_request) - Parse HTTP request into domain types
  2. Schema Cache (schema_cache) - PostgreSQL metadata for validation
  3. Query Planning (plan) - Convert request to execution plan
  4. SQL Generation (query) - Generate parameterized SQL
  5. Response Formatting - Format results for HTTP response

§Example

use postrust_core::{ApiRequest, SchemaCache, create_action_plan};

// Parse HTTP request
let request = parse_request(&http_request, "public", &schemas)?;

// Create execution plan
let plan = create_action_plan(&request, &schema_cache)?;

// Generate SQL
let (sql, params) = build_query(&plan)?;

Re-exports§

pub use api_request::parse_request;
pub use api_request::Action;
pub use api_request::ApiRequest;
pub use api_request::DbAction;
pub use api_request::Filter;
pub use api_request::LogicTree;
pub use api_request::MediaType;
pub use api_request::Mutation;
pub use api_request::Operation;
pub use api_request::Payload;
pub use api_request::Preferences;
pub use api_request::PreferRepresentation;
pub use api_request::QualifiedIdentifier;
pub use api_request::QueryParams;
pub use api_request::Range;
pub use api_request::Resource;
pub use api_request::SelectItem;
pub use config::AppConfig;
pub use config::IsolationLevel;
pub use config::LogLevel;
pub use error::Error;
pub use error::Result;
pub use plan::create_action_plan;
pub use plan::ActionPlan;
pub use plan::CallPlan;
pub use plan::DbActionPlan;
pub use plan::MutatePlan;
pub use plan::ReadPlan;
pub use schema_cache::Column;
pub use schema_cache::Relationship;
pub use schema_cache::Routine;
pub use schema_cache::SchemaCache;
pub use schema_cache::SchemaCacheRef;
pub use schema_cache::Table;

Modules§

api_request
API request parsing module.
config
Configuration for Postrust.
error
Error types for Postrust.
plan
Query planning module.
prelude
Prelude for common imports.
query
SQL query generation from execution plans.
schema_cache
PostgreSQL schema introspection and caching.