aboutsummaryrefslogtreecommitdiff
path: root/pixel-client/src/config.rs
diff options
context:
space:
mode:
Diffstat (limited to 'pixel-client/src/config.rs')
-rw-r--r--pixel-client/src/config.rs60
1 files changed, 0 insertions, 60 deletions
diff --git a/pixel-client/src/config.rs b/pixel-client/src/config.rs
deleted file mode 100644
index 1499b1cd..00000000
--- a/pixel-client/src/config.rs
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- Hurry Curry! - a game about cooking
- Copyright (C) 2025 Hurry Curry! Contributors
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, version 3 of the License only.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-*/
-use anyhow::{anyhow, Result};
-use serde::{Deserialize, Serialize};
-use std::{
- fs::{read_to_string, rename, File},
- io::Write,
- path::PathBuf,
-};
-
-#[derive(Serialize, Deserialize)]
-pub struct Config {
- pub username: String,
-}
-
-impl Config {
- pub fn path() -> Result<PathBuf> {
- Ok(xdg::BaseDirectories::with_prefix("pixelcurry").place_config_file("config.toml")?)
- }
- pub fn load() -> Result<Self> {
- let path = Self::path()?;
- if path.exists() {
- Ok(toml::from_str(&read_to_string(path)?)?)
- } else {
- File::create(path)?.write_all(toml::to_string(&Self::initial()?)?.as_bytes())?;
- Self::load()
- }
- }
- pub fn save(&self) -> Result<()> {
- let path = Self::path()?;
- let temp = path.with_added_extension("~");
- File::create(&temp)?.write_all(toml::to_string(self)?.as_bytes())?;
- rename(temp, path)?;
- Ok(())
- }
- pub fn initial() -> Result<Self> {
- Ok(Config {
- username: users::get_current_username()
- .ok_or(anyhow!("current user has no name"))?
- .to_str()
- .ok_or(anyhow!("current user's name is not valid UTF8"))?
- .to_owned(),
- })
- }
-}