fix(api): fix api to handle documents with more generic format

This commit is contained in:
Mariano Riefolo 2024-09-04 15:46:54 +02:00
parent 23d87618dc
commit 6a8dd1054c

View File

@ -202,6 +202,8 @@ pub fn get_header(record: &StringRecord) -> Header {
.position(|x| !x.is_empty())
.unwrap_or(record.len());
let field = field.replace("ì", "i").replace(" ", "").to_uppercase();
if field == "DOCENTE" {
docente = i as u8;
} else if field == "LUNEDI" {
@ -250,12 +252,7 @@ pub async fn get_teachers(Query(params): Query<GetTeachersQuery>) -> impl IntoRe
for record in rdr.records() {
let record = match record {
Ok(x) => x,
Err(_) => {
return (
StatusCode::UNPROCESSABLE_ENTITY,
Json(json!({ "errore": "Formato non supportato"})),
)
}
Err(_) => continue,
};
if let Some(teacher) = record.get(header.teacher as usize) {
@ -304,7 +301,10 @@ pub async fn get_classes(Query(params): Query<GetClassesQuery>) -> impl IntoResp
let mut classes: Vec<HashMap<char, HashSet<String>>> = vec![HashMap::new(); 5];
for record in rdr.records() {
let record = record.unwrap();
let record = match record {
Ok(x) => x,
Err(_) => continue,
};
for (i, cell) in record.iter().enumerate() {
for (_, range) in header.weekdays.clone() {
if range.contains(&i) && is_valid_class(cell) {