From 59b71640077fb8fc56b4b2f1794f0d9f10e086ee Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Sun, 19 Jul 2026 21:30:12 +0200 Subject: [PATCH] WIP3 --- .../infrastructure/src/video/repository.rs | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/backend/infrastructure/src/video/repository.rs b/backend/infrastructure/src/video/repository.rs index 9ba3529..7a437a3 100644 --- a/backend/infrastructure/src/video/repository.rs +++ b/backend/infrastructure/src/video/repository.rs @@ -4,6 +4,13 @@ use rusqlite::fallible_iterator::FallibleIterator; use uuid::Uuid; use crate::video::model::LibraryItemEntity; +struct LibraryItemRawEntity { + pub id: Uuid, + pub name: String, + pub r#type: i8, + pub parent_item_id: Option, +} + #[derive(Clone)] pub struct LibraryItemSqliteRepository { pub database_connection: Arc>, @@ -144,10 +151,24 @@ impl LibraryItemSqliteRepository { )?; let mut rows = prepared_statement.query([library_item_id.to_string()])?; - if let Some(row) = rows.next()? { - Ok(Some(Self::map_to_library_item(&row)?)) - } else { - Ok(None) - } + let raw_data = rows.map(Self::map_to_raw_entity).collect::>()?; + + + + Ok(None) + } + + fn map_to_raw_entity(row: &Row) -> Result { + let id_text: String = row.get(0)?; + let type_as_number: i8 = row.get(2)?; + let parent_item_id_text: Option = row.get(3)?; + + let raw_entity = LibraryItemRawEntity { + id: Uuid::parse_str(&id_text).unwrap(), + name: row.get(1)?, + r#type: type_as_number, + parent_item_id: parent_item_id_text.map(|id| Uuid::parse_str(id.as_str()).unwrap()) + }; + Ok(raw_entity) } } \ No newline at end of file