From fd5b8815be1d27f3633ec1eb89bc4382a453ce42 Mon Sep 17 00:00:00 2001 From: sjoerdvink99 Date: Thu, 16 Apr 2026 09:31:06 -0400 Subject: [PATCH] fix: Date node now applies the format field --- catalog/data/primitives/date/backend.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/catalog/data/primitives/date/backend.rs b/catalog/data/primitives/date/backend.rs index edcde05..bad0ee8 100644 --- a/catalog/data/primitives/date/backend.rs +++ b/catalog/data/primitives/date/backend.rs @@ -33,9 +33,24 @@ impl Node for DateNode { async fn execute(&self, ctx: ExecutionContext) -> NodeResult { let default_date = chrono::Utc::now().to_rfc3339(); - let value = ctx.config.get("value") + let raw = ctx.config.get("value") .and_then(|v| v.as_str()) .unwrap_or(&default_date); + + let format = ctx.config.get("format") + .and_then(|v| v.as_str()) + .unwrap_or("ISO"); + + let value = match format { + "Unix" => { + let ts = chrono::DateTime::parse_from_rfc3339(raw) + .map(|d| d.timestamp()) + .unwrap_or_else(|_| chrono::Utc::now().timestamp()); + ts.to_string() + } + _ => raw.to_string(), + }; + NodeResult::completed(serde_json::json!({ "value": value })) } }