use serde::{Deserialize, Serialize};
use super::TaskDefinitionFields;
use crate::models::event::EventDefinition;
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
pub struct EmitTaskDefinition {
#[serde(rename = "emit")]
pub emit: EventEmissionDefinition,
#[serde(flatten)]
pub common: TaskDefinitionFields,
}
impl EmitTaskDefinition {
pub fn new(emit: EventEmissionDefinition) -> Self {
Self {
emit,
common: TaskDefinitionFields::new(),
}
}
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
pub struct EventEmissionDefinition {
#[serde(rename = "event")]
pub event: EventDefinition,
}
impl EventEmissionDefinition {
pub fn new(event: EventDefinition) -> Self {
Self { event }
}
}