use kalamdb_commons::UserId;
use serde::{Deserialize, Serialize};
use super::TopicOp;
use crate::models::RowData;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConsumeMessage {
#[serde(default, skip_serializing_if = "Option::is_none", alias = "message_id")]
pub key: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub op: Option<TopicOp>,
#[serde(skip_serializing_if = "Option::is_none")]
pub timestamp_ms: Option<u64>,
pub offset: u64,
pub partition_id: u32,
pub topic: String,
pub group_id: String,
#[serde(alias = "username", alias = "user_id")]
pub user: UserId,
#[serde(alias = "value")]
pub payload: RowData,
}