Files
Wino-Mail/Wino.Core.Domain/Models/Calendar/CalDavCalendarEvent.cs
T
2026-02-15 02:20:18 +01:00

56 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models.Calendar;
public sealed class CalDavCalendarEvent
{
public string RemoteEventId { get; init; } = string.Empty;
public string RemoteResourceHref { get; init; } = string.Empty;
public string ETag { get; init; } = string.Empty;
public string IcsContent { get; init; } = string.Empty;
public string Uid { get; init; } = string.Empty;
public string SeriesMasterRemoteEventId { get; init; } = string.Empty;
public bool IsSeriesMaster { get; init; }
public bool IsRecurringInstance { get; init; }
public string Title { get; init; } = string.Empty;
public string Description { get; init; } = string.Empty;
public string Location { get; init; } = string.Empty;
public DateTimeOffset Start { get; init; }
public DateTimeOffset End { get; init; }
public string StartTimeZone { get; init; } = string.Empty;
public string EndTimeZone { get; init; } = string.Empty;
public string Recurrence { get; init; } = string.Empty;
public string OrganizerDisplayName { get; init; } = string.Empty;
public string OrganizerEmail { get; init; } = string.Empty;
public CalendarItemStatus Status { get; init; } = CalendarItemStatus.Accepted;
public CalendarItemVisibility Visibility { get; init; } = CalendarItemVisibility.Default;
public CalendarItemShowAs ShowAs { get; init; } = CalendarItemShowAs.Busy;
public bool IsHidden { get; init; }
public IReadOnlyList<CalDavEventAttendee> Attendees { get; init; } = [];
public IReadOnlyList<CalDavEventReminder> Reminders { get; init; } = [];
}
public sealed class CalDavEventAttendee
{
public string Name { get; init; } = string.Empty;
public string Email { get; init; } = string.Empty;
public AttendeeStatus AttendenceStatus { get; init; } = AttendeeStatus.NeedsAction;
public bool IsOrganizer { get; init; }
public bool IsOptionalAttendee { get; init; }
}
public sealed class CalDavEventReminder
{
public int DurationInSeconds { get; init; }
public CalendarItemReminderType ReminderType { get; init; } = CalendarItemReminderType.Popup;
}