Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build/scripts/linux/build-avalonia-packages.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail

REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
PROJECT_PATH="$REPO_ROOT/src/GregModmanager.Avalonia/GregModmanager.Avalonia.csproj"
OUTPUT_ROOT="${1:-$REPO_ROOT/artifacts/avalonia-linux}"
VERSION="${2:-1.1.0}"
Expand Down
93 changes: 47 additions & 46 deletions src/GregModmanager.Core/Services/BetterAuthService.cs
Original file line number Diff line number Diff line change
@@ -1,46 +1,47 @@
using System.Net.Http;
using System.Net.Http.Json;
using GregModmanager.Models;

namespace GregModmanager.Services;

public sealed class BetterAuthService
{
private const string BaseUrl = "https://gregframework.eu/api/auth";
private readonly HttpClient _http = new();

public async Task<AuthResponse?> LoginAsync(string email, string password)
{
try
{
var payload = new LoginRequest { Email = email, Password = password };
var response = await _http.PostAsJsonAsync($"{BaseUrl}/sign-in/email", payload, AppJsonContext.Default.LoginRequest);

if (response.IsSuccessStatusCode)
{
return await response.Content.ReadFromJsonAsync(AppJsonContext.Default.AuthResponse);
}
}
catch (Exception)
{
// Log error
}
return null;
}

public async Task<bool> VerifySessionAsync(string token)
{
try
{
var request = new HttpRequestMessage(HttpMethod.Get, $"{BaseUrl}/get-session");
request.Headers.Add("Authorization", $"Bearer {token}");

var response = await _http.SendAsync(request);
return response.IsSuccessStatusCode;
}
catch
{
return false;
}
}
}
using System.Net.Http;
using System.Net.Http.Json;
using GregModmanager.Models;

namespace GregModmanager.Services;

public sealed class BetterAuthService
{
private const string BaseUrl = "https://gregframework.eu/api/auth";
private readonly HttpClient _http = new();

public async Task<AuthResponse?> LoginAsync(string email, string password)
{
try
{
var payload = new LoginRequest { Email = email, Password = password };
var response = await _http.PostAsJsonAsync($"{BaseUrl}/sign-in/email", payload, AppJsonContext.Default.LoginRequest);

if (response.IsSuccessStatusCode)
{
return await response.Content.ReadFromJsonAsync(AppJsonContext.Default.AuthResponse);
}
}
catch (Exception ex)
{
AppFileLog.Error("Failed to login", ex);
}
return null;
}

public async Task<bool> VerifySessionAsync(string token)
{
try
{
var request = new HttpRequestMessage(HttpMethod.Get, $"{BaseUrl}/get-session");
request.Headers.Add("Authorization", $"Bearer {token}");

var response = await _http.SendAsync(request);
return response.IsSuccessStatusCode;
}
catch (Exception ex)
{
AppFileLog.Error("Failed to verify session", ex);
return false;
}
}
}
Loading