use serde::Serialize;
use serde_json::Error;
use crate::Mutation;
impl Mutation {
pub fn new() -> Self {
Self {
..Default::default()
}
}
#[cfg(feature = "dgraph-1-0")]
pub fn with_ignored_index_conflict(mut self) -> Self {
self.ignore_index_conflict = true;
self
}
pub fn set_set_json<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
where
T: Serialize,
{
let set_json = serde_json::to_vec(&value)?;
self.set_json = set_json;
Ok(())
}
pub fn set_delete_json<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
where
T: Serialize,
{
let delete_json = serde_json::to_vec(&value)?;
self.delete_json = delete_json;
Ok(())
}
pub fn set_set_nquads<S: Into<String>>(&mut self, nquads: S) {
let n_quads: String = nquads.into();
self.set_nquads = n_quads.as_bytes().to_vec();
}
pub fn set_delete_nquads<S: Into<String>>(&mut self, nquads: S) {
let n_quads: String = nquads.into();
self.del_nquads = n_quads.as_bytes().to_vec();
}
pub fn set_cond<S: Into<String>>(&mut self, cond: S) {
self.cond = cond.into();
}
}