use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Channel {
#[serde(rename = "channel_name", skip_serializing_if = "Option::is_none")]
pub channel_name: Option<String>,
#[serde(rename = "channel_id", skip_serializing_if = "Option::is_none")]
pub channel_id: Option<String>,
#[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(rename = "last_updated", skip_serializing_if = "Option::is_none")]
pub last_updated: Option<String>,
#[serde(rename = "task_id", skip_serializing_if = "Option::is_none")]
pub task_id: Option<String>,
#[serde(
rename = "triggers_with_actions",
skip_serializing_if = "Option::is_none"
)]
pub triggers_with_actions: Option<Vec<models::ChannelTriggersWithActionsInner>>,
#[serde(rename = "template_id", skip_serializing_if = "Option::is_none")]
pub template_id: Option<String>,
#[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
pub permissions: Option<Box<models::ChannelPermissions>>,
}
impl Channel {
pub fn new() -> Channel {
Channel {
channel_name: None,
channel_id: None,
created_at: None,
status: None,
last_updated: None,
task_id: None,
triggers_with_actions: None,
template_id: None,
permissions: None,
}
}
}
#[derive(
Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, Default,
)]
pub enum Status {
#[serde(rename = "INACTIVE")]
#[default]
Inactive,
#[serde(rename = "ACTIVE")]
Active,
}