tuwunel_api/client/admin/users/
is_user_admin.rs1use axum::extract::State;
2use synapse_admin_api::users::is_user_admin::v1 as is_user_admin;
3use tuwunel_core::{Err, Result};
4
5use crate::{Ruma, client::admin::require_admin};
6
7pub(crate) async fn admin_is_user_admin_route(
9 State(services): State<crate::State>,
10 body: Ruma<is_user_admin::Request>,
11) -> Result<is_user_admin::Response> {
12 require_admin(&services, body.sender_user()).await?;
13
14 if !services.globals.user_is_local(&body.user_id) {
15 return Err!(Request(InvalidParam("Can only look up local users")));
16 }
17
18 let admin = services.admin.user_is_admin(&body.user_id).await;
19
20 Ok(is_user_admin::Response::new(admin))
21}