using WorkTracker.Domain;

namespace WorkTracker.Services.WorkDays;

public interface IWorkDayService
{
    Task<WorkDayDocument?> GetAsync(DateOnly date, CancellationToken cancellationToken = default);

    Task<WorkDayDocument> SaveAsync(WorkDayDocument workDay, CancellationToken cancellationToken = default);

    Task<IReadOnlyList<WorkDayDocument>> GetRangeAsync(DateOnly from, DateOnly to, CancellationToken cancellationToken = default);

    Task<MonthlySummaryModel> GetMonthlySummaryAsync(int year, int month, CancellationToken cancellationToken = default);
}
