miniflux_api/models/
user.rs1use 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}