synapse_admin_api/users/deactivate_account/
v1.rs

1//! [POST /_synapse/admin/v1/deactivate/:user_id](https://github.com/element-hq/synapse/blob/develop/docs/admin_api/user_admin_api.md#deactivate-account)
2
3use ruma::{
4    OwnedUserId,
5    api::{auth_scheme::AccessToken, metadata, request, response},
6};
7
8metadata! {
9    method: POST,
10    rate_limited: false,
11    authentication: AccessToken,
12    path: "/_synapse/admin/v1/deactivate/{user_id}",
13}
14
15#[request]
16pub struct Request {
17    /// User ID
18    #[ruma_api(path)]
19    pub user_id: OwnedUserId,
20
21    /// Flag whether to erase the account.
22    #[serde(default, skip_serializing_if = "ruma::serde::is_default")]
23    pub erase: bool,
24}
25
26#[derive(Default)]
27#[response]
28pub struct Response {}
29
30impl Request {
31    /// Creates a `Request` with the given user ID.
32    pub fn new(user_id: OwnedUserId) -> Self {
33        Self { user_id, erase: false }
34    }
35}
36
37impl Response {
38    /// Creates an empty `Response`.
39    pub fn new() -> Self {
40        Self {}
41    }
42}