tuwunel_api_client/dehydrated_device/
delete_dehydrated_device.rs1use axum::extract::State;
2use ruma::api::client::dehydrated_device::delete_dehydrated_device::unstable::{
3 Request, Response,
4};
5use tuwunel_core::Result;
6
7use crate::{ClientIp, Ruma};
8
9#[tracing::instrument(
16 level = "debug",
17 skip_all,
18 fields(
19 %client,
20 ),
21)]
22pub(crate) async fn delete_dehydrated_device_route(
23 State(services): State<crate::State>,
24 ClientIp(client): ClientIp,
25 body: Ruma<Request>,
26) -> Result<Response> {
27 let sender_user = body.sender_user();
28
29 let device_id = services
30 .users
31 .get_dehydrated_device_id(sender_user)
32 .await?;
33
34 services
35 .users
36 .remove_device(sender_user, &device_id)
37 .await;
38
39 Ok(Response { device_id })
40}