aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src-tauri/src/core/account_storage.rs
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2026-01-14 15:54:39 +0800
committerGitHub <noreply@github.com>2026-01-14 15:54:39 +0800
commitce4b0c2053d5d16f7091d74840d4a502401f1a4e (patch)
tree170667359ecb773800cd334e4176341cf09306b2 /src-tauri/src/core/account_storage.rs
parentfd6d7ffef4a1c6b093ad1d5b83579ab27ef5327e (diff)
parent505e3485f3dfa31969651f7f281fde33e9843fe8 (diff)
downloadDropOut-ce4b0c2053d5d16f7091d74840d4a502401f1a4e.tar.gz
DropOut-ce4b0c2053d5d16f7091d74840d4a502401f1a4e.zip
Merge pull request #25 from HsiangNianian/main
Diffstat (limited to 'src-tauri/src/core/account_storage.rs')
-rw-r--r--src-tauri/src/core/account_storage.rs29
1 files changed, 12 insertions, 17 deletions
diff --git a/src-tauri/src/core/account_storage.rs b/src-tauri/src/core/account_storage.rs
index b8e15e1..569df7b 100644
--- a/src-tauri/src/core/account_storage.rs
+++ b/src-tauri/src/core/account_storage.rs
@@ -4,21 +4,12 @@ use std::fs;
use std::path::PathBuf;
/// Stored account data for persistence
-#[derive(Debug, Clone, Serialize, Deserialize)]
+#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct AccountStore {
pub accounts: Vec<StoredAccount>,
pub active_account_id: Option<String>,
}
-impl Default for AccountStore {
- fn default() -> Self {
- Self {
- accounts: Vec::new(),
- active_account_id: None,
- }
- }
-}
-
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum StoredAccount {
@@ -131,13 +122,17 @@ impl AccountStorage {
pub fn get_active_account(&self) -> Option<(StoredAccount, Option<String>)> {
let store = self.load();
if let Some(active_id) = &store.active_account_id {
- store.accounts.iter().find(|a| &a.id() == active_id).map(|a| {
- let ms_token = match a {
- StoredAccount::Microsoft(m) => m.ms_refresh_token.clone(),
- _ => None,
- };
- (a.clone(), ms_token)
- })
+ store
+ .accounts
+ .iter()
+ .find(|a| &a.id() == active_id)
+ .map(|a| {
+ let ms_token = match a {
+ StoredAccount::Microsoft(m) => m.ms_refresh_token.clone(),
+ _ => None,
+ };
+ (a.clone(), ms_token)
+ })
} else {
None
}