diff --git a/lambda-events/src/event/eventbridge/mod.rs b/lambda-events/src/event/eventbridge/mod.rs index ed9bf447..49743e0a 100644 --- a/lambda-events/src/event/eventbridge/mod.rs +++ b/lambda-events/src/event/eventbridge/mod.rs @@ -1,15 +1,20 @@ use chrono::{DateTime, Utc}; use serde::de::DeserializeOwned; use serde::{Deserialize, Serialize}; +use serde_json::Value; /// Parse EventBridge events. /// Deserialize the event detail into a structure that's `DeserializeOwned`. /// /// See https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events-structure.html for structure details. #[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)] -#[serde(bound(deserialize = "T: DeserializeOwned"))] +#[serde(bound(deserialize = "T1: DeserializeOwned"))] #[serde(rename_all = "kebab-case")] -pub struct EventBridgeEvent { +pub struct EventBridgeEvent +where + T1: Serialize, + T1: DeserializeOwned, +{ #[serde(default)] pub version: Option, #[serde(default)] @@ -24,8 +29,8 @@ pub struct EventBridgeEvent { pub region: Option, #[serde(default)] pub resources: Option>, - #[serde(bound(deserialize = "T: DeserializeOwned"))] - pub detail: T, + #[serde(bound = "")] + pub detail: T1, } #[cfg(test)]