use serde::{Deserialize, Serialize};
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SearchRulesetRoot {
pub data: Option<Vec<Data>>,
pub meta: Option<Meta>,
pub links: Option<Links>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SubmitLivehuntRuleset {
pub data: Data,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Data {
#[serde(rename = "type")]
pub _type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub links: Option<Links>,
pub attributes: Option<Attributes>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Attributes {
#[serde(rename = "creation_date", skip_serializing_if = "Option::is_none")]
pub creation_date: Option<i64>,
pub enabled: Option<bool>,
pub limit: Option<i64>,
#[serde(rename = "modification_date", skip_serializing_if = "Option::is_none")]
pub modification_date: Option<i64>,
pub name: Option<String>,
#[serde(rename = "notification_emails")]
pub notification_emails: Option<Vec<String>>,
pub rules: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Meta {
pub cursor: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Links {
#[serde(rename = "self")]
pub self_field: Option<String>,
pub next: Option<String>,
}