use serde::{Deserialize, Serialize};
use crate::sync::wire::ack_status::AckStatus;
#[derive(
Debug, Clone, Serialize, Deserialize, zerompk::ToMessagePack, zerompk::FromMessagePack,
)]
pub struct SpatialInsertMsg {
pub lite_id: String,
pub collection: String,
pub field: String,
pub doc_id: String,
pub geometry_bytes: Vec<u8>,
pub batch_id: u64,
#[serde(default)]
pub producer_id: u64,
#[serde(default)]
pub epoch: u64,
#[serde(default)]
pub seq: u64,
}
#[derive(
Debug, Clone, Serialize, Deserialize, zerompk::ToMessagePack, zerompk::FromMessagePack,
)]
pub struct SpatialInsertAckMsg {
pub collection: String,
pub field: String,
pub doc_id: String,
pub batch_id: u64,
pub accepted: bool,
#[serde(default)]
pub reject_reason: Option<String>,
#[serde(default)]
pub applied_seq: u64,
#[serde(default)]
pub status: AckStatus,
}
#[derive(
Debug, Clone, Serialize, Deserialize, zerompk::ToMessagePack, zerompk::FromMessagePack,
)]
pub struct SpatialDeleteMsg {
pub lite_id: String,
pub collection: String,
pub field: String,
pub doc_id: String,
pub batch_id: u64,
#[serde(default)]
pub producer_id: u64,
#[serde(default)]
pub epoch: u64,
#[serde(default)]
pub seq: u64,
}
#[derive(
Debug, Clone, Serialize, Deserialize, zerompk::ToMessagePack, zerompk::FromMessagePack,
)]
pub struct SpatialDeleteAckMsg {
pub collection: String,
pub field: String,
pub doc_id: String,
pub batch_id: u64,
pub accepted: bool,
#[serde(default)]
pub reject_reason: Option<String>,
#[serde(default)]
pub applied_seq: u64,
#[serde(default)]
pub status: AckStatus,
}