Skip to main content

pacenotes_installer\worker/
server_checks.rs

1pub fn check_health(base_url: String) -> super::Message {
2    let cancel = std::sync::atomic::AtomicBool::new(false);
3    let online = crate::api::Api::new(&base_url, None).health(&cancel);
4    super::Message::Health { online }
5}
6
7pub fn fetch_motd(base_url: String, lang: &'static str) -> super::Message {
8    let cancel = std::sync::atomic::AtomicBool::new(false);
9    super::Message::Motd(crate::api::Api::new(&base_url, None).fetch_motd(lang, &cancel))
10}
11
12/// Only a 401 stops the user, so a flaky network never strands someone whose
13/// packages are already cached.
14pub fn check_secret(base_url: String, secret: String) -> super::Message {
15    let cancel = std::sync::atomic::AtomicBool::new(false);
16    let api = crate::api::Api::new(&base_url, Some(secret));
17    super::Message::SecretChecked(api.whoami(&cancel))
18}
19
20pub fn fetch_packages(
21    base_url: String,
22    token: Option<String>,
23    game: &'static str,
24) -> super::Message {
25    let cancel = std::sync::atomic::AtomicBool::new(false);
26    match crate::api::Api::new(&base_url, token).fetch_manifest(game, &cancel) {
27        Ok(manifest) => super::Message::Packages(Ok(manifest)),
28        Err(e) => super::Message::Packages(Err(e.message)),
29    }
30}