forked from jmug/stoatchat
chore: update routes to use utoipa
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
use utoipa::{Modify, openapi::{Content, OpenApi, Ref, RefOr, ResponseBuilder}};
|
||||
|
||||
pub struct ErrorAddon;
|
||||
|
||||
impl Modify for ErrorAddon {
|
||||
fn modify(&self, utoipa: &mut OpenApi) {
|
||||
let response = ResponseBuilder::new()
|
||||
.description("An error occurred")
|
||||
.content(
|
||||
"application/json",
|
||||
Content::new(Some(RefOr::Ref(Ref::from_schema_name("Error")))),
|
||||
)
|
||||
.build();
|
||||
|
||||
for path in utoipa.paths.paths.values_mut() {
|
||||
if let Some(route) = path.get.as_mut() {
|
||||
route
|
||||
.responses
|
||||
.responses
|
||||
.insert("default".to_string(), RefOr::T(response.clone()));
|
||||
};
|
||||
|
||||
if let Some(route) = path.delete.as_mut() {
|
||||
route
|
||||
.responses
|
||||
.responses
|
||||
.insert("default".to_string(), RefOr::T(response.clone()));
|
||||
};
|
||||
|
||||
if let Some(route) = path.patch.as_mut() {
|
||||
route
|
||||
.responses
|
||||
.responses
|
||||
.insert("default".to_string(), RefOr::T(response.clone()));
|
||||
};
|
||||
|
||||
if let Some(route) = path.post.as_mut() {
|
||||
route
|
||||
.responses
|
||||
.responses
|
||||
.insert("default".to_string(), RefOr::T(response.clone()));
|
||||
};
|
||||
|
||||
if let Some(route) = path.put.as_mut() {
|
||||
route
|
||||
.responses
|
||||
.responses
|
||||
.insert("default".to_string(), RefOr::T(response.clone()));
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user