Timebot implementation

This commit is contained in:
MarcWieland
2026-06-08 23:34:08 +02:00
parent b8b01871ed
commit 82626bc5b3
17 changed files with 802 additions and 209 deletions
@@ -32,9 +32,9 @@ public class ClientAuthService : IAuthService
return null;
}
public async Task<(User? User, string? Error)> RegisterAsync(string username, string password)
public async Task<(User? User, string? Error)> RegisterAsync(string username, string password, string? honeypot = null)
{
var response = await _http.PostAsJsonAsync("api/auth/register", new { Username = username, Password = password });
var response = await _http.PostAsJsonAsync("api/auth/register", new { Username = username, Password = password, Honeypot = honeypot });
if (response.IsSuccessStatusCode)
{
var userInfo = await response.Content.ReadFromJsonAsync<UserInfo>();
@@ -15,7 +15,7 @@ public class ClientTimetrackerService : ITimetrackerService
public async Task<List<WorkDay>> GetWeekAsync(int userId, DateOnly monday)
{
return await _http.GetFromJsonAsync<List<WorkDay>>($"api/tracker/week?userId={userId}&monday={monday:yyyy-MM-dd}") ?? [];
return await _http.GetFromJsonAsync<List<WorkDay>>($"api/tracker/week?monday={monday:yyyy-MM-dd}") ?? [];
}
public async Task UpsertWorkDayAsync(WorkDay workDay)
@@ -29,7 +29,7 @@ public class ClientTimetrackerService : ITimetrackerService
{
return _cachedSettings;
}
var settings = await _http.GetFromJsonAsync<AppSettings>($"api/tracker/settings/{userId}");
var settings = await _http.GetFromJsonAsync<AppSettings>("api/tracker/settings");
_cachedSettings = settings ?? new AppSettings { UserId = userId };
return _cachedSettings;
}
@@ -42,7 +42,7 @@ public class ClientTimetrackerService : ITimetrackerService
public async Task<List<VacationDay>> GetVacationDaysAsync(int userId, int year)
{
return await _http.GetFromJsonAsync<List<VacationDay>>($"api/tracker/vacation/{userId}/{year}") ?? [];
return await _http.GetFromJsonAsync<List<VacationDay>>($"api/tracker/vacation/{year}") ?? [];
}
public async Task AddVacationDayAsync(VacationDay vacationDay)
@@ -52,12 +52,12 @@ public class ClientTimetrackerService : ITimetrackerService
public async Task RemoveVacationDayAsync(int userId, int id)
{
await _http.DeleteAsync($"api/tracker/vacation/{userId}/{id}");
await _http.DeleteAsync($"api/tracker/vacation/{id}");
}
public async Task<TimeSpan> GetTotalOvertimeAsync(int userId, AppSettings settings)
{
var response = await _http.PostAsJsonAsync($"api/tracker/overtime/{userId}", settings);
var response = await _http.PostAsJsonAsync("api/tracker/overtime", settings);
if (response.IsSuccessStatusCode)
{
var hours = await response.Content.ReadFromJsonAsync<double>();
@@ -68,6 +68,6 @@ public class ClientTimetrackerService : ITimetrackerService
public async Task<List<WorkDay>> GetMonthAsync(int userId, int year, int month)
{
return await _http.GetFromJsonAsync<List<WorkDay>>($"api/tracker/month?userId={userId}&year={year}&month={month}") ?? [];
return await _http.GetFromJsonAsync<List<WorkDay>>($"api/tracker/month?year={year}&month={month}") ?? [];
}
}