using Core.Entities;
namespace WebApp.Services;
public interface ITeamMeetingHistoryService
{
///
/// Gets all meeting histories within an optional date range.
///
/// Optional start date filter
/// Optional end date filter
Task> GetMeetingHistoriesAsync(DateTime? startDate = null, DateTime? endDate = null);
///
/// Gets a specific meeting history by ID with teams and students included.
///
Task GetMeetingHistoryAsync(int id);
///
/// Creates a new meeting history record.
///
Task CreateMeetingHistoryAsync(TeamMeetingHistory meetingHistory);
///
/// Updates an existing meeting history record.
///
Task UpdateMeetingHistoryAsync(TeamMeetingHistory meetingHistory);
///
/// Deletes a meeting history record.
///
Task DeleteMeetingHistoryAsync(int id);
///
/// Gets which teams met on a specific date.
///
Task> GetTeamsForDateAsync(DateTime date);
///
/// Gets which students were present on a specific date.
///
Task> GetStudentsForDateAsync(DateTime date);
///
/// Gets the meeting note for a specific meeting date by looking it up by title.
///
/// The date of the meeting
/// The note if found, null otherwise
Task GetMeetingNoteAsync(DateTime meetingDate);
}