Ground work for Wino Calendar. (#475)

Wino Calendar abstractions.
This commit is contained in:
Burak Kaan Köse
2024-11-10 23:28:25 +01:00
committed by GitHub
parent a979e8430f
commit d1d6f12f05
486 changed files with 7969 additions and 2708 deletions
@@ -0,0 +1,16 @@
using System;
using SQLite;
namespace Wino.Core.Domain.Entities.Calendar
{
public class AccountCalendar
{
[PrimaryKey]
public Guid Id { get; set; }
public Guid AccountId { get; set; }
public string Name { get; set; }
public string ColorHex { get; set; }
public string TimeZoneId { get; set; }
}
}
@@ -0,0 +1,16 @@
using System;
using SQLite;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities.Calendar
{
public class Attendee
{
[PrimaryKey]
public Guid Id { get; set; }
public Guid EventId { get; set; }
public Guid ContactId { get; set; }
public AttendeeStatus Status { get; set; }
public bool IsOrganizer { get; set; }
}
}
@@ -0,0 +1,24 @@
using System;
using SQLite;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities.Calendar
{
public class CalendarItem
{
[PrimaryKey]
public Guid Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Location { get; set; }
public DateTimeOffset StartTime { get; set; }
public DateTimeOffset EndTime { get; set; }
public bool IsAllDay { get; set; }
public Guid? RecurrenceRuleId { get; set; }
public CalendarItemStatus Status { get; set; }
public CalendarItemVisibility Visibility { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
public Guid CalendarId { get; set; }
}
}
@@ -0,0 +1,20 @@
using System;
using SQLite;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities.Calendar
{
public class RecurrenceRule
{
[PrimaryKey]
public Guid Id { get; set; }
public Guid CalendarItemId { get; set; }
public CalendarItemRecurrenceFrequency Frequency { get; set; }
public int Interval { get; set; }
public string DaysOfWeek { get; set; }
public DateTimeOffset StartDate { get; set; }
public DateTimeOffset EndDate { get; set; }
public int Occurrences { get; set; }
}
}
@@ -0,0 +1,16 @@
using System;
using SQLite;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities.Calendar
{
public class Reminder
{
[PrimaryKey]
public Guid Id { get; set; }
public Guid CalendarItemId { get; set; }
public DateTimeOffset ReminderTime { get; set; }
public CalendarItemReminderType ReminderType { get; set; }
}
}
@@ -1,7 +1,7 @@
using System;
using SQLite;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Mail
{
public class AccountSignature
{
@@ -1,7 +1,7 @@
using System;
using SQLite;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Mail
{
public class RemoteAccountAlias
{
@@ -1,10 +1,11 @@
using System;
using System.Collections.Generic;
using SQLite;
using Wino.Core.Domain.Entities.Shared;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.MailItem;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Mail
{
/// <summary>
/// Summary of the parsed MIME messages.
@@ -5,7 +5,7 @@ using SQLite;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.Folders;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Mail
{
[DebuggerDisplay("{FolderName} - {SpecialFolderType}")]
public class MailItemFolder : IMailItemFolder
@@ -1,7 +1,7 @@
using System;
using SQLite;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Mail
{
public class MergedInbox
{
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using SQLite;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Shared
{
/// <summary>
/// Back storage for simple name-address book.
@@ -2,7 +2,7 @@
using SQLite;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Shared
{
public class CustomServerInformation
{
@@ -1,8 +1,9 @@
using System;
using SQLite;
using Wino.Core.Domain.Entities.Mail;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Shared
{
public class MailAccount
{
@@ -1,7 +1,7 @@
using System;
using SQLite;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Shared
{
public class MailAccountPreferences
{
@@ -2,7 +2,7 @@
using SQLite;
using Wino.Core.Domain.Models.Authentication;
namespace Wino.Core.Domain.Entities
namespace Wino.Core.Domain.Entities.Shared
{
public class TokenInformation : TokenInformationBase
{
@@ -1,12 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Wino.Core.Domain.Entities
{
public record SystemFolderConfiguration(MailItemFolder SentFolder,
MailItemFolder DraftFolder,
MailItemFolder ArchiveFolder,
MailItemFolder TrashFolder,
MailItemFolder JunkFolder);
}