mod from_data_impls;
mod from_form_multi_param_impls;
mod from_form_param_impls;
mod from_param_impls;
use super::gen::OpenApiGenerator;
use super::Result;
use okapi::openapi3::{Parameter, RequestBody};
pub use from_form_multi_param_impls::get_nested_form_parameters;
pub trait OpenApiFromData<'r>: rocket::data::FromData<'r> {
fn request_body(gen: &mut OpenApiGenerator) -> Result<RequestBody>;
}
pub trait OpenApiFromParam<'r>: rocket::request::FromParam<'r> {
fn path_parameter(gen: &mut OpenApiGenerator, name: String) -> Result<Parameter>;
}
pub trait OpenApiFromSegments<'r>: rocket::request::FromSegments<'r> {
fn path_multi_parameter(gen: &mut OpenApiGenerator, name: String) -> Result<Parameter>;
}
pub trait OpenApiFromFormField<'r>: rocket::form::FromForm<'r> {
fn form_parameter(
gen: &mut OpenApiGenerator,
name: String,
required: bool,
) -> Result<Parameter>;
}
pub trait OpenApiFromForm<'r>: rocket::form::FromForm<'r> {
fn form_multi_parameter(
gen: &mut OpenApiGenerator,
name: String,
required: bool,
) -> Result<Vec<Parameter>>;
}