feat: a bunch of things

This commit is contained in:
Andrea Toska 2025-02-27 10:25:31 +01:00
commit 2e2b01990e
20 changed files with 16216 additions and 137 deletions

28
src/error.rs Normal file
View file

@ -0,0 +1,28 @@
use log::error;
use rocket::http::Status;
use rocket::{Request, Response};
use rocket::response::content::RawXml;
use rocket::response::Responder;
use rocket::serde::Serialize;
use crate::nnid::timezones::Timezone;
use crate::xml::{serialize_with_version, Xml};
#[derive(Serialize, Debug)]
pub struct Error<'a>{
pub code: &'a str,
pub message: &'a str
}
#[derive(Serialize, Debug)]
#[serde(rename(serialize = "errors"))]
pub struct Errors<'a>{
pub error: &'a [Error<'a>],
}
impl<'r, 'o: 'r> Responder<'r, 'o> for Errors<'r> {
fn respond_to(self, request: &'r Request<'_>) -> rocket::response::Result<'o> {
Response::build_from(Xml(self).respond_to(request)?)
.status(Status::BadRequest)
.ok()
}
}