diff --git a/src/service/appservice/mod.rs b/src/service/appservice/mod.rs index 4f25aade..cf68db21 100644 --- a/src/service/appservice/mod.rs +++ b/src/service/appservice/mod.rs @@ -143,7 +143,8 @@ impl Service { .registration_info .write() .await - .remove(service_name); + .remove(service_name) + .ok_or_else(|| crate::Error::AdminCommand("Appservice not found"))?; self.db.unregister_appservice(service_name) } diff --git a/src/utils/error.rs b/src/utils/error.rs index 85fc1e7b..c6397da4 100644 --- a/src/utils/error.rs +++ b/src/utils/error.rs @@ -76,6 +76,8 @@ pub enum Error { RedactionError(OwnedServerName, ruma::canonical_json::RedactionError), #[error("{0} in {1}")] InconsistentRoomState(&'static str, ruma::OwnedRoomId), + #[error("{0}")] + AdminCommand(&'static str), } impl Error {