miniflux_api/models/
user.rs

1use crate::UserID;
2use serde_derive::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, Deserialize)]
5pub struct User {
6    pub id: UserID,
7    pub username: String,
8    pub language: String,
9    pub timezone: String,
10    pub theme: String,
11    pub entry_sorting_direction: String,
12}
13
14#[derive(Debug, Serialize)]
15pub struct UserCreation {
16    pub username: String,
17    pub password: String,
18    pub is_admin: bool,
19}
20
21#[derive(Debug, Serialize)]
22pub struct UserModification {
23    #[serde(default)]
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub username: Option<String>,
26    #[serde(default)]
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub password: Option<String>,
29    #[serde(default)]
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub is_admin: Option<bool>,
32    #[serde(default)]
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub theme: Option<String>,
35    #[serde(default)]
36    #[serde(skip_serializing_if = "Option::is_none")]
37    pub language: Option<String>,
38    #[serde(default)]
39    #[serde(skip_serializing_if = "Option::is_none")]
40    pub timezone: Option<String>,
41    #[serde(default)]
42    #[serde(skip_serializing_if = "Option::is_none")]
43    pub entry_sorting_direction: Option<String>,
44}