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