/ src / data / secure.rs
secure.rs
  1  #![allow(unused)]
  2  
  3  use anyhow::Result;
  4  use crate::Secrets;
  5  use crate::battlenet::{BattleNetAuth, BattleNetSession};
  6  use crate::gog::GogSession;
  7  use crate::retroachievements::RetroAchievementsAuth;
  8  use crate::steam::SteamAuth;
  9  
 10  pub fn getBattleNetClientAuth() -> Result<BattleNetAuth>
 11  {
 12  	let secrets = Secrets.blocking_lock();
 13  	let id = secrets.get(BattleNetAuth::ClientIdKey)?;
 14  	let key = secrets.get(BattleNetAuth::ClientSecretKey)?;
 15  	return Ok(BattleNetAuth::new(id, key));
 16  }
 17  
 18  pub fn getBattleNetSession() -> Result<BattleNetSession>
 19  {
 20  	let secrets = Secrets.blocking_lock();
 21  	let json = secrets.get(BattleNetSession::SecretKey)?;
 22  	return Ok(serde_json::from_str(&json)?);
 23  }
 24  
 25  pub fn getGogSession() -> Result<GogSession>
 26  {
 27  	let secrets = Secrets.blocking_lock();
 28  	let json = secrets.get(GogSession::SecretKey)?;
 29  	return Ok(serde_json::from_str(&json)?);
 30  }
 31  
 32  pub fn getRetroAchievementsAuth() -> Result<RetroAchievementsAuth>
 33  {
 34  	let secrets = Secrets.blocking_lock();
 35  	let key = secrets.get(RetroAchievementsAuth::ApiKeySecretKey)?;
 36  	let username = secrets.get(RetroAchievementsAuth::UsernameSecretKey)?;
 37  	return Ok(RetroAchievementsAuth::new(key, username));
 38  }
 39  
 40  pub fn getSteamAuth() -> Result<SteamAuth>
 41  {
 42  	let secrets = Secrets.blocking_lock();
 43  	let id = secrets.get(SteamAuth::UserIdSecretKey)?;
 44  	let key = secrets.get(SteamAuth::ApiKeySecretKey)?;
 45  	return Ok(SteamAuth::new(id, key));
 46  }
 47  
 48  
 49  
 50  pub fn removeBattleNetClientId() -> Result<()>
 51  {
 52  	let mut secrets = Secrets.blocking_lock();
 53  	secrets.remove(BattleNetAuth::ClientIdKey)?;
 54  	_ = secrets.save()?;
 55  	return Ok(());
 56  }
 57  
 58  pub fn removeBattleNetClientSecret() -> Result<()>
 59  {
 60  	let mut secrets = Secrets.blocking_lock();
 61  	secrets.remove(BattleNetAuth::ClientSecretKey)?;
 62  	_ = secrets.save()?;
 63  	return Ok(());
 64  }
 65  
 66  pub fn removeBattleNetSession() -> Result<()>
 67  {
 68  	let mut secrets = Secrets.blocking_lock();
 69  	secrets.remove(BattleNetSession::SecretKey)?;
 70  	_ = secrets.save()?;
 71  	return Ok(());
 72  }
 73  
 74  pub fn removeGogSession() -> Result<()>
 75  {
 76  	let mut secrets = Secrets.blocking_lock();
 77  	secrets.remove(GogSession::SecretKey)?;
 78  	_ = secrets.save()?;
 79  	return Ok(());
 80  }
 81  
 82  pub fn removeRetroAchievementsApiKey() -> Result<()>
 83  {
 84  	let mut secrets = Secrets.blocking_lock();
 85  	secrets.remove(RetroAchievementsAuth::ApiKeySecretKey)?;
 86  	_ = secrets.save()?;
 87  	return Ok(());
 88  }
 89  
 90  pub fn removeRetroAchievementsUsername() -> Result<()>
 91  {
 92  	let mut secrets = Secrets.blocking_lock();
 93  	secrets.remove(RetroAchievementsAuth::UsernameSecretKey)?;
 94  	_ = secrets.save()?;
 95  	return Ok(());
 96  }
 97  
 98  pub fn removeSteamId() -> Result<()>
 99  {
100  	let mut secrets = Secrets.blocking_lock();
101  	secrets.remove(SteamAuth::UserIdSecretKey)?;
102  	_ = secrets.save()?;
103  	return Ok(());
104  }
105  
106  pub fn removeSteamApiKey() -> Result<()>
107  {
108  	let mut secrets = Secrets.blocking_lock();
109  	secrets.remove(SteamAuth::ApiKeySecretKey)?;
110  	_ = secrets.save()?;
111  	return Ok(());
112  }
113  
114  
115  
116  pub fn setBattleNetClientId(id: String) -> Result<()>
117  {
118  	let mut secrets = Secrets.blocking_lock();
119  	secrets.set(BattleNetAuth::ClientIdKey, id);
120  	_ = secrets.save()?;
121  	return Ok(());
122  }
123  
124  pub fn setBattleNetClientSecret(secret: String) -> Result<()>
125  {
126  	let mut secrets = Secrets.blocking_lock();
127  	secrets.set(BattleNetAuth::ClientSecretKey, secret);
128  	_ = secrets.save()?;
129  	return Ok(());
130  }
131  
132  pub fn setBattleNetSession(session: BattleNetSession) -> Result<()>
133  {
134  	let mut secrets = Secrets.blocking_lock();
135  	secrets.set(BattleNetSession::SecretKey, serde_json::to_string(&session)?);
136  	_ = secrets.save()?;
137  	return Ok(());
138  }
139  
140  pub fn setGogSession(session: GogSession) -> Result<()>
141  {
142  	let mut secrets = Secrets.blocking_lock();
143  	secrets.set(GogSession::SecretKey, serde_json::to_string(&session)?);
144  	_ = secrets.save()?;
145  	return Ok(());
146  }
147  
148  pub fn setRetroAchievementsApiKey(key: String) -> Result<()>
149  {
150  	let mut secrets = Secrets.blocking_lock();
151  	secrets.set(RetroAchievementsAuth::ApiKeySecretKey, key);
152  	_ = secrets.save()?;
153  	return Ok(());
154  }
155  
156  pub fn setRetroAchievementsUsername(username: String) -> Result<()>
157  {
158  	let mut secrets = Secrets.blocking_lock();
159  	secrets.set(RetroAchievementsAuth::UsernameSecretKey, username);
160  	_ = secrets.save()?;
161  	return Ok(());
162  }
163  
164  pub fn setSteamId(id: String) -> Result<()>
165  {
166  	let mut secrets = Secrets.blocking_lock();
167  	secrets.set(SteamAuth::UserIdSecretKey, id);
168  	_ = secrets.save()?;
169  	return Ok(());
170  }
171  
172  pub fn setSteamApiKey(key: String) -> Result<()>
173  {
174  	let mut secrets = Secrets.blocking_lock();
175  	secrets.set(SteamAuth::ApiKeySecretKey, key);
176  	_ = secrets.save()?;
177  	return Ok(());
178  }