use crate::types::{BatchResponse, DbStats, Record, RecordSet};
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, PartialEq)]
pub struct QueryMetrics {
pub execution_time_micros: u64,
}
#[derive(Serialize, Deserialize, Debug, PartialEq)]
pub enum Response {
Success,
Error(String),
DatabaseList(Vec<String>),
DatabaseCreated(bool),
DatabaseDropped(bool),
CollectionList(Vec<String>),
Stats(DbStats),
IndexList(Vec<String>),
Record(Option<Record>),
RecordSet(RecordSet),
RecordCount(u64),
RecordDeleted(bool),
LastInsertId(u64),
RecordWithRelated(Option<(Record, Record)>),
BatchResponse(BatchResponse),
RecordIdSet(Vec<String>),
ResultMetrics {
data: Box<Response>, metrics: QueryMetrics,
},
}