use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use super::Target;
use crate::ontology::{Residue, SecretRef};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
pub struct WebhookSubscription {
pub name: String,
#[serde(default)]
pub secret: Option<SecretRef>,
#[serde(default)]
pub events: Option<Vec<String>>,
#[serde(default)]
pub prompt_template: String,
#[serde(default)]
pub deliver: Option<Target>,
#[serde(default)]
pub skills: Vec<String>,
#[serde(default)]
pub description: Option<String>,
#[serde(default)]
pub created_at: Option<String>,
#[serde(default)]
pub residue: Residue,
}