roughly_rs/
missing_hours_data.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
5pub struct SimpleEmployee {
6 #[serde(rename = "employeeId")]
7 pub employee_id: String,
8
9 #[serde(rename = "employmentRate")]
10 pub employment_rate: i32,
11
12 #[serde(rename = "employeeName")]
13 pub employee_name: String,
14
15 #[serde(rename = "hoursSumUntilToday")]
16 pub hours_sum_until_today: f64,
17
18 #[serde(rename = "untilTodayExpected")]
19 pub until_today_expected: f64,
20}
21
22#[derive(Debug, Serialize, Deserialize)]
24pub struct Entry {
25 pub result: ResultWrapper,
26}
27
28#[derive(Debug, Serialize, Deserialize)]
29pub struct ResultWrapper {
30 pub data: Option<Data>,
31}
32
33#[derive(Debug, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum Data {
36 Employees(Vec<Employee>),
37 Companies { companies: Vec<serde_json::Value> },
38 FortnoxStatus {
39 #[serde(rename = "fortnoxTokenIsExpired")]
40 fortnox_token_is_expired: bool,
41 #[serde(rename = "fortnoxVouchersIsSyncing")]
42 fortnox_vouchers_is_syncing: bool,
43 },
44 }
46
47#[derive(Debug, Serialize, Deserialize)]
48pub struct Employee {
49 #[serde(rename = "employeeId")]
50 pub employee_id: String,
51
52 #[serde(rename = "employeeName")]
53 pub employee_name: String,
54
55 #[serde(rename = "employeeColor")]
56 pub employee_color: String,
57
58 #[serde(rename = "employeeImage")]
59 pub employee_image: String,
60
61 #[serde(rename = "employeeTotalHours")]
62 pub employee_total_hours: f64,
63
64 #[serde(rename = "hoursSumUntilToday")]
65 pub hours_sum_until_today: f64,
66
67 pub rows: Vec<Row>,
68
69 #[serde(rename = "employeeActivityTotals")]
70 pub employee_activity_totals: Vec<ActivityTotal>,
71
72 #[serde(rename = "timeReportingDone")]
73 pub time_reporting_done: bool,
74
75 #[serde(rename = "expectedHours")]
76 pub expected_hours: f64,
77
78 #[serde(rename = "untilTodayExpected")]
79 pub until_today_expected: f64,
80}
81
82#[derive(Debug, Serialize, Deserialize)]
83pub struct Row {
84 pub date: String,
85
86 #[serde(rename = "activityName")]
87 pub activity_name: String,
88
89 pub hours: f64,
90}
91
92#[derive(Debug, Serialize, Deserialize)]
93pub struct ActivityTotal {
94 #[serde(rename = "activityName")]
95 pub activity_name: String,
96
97 pub hours: f64,
98}
99