#![allow(deprecated)]
#![warn(missing_docs)]
pub mod browsable_api;
pub mod filters;
pub mod metadata;
#[cfg(feature = "serializers")]
pub mod serializers;
pub mod throttling;
pub mod versioning;
#[cfg(feature = "parsers")]
pub use reinhardt_core::parsers;
pub use reinhardt_core::negotiation;
pub use reinhardt_core::pagination;
pub mod authentication;
pub mod response;
#[cfg(feature = "openapi")]
pub mod schema;
pub use authentication::{
AllowAny, AnonymousUser, AuthBackend, AuthResult, IsAdminUser, IsAuthenticated,
IsAuthenticatedOrReadOnly, Permission, SimpleUser, User,
};
#[cfg(feature = "jwt")]
pub use authentication::{Claims, JwtAuth};
pub use response::{ApiResponse, IntoApiResponse, PaginatedResponse, ResponseBuilder};
pub use crate::browsable_api::*;
#[cfg(feature = "serializers")]
pub use crate::serializers::{
ContentNegotiator, Deserializer, JsonSerializer, ModelSerializer, Serializer, SerializerError,
UniqueTogetherValidator, UniqueValidator,
};
#[cfg(feature = "parsers")]
pub use reinhardt_core::parsers::{
FileUploadParser, FormParser, JSONParser, MediaType, MultiPartParser, ParseError, ParseResult,
Parser,
};
#[cfg(feature = "openapi")]
pub mod openapi;
#[cfg(feature = "openapi")]
pub use crate::openapi::{
ComponentsExt, EnumSchemaBuilder, EnumTagging, Info, OpenApiSchema, Operation, Parameter,
ParameterLocation, PathItem, RequestBody, Response, Schema, SchemaExt, SchemaGenerator,
SchemaRegistry, Server, ToSchema,
};
#[cfg(feature = "openapi")]
pub use crate::openapi::openapi::{
ArrayBuilder, ComponentsBuilder, InfoBuilder, ObjectBuilder, OpenApiBuilder, OperationBuilder,
ParameterBuilder, PathItemBuilder, PathsBuilder, RequestBodyBuilder, ResponsesBuilder,
ServerBuilder, TagBuilder,
};
#[cfg(feature = "openapi")]
pub use crate::openapi::openapi::ResponseBuilder as OpenApiResponseBuilder;
#[cfg(feature = "openapi")]
pub use crate::openapi::swagger::SwaggerUI;
#[cfg(test)]
mod tests {
#[test]
fn test_serializers_module_available() {
#[cfg(feature = "serializers")]
{
use crate::JsonSerializer;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
struct TestData {
name: String,
}
let _serializer = JsonSerializer::<TestData>::new();
}
}
#[test]
fn test_parsers_module_available() {
#[cfg(feature = "parsers")]
{
use crate::JSONParser;
let _parser = JSONParser::new();
}
}
}