Files
appks/models/conversations/conversation_messages.rs
2026-06-07 11:30:56 +08:00

27 lines
898 B
Rust

use crate::models::common::{ContentFormat, JsonValue, MessageRole, MessageType, Status};
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)]
pub struct ConversationMessage {
pub id: Uuid,
pub conversation_id: Uuid,
pub parent_message_id: Option<Uuid>,
pub author_id: Option<Uuid>,
pub agent_id: Option<Uuid>,
pub ai_model_id: Option<Uuid>,
pub role: MessageRole,
pub message_type: MessageType,
pub content: String,
pub content_format: ContentFormat,
pub status: Status,
pub metadata: Option<JsonValue>,
pub token_input_count: Option<i32>,
pub token_output_count: Option<i32>,
pub edited_at: Option<DateTime<Utc>>,
pub deleted_at: Option<DateTime<Utc>>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}