snapshot of https://github.com/ActivityWatch/aw-server-rust.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Build / ubuntu-latest (push) Failing after 5s
Build / Android (push) Failing after 2s
Build / Code coverage (push) Failing after 2s
Lint / format (push) Failing after 3s
Lint / clippy (push) Failing after 3s
Build / macOS-latest (push) Has been cancelled
Build / windows-latest (push) Has been cancelled
Some checks failed
Build / ubuntu-latest (push) Failing after 5s
Build / Android (push) Failing after 2s
Build / Code coverage (push) Failing after 2s
Lint / format (push) Failing after 3s
Lint / clippy (push) Failing after 3s
Build / macOS-latest (push) Has been cancelled
Build / windows-latest (push) Has been cancelled
This commit is contained in:
76
aw-models/src/settings.rs
Normal file
76
aw-models/src/settings.rs
Normal file
@@ -0,0 +1,76 @@
|
||||
use schemars::JsonSchema;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema, Clone)]
|
||||
pub struct NewReleaseCheckData {
|
||||
pub how_often_to_check: i64,
|
||||
pub is_enabled: bool,
|
||||
pub next_check_time: String,
|
||||
pub times_checked: i32,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema, Clone)]
|
||||
pub struct UserSatisfactionPollData {
|
||||
pub is_enabled: bool,
|
||||
pub next_poll_time: String,
|
||||
pub times_poll_is_shown: i32,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema, Clone)]
|
||||
pub struct ViewElement {
|
||||
pub size: i32,
|
||||
#[serde(rename = "type")]
|
||||
pub element_type: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema, Clone)]
|
||||
pub struct View {
|
||||
pub elements: Vec<ViewElement>,
|
||||
pub id: String,
|
||||
pub name: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema, Clone)]
|
||||
pub struct ClassData {
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub color: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub score: Option<i32>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema, Clone)]
|
||||
pub struct ClassRule {
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub ignore_case: Option<bool>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub regex: Option<String>,
|
||||
#[serde(rename = "type")]
|
||||
pub rule_type: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema, Clone)]
|
||||
pub struct Class {
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub data: Option<ClassData>,
|
||||
pub id: i32,
|
||||
pub name: Vec<String>,
|
||||
pub rule: ClassRule,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema)]
|
||||
pub struct Settings {
|
||||
pub landing_page: String,
|
||||
pub start_of_day: String,
|
||||
pub always_active_pattern: String,
|
||||
pub new_release_check_data: NewReleaseCheckData,
|
||||
pub start_of_week: String,
|
||||
pub use_color_fallback: bool,
|
||||
pub user_satisfaction_poll_data: UserSatisfactionPollData,
|
||||
pub request_timeout: i32,
|
||||
pub devmode: bool,
|
||||
pub theme: String,
|
||||
pub views: Vec<View>,
|
||||
pub duration_default: i32,
|
||||
pub classes: Vec<Class>,
|
||||
pub initial_timestamp: String,
|
||||
}
|
||||
Reference in New Issue
Block a user