Skip to main content

tuwunel_api/client/push/
pushers_set.rs

1use axum::extract::State;
2use ruma::api::client::push::set_pusher;
3use tuwunel_core::Result;
4
5use crate::Ruma;
6
7/// # `POST /_matrix/client/r0/pushers/set`
8///
9/// Adds a pusher for the sender user.
10///
11/// - TODO: Handle `append`
12pub(crate) async fn set_pushers_route(
13	State(services): State<crate::State>,
14	body: Ruma<set_pusher::v3::Request>,
15) -> Result<set_pusher::v3::Response> {
16	let sender_user = body.sender_user();
17
18	services
19		.pusher
20		.set_pusher(sender_user, body.sender_device()?, &body.action)
21		.await?;
22
23	Ok(set_pusher::v3::Response::new())
24}