aro 1.0.0

Aro — a Rust web framework using hexagonal architecture
Documentation
//! Convenience re-exports for typical Aro action development.
//!
//! # Usage
//!
//! ```
//! use aro::prelude::*;
//! ```
//!
//! This imports the route macros, extractors, response types, and the
//! application builder — everything needed to write and wire up actions.

// Core domain types
pub use aro_core::entity::Entity;
pub use aro_core::error::RepoError;
pub use aro_core::pagination::{Page, PageRequest};
pub use aro_core::repository::{BoxFuture, Repository};

// Standard library re-exports
pub use std::sync::Arc;

// Route attribute macros
#[cfg(feature = "macros")]
pub use aro_macros::{AroEntity, delete, get, patch, post, put};

// Application builder and routes macro
#[cfg(feature = "web")]
pub use aro_web::App;
#[cfg(feature = "web")]
pub use aro_web::routes;

// Aro extractors
#[cfg(feature = "web")]
pub use aro_web::DefaultBodyLimit;
#[cfg(feature = "web")]
pub use aro_web::cache::{IfNoneMatch, conditional, with_etag};
#[cfg(feature = "web")]
pub use aro_web::dep::Dep;
#[cfg(feature = "web")]
pub use aro_web::error::AroError;
#[cfg(feature = "web")]
pub use aro_web::json_body::JsonBody;
#[cfg(feature = "web")]
pub use aro_web::state::AroState;

// Axum re-exports for common action signatures
#[cfg(feature = "web")]
pub use aro_web::axum::extract::{Json, Path, Query, State};
#[cfg(feature = "web")]
pub use aro_web::axum::http::StatusCode;
#[cfg(feature = "web")]
pub use aro_web::axum::response::IntoResponse;

// SSE support
#[cfg(feature = "web")]
pub use aro_web::{Event, KeepAlive, Sse};

// Fletch re-exports for persistence
#[cfg(feature = "fletch")]
pub use crate::fletch::fletch_orm::{Filter, Op, Order};
#[cfg(feature = "fletch")]
pub use crate::fletch::{Pool, Value};
#[cfg(feature = "fletch")]
pub use aro_core::repository::TransactionManager;
#[cfg(all(feature = "fletch", feature = "query-adapters"))]
pub use aro_core::repository::{Paginatable, Queryable};
#[cfg(feature = "fletch")]
pub use aro_fletch::AppDatabaseExt;
#[cfg(all(feature = "fletch", feature = "query-adapters"))]
pub use aro_fletch::EntityQuery;
#[cfg(feature = "fletch")]
pub use aro_fletch::FletchRepository;
#[cfg(feature = "fletch")]
pub use aro_fletch::FletchTransactionContext;
#[cfg(feature = "fletch")]
pub use aro_fletch::FletchTransactionManager;
#[cfg(feature = "fletch")]
pub use aro_fletch::PoolBuilder;
#[cfg(feature = "fletch")]
pub use aro_fletch::PoolConfig;