diff --git a/api-router/src/routes/ingress.rs b/api-router/src/routes/ingress.rs index e60642e..1506c02 100644 --- a/api-router/src/routes/ingress.rs +++ b/api-router/src/routes/ingress.rs @@ -50,7 +50,7 @@ pub async fn ingest_data( }) .collect(); - try_join_all(futures).await.map_err(AppError::from)?; + try_join_all(futures).await?; Ok(StatusCode::OK) } diff --git a/common/src/utils/config.rs b/common/src/utils/config.rs index 8ea8251..91c3b8f 100644 --- a/common/src/utils/config.rs +++ b/common/src/utils/config.rs @@ -30,5 +30,5 @@ pub fn get_config() -> Result { .add_source(Environment::default()) .build()?; - Ok(config.try_deserialize()?) + config.try_deserialize() } diff --git a/common/src/utils/embedding.rs b/common/src/utils/embedding.rs index dd26788..fcf01cb 100644 --- a/common/src/utils/embedding.rs +++ b/common/src/utils/embedding.rs @@ -68,7 +68,7 @@ pub async fn generate_embedding_with_params( let request = CreateEmbeddingRequestArgs::default() .model(model) .input([input]) - .dimensions(dimensions as u32) + .dimensions(dimensions) .build()?; let response = client.embeddings().create(request).await?; diff --git a/html-router/src/middlewares/response_middleware.rs b/html-router/src/middlewares/response_middleware.rs index e83443f..f5df5fa 100644 --- a/html-router/src/middlewares/response_middleware.rs +++ b/html-router/src/middlewares/response_middleware.rs @@ -188,7 +188,7 @@ where if is_htmx { (StatusCode::OK, [(axum_htmx::HX_REDIRECT, path)], "").into_response() } else { - Redirect::to(&path).into_response() + Redirect::to(path).into_response() } } } diff --git a/html-router/src/routes/ingestion/handlers.rs b/html-router/src/routes/ingestion/handlers.rs index 9b557f6..3dd2b5b 100644 --- a/html-router/src/routes/ingestion/handlers.rs +++ b/html-router/src/routes/ingestion/handlers.rs @@ -83,7 +83,7 @@ pub async fn process_ingress_form( error: String, } - if input.content.as_ref().map_or(true, |c| c.len() < 2) && input.files.is_empty() { + if input.content.as_ref().is_none_or(|c| c.len() < 2) && input.files.is_empty() { return Ok(TemplateResponse::new_template( "index/signed_in/ingress_form.html", IngressFormData { diff --git a/ingestion-pipeline/src/types/mod.rs b/ingestion-pipeline/src/types/mod.rs index 4aad706..129872c 100644 --- a/ingestion-pipeline/src/types/mod.rs +++ b/ingestion-pipeline/src/types/mod.rs @@ -22,7 +22,9 @@ use std::io::{Seek, SeekFrom}; use tempfile::NamedTempFile; use tracing::{error, info}; -use crate::utils::{audio_transcription::transcribe_audio_file, image_parsing::extract_text_from_image}; +use crate::utils::{ + audio_transcription::transcribe_audio_file, image_parsing::extract_text_from_image, +}; pub async fn to_text_content( ingestion_payload: IngestionPayload, @@ -37,7 +39,7 @@ pub async fn to_text_content( category, user_id, } => { - let (article, file_info) = fetch_article_from_url(&url, db, &user_id, &config).await?; + let (article, file_info) = fetch_article_from_url(&url, db, &user_id, config).await?; Ok(TextContent::new( article.text_content.into(), Some(context), @@ -179,7 +181,7 @@ async fn fetch_article_from_url( }; // Store screenshot - let file_info = FileInfo::new(field_data, db, user_id, &config).await?; + let file_info = FileInfo::new(field_data, db, user_id, config).await?; // Parse content... let config = dom_smoothie::Config { @@ -231,8 +233,8 @@ async fn extract_text_from_file( let content = tokio::fs::read_to_string(&file_info.path).await?; Ok(content) } - "audio/mpeg" | "audio/mp3" | "audio/wav" | "audio/x-wav" | "audio/webm" | "audio/mp4" | "audio/ogg" | "audio/flac" => { - + "audio/mpeg" | "audio/mp3" | "audio/wav" | "audio/x-wav" | "audio/webm" | "audio/mp4" + | "audio/ogg" | "audio/flac" => { transcribe_audio_file(&file_info.path, db_client, openai_client).await } // Handle other MIME types as needed diff --git a/ingestion-pipeline/src/utils/image_parsing.rs b/ingestion-pipeline/src/utils/image_parsing.rs index 93ec433..ac97878 100644 --- a/ingestion-pipeline/src/utils/image_parsing.rs +++ b/ingestion-pipeline/src/utils/image_parsing.rs @@ -48,7 +48,7 @@ pub async fn extract_text_from_image( let description = response .choices - .get(0) + .first() .and_then(|c| c.message.content.as_ref()) .cloned() .unwrap_or_else(|| "No description found.".to_string()); diff --git a/ingestion-pipeline/src/utils/mod.rs b/ingestion-pipeline/src/utils/mod.rs index f526188..462b334 100644 --- a/ingestion-pipeline/src/utils/mod.rs +++ b/ingestion-pipeline/src/utils/mod.rs @@ -1,6 +1,6 @@ +pub mod audio_transcription; pub mod image_parsing; pub mod llm_instructions; -pub mod audio_transcription; use common::error::AppError; use std::collections::HashMap; @@ -33,16 +33,12 @@ impl GraphMapper { } // If parsing fails, look it up in the map. - self.key_to_id - .get(key) - .map(|id| *id) // Dereference the &Uuid to get Uuid - // If `get` returned None, create and return an error. - .ok_or_else(|| { - AppError::GraphMapper(format!( - "Key '{}' is not a valid UUID and was not found in the map.", - key - )) - }) + self.key_to_id.get(key).copied().ok_or_else(|| { + AppError::GraphMapper(format!( + "Key '{}' is not a valid UUID and was not found in the map.", + key + )) + }) } /// Assigns a new UUID for a given key. (No changes needed here) @@ -56,7 +52,7 @@ impl GraphMapper { pub fn get_id(&self, key: &str) -> Result { self.key_to_id .get(key) - .map(|id| *id) + .copied() .ok_or_else(|| AppError::GraphMapper(format!("Key '{}' not found in map.", key))) } } diff --git a/json-stream-parser/src/lib.rs b/json-stream-parser/src/lib.rs index 458a9ee..085c9d1 100644 --- a/json-stream-parser/src/lib.rs +++ b/json-stream-parser/src/lib.rs @@ -441,11 +441,9 @@ pub fn parse_stream(json_string: &str) -> Result { current_status.clone(), current_char.to_string() ); - if let Err(e) = add_char_into_object(&mut out, &mut current_status, current_char) { - return Err(e); - } + add_char_into_object(&mut out, &mut current_status, current_char)? } - return Ok(out); + Ok(out) } #[cfg(not(debug_assertions))] @@ -464,6 +462,11 @@ pub struct JsonStreamParser { object: Value, current_status: ObjectStatus, } +impl Default for JsonStreamParser { + fn default() -> Self { + Self::new() + } +} impl JsonStreamParser { pub fn new() -> JsonStreamParser {