synapse_admin_api/background_updates/run/
v1.rs1use ruma::{
4 api::{auth_scheme::AccessToken, request, response},
5 metadata,
6 serde::StringEnum,
7};
8
9metadata! {
10 method: POST,
11 rate_limited: false,
12 authentication: AccessToken,
13 path: "/_synapse/admin/v1/background_updates/start_job",
14}
15
16#[request]
17pub struct Request {
18 pub job_name: JobName,
20}
21
22#[response]
23#[derive(Default)]
24pub struct Response {}
25
26impl Request {
27 pub fn new(job_name: JobName) -> Self {
29 Self { job_name }
30 }
31}
32
33impl Response {
34 pub fn new() -> Self {
36 Self {}
37 }
38}
39
40#[derive(Clone, StringEnum)]
41#[ruma_enum(rename_all = "snake_case")]
42#[non_exhaustive]
43pub enum JobName {
44 PopulateStatsProcessRooms,
46
47 RegenerateDirectory,
49
50 #[doc(hidden)]
51 _Custom(crate::PrivOwnedStr),
52}
53
54#[test]
55fn test_run_background_updates() {
56 let job_name = JobName::PopulateStatsProcessRooms;
57 let request = Request::new(job_name.clone());
59 assert_eq!(request.job_name, job_name);
60}