fix: use sqlx chrono decode for thread timestamps instead of manual parsing (#8575)
Signed-off-by: Matt Toohey <contact@matttoohey.com>
This commit is contained in:
@@ -54,9 +54,9 @@ type ThreadRow = (
|
|||||||
String,
|
String,
|
||||||
bool,
|
bool,
|
||||||
Option<String>,
|
Option<String>,
|
||||||
String,
|
DateTime<Utc>,
|
||||||
String,
|
DateTime<Utc>,
|
||||||
Option<String>,
|
Option<DateTime<Utc>>,
|
||||||
String,
|
String,
|
||||||
Option<String>,
|
Option<String>,
|
||||||
i64,
|
i64,
|
||||||
@@ -70,21 +70,21 @@ fn thread_from_row(
|
|||||||
working_dir,
|
working_dir,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at,
|
updated_at,
|
||||||
archived_at_str,
|
archived_at,
|
||||||
metadata_json,
|
metadata_json,
|
||||||
current_session_id,
|
current_session_id,
|
||||||
message_count,
|
message_count,
|
||||||
): ThreadRow,
|
): ThreadRow,
|
||||||
) -> Result<Thread> {
|
) -> Result<Thread> {
|
||||||
let metadata: ThreadMetadata = serde_json::from_str(&metadata_json).unwrap_or_default();
|
let metadata: ThreadMetadata = serde_json::from_str(&metadata_json).unwrap_or_default();
|
||||||
let archived_at = archived_at_str.as_deref().and_then(|s| s.parse().ok());
|
|
||||||
Ok(Thread {
|
Ok(Thread {
|
||||||
id,
|
id,
|
||||||
name,
|
name,
|
||||||
user_set_name,
|
user_set_name,
|
||||||
working_dir,
|
working_dir,
|
||||||
created_at: created_at.parse().unwrap_or_else(|_| Utc::now()),
|
created_at,
|
||||||
updated_at: updated_at.parse().unwrap_or_else(|_| Utc::now()),
|
updated_at,
|
||||||
archived_at,
|
archived_at,
|
||||||
metadata,
|
metadata,
|
||||||
current_session_id,
|
current_session_id,
|
||||||
|
|||||||
Reference in New Issue
Block a user