using System.Collections.Generic;
using Wino.Core.Domain.Entities.Calendar;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models.Calendar;
///
/// Encapsulates the options for preparing calendar operation requests.
///
/// Calendar operation to execute (Create, Update, Delete, Accept, Decline, Tentative).
/// Calendar item to operate on.
/// List of attendees for the calendar event.
/// Optional message to include with event responses (Accept, Decline, Tentative).
/// Original calendar item state before update (for revert capability).
/// Original attendees list before update (for revert capability).
public record CalendarOperationPreparationRequest(
CalendarSynchronizerOperation Operation,
CalendarItem CalendarItem,
List Attendees,
string ResponseMessage = null,
CalendarItem OriginalItem = null,
List OriginalAttendees = null);