mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 19:54:55 +00:00
203bb5e5a4
+ GetAllAsync rework + FindByIdAsync + rework FindBySenderAndReceiverIdAsync
40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
namespace Govor.Core.Models;
|
|
|
|
public class Message
|
|
{
|
|
public Guid Id { get; set; }
|
|
public Guid SenderId { get; set; }
|
|
public Guid RecipientId { get; set; } // or GroupId
|
|
public RecipientType RecipientType { get; set; }
|
|
public string EncryptedContent { get; set; } = string.Empty;
|
|
public DateTime SentAt { get; set; }
|
|
public bool IsEdited { get; set; } = false;
|
|
public DateTime? EditedAt { get; set; }
|
|
public List<MessageReaction> Reactions { get; set; } = new List<MessageReaction>();
|
|
public List<MediaAttachments> MediaAttachments { get; set; } = new List<MediaAttachments>();
|
|
public List<MessageView> MessageViews { get; set; } = new List<MessageView>();
|
|
|
|
public Guid? ReplyToMessageId { get; set; }
|
|
public Message? ReplyToMessage { get; set; } // navigation
|
|
|
|
public override bool Equals(object? obj)
|
|
{
|
|
if (obj is not Message other) return false;
|
|
|
|
return Id == other.Id &&
|
|
SenderId == other.SenderId &&
|
|
RecipientId == other.RecipientId &&
|
|
RecipientType == other.RecipientType &&
|
|
EncryptedContent == other.EncryptedContent &&
|
|
SentAt == other.SentAt &&
|
|
IsEdited == other.IsEdited &&
|
|
EditedAt == other.EditedAt &&
|
|
ReplyToMessageId == other.ReplyToMessageId;
|
|
}
|
|
}
|
|
|
|
public enum RecipientType
|
|
{
|
|
User,
|
|
Group
|
|
} |