From aa7cdcae9f8d1c684c9135129bd05dadb24b4897 Mon Sep 17 00:00:00 2001 From: David Calavera <1050+calavera@users.noreply.github.com> Date: Wed, 31 Dec 2025 09:54:04 -0800 Subject: [PATCH] Switch created_at fields to DateTime. This ensures the serialization format and precission better then i64. --- Cargo.lock | 3 +++ Cargo.toml | 1 + crates/cloud-sdk/Cargo.toml | 1 + crates/cloud-sdk/src/applications/models.rs | 17 +++++++++-------- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 06eb37a..18cf57f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,8 +153,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ "iana-time-zone", + "js-sys", "num-traits", "serde", + "wasm-bindgen", "windows-link", ] @@ -1642,6 +1644,7 @@ name = "tensorlake-cloud-sdk" version = "0.1.0" dependencies = [ "bytes", + "chrono", "data-encoding", "derive_builder", "flate2", diff --git a/Cargo.toml b/Cargo.toml index 74424a7..e07ed0a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ rust-version = "1.90.0" [workspace.dependencies] bytes = "1.0" +chrono = { version = "0.4.42", features = ["serde"] } derive_builder = "0.20" flate2 = "1.0" futures = "0.3" diff --git a/crates/cloud-sdk/Cargo.toml b/crates/cloud-sdk/Cargo.toml index bdc80cd..bf5d0d3 100644 --- a/crates/cloud-sdk/Cargo.toml +++ b/crates/cloud-sdk/Cargo.toml @@ -8,6 +8,7 @@ edition = "2024" [dependencies] bytes = { workspace = true } +chrono = { workspace = true } derive_builder = { workspace = true } flate2 = { workspace = true } futures = { workspace = true } diff --git a/crates/cloud-sdk/src/applications/models.rs b/crates/cloud-sdk/src/applications/models.rs index a3e0c88..7f51450 100644 --- a/crates/cloud-sdk/src/applications/models.rs +++ b/crates/cloud-sdk/src/applications/models.rs @@ -1,3 +1,4 @@ +use chrono::{DateTime, Utc}; use derive_builder::Builder; use futures::Stream; use reqwest::header::HeaderValue; @@ -544,7 +545,7 @@ pub struct RequestProgressUpdated { #[serde(default)] pub attributes: Option, #[serde(default)] - pub created_at: i64, + pub created_at: DateTime, } #[derive(Serialize, Deserialize, Debug, Clone)] @@ -554,7 +555,7 @@ pub struct RequestCreatedEvent { pub application_version: String, pub request_id: String, #[serde(default)] - pub created_at: i64, + pub created_at: DateTime, } #[derive(Serialize, Deserialize, Debug, Clone)] @@ -566,7 +567,7 @@ pub struct RequestFinishedEvent { #[serde(default)] pub outcome: RequestOutcome, #[serde(default)] - pub created_at: i64, + pub created_at: DateTime, } #[derive(Serialize, Deserialize, Debug, Clone)] @@ -576,7 +577,7 @@ pub struct RequestStartedEvent { pub application_version: String, pub request_id: String, #[serde(default)] - pub created_at: i64, + pub created_at: DateTime, } #[derive(Serialize, Deserialize, Debug, Clone)] @@ -588,7 +589,7 @@ pub struct FunctionRunCreated { pub function_name: String, pub function_run_id: String, #[serde(default)] - pub created_at: i64, + pub created_at: DateTime, } #[derive(Serialize, Deserialize, Debug, Clone)] @@ -602,7 +603,7 @@ pub struct FunctionRunAssigned { pub allocation_id: String, pub executor_id: String, #[serde(default)] - pub created_at: i64, + pub created_at: DateTime, } #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] @@ -624,7 +625,7 @@ pub struct FunctionRunCompleted { pub allocation_id: String, pub outcome: FunctionRunOutcomeSummary, #[serde(default)] - pub created_at: i64, + pub created_at: DateTime, } #[derive(Serialize, Deserialize, Debug, Clone)] @@ -636,7 +637,7 @@ pub struct FunctionRunMatchedCache { pub function_name: String, pub function_run_id: String, #[serde(default)] - pub created_at: i64, + pub created_at: DateTime, } #[derive(Builder, Debug)]