using RegexBot.Common;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace RegexBot.Data;
///
/// Represents a moderation log entry.
///
[Table("modlogs")]
public class ModLogEntry : ISharedEvent {
///
/// Gets the ID number for this entry.
///
[Key]
public int LogId { get; set; }
///
/// Gets the date and time when this entry was logged.
///
public DateTimeOffset Timestamp { get; set; }
///
public ulong GuildId { get; set; }
///
/// Gets the ID of the users for which this log entry pertains.
///
public ulong UserId { get; set; }
///
/// Gets the type of log message this represents.
///
public ModLogType LogType { get; set; }
///
/// Gets the the entity which issued this log item.
/// If it was a user, this value preferably is in the format.
///
public string IssuedBy { get; set; } = null!;
///
/// Gets any additional message associated with this log entry.
///
public string? Message { get; set; }
///
/// Gets the associated for this entry. This entity is auto-included.
///
public CachedGuildUser User { get; set; } = null!;
}