From b0ffeb1a2406532064b23f7ec9eca1885dc953e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raphael=20H=C3=B6ser?= Date: Fri, 6 Jun 2025 23:04:25 +0200 Subject: [PATCH 1/2] fix(events): rename r#type to ty for consistency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Raphael Höser --- src/client.rs | 4 ++-- src/event/event_types/event.rs | 9 +++++---- src/event/event_types/event_candidate.rs | 5 +++-- src/event/event_types/management_event.rs | 7 ++++--- tests/utils/mod.rs | 4 ++-- tests/write_events.rs | 4 ++-- 6 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/client.rs b/src/client.rs index 592bec4..12fcf76 100644 --- a/src/client.rs +++ b/src/client.rs @@ -230,7 +230,7 @@ impl Client { /// # .source("https://www.eventsourcingdb.io".to_string()) /// # .data(json!({"value": 1})) /// # .subject("/test".to_string()) - /// # .r#type("io.eventsourcingdb.test".to_string()) + /// # .ty("io.eventsourcingdb.test".to_string()) /// # .build() /// # ], /// # vec![] @@ -419,7 +419,7 @@ impl Client { /// .source("https://www.eventsourcingdb.io".to_string()) /// .data(json!({"value": 1})) /// .subject("/test".to_string()) - /// .r#type("io.eventsourcingdb.test".to_string()) + /// .ty("io.eventsourcingdb.test".to_string()) /// .build() /// ]; /// let written_events = client.write_events(candidates, vec![]).await.expect("Failed to write events"); diff --git a/src/event/event_types/event.rs b/src/event/event_types/event.rs index 72cf3d4..1524d33 100644 --- a/src/event/event_types/event.rs +++ b/src/event/event_types/event.rs @@ -20,7 +20,8 @@ pub struct Event { time: DateTime, #[serde(flatten)] traceinfo: Option, - r#type: String, + #[serde(rename = "type")] + ty: String, } impl Event { @@ -89,7 +90,7 @@ impl Event { /// Get the type of an event. #[must_use] pub fn ty(&self) -> &str { - &self.r#type + &self.ty } } @@ -99,7 +100,7 @@ impl From for EventCandidate { data: event.data, source: event.source, subject: event.subject, - r#type: event.r#type, + ty: event.ty, traceinfo: event.traceinfo, } } @@ -111,7 +112,7 @@ impl From for cloudevents::Event { let mut builder = cloudevents::EventBuilderV10::new() .source(event.source) .subject(event.subject) - .ty(event.r#type) + .ty(event.ty) .id(event.id) .time(event.time.to_string()) .data(event.datacontenttype, event.data); diff --git a/src/event/event_types/event_candidate.rs b/src/event/event_types/event_candidate.rs index 27e209d..7d6fb47 100644 --- a/src/event/event_types/event_candidate.rs +++ b/src/event/event_types/event_candidate.rs @@ -26,7 +26,8 @@ pub struct EventCandidate { /// The type of the event. /// This has to be a reverse domain name. #[builder(setter(into))] - pub r#type: String, + #[serde(rename = "type")] + pub ty: String, /// The traceparent of the event. /// This is used for distributed tracing. #[builder(default, setter(strip_option))] @@ -52,7 +53,7 @@ impl TryFrom for EventCandidate { data, source: event.source().to_string(), subject, - r#type: event.ty().to_string(), + ty: event.ty().to_string(), traceinfo, }) } diff --git a/src/event/event_types/management_event.rs b/src/event/event_types/management_event.rs index db9e85c..592dd12 100644 --- a/src/event/event_types/management_event.rs +++ b/src/event/event_types/management_event.rs @@ -22,7 +22,8 @@ pub struct ManagementEvent { specversion: String, subject: String, time: DateTime, - r#type: String, + #[serde(rename = "type")] + ty: String, } impl ManagementEvent { @@ -68,7 +69,7 @@ impl ManagementEvent { /// This method is called `ty` to avoid conflicts with the `type` keyword in Rust. #[must_use] pub fn ty(&self) -> &str { - &self.r#type + &self.ty } } @@ -79,7 +80,7 @@ impl From for cloudevents::Event { cloudevents::EventBuilderV10::new() .source(event.source) .subject(event.subject) - .ty(event.r#type) + .ty(event.ty) .id(event.id) .time(event.time.to_string()) .data(event.datacontenttype, event.data) diff --git a/tests/utils/mod.rs b/tests/utils/mod.rs index 8b97d20..2a1a7f0 100644 --- a/tests/utils/mod.rs +++ b/tests/utils/mod.rs @@ -10,7 +10,7 @@ pub fn create_test_eventcandidate( .source("https://www.eventsourcingdb.io".to_string()) .data(data.into()) .subject(subject.to_string()) - .r#type("io.eventsourcingdb.test".to_string()) + .ty("io.eventsourcingdb.test".to_string()) .build() } @@ -34,7 +34,7 @@ pub fn assert_event_match_eventcandidate( &event_candidate.subject, "Subject mismatch" ); - assert_eq!(event.ty(), &event_candidate.r#type, "Type mismatch"); + assert_eq!(event.ty(), &event_candidate.ty, "Type mismatch"); assert_eq!( event.traceinfo(), event_candidate.traceinfo.as_ref(), diff --git a/tests/write_events.rs b/tests/write_events.rs index ff38cf4..af61568 100644 --- a/tests/write_events.rs +++ b/tests/write_events.rs @@ -280,7 +280,7 @@ async fn write_single_event_with_traceparent() { .source("https://www.eventsourcingdb.io".to_string()) .data(json!({"value": 1})) .subject("/test".to_string()) - .r#type("io.eventsourcingdb.test".to_string()) + .ty("io.eventsourcingdb.test".to_string()) .traceinfo(TraceInfo::Traceparent { traceparent: "00-01234567012345670123456701234567-0123456701234567-00".to_string(), }) @@ -302,7 +302,7 @@ async fn write_single_event_with_traceparent_and_state() { .source("https://www.eventsourcingdb.io".to_string()) .data(json!({"value": 1})) .subject("/test".to_string()) - .r#type("io.eventsourcingdb.test".to_string()) + .ty("io.eventsourcingdb.test".to_string()) .traceinfo(TraceInfo::WithState { traceparent: "00-01234567012345670123456701234567-0123456701234567-00".to_string(), tracestate: "state=12345".to_string(), From 962f5e62910d33779f07513666a3951f06cea151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raphael=20H=C3=B6ser?= Date: Sat, 7 Jun 2025 00:03:03 +0200 Subject: [PATCH 2/2] fix(bounds): bound type name was wrong for serialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Raphael Höser --- src/client/request_options.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/client/request_options.rs b/src/client/request_options.rs index c9aecae..ff626b4 100644 --- a/src/client/request_options.rs +++ b/src/client/request_options.rs @@ -61,6 +61,7 @@ pub enum BoundType { #[serde(rename_all = "camelCase")] pub struct Bound<'a> { /// The type of the bound + #[serde(rename = "type")] pub bound_type: BoundType, /// The value of the bound pub id: &'a str,