synapse_admin_api/background_updates/enabled/
v1.rs1use ruma::{
4 api::{request, response, Metadata},
5 metadata,
6};
7use serde::{Deserialize, Serialize};
8
9const METADATA: Metadata = metadata! {
10 method: POST,
11 rate_limited: false,
12 authentication: AccessToken,
13 history: {
14 unstable => "/_synapse/admin/v1/background_updates/enabled",
15 }
16};
17
18#[request]
19pub struct Request {
20 pub enabled: bool,
22}
23
24#[response]
25#[derive(Serialize, Deserialize, PartialEq)]
26pub struct Response {
27 pub enabled: bool,
29}
30
31impl Request {
32 pub fn new(enabled: bool) -> Self {
34 Self { enabled }
35 }
36}
37
38impl Response {
39 pub fn new(enabled: bool) -> Self {
41 Self { enabled }
42 }
43}
44
45#[test]
46fn test_enabled_background_updates() {
47 let enabled = true;
48
49 let request = Request::new(enabled);
51 assert!(request.enabled);
52
53 let response = Response::new(enabled);
55 assert!(request.enabled);
56
57 let serialized = serde_json::to_string(&response).expect("Failed to serialize");
59 assert_eq!(serialized, "{\"enabled\":true}");
60
61 let deserialized: Response = serde_json::from_str(&serialized).expect("Failed to deserialize");
63 assert_eq!(deserialized, response);
64 assert!(deserialized.enabled);
65}