Login auch im Testmodus
Bei falschem Token nur eine Meldung
Exception bei falschem Token während Loadsettings abfangen
This commit is contained in:
2024-10-21 18:55:40 +02:00
parent 959804eb9d
commit 550c131771
7 changed files with 117 additions and 103 deletions

View File

@@ -43,7 +43,6 @@ internal static class BaseFunc {
using (JsonDocument doc = JsonDocument.Parse(responseData, options)) {
JsonElement root = doc.RootElement;
string message = root.GetProperty("message").GetString() ?? throw new Exception("Fehler: 'message' ist null.");
throw new Exception(message);
}
}

View File

@@ -14,7 +14,7 @@ internal class HoursBase {
public static string surname = Preferences.Default.Get("surname", "");
public static string apiUrl = Preferences.Default.Get("apiUrl", "");
internal static TokenData tokendata = new TokenData(apiKey);
internal static TokenData tokendata;
/// <summary>
@@ -24,7 +24,7 @@ internal class HoursBase {
string data = await BaseFunc.GetApiDataWithAuthAsync(tokendata.Url + "?settings", tokendata.ApiKey);
Settings _settings = JsonConvert.DeserializeObject<Settings>(data) ?? throw new Exception("Fehler beim Deserialisieren der Daten");
Settings _settings = JsonConvert.DeserializeObject<Settings>(data);
return _settings;
}

View File

@@ -10,8 +10,17 @@ internal class TokenData {
public string Operator_id { get; set; }
public TokenData(string ak) {
string dat = Encoding.UTF8.GetString(Convert.FromBase64String(ak));
Token = dat.Split('|')[1]; ;
if (string.IsNullOrEmpty(ak)) {
throw new ArgumentException("API key cannot be null or empty", nameof(ak));
}
string dat = Encoding.UTF8.GetString(Convert.FromBase64String(ak));
string[] parts = dat.Split('|');
if (parts.Length < 3) {
throw new FormatException("API key format is invalid");
}
Token = dat.Split('|')[1]; ;
Url = dat.Split('|')[2]; ;
Operator_id = dat.Split('|')[0]; ;
ApiKey = ak;