use crate::commands::{from_op, TuringOp};
#[derive(Debug, Clone, Default)]
pub struct DbQuery {
db: String,
}
impl<'tp> DbQuery {
pub fn new() -> Self {
Self {
db: Default::default(),
}
}
pub fn db(&mut self, name: &str) -> &Self {
self.db = name.into();
self
}
pub fn create(&self) -> Vec<u8> {
let mut packet = from_op(&TuringOp::DbCreate).to_vec();
packet.extend_from_slice(self.db.as_bytes());
packet
}
pub fn drop(&self) -> Vec<u8> {
let mut packet = from_op(&TuringOp::DbDrop).to_vec();
packet.extend_from_slice(self.db.as_bytes());
packet
}
pub fn list(&self) -> &'tp [u8] {
from_op(&TuringOp::DbList)
}
}