From e6c091dde0a036c8a78cadd23f9f57cc4cf00ae7 Mon Sep 17 00:00:00 2001 From: Vinod J M Date: Sun, 4 Dec 2022 13:26:08 +0530 Subject: [PATCH] v0.15-WORKINGV4 --- backend/api/src/lib.rs | 26 ++++++++++++++------------ frontend/src/main.rs | 27 ++++++++++++++++----------- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/backend/api/src/lib.rs b/backend/api/src/lib.rs index 3b8ae6d..5f583b4 100644 --- a/backend/api/src/lib.rs +++ b/backend/api/src/lib.rs @@ -161,6 +161,7 @@ impl BookUI { async fn set_descriptions(&mut self) { if self.open_library_key.is_some() { + if !(self.open_library_key.as_ref().unwrap().is_empty()) { let query = format!("https://openlibrary.org/{}.json", self.open_library_key.as_ref().unwrap().clone()); let res = reqwest::get(query).await.expect("Unable to request"); let resjson = res.json::().await.expect("Unable to return value"); @@ -175,6 +176,7 @@ async fn set_descriptions(&mut self) { } } } + } } } @@ -697,7 +699,7 @@ async fn create_book( .await .expect("could not create book"); - for author_name in doc_sent.author_name.as_ref().unwrap().iter() { + for author_name in doc_sent.author_name.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_author::Model = book_author::Model{ id: 1, book_id: (created_book.last_insert_id), @@ -707,7 +709,7 @@ async fn create_book( .await .expect("could not create book"); } - for person in doc_sent.person.as_ref().unwrap().iter() { + for person in doc_sent.person.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_person::Model = book_person::Model{ id: 1, book_id: (created_book.last_insert_id), @@ -718,7 +720,7 @@ async fn create_book( .expect("could not create book"); } - for place in doc_sent.place.as_ref().unwrap().iter() { + for place in doc_sent.place.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_place::Model = book_place::Model{ id: 1, book_id: (created_book.last_insert_id), @@ -729,7 +731,7 @@ async fn create_book( .expect("could not create book"); } - for subject in doc_sent.subject.as_ref().unwrap().iter() { + for subject in doc_sent.subject.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_subject::Model = book_subject::Model{ id: 1, book_id: (created_book.last_insert_id), @@ -740,7 +742,7 @@ async fn create_book( .expect("could not create book"); } - for time in doc_sent.time.as_ref().unwrap().iter() { + for time in doc_sent.time.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_time::Model = book_time::Model{ id: 1, book_id: (created_book.last_insert_id), @@ -751,7 +753,7 @@ async fn create_book( .expect("could not create book"); } - for isbn in doc_sent.isbn.as_ref().unwrap().iter() { + for isbn in doc_sent.isbn.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_isbn::Model = book_isbn::Model{ id: 1, book_id: (created_book.last_insert_id), @@ -860,7 +862,7 @@ let book: book::Model = book::Model{ .await .expect("could not delete book isbns while updating"); - for author_name in doc_sent.author_name.as_ref().unwrap().iter() { + for author_name in doc_sent.author_name.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_author::Model = book_author::Model{ id: 1, book_id: doc_sent.id, @@ -870,7 +872,7 @@ let book: book::Model = book::Model{ .await .expect("could not create book"); } - for person in doc_sent.person.as_ref().unwrap().iter() { + for person in doc_sent.person.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_person::Model = book_person::Model{ id: 1, book_id: doc_sent.id, @@ -881,7 +883,7 @@ let book: book::Model = book::Model{ .expect("could not create book"); } - for place in doc_sent.place.as_ref().unwrap().iter() { + for place in doc_sent.place.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_place::Model = book_place::Model{ id: 1, book_id: doc_sent.id, @@ -892,7 +894,7 @@ let book: book::Model = book::Model{ .expect("could not create book"); } - for subject in doc_sent.subject.as_ref().unwrap().iter() { + for subject in doc_sent.subject.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_subject::Model = book_subject::Model{ id: 1, book_id: doc_sent.id, @@ -903,7 +905,7 @@ let book: book::Model = book::Model{ .expect("could not create book"); } - for time in doc_sent.time.as_ref().unwrap().iter() { + for time in doc_sent.time.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_time::Model = book_time::Model{ id: 1, book_id: doc_sent.id, @@ -914,7 +916,7 @@ let book: book::Model = book::Model{ .expect("could not create book"); } - for isbn in doc_sent.isbn.as_ref().unwrap().iter() { + for isbn in doc_sent.isbn.as_ref().unwrap_or(&vec!["".to_string()]).iter() { let record : book_isbn::Model = book_isbn::Model{ id: 1, book_id: doc_sent.id, diff --git a/frontend/src/main.rs b/frontend/src/main.rs index 9426c67..090142d 100644 --- a/frontend/src/main.rs +++ b/frontend/src/main.rs @@ -327,6 +327,8 @@ async fn ListDB(cx: Scope<'_>) -> View { if *app_state.openlibrary.get() == false { if *app_state.refreshing.get() == true { + info!("Refresh triggered"); + app_state.books.set(Vec::new()); app_state.refreshing.set(false); //TimeoutFuture::new(1000).await; } @@ -635,39 +637,42 @@ info!("Adding book"); time: Some(times), isbn: Some(isbns), }; - if *app_state.adding.get() == true { - app_state.addingrequest.set(true); - } else if *app_state.updating.get() == true{ + + app_state.apibook.set(record); + + app_state.addingbook.set(BookUI::default()); + if *app_state.updating.get()==true { app_state.updatingrequest.set(true); } - app_state.apibook.set(record); - app_state.addingbook.set(BookUI::default()); + if *app_state.adding.get()==true { + app_state.addingrequest.set(true); + } app_state.updating.set(false); app_state.adding.set(false); - //app_state.books.set(vec![BookUI::default()]); }; create_effect(cx, || { + app_state.apibook.track(); let app_state = app_state.clone(); let record = (*app_state.apibook.get()).clone(); - if *app_state.addingrequest.get() == true { spawn_local(async move { + info!("Adding effect startedDone"); + + if *app_state.addingrequest.get() == true { let temp = add_book(record).await.unwrap(); info!("Adding Done{}",temp.status()); app_state.refreshing.set(true); app_state.addingrequest.set(false); - }); - } else if *app_state.updatingrequest.get() == true{ - spawn_local(async move { + } else if *app_state.updatingrequest.get() == true { let temp = update_book(record).await.unwrap(); info!("Updating Done{}",temp.status()); app_state.refreshing.set(true); app_state.updatingrequest.set(false); - }); } + }); }); create_effect(cx, || {