pub const NSID: &str = "tools.ozone.report.createActivity";
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct InputData {
pub activity: crate::types::Union<InputActivityRefs>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub event_id: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub internal_note: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub is_automated: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub public_note: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub report_id: core::option::Option<i64>,
}
pub type Input = crate::types::Object<InputData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct OutputData {
pub activity: crate::tools::ozone::report::defs::ReportActivityView,
}
pub type Output = crate::types::Object<OutputData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "error", content = "message")]
pub enum Error {
ReportNotFound(Option<String>),
InvalidStateTransition(Option<String>),
AlreadyInTargetState(Option<String>),
}
impl std::fmt::Display for Error {
fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Error::ReportNotFound(msg) => {
write!(_f, "ReportNotFound")?;
if let Some(msg) = msg {
write!(_f, ": {msg}")?;
}
}
Error::InvalidStateTransition(msg) => {
write!(_f, "InvalidStateTransition")?;
if let Some(msg) = msg {
write!(_f, ": {msg}")?;
}
}
Error::AlreadyInTargetState(msg) => {
write!(_f, "AlreadyInTargetState")?;
if let Some(msg) = msg {
write!(_f, ": {msg}")?;
}
}
}
Ok(())
}
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum InputActivityRefs {
#[serde(rename = "tools.ozone.report.defs#queueActivity")]
ToolsOzoneReportDefsQueueActivity(
Box<crate::tools::ozone::report::defs::QueueActivity>,
),
#[serde(rename = "tools.ozone.report.defs#assignmentActivity")]
ToolsOzoneReportDefsAssignmentActivity(
Box<crate::tools::ozone::report::defs::AssignmentActivity>,
),
#[serde(rename = "tools.ozone.report.defs#escalationActivity")]
ToolsOzoneReportDefsEscalationActivity(
Box<crate::tools::ozone::report::defs::EscalationActivity>,
),
#[serde(rename = "tools.ozone.report.defs#closeActivity")]
ToolsOzoneReportDefsCloseActivity(
Box<crate::tools::ozone::report::defs::CloseActivity>,
),
#[serde(rename = "tools.ozone.report.defs#reopenActivity")]
ToolsOzoneReportDefsReopenActivity(
Box<crate::tools::ozone::report::defs::ReopenActivity>,
),
#[serde(rename = "tools.ozone.report.defs#noteActivity")]
ToolsOzoneReportDefsNoteActivity(
Box<crate::tools::ozone::report::defs::NoteActivity>,
),
}