alien_core/app_events/scheduled.rs
1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4#[cfg(feature = "openapi")]
5use utoipa::ToSchema;
6
7/// Represents a scheduled event trigger, typically from a cron job or timer.
8///
9/// This struct aims to provide a common representation for scheduled events
10/// across different providers like AWS CloudWatch Events, Google Cloud Scheduler,
11/// and Azure Timer Triggers.
12#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
13#[cfg_attr(feature = "openapi", derive(ToSchema))]
14#[serde(rename_all = "camelCase")]
15pub struct ScheduledEvent {
16 /// The timestamp when the event was scheduled or triggered.
17 pub timestamp: DateTime<Utc>,
18}