synapse_admin_api/account_validity/renew_account/
v1.rs1use ruma::{
4 api::{metadata, request, response, Metadata},
5 MilliSecondsSinceUnixEpoch, OwnedUserId,
6};
7
8const METADATA: Metadata = metadata! {
9 method: POST,
10 rate_limited: false,
11 authentication: AccessToken,
12 history: {
13 unstable => "/_synapse/admin/v1/account_validity/validity",
14 }
15};
16
17#[request]
18pub struct Request {
19 pub user_id: OwnedUserId,
21
22 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub expiration_ts: Option<MilliSecondsSinceUnixEpoch>,
26
27 #[serde(default = "ruma::serde::default_true", skip_serializing_if = "ruma::serde::is_true")]
30 pub enable_renewal_emails: bool,
31}
32
33#[response]
34pub struct Response {
35 pub expiration_ts: MilliSecondsSinceUnixEpoch,
37}
38
39impl Request {
40 pub fn new(user_id: OwnedUserId) -> Self {
42 Self { user_id, expiration_ts: None, enable_renewal_emails: true }
43 }
44}
45
46impl Response {
47 pub fn new(expiration_ts: MilliSecondsSinceUnixEpoch) -> Self {
49 Self { expiration_ts }
50 }
51}