namespace timetracker.Shared;

public interface ITimetrackerService
{
    Task<List<WorkDay>> GetWeekAsync(int userId, DateOnly monday);
    Task UpsertWorkDayAsync(WorkDay workDay);
    Task<AppSettings> GetSettingsAsync(int userId);
    Task SaveSettingsAsync(AppSettings settings);
    Task<List<VacationDay>> GetVacationDaysAsync(int userId, int year);
    Task AddVacationDayAsync(VacationDay vacationDay);
    Task RemoveVacationDayAsync(int userId, int id);
    Task<TimeSpan> GetTotalOvertimeAsync(int userId, AppSettings settings);
    Task<List<WorkDay>> GetMonthAsync(int userId, int year, int month);
}
