Skip to main content

tuwunel_api/client/admin/mas/
update_device_display_name.rs

1use axum::extract::State;
2use synapse_admin_api::mas::update_device_display_name::{Request, Response};
3use tuwunel_core::{Err, Result};
4
5use super::{Mas, existing_user};
6use crate::Ruma;
7
8/// # `POST /_synapse/mas/update_device_display_name`
9pub(crate) async fn update_device_display_name_route(
10	_mas: Mas,
11	State(services): State<crate::State>,
12	body: Ruma<Request>,
13) -> Result<Response> {
14	let user_id = existing_user(services, &body.localpart).await?;
15
16	if !services
17		.users
18		.device_exists(&user_id, &body.device_id)
19		.await
20	{
21		return Err!(Request(NotFound("Device does not exist")));
22	}
23
24	let mut device = services
25		.users
26		.get_device_metadata(&user_id, &body.device_id)
27		.await?;
28
29	device.display_name = Some(body.display_name.as_str().into());
30	services
31		.users
32		.put_device_metadata(&user_id, true, &device);
33
34	Ok(Response::new())
35}