nxtgauge-ai-assistant/src/handlers/actions.rs

33 lines
930 B
Rust
Raw Normal View History

use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ConfirmActionRequest {
pub conversation_id: String,
pub action: String,
pub confirmed: bool,
#[serde(default)]
pub fields: serde_json::Value,
}
#[derive(Debug, Clone, Serialize)]
pub struct ConfirmActionResponse {
pub success: bool,
pub message: String,
pub action: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub record_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ui_events: Option<Vec<UiEvent>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UiEvent {
#[serde(rename = "type")]
pub event_type: String,
pub target: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub record_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fields: Option<serde_json::Value>,
}