67 lines
1.6 KiB
C#
67 lines
1.6 KiB
C#
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using LightlessSync.API.Dto.Chat;
|
|
|
|
namespace LightlessSyncShared.Models;
|
|
|
|
/// <summary>
|
|
/// Stores metadata about chat reports submitted by users.
|
|
/// </summary>
|
|
public class ReportedChatMessage
|
|
{
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
public int ReportId { get; set; }
|
|
|
|
[Required]
|
|
public DateTime ReportTimeUtc { get; set; }
|
|
|
|
[Required]
|
|
public string ReporterUserUid { get; set; } = string.Empty;
|
|
|
|
public string? ReportedUserUid { get; set; }
|
|
|
|
[Required]
|
|
public ChatChannelType ChannelType { get; set; }
|
|
|
|
public ushort WorldId { get; set; }
|
|
|
|
public ushort ZoneId { get; set; }
|
|
|
|
[Required]
|
|
public string ChannelKey { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
public string MessageId { get; set; } = string.Empty;
|
|
|
|
public DateTime MessageSentAtUtc { get; set; }
|
|
|
|
[Required]
|
|
public string MessageContent { get; set; } = string.Empty;
|
|
|
|
public string? SenderHashedCid { get; set; }
|
|
|
|
public string? SenderDisplayName { get; set; }
|
|
|
|
public bool SenderWasLightfinder { get; set; }
|
|
|
|
public string SnapshotJson { get; set; } = string.Empty;
|
|
|
|
public string? Reason { get; set; }
|
|
|
|
public string? AdditionalContext { get; set; }
|
|
|
|
public ulong? DiscordMessageId { get; set; }
|
|
|
|
public DateTime? DiscordMessagePostedAtUtc { get; set; }
|
|
|
|
public bool Resolved { get; set; }
|
|
|
|
public DateTime? ResolvedAtUtc { get; set; }
|
|
|
|
public string? ResolutionNotes { get; set; }
|
|
|
|
public string? ResolvedByUserUid { get; set; }
|
|
}
|