tauri_plugin_ota_self_update/
models.rs1use std::{collections::HashMap, path::PathBuf};
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, Deserialize, Serialize)]
6#[serde(rename_all = "camelCase")]
7pub enum ActivationPolicy {
8 NextLaunch,
9 SoftReload,
10}
11
12impl Default for ActivationPolicy {
13 fn default() -> Self {
14 Self::NextLaunch
15 }
16}
17
18#[derive(Debug, Clone, Copy, Deserialize, Serialize)]
19#[serde(rename_all = "camelCase")]
20pub enum ActivationStatus {
21 PendingRestart,
22 AppliedNow,
23}
24
25#[derive(Debug, Clone, Deserialize, Serialize)]
26#[serde(rename_all = "camelCase")]
27pub struct ManifestFile {
28 pub signature: String,
29 #[serde(default)]
30 pub sha256: Option<String>,
31}
32
33#[derive(Debug, Clone, Deserialize, Serialize)]
34#[serde(rename_all = "camelCase")]
35pub struct UpdateManifest {
36 pub version: String,
37 #[serde(default)]
38 pub notes: String,
39 #[serde(default)]
40 pub pub_date: Option<String>,
41 pub signature: String,
42 pub archive_url: String,
43 pub archive_signature: String,
44 #[serde(default)]
45 pub files: HashMap<PathBuf, ManifestFile>,
46}
47
48#[derive(Debug, Clone, Deserialize, Serialize)]
49#[serde(rename_all = "camelCase")]
50pub struct UpdateInfo {
51 pub version: String,
52 pub notes: String,
53 #[serde(default)]
54 pub pub_date: Option<String>,
55}
56
57#[derive(Debug, Clone, Deserialize, Serialize)]
58#[serde(rename_all = "camelCase")]
59pub struct CheckResult {
60 pub available: bool,
61 #[serde(default)]
62 pub update: Option<UpdateInfo>,
63}
64
65#[derive(Debug, Clone, Deserialize, Serialize)]
66#[serde(rename_all = "camelCase")]
67pub struct ApplyResult {
68 pub status: ActivationStatus,
69 pub version: String,
70 pub activation_policy: ActivationPolicy,
71}
72
73#[derive(Debug, Clone, Deserialize, Serialize)]
74#[serde(rename_all = "camelCase")]
75pub struct CurrentVersion {
76 pub native_version: String,
77 #[serde(default)]
78 pub ota_version: Option<String>,
79 pub effective_version: String,
80 pub source: String,
81}