gotify_rs/
response_types.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Deserialize, Serialize)]
6pub struct Application {
7    pub description: String,
8    pub id: i32,
9    pub image: String,
10    pub internal: bool,
11    pub name: String,
12    pub token: String,
13}
14
15#[derive(Debug, Deserialize, Serialize)]
16pub struct Client {
17    pub id: i32,
18    pub name: String,
19    pub token: String,
20}
21
22#[derive(Debug, Deserialize, Serialize)]
23pub struct Error {
24    pub error: String,
25    #[serde(rename = "errorCode")]
26    pub code: i32,
27    #[serde(rename = "errorDescription")]
28    pub description: String,
29}
30
31#[derive(Debug, Deserialize, Serialize)]
32pub struct Health {
33    pub database: String,
34    pub health: String,
35}
36
37#[derive(Debug, Deserialize, Serialize)]
38pub struct Message {
39    pub appid: i32,
40    pub date: String,
41    pub extras: HashMap<String, serde_json::Value>,
42    pub id: i32,
43    pub message: String,
44    pub priority: i32,
45    pub title: String,
46}
47
48#[derive(Debug, Deserialize, Serialize)]
49pub struct PagedMessages {
50    pub messages: Vec<Message>,
51    pub paging: Paging,
52}
53
54#[derive(Debug, Deserialize, Serialize)]
55pub struct Paging {
56    pub limit: i32,
57    pub next: String,
58    pub since: i32,
59    pub size: i32,
60}
61
62#[derive(Debug, Deserialize, Serialize)]
63pub struct PluginConf {
64    pub author: String,
65    pub capabilities: Vec<String>,
66    pub enabled: bool,
67    pub id: i32,
68    pub license: String,
69    #[serde(rename = "modulePath")]
70    pub module_path: String,
71    pub name: String,
72    pub token: String,
73    pub website: String,
74}
75
76#[derive(Debug, Deserialize, Serialize)]
77pub struct User {
78    pub admin: bool,
79    pub id: i32,
80    pub name: String,
81}
82
83#[derive(Debug, Deserialize, Serialize)]
84pub struct UserPass {
85    pub pass: String,
86}
87
88#[derive(Debug, Deserialize, Serialize)]
89pub struct UserWithPass {
90    pub admin: bool,
91    pub id: i32,
92    pub name: String,
93    pub pass: String,
94}
95
96#[derive(Debug, Deserialize, Serialize)]
97pub struct VersionInfo {
98    #[serde(rename = "buildDate")]
99    pub build_date: String,
100    pub commit: String,
101    pub version: String,
102}