fix: return 404 if api returns 404 (cv user not exists)
This commit is contained in:
parent
b7b3957db8
commit
ebe46345fe
@ -3,13 +3,14 @@ use headless_chrome::types::PrintToPdfOptions;
|
|||||||
use nanobyte_opentelemetry::rocket::{TracingSpan, OtelReqwestClient};
|
use nanobyte_opentelemetry::rocket::{TracingSpan, OtelReqwestClient};
|
||||||
use nanobyte_tera::l18n::LanguageDescription;
|
use nanobyte_tera::l18n::LanguageDescription;
|
||||||
use ovlach_data::cv::data::CV;
|
use ovlach_data::cv::data::CV;
|
||||||
|
use reqwest::StatusCode;
|
||||||
use rocket::fs::NamedFile;
|
use rocket::fs::NamedFile;
|
||||||
use rocket::serde::json::json;
|
use rocket::serde::json::json;
|
||||||
use ::rocket::{State, http::Status};
|
use ::rocket::{State, http::Status};
|
||||||
use ::rocket::get;
|
use ::rocket::get;
|
||||||
use tempfile::NamedTempFile;
|
use tempfile::NamedTempFile;
|
||||||
use tera::Context;
|
use tera::Context;
|
||||||
use tracing::{info_span, error, debug, Instrument};
|
use tracing::{info_span, error, debug, Instrument, info};
|
||||||
use crate::tools::cache::NanoCache;
|
use crate::tools::cache::NanoCache;
|
||||||
use crate::{chromium::rocket::BrowserHolder, tools::{tera::NanoTera, pdf::PdfStream, rocket::RequestLanguage}, services::cv::fetch_cv_data_from_backend, CVBackendConfig};
|
use crate::{chromium::rocket::BrowserHolder, tools::{tera::NanoTera, pdf::PdfStream, rocket::RequestLanguage}, services::cv::fetch_cv_data_from_backend, CVBackendConfig};
|
||||||
|
|
||||||
@ -86,8 +87,24 @@ pub async fn render_pdf_cv(username: &str, tera: NanoTera, tracing: TracingSpan,
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
error!("Error fetching cv data: {:?}", e);
|
match e {
|
||||||
Err(Status::InternalServerError)
|
crate::services::cv::FetchError::ReqwestError(re) => {
|
||||||
|
match re.status() {
|
||||||
|
Some(status) => {
|
||||||
|
if status == StatusCode::NOT_FOUND {
|
||||||
|
info!("CV not found for user {}", username);
|
||||||
|
Err(Status::NotFound)
|
||||||
|
} else {
|
||||||
|
Err(Status::InternalServerError)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
error!("Error fetching cv data: {:?}", re);
|
||||||
|
Err(Status::InternalServerError)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.instrument(tracing.0).await
|
}.instrument(tracing.0).await
|
||||||
|
Loading…
Reference in New Issue
Block a user