Send broadcast message when an API token is deleted

This commit is contained in:
2025-11-18 15:09:27 +01:00
parent b5832df746
commit 5c13cffe08
5 changed files with 27 additions and 9 deletions

View File

@@ -1,4 +1,5 @@
use crate::app_config::AppConfig;
use crate::broadcast_messages::{BroadcastMessage, BroadcastSender};
use crate::constants;
use crate::controllers::server_controller::ServerConstraints;
use crate::matrix_connection::matrix_client::EncryptionRecoveryState;
@@ -246,9 +247,14 @@ impl APIToken {
}
/// Delete this token
pub async fn delete(self, email: &UserEmail) -> anyhow::Result<()> {
pub async fn delete(self, email: &UserEmail, tx: &BroadcastSender) -> anyhow::Result<()> {
let token_file = AppConfig::get().user_api_token_metadata_file(email, &self.id);
std::fs::remove_file(&token_file).map_err(MatrixGWUserError::DeleteToken)?;
if let Err(e) = tx.send(BroadcastMessage::APITokenDeleted(self)) {
log::error!("Failed to notify API token deletion! {e}");
}
Ok(())
}