From 08c6cfeb1f2b792a4790fa7a4348e6f86a82783d Mon Sep 17 00:00:00 2001 From: Ninjdai Date: Mon, 4 Aug 2025 19:55:33 +0200 Subject: [PATCH] refactor: rename bnf deserializer structs to be more accurate --- src/utils/bnf.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/utils/bnf.rs b/src/utils/bnf.rs index 35e4ed2..64566ea 100644 --- a/src/utils/bnf.rs +++ b/src/utils/bnf.rs @@ -9,13 +9,13 @@ pub struct Response { #[serde(rename = "numberOfRecords")] records_number: u32, #[serde(rename = "records")] - records: RecordListElement + record_list: RecordList } #[derive(Deserialize)] -pub struct RecordListElement { +pub struct RecordList { #[serde(default, rename = "record")] - record: Vec + records: Vec } #[derive(Deserialize)] @@ -27,11 +27,11 @@ pub struct Record { #[derive(Deserialize)] pub struct RecordData { #[serde(rename = "record")] - record: RecordDataFields + datafield_list: DataFieldList } #[derive(Deserialize)] -pub struct RecordDataFields { +pub struct DataFieldList { #[serde(default, rename = "datafield")] datafields: Vec } @@ -89,9 +89,9 @@ pub async fn fetch_book_by_ean(web_client: &reqwest::Client, ean: &String) -> Op log::debug!(target: "api", "BNF returned 0 records for fetch"); return None; } - let record = &v.records.record.first().unwrap(); - let data_dubfield = record.record_data.record.datafields.iter().find(|d| d.tag == "200").unwrap().subfields.clone(); - let price_new = match record.record_data.record.datafields.iter().find(|d| d.tag == "010") { + let record = &v.record_list.records.first().unwrap(); + let data_dubfield = record.record_data.datafield_list.datafields.iter().find(|d| d.tag == "200").unwrap().subfields.clone(); + let price_new = match record.record_data.datafield_list.datafields.iter().find(|d| d.tag == "010") { Some(f) => f.subfields.iter().find(|p| p.code=="d").map_or(None, |v| Some(v.value.clone())), None => None };