diff --git a/Content.Server.Database/Model.cs b/Content.Server.Database/Model.cs index 4a85f60ec6a..57dcc3fc6dc 100644 --- a/Content.Server.Database/Model.cs +++ b/Content.Server.Database/Model.cs @@ -966,8 +966,35 @@ namespace Content.Server.Database public byte[] Data { get; set; } = default!; } + // Note: this interface isn't used by the game, but it *is* used by SS14.Admin. + // Don't remove! Or face the consequences! + public interface IAdminRemarksCommon + { + public int Id { get; } + + public int? RoundId { get; } + public Round? Round { get; } + + public Guid? PlayerUserId { get; } + public Player? Player { get; } + public TimeSpan PlaytimeAtNote { get; } + + public string Message { get; } + + public Player? CreatedBy { get; } + + public DateTime CreatedAt { get; } + + public Player? LastEditedBy { get; } + + public DateTime? LastEditedAt { get; } + public DateTime? ExpirationTime { get; } + + public bool Deleted { get; } + } + [Index(nameof(PlayerUserId))] - public class AdminNote + public class AdminNote : IAdminRemarksCommon { [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } @@ -1001,7 +1028,7 @@ namespace Content.Server.Database } [Index(nameof(PlayerUserId))] - public class AdminWatchlist + public class AdminWatchlist : IAdminRemarksCommon { [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } @@ -1032,7 +1059,7 @@ namespace Content.Server.Database } [Index(nameof(PlayerUserId))] - public class AdminMessage + public class AdminMessage : IAdminRemarksCommon { [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; }