1pub mod api_dto;
8pub mod error_layer;
9pub mod odata;
10pub mod openapi_registry;
11pub mod operation_builder;
12pub mod problem;
13pub mod response;
14pub mod select;
15pub mod trace_layer;
16
17#[cfg(test)]
18#[cfg_attr(coverage_nightly, coverage(off))]
19mod odata_policy_tests;
20
21pub use error_layer::{
22 IntoProblem, error_mapping_middleware, extract_trace_id, map_error_to_problem,
23};
24pub use openapi_registry::{OpenApiInfo, OpenApiRegistry, OpenApiRegistryImpl, ensure_schema};
25pub use operation_builder::{
26 Missing, OperationBuilder, OperationSpec, ParamLocation, ParamSpec, Present, RateLimitSpec,
27 ResponseSpec, state,
28};
29pub use problem::{
30 APPLICATION_PROBLEM_JSON, Problem, ValidationError, bad_request, conflict, internal_error,
31 not_found,
32};
33pub use select::{apply_select, page_to_projected_json, project_json};
34pub use trace_layer::{WithRequestContext, WithTraceContext};
35
36pub mod prelude {
38 pub use crate::result::ApiResult;
40
41 pub use super::problem::Problem;
43
44 pub use super::response::{JsonBody, JsonPage, created_json, no_content, ok_json};
46
47 pub use super::select::apply_select;
49
50 pub use axum::{Json, http::StatusCode, response::IntoResponse};
52}