fix wifi types

This commit is contained in:
Aiden McClelland
2024-04-09 15:24:05 -06:00
parent 2bc64920dd
commit e9166c4a7d
12 changed files with 85 additions and 72 deletions

View File

@@ -27,9 +27,9 @@ pub struct Database {
pub private: Private,
}
impl Database {
pub fn init(account: &AccountInfo, wifi_interface: Option<String>) -> Result<Self, Error> {
pub fn init(account: &AccountInfo) -> Result<Self, Error> {
Ok(Self {
public: Public::init(account, wifi_interface)?,
public: Public::init(account)?,
private: Private {
key_store: KeyStore::new(account)?,
password: account.password.clone(),

View File

@@ -1,4 +1,4 @@
use std::collections::BTreeMap;
use std::collections::{BTreeMap, BTreeSet};
use std::net::{Ipv4Addr, Ipv6Addr};
use chrono::{DateTime, Utc};
@@ -35,7 +35,7 @@ pub struct Public {
pub ui: Value,
}
impl Public {
pub fn init(account: &AccountInfo, wifi_interface: Option<String>) -> Result<Self, Error> {
pub fn init(account: &AccountInfo) -> Result<Self, Error> {
let lan_address = account.hostname.lan_address().parse().unwrap();
Ok(Self {
server_info: ServerInfo {
@@ -45,7 +45,6 @@ impl Public {
version: Current::new().semver().into(),
hostname: account.hostname.no_dot_host_name(),
last_backup: None,
last_wifi_region: None,
eos_version_compat: Current::new().compat().clone(),
lan_address,
onion_address: account.tor_key.public().get_onion_address(),
@@ -60,12 +59,7 @@ impl Public {
shutting_down: false,
restarting: false,
},
wifi: wifi_interface.map(|interface| WifiInfo {
interface,
ssids: Vec::new(),
connected: None,
selected: None,
}),
wifi: WifiInfo::default(),
unread_notification_count: 0,
password_hash: account.password.clone(),
pubkey: ssh_key::PublicKey::from(&account.ssh_key)
@@ -117,9 +111,6 @@ pub struct ServerInfo {
pub version: Version,
#[ts(type = "string | null")]
pub last_backup: Option<DateTime<Utc>>,
/// Used in the wifi to determine the region to set the system to
#[ts(type = "string | null")]
pub last_wifi_region: Option<CountryCode>,
#[ts(type = "string")]
pub eos_version_compat: VersionRange,
#[ts(type = "string")]
@@ -132,7 +123,7 @@ pub struct ServerInfo {
pub ip_info: BTreeMap<String, IpInfo>,
#[serde(default)]
pub status_info: ServerStatus,
pub wifi: Option<WifiInfo>,
pub wifi: WifiInfo,
#[ts(type = "number")]
pub unread_notification_count: u64,
pub password_hash: String,
@@ -202,15 +193,16 @@ pub struct UpdateProgress {
pub downloaded: u64,
}
#[derive(Debug, Deserialize, Serialize, HasModel, TS)]
#[derive(Debug, Default, Deserialize, Serialize, HasModel, TS)]
#[serde(rename_all = "camelCase")]
#[model = "Model<Self>"]
#[ts(export)]
pub struct WifiInfo {
pub interface: String,
pub ssids: Vec<String>,
pub interface: Option<String>,
pub ssids: BTreeSet<String>,
pub selected: Option<String>,
pub connected: Option<String>,
#[ts(type = "string | null")]
pub last_region: Option<CountryCode>,
}
#[derive(Debug, Deserialize, Serialize, TS)]