pub mod app;
pub mod error;
pub mod route;
pub mod controller;
pub mod middleware;
pub mod config;
pub mod health;
pub mod metrics;
pub mod auth;
pub mod client;
pub mod cache;
pub mod db;
pub mod repository;
pub mod service;
pub mod openapi;
pub mod lifecycle;
pub mod session;
pub mod validation;
pub mod upload;
pub mod websocket;
pub mod prelude {
pub use crate::app::{App, AppState};
pub use crate::error::{AppError, Result};
pub use crate::route::{Path, Query, State};
pub use crate::controller::{Json, Status, Response, EmptyJson};
pub use crate::middleware::{Logger, Cors, Tracing, Timeout};
pub use crate::config::settings::{Settings, AppConfig};
pub use crate::health::HealthCheck;
pub use crate::metrics::{Metrics, Counter, Gauge, Histogram};
pub use crate::auth::{JwtAuth, JwtConfig, Claims};
pub use crate::cache::{RedisCache, RedisConfig, KeyBuilder};
pub use crate::db::{DbPool, DbPoolConfig};
pub use crate::repository::{Repository, User};
pub use crate::service::{Service, DependencyContext, ServiceBuilder};
pub use crate::session::{Session, SessionStore, SessionConfig, SessionCookie};
pub use crate::validation::validators::{ValidationError, ValidationResult, Validator};
pub use crate::validation::extractors::{Validate, ValidatedForm, ValidatedQuery};
pub use crate::lifecycle::{Carapace, Module};
pub use crate::lifecycle::module::Phase;
pub use crate::openapi::{OpenApiDoc, SwaggerUi, ReDoc};
pub use crate::client::{ClientGenerator, ClientType, OpenApiSpec};
pub use crate::route::macros::{route, get, post, put, delete, patch};
}
pub use app::App;
pub use error::{AppError, Result};
pub use route::{Path, Query, State};
pub use controller::{Json, Status, Response, EmptyJson};
pub use middleware::{Logger, Cors, Tracing, Timeout};
pub use config::Settings;
pub use health::HealthCheck;
pub use metrics::Metrics;
pub use auth::{JwtAuth, JwtConfig, Claims};
pub use cache::{RedisCache, RedisConfig};
pub use db::{DbPool, DbPoolConfig};
pub use service::{Service, DependencyContext, ServiceBuilder};
pub use lifecycle::{Carapace, Module};
pub use session::{Session, SessionStore, SessionConfig, SessionCookie};
pub use validation::validators::{ValidationError, Validator};
pub use openapi::{OpenApiDoc, SwaggerUi, ReDoc};
pub use client::ClientGenerator;