diff --git a/src/service/appservice/mod.rs b/src/service/appservice/mod.rs index 4f25aade7..cf68db218 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 85fc1e7bb..c6397da40 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 {