use crate::{ models::{AnnotatedRow, FieldMapping, ParsedFile}, value_objects::{ImportSessionId, UserId}, }; use chrono::NaiveDateTime; #[derive(Debug, Clone)] pub struct ImportSession { pub id: ImportSessionId, pub user_id: UserId, pub parsed_file: Option, pub field_mappings: Option>, pub row_results: Option>, pub created_at: NaiveDateTime, pub expires_at: NaiveDateTime, } impl ImportSession { pub fn new(id: ImportSessionId, user_id: UserId, created_at: NaiveDateTime) -> Self { let expires_at = created_at + chrono::Duration::hours(24); Self { id, user_id, parsed_file: None, field_mappings: None, row_results: None, created_at, expires_at, } } }