using UniVerse.Application.DTOs.Common; using UniVerse.Application.DTOs.Lectures; namespace UniVerse.Application.Interfaces; public interface ILectureService { Task> GetAllAsync(LectureFilterRequest filter, int? currentUserId = null); Task GetByIdAsync(int id, int? currentUserId = null); Task CreateAsync(CreateLectureRequest request); Task UpdateAsync(int id, UpdateLectureRequest request); Task DeleteAsync(int id); Task EnrollAsync(int lectureId, int userId); Task UnenrollAsync(int lectureId, int userId); Task MarkAttendanceAsync(int lectureId, int userId, bool attended); Task> GetEnrollmentsAsync(int lectureId, PaginationRequest pagination); }