From 0fa0fbe97ec53b136efb82ae50d93e2e8147748f Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 12 Apr 2026 05:59:13 -0400 Subject: [PATCH] add datetime --- .../src/requests/poll_orders/poll_orders.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crates/api_clients/seedance2pro_client/src/requests/poll_orders/poll_orders.rs b/crates/api_clients/seedance2pro_client/src/requests/poll_orders/poll_orders.rs index 8c97f330cd..627d1a6178 100644 --- a/crates/api_clients/seedance2pro_client/src/requests/poll_orders/poll_orders.rs +++ b/crates/api_clients/seedance2pro_client/src/requests/poll_orders/poll_orders.rs @@ -6,6 +6,7 @@ use crate::requests::kinovi_host::{KinoviHost, resolve_host}; use crate::requests::poll_orders::failure_reason::FailureReason; use crate::requests::poll_orders::request_types::*; use crate::utils::common_headers::FIREFOX_USER_AGENT; +use chrono::{DateTime, Utc}; use log::info; use wreq::Client; use wreq_util::Emulation; @@ -94,6 +95,9 @@ pub struct OrderStatus { /// ISO 8601 creation timestamp (e.g. `"2026-02-19T01:20:50.398Z"`). pub created_at: String, + + /// Parsed `created_at` as a `DateTime`. `None` if the raw string could not be parsed. + pub created_at_utc: Option>, } // --- Implementation --- @@ -176,6 +180,10 @@ pub async fn poll_orders(args: PollOrdersArgs<'_>) -> Result Some(FailureReason::from_reason("(no reason)")), _ => None, }; + let created_at_utc = DateTime::parse_from_rfc3339(&o.created_at) + .map(|dt| dt.with_timezone(&Utc)) + .ok(); + OrderStatus { order_id: o.order_id, task_status, @@ -187,6 +195,7 @@ pub async fn poll_orders(args: PollOrdersArgs<'_>) -> Result