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/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, 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(),