add db method to remove a post
This commit is contained in:
parent
801934e5aa
commit
5f115617ef
18
src/db.rs
18
src/db.rs
|
@ -100,8 +100,8 @@ impl Database {
|
|||
|
||||
/// Remove a peer from the database, as represented by the given public
|
||||
/// key.
|
||||
pub fn remove_peer(&self, public_key: &str) -> Result<Option<IVec>> {
|
||||
self.peer_tree.remove(&public_key)
|
||||
pub fn remove_peer(&self, public_key: &str) -> Result<()> {
|
||||
self.peer_tree.remove(&public_key).map(|_| ())
|
||||
}
|
||||
|
||||
/// Get a list of all peers in the peer tree. The public key of each peer
|
||||
|
@ -120,6 +120,8 @@ impl Database {
|
|||
/// the public key of the peer who authored the post and the key of the
|
||||
/// post itself, separated by an underscore. The Post is serialized as
|
||||
/// bincode before the database entry is inserted.
|
||||
///
|
||||
/// This method can also be used to update an existing database entry.
|
||||
pub fn add_post(&self, public_key: &str, post: Post) -> Result<Option<IVec>> {
|
||||
let post_key = format!("{}_{}", public_key, post.key);
|
||||
let post_bytes = bincode::serialize(&post).unwrap();
|
||||
|
@ -175,5 +177,15 @@ impl Database {
|
|||
Ok(post)
|
||||
}
|
||||
|
||||
// TODO: remove_post
|
||||
/// Remove a single post from the post tree, authored by the given public
|
||||
/// key and defined by the given message ID.
|
||||
pub fn remove_post(&self, public_key: &str, msg_id: &str) -> Result<()> {
|
||||
let post_key = format!("{}_{}", public_key, msg_id);
|
||||
|
||||
// .remove() would ordinarily return the value of the deleted entry
|
||||
// as an Option, returning None if the post_key was not found.
|
||||
// We don't care about the value of the deleted entry so we simply
|
||||
// map the Option to ().
|
||||
self.post_tree.remove(post_key.as_bytes()).map(|_| ())
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue