From 396567c94545af439d7327c9e267683863d77809 Mon Sep 17 00:00:00 2001 From: Luciano Mammino Date: Wed, 13 Mar 2024 09:27:41 +0000 Subject: [PATCH] feat: Add default Value type for EventBridgeEvent detail --- lambda-events/src/event/eventbridge/mod.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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)]