1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Opinionated async Rust framework for building Mae-Technologies micro-services.
//!
//! Use with [`mae_macros`](https://crates.io/crates/mae_macros) (`#[run_app]`, `#[schema]`,
//! `#[mae_test]`). API request/response types belong in your service or a models crate.
//!
//! # Public surface (stable for service authors)
//!
//! - [`app`] — configuration, `DeriveContext`, Actix server `run`
//! - [`context`] — [`RequestContext`] (pool + session + custom config per request)
//! - [`repo`] — typed Postgres layer: [`WithExecutor`](repo::WithExecutor), filters, [`DomainStatus`](repo::default::DomainStatus)
//! - [`posting`] — multi-step post orchestration ([`PostingController`](posting::PostingController))
//! - [`route`] — [`Success`](route::response::Success), [`ServiceError`](route::response::ServiceError), health routes
//! - [`middleware`] — session / micro-service auth (installed by `#[run_app]`)
//! - [`session`] — logged-in user identity
//! - [`service`] — [`HttpServiceClient`](service::HttpServiceClient) for downstream HTTP
//! - [`crypto`] / [`totp`] — optional field encryption and TOTP helpers
//! - [`util`] — small shared helpers
//! - [`testing`] — integration-test utilities (`test-utils` feature only)
//!
//! Internal modules (`repo::__private__`, container refcount guards, etc.) are not API.