lenso_contracts/
events.rs1use serde::{Deserialize, Serialize};
7use utoipa::ToSchema;
8
9#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema, schemars::JsonSchema)]
10pub struct EventSurface {
11 #[serde(default)]
12 pub handlers: Vec<EventHandlerDeclaration>,
13}
14
15#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema, schemars::JsonSchema)]
16pub struct EventHandlerDeclaration {
17 pub name: String,
19 pub event_name: String,
22 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub operation: Option<crate::ServiceOperationMetadata>,
24}