tuwunel_api/client/rendezvous/msc4388/
delete.rs1use axum::extract::State;
2use ruma::api::client::rendezvous::delete_rendezvous_session::unstable::{Request, Response};
3use tuwunel_core::err;
4
5use super::{Result, ensure_available};
6use crate::{ClientIp, Ruma};
7
8#[tracing::instrument(level = "debug", skip_all)]
9pub(crate) async fn delete_msc4388_route(
10 State(services): State<crate::State>,
11 ClientIp(client): ClientIp,
12 body: Ruma<Request>,
13) -> Result<Response> {
14 ensure_available(&services, client)?;
15
16 services
17 .rendezvous
18 .delete_if_active(&body.id)
19 .then(Response::new)
20 .ok_or_else(|| err!(Request(NotFound("Rendezvous session not found"))))
21 .map_err(Into::into)
22}