diff --git a/radicle-cob/src/lib.rs b/radicle-cob/src/lib.rs index e9abaa8c..79e8cb65 100644 --- a/radicle-cob/src/lib.rs +++ b/radicle-cob/src/lib.rs @@ -103,7 +103,9 @@ pub mod type_name; pub use type_name::TypeName; pub mod object; -pub use object::{create, get, info, list, update, CollaborativeObject, Create, ObjectId, Update}; +pub use object::{ + create, get, info, list, remove, update, CollaborativeObject, Create, ObjectId, Update, +}; #[cfg(test)] mod test; diff --git a/radicle-cob/src/object.rs b/radicle-cob/src/object.rs index ccd35ccc..849247f4 100644 --- a/radicle-cob/src/object.rs +++ b/radicle-cob/src/object.rs @@ -12,7 +12,7 @@ use thiserror::Error; pub mod collaboration; pub use collaboration::{ - create, get, info, list, parse_refstr, update, CollaborativeObject, Create, Update, + create, get, info, list, parse_refstr, remove, update, CollaborativeObject, Create, Update, }; pub mod storage; diff --git a/radicle/src/cob.rs b/radicle/src/cob.rs index aa7479e3..18d49f7f 100644 --- a/radicle/src/cob.rs +++ b/radicle/src/cob.rs @@ -6,7 +6,7 @@ pub mod store; pub mod thread; pub use change::{Actor, ActorId, Change, ChangeId}; -pub use cob::{create, get, list, update}; +pub use cob::{create, get, list, remove, update}; pub use cob::{ identity, object::collaboration::error, CollaborativeObject, Contents, Create, Entry, History, ObjectId, TypeName, Update, diff --git a/radicle/src/cob/store.rs b/radicle/src/cob/store.rs index 22792d46..f22e8531 100644 --- a/radicle/src/cob/store.rs +++ b/radicle/src/cob/store.rs @@ -38,6 +38,8 @@ pub enum Error { Update(#[from] cob::error::Update), #[error("retrieve error: {0}")] Retrieve(#[from] cob::error::Retrieve), + #[error("remove error: {0}")] + Remove(#[from] cob::error::Remove), #[error(transparent)] Identity(#[from] project::IdentityError), #[error(transparent)] @@ -173,8 +175,9 @@ where Ok(raw.len()) } - pub fn remove(&self, _id: &ObjectId) -> Result<(), Error> { - todo!(); + /// Remove an object. + pub fn remove(&self, id: &ObjectId) -> Result<(), Error> { + cob::remove(self.raw, &self.whoami, T::type_name(), id).map_err(Error::from) } }