1pub mod auth;
11pub mod container;
12pub mod documentation;
13pub mod error;
14pub mod http_ext;
15pub mod inject;
16pub mod injectable;
17pub mod logging;
18pub mod module;
19pub mod pipeline;
20pub mod provider;
21pub mod request;
22pub mod resource_service;
23pub mod response;
24pub mod route_builder;
25pub mod store;
26pub mod validation;
27
28pub use auth::{AuthIdentity, AuthUser, BearerToken, OptionalAuthUser};
29pub use container::{Container, ContainerError};
30pub use documentation::{
31 openapi_array_schema_for, openapi_nullable_schema_for, openapi_schema_components_for,
32 openapi_schema_for, DocumentedController, OpenApiSchema, OpenApiSchemaComponent,
33 RouteDocumentation, RouteResponseDocumentation,
34};
35pub use error::HttpException;
36pub use http_ext::{OptionHttpExt, ResultHttpExt};
37pub use inject::Inject;
38pub use injectable::{register_injectable, Injectable, IntoInjectableResult};
39pub use logging::{framework_log, framework_log_event};
40pub use module::{
41 collect_module_graph, collect_module_route_docs, initialize_module_graph,
42 initialize_module_runtime, ControllerBasePath, ControllerDefinition, DynamicModuleBuilder,
43 InitializedModule, LifecycleHook, ModuleDefinition, ModuleGraphEntry, ModuleGraphReport,
44 ModuleRef,
45};
46pub use pipeline::{
47 apply_exception_filters, execute_pipeline, run_guards, ExceptionFilter, Guard, Interceptor,
48 NextFn, NextFuture, RequestContext, RequireAuthenticationGuard, RoleRequirementsGuard,
49};
50pub use provider::{register_provider, Provider, RegisterProvider};
51pub use request::ValidatedBody;
52pub use request::{
53 Body, Cookies, Decorated, Headers, Param, Pipe, PipedBody, PipedParam, PipedQuery, Query,
54 RequestDecorator, RequestId,
55};
56pub use resource_service::{ResourceError, ResourceService};
57pub use response::{
58 ApiEnvelopeResult, ApiSerializedResult, ResponseEnvelope, ResponseSerializer, Serialized,
59};
60pub use route_builder::RouteBuilder;
61pub use store::{Identifiable, InMemoryStore};
62pub use validation::{Validate, ValidationErrors, ValidationIssue};
63
64pub type ApiResult<T> = Result<axum::Json<T>, HttpException>;
65pub type List<T> = Vec<T>;