Skip to main content

tuwunel_api/client/admin/tokens/
get.rs

1use axum::extract::State;
2use synapse_admin_api::registration_tokens::get::v1 as get;
3use tuwunel_core::Result;
4
5use super::token_response;
6use crate::{Ruma, client::admin::require_admin};
7
8/// # `GET /_synapse/admin/v1/registration_tokens/{token}`
9pub(crate) async fn admin_get_token_route(
10	State(services): State<crate::State>,
11	body: Ruma<get::Request>,
12) -> Result<get::Response> {
13	require_admin(&services, body.sender_user()).await?;
14
15	let token = &body.token;
16
17	let source = services
18		.registration_tokens
19		.get_token_info(token)
20		.await?;
21
22	Ok(get::Response {
23		token: token_response(token.clone(), source),
24	})
25}