35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
using System.Text.Json;
|
|
|
|
namespace SharpChat.Messages;
|
|
|
|
public class Message(
|
|
long id,
|
|
string type,
|
|
string? senderId,
|
|
string senderName,
|
|
ColourInheritable senderColour,
|
|
int senderRank,
|
|
UserPermissions senderPermissions,
|
|
string senderNickName,
|
|
DateTimeOffset created,
|
|
DateTimeOffset? deleted,
|
|
string? channelName,
|
|
JsonDocument data,
|
|
MessageFlags flags
|
|
) {
|
|
public long Id { get; } = id;
|
|
public string Type { get; } = type;
|
|
public string? SenderId { get; } = senderId;
|
|
public string SenderName { get; } = senderName;
|
|
public ColourInheritable SenderColour { get; } = senderColour;
|
|
public int SenderRank { get; } = senderRank;
|
|
public UserPermissions SenderPermissions { get; } = senderPermissions;
|
|
public string SenderNickName { get; } = senderNickName;
|
|
public DateTimeOffset Created { get; } = created;
|
|
public DateTimeOffset? Deleted { get; } = deleted;
|
|
public string? ChannelName { get; } = channelName;
|
|
public MessageFlags Flags { get; } = flags;
|
|
public JsonDocument Data { get; } = data;
|
|
|
|
public string SenderLegacyName => string.IsNullOrWhiteSpace(SenderNickName) ? SenderName : $"~{SenderNickName}";
|
|
}
|