mirror of
https://github.com/Drop-OSS/drop-app.git
synced 2026-07-13 06:24:34 +10:00
4728ea177c
* refactor: split umu launcher * feat: latest version picker + fixes * feat: frontend latest changes * feat: game update detection w/ setting * feat: fixes and refactor for game update * fix: windows ui * fix: deps * feat: update modifications * feat: missing ui and lock update * fix: create install dir on init * fix: clippy * fix: clippy x2 * feat: add configuration option to toggle updates * feat: uninstall dropdown on partiallyinstalled
45 lines
1.3 KiB
Rust
45 lines
1.3 KiB
Rust
use std::{
|
|
path::PathBuf,
|
|
sync::{Arc, LazyLock},
|
|
};
|
|
|
|
use keyring::Entry;
|
|
use log::info;
|
|
|
|
use crate::interface::DatabaseInterface;
|
|
|
|
pub static DB: LazyLock<DatabaseInterface> = LazyLock::new(DatabaseInterface::set_up_database);
|
|
|
|
#[cfg(not(debug_assertions))]
|
|
static DATA_ROOT_PREFIX: &str = "drop";
|
|
#[cfg(debug_assertions)]
|
|
static DATA_ROOT_PREFIX: &str = "drop-debug";
|
|
|
|
pub static DATA_ROOT_DIR: LazyLock<Arc<PathBuf>> = LazyLock::new(|| {
|
|
Arc::new(
|
|
dirs::data_dir()
|
|
.expect("Failed to get data dir")
|
|
.join(DATA_ROOT_PREFIX),
|
|
)
|
|
});
|
|
|
|
/*
|
|
pub(crate) static KEY_IV: LazyLock<([u8; 16], [u8; 16])> = LazyLock::new(|| {
|
|
let entry = Entry::new("drop", "database_key").expect("failed to open keyring");
|
|
let mut key = entry.get_secret().unwrap_or_else(|_| {
|
|
let mut buffer = [0u8; 32];
|
|
rand::fill(&mut buffer);
|
|
entry.set_secret(&buffer).expect("failed to save key");
|
|
info!("created new database key");
|
|
buffer.to_vec()
|
|
});
|
|
let iv: Vec<u8> = key.split_off(16);
|
|
(
|
|
key[0..16].try_into().expect("key wrong length"),
|
|
iv[0..16].try_into().expect("iv wrong length"),
|
|
)
|
|
});
|
|
*/
|
|
|
|
// TODO: fix keyring
|
|
pub(crate) static KEY_IV: LazyLock<([u8; 16], [u8; 16])> = LazyLock::new(|| ([0; 16], [0; 16])); |