namespace Fitness_core_BE.Interfaces.Services { public interface IClassService { Task GetFacilityClasses(object payload, HttpContext httpContext); Task CreateFacilityClass(object payload, HttpContext httpContext); Task UpdateFacilityClass(object payload, HttpContext httpContext); Task GetOccurrences(object payload, HttpContext httpContext); Task GetSchedulingConflicts(object payload, HttpContext httpContext); /// Lazy occurrence generation, mirroring the existing SweepOverdueBookingsAsync /// convention (no background job) -- generates the missing FacilitySession rows up to /// "today + 8 weeks" for every active, non-Custom class whose watermark hasn't reached /// it yet, and advances the watermark. Called from the top of FacilityService.GetSessions, /// the one read path everything already goes through. Task EnsureOccurrencesGeneratedAsync(Guid clientId); } }