27 lines
898 B
Rust
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>,
|
|
}
|