Skip to main content

butterflow_models/
trigger.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3use ts_rs::TS;
4
5/// Type of trigger
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema, TS)]
7#[serde(rename_all = "lowercase")]
8pub enum TriggerType {
9    /// Automatic trigger (runs when dependencies are satisfied)
10    Automatic,
11
12    /// Manual trigger (requires explicit triggering)
13    Manual,
14}
15
16/// Represents a trigger configuration
17#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, TS)]
18pub struct Trigger {
19    /// Type of trigger
20    pub r#type: TriggerType,
21}
22
23impl Default for Trigger {
24    fn default() -> Self {
25        Self {
26            r#type: TriggerType::Automatic,
27        }
28    }
29}