Utopia-Canteen-System/Services/IMealScheduleService.cs

25 lines
1.2 KiB
C#

using UtopiaCanteenSystem.Models;
namespace UtopiaCanteenSystem.Services;
/// <summary>
/// Reads and writes meal schedules from production (MySQL/POD). No SQLite; sync job only syncs scan data.
/// </summary>
public interface IMealScheduleService
{
/// <summary>Active schedules for a site (used by resolver for scan validation). Returns empty if production not configured or error.</summary>
IReadOnlyList<MealSchedule> GetActiveSchedulesForSite(string siteId);
/// <summary>All schedules for admin list. Returns empty if production not configured or error.</summary>
Task<IReadOnlyList<MealSchedule>> GetAllSchedulesAsync(CancellationToken cancellationToken = default);
/// <summary>Insert new schedule in production. Returns new id (bigint).</summary>
Task<long> CreateAsync(MealSchedule schedule, CancellationToken cancellationToken = default);
/// <summary>Update existing schedule in production.</summary>
Task UpdateAsync(MealSchedule schedule, CancellationToken cancellationToken = default);
/// <summary>Delete schedule in production by id (bigint).</summary>
Task DeleteAsync(long id, CancellationToken cancellationToken = default);
}