shared-framework 0.0.17

Reusable building blocks for HTTP services — Hyper routing, SeaORM data layer, validation, OpenAPI docs, jobs, queues, cache.
Documentation
//! Reusable building blocks for HTTP services: routing and controllers on
//! Hyper, a SeaORM data layer with repositories and explicit relation
//! hydration, request validation, live OpenAPI 3.1 docs with a bundled Swagger
//! UI, background jobs, RabbitMQ consumers, Redis/in-memory caching, and
//! resilience helpers (retries, circuit breakers, rate limiting).
//!
//! Start with [`AppEnvironment`] + [`ConfigurationRegistrant`] for a single
//! controller, or [`app::GenericStartup`] to boot a whole service. See
//! `README.md` for a guided tour.

//! Keep every public item documented.
#![warn(missing_docs)]

pub mod app;
pub mod config;
pub mod controller;
pub mod data;
pub mod doc;
pub mod env;
pub mod gateway;
pub mod job;
pub mod logging;
pub mod middleware;
pub mod monitoring;
pub mod queue;
pub mod response;
pub mod retry;
pub mod service;
pub mod types;
pub mod utils;
pub mod validation;

// Re-export the service-bus client so downstream crates can `use shared_framework::basilisk::*`
pub use basilisk_rust_client as basilisk;

// Re-export seeder storage for clean bundling
pub use data::seed::{entity as seeder_entity, DatabaseSeeder, DatabaseSeederRunner};

// Re-exports for convenience
pub use config::ConfigurationRegistrant;
pub use env::AppEnvironment;
pub use response::{ErrorResult, ServiceResult, TypedServiceResult};
pub use data::{BaseEntity, BaseAuditableEntity};