diff --git a/AyCode.Entities/AyCode.Entities.csproj b/AyCode.Entities/AyCode.Entities.csproj index 3ad0559..c3047fd 100644 --- a/AyCode.Entities/AyCode.Entities.csproj +++ b/AyCode.Entities/AyCode.Entities.csproj @@ -1,4 +1,4 @@ - + net8.0 diff --git a/AyCode.Entities/Groups/GroupBase.cs b/AyCode.Entities/Groups/GroupBase.cs new file mode 100644 index 0000000..91365d5 --- /dev/null +++ b/AyCode.Entities/Groups/GroupBase.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using AyCode.Interfaces.Groups; + +namespace AyCode.Entities.Groups +{ + //[Table("Groups")] + public class GroupBase : IGroupBase + { + public GroupBase() { } + + public GroupBase(bool isPublic) : this(Guid.NewGuid(), isPublic) { } + public GroupBase(Guid id, bool isPublic) : this() + { + Id = id; + IsPublic = isPublic; + } + + //[Key, DatabaseGenerated(DatabaseGeneratedOption.None)] + public Guid Id { get; set; } + public bool IsPublic { get; set; } + public DateTime Created { get; set; } + public DateTime Modified { get; set; } + } +} + diff --git a/AyCode.Entities/Messages/MessageBase.cs b/AyCode.Entities/Messages/NoticeBase.cs similarity index 69% rename from AyCode.Entities/Messages/MessageBase.cs rename to AyCode.Entities/Messages/NoticeBase.cs index 2feb408..fd0c56c 100644 --- a/AyCode.Entities/Messages/MessageBase.cs +++ b/AyCode.Entities/Messages/NoticeBase.cs @@ -6,14 +6,14 @@ using AyCode.Interfaces.Messages; namespace AyCode.Entities.Messages { - [Table("Messages")] - public class MessageBase : IMessageBase + [Table("Notices")] + public class NoticeBase : INoticeBase { - public MessageBase() { } + public NoticeBase() { } - public MessageBase(Guid senderId, Guid receiverId, string message) : this(Guid.NewGuid(), senderId, receiverId, message) { } - public MessageBase(Guid id, Guid senderId, Guid receiverId, string message) : this() + public NoticeBase(Guid senderId, Guid receiverId, string message) : this(Guid.NewGuid(), senderId, receiverId, message) { } + public NoticeBase(Guid id, Guid senderId, Guid receiverId, string message) : this() { Id = id; SenderId = senderId; @@ -23,14 +23,15 @@ namespace AyCode.Entities.Messages [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] + public Guid Id { get; set; } public Guid SenderId { get; set; } public Guid ReceiverId { get; set; } public string Message { get; set; } - public Guid Id { get; set; } public DateTime Created { get; set; } public DateTime Modified { get; set; } + } } diff --git a/AyCode.Entities/ServiceProviders/ServiceProviderBase.cs b/AyCode.Entities/ServiceProviders/ServiceProviderBase.cs new file mode 100644 index 0000000..4a0f7da --- /dev/null +++ b/AyCode.Entities/ServiceProviders/ServiceProviderBase.cs @@ -0,0 +1,32 @@ + +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using AyCode.Interfaces.ServiceProviders; + +namespace AyCode.Entities.ServiceProviders +{ + [Table("ServiceProviders")] + public class ServiceProviderBase : IServiceProviderBase + { + public ServiceProviderBase() { } + + public ServiceProviderBase(string name, Guid ownerId ) : this(Guid.NewGuid(), name, ownerId) { } + public ServiceProviderBase(Guid id, string name, Guid ownerId) : this() + { + Id = id; + Name = name; + OwnerId = ownerId; + } + + + + [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] + public Guid Id { get; set; } + public string Name { get; set; } + public Guid OwnerId { get; set; } + + public DateTime Created { get; set; } + public DateTime Modified { get; set; } + + } +} diff --git a/AyCode.Interfaces/Groups/IGroupBase.cs b/AyCode.Interfaces/Groups/IGroupBase.cs new file mode 100644 index 0000000..0aaa942 --- /dev/null +++ b/AyCode.Interfaces/Groups/IGroupBase.cs @@ -0,0 +1,14 @@ +using AyCode.Interfaces.Entities; +using AyCode.Interfaces.TimeStampInfo; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AyCode.Interfaces.Groups +{ + public interface IGroupBase : IEntity, ITimeStampInfo + { + } +} diff --git a/AyCode.Interfaces/Messages/IMessageSenderService.cs b/AyCode.Interfaces/Messages/IMessageSenderService.cs index c201675..935db68 100644 --- a/AyCode.Interfaces/Messages/IMessageSenderService.cs +++ b/AyCode.Interfaces/Messages/IMessageSenderService.cs @@ -4,6 +4,6 @@ namespace AyCode.Interfaces.Messages { public interface IMessageSenderService { - public Task SendMessageAsync(IMessageBase message, int[] messageTypes); + public Task SendMessageAsync(TNotice message, int messageType) where TNotice : class, INoticeBase; } } diff --git a/AyCode.Interfaces/Messages/IMessageBase.cs b/AyCode.Interfaces/Messages/INoticeBase.cs similarity index 58% rename from AyCode.Interfaces/Messages/IMessageBase.cs rename to AyCode.Interfaces/Messages/INoticeBase.cs index 93aacb6..fbf648c 100644 --- a/AyCode.Interfaces/Messages/IMessageBase.cs +++ b/AyCode.Interfaces/Messages/INoticeBase.cs @@ -5,8 +5,8 @@ using AyCode.Interfaces.TimeStampInfo; namespace AyCode.Interfaces.Messages { - public interface IMessageBase : IEntityGuid, ITimeStampInfo, IMessageParticipants + public interface INoticeBase : IEntityGuid, ITimeStampInfo, IMessageParticipants { - string Message { get; } + string Message { get; } } } diff --git a/AyCode.Interfaces/ServiceProviders/IServiceProviderBase.cs b/AyCode.Interfaces/ServiceProviders/IServiceProviderBase.cs new file mode 100644 index 0000000..ad96ff2 --- /dev/null +++ b/AyCode.Interfaces/ServiceProviders/IServiceProviderBase.cs @@ -0,0 +1,11 @@ + +using AyCode.Interfaces.Entities; +using AyCode.Interfaces.TimeStampInfo; + +namespace AyCode.Interfaces.ServiceProviders; + +public interface IServiceProviderBase : IEntityGuid, ITimeStampInfo +{ + string Name { get; } + Guid OwnerId { get; } +} \ No newline at end of file diff --git a/AyCode.Models/Enums/PermissionContextMappingSubjectType.cs b/AyCode.Models/Enums/PermissionContextMappingSubjectType.cs new file mode 100644 index 0000000..f945fb7 --- /dev/null +++ b/AyCode.Models/Enums/PermissionContextMappingSubjectType.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AyCode.Models.Enums +{ + + public enum PermissionContextMappingSubjectType + { + User = 1, + Group = 2 + } +} diff --git a/AyCode.Models/Messages/EMailMessage.cs b/AyCode.Models/Messages/EMailMessage.cs index cced456..ff77a17 100644 --- a/AyCode.Models/Messages/EMailMessage.cs +++ b/AyCode.Models/Messages/EMailMessage.cs @@ -7,12 +7,12 @@ using System.Threading.Tasks; namespace AyCode.Models.Messages { - public class EMailMessage : MessageBase + public class EmailMessage : NoticeBase { - public EMailMessage() { } + public EmailMessage() { } public string Subject { get; set; } public string HtmlContent { get; set; } - public EMailMessage(Guid senderId, Guid receiverId, string message, string subject, string htmlContent) : base(senderId, receiverId, message ) + public EmailMessage(Guid senderId, Guid receiverId, string message, string subject, string htmlContent) : base(senderId, receiverId, message ) { Subject = subject; HtmlContent = htmlContent;