27 lines
1.3 KiB
C#
27 lines
1.3 KiB
C#
using Content.Shared.Database;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared.Administration.Notes;
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed record SharedAdminNote(
|
|
int Id, // Id of note, message, watchlist, ban or role ban. Should be paired with NoteType to uniquely identify a shared admin note.
|
|
Guid Player, // Notes player
|
|
int? Round, // Which round was it added in?
|
|
string? ServerName, // Which server was this added on?
|
|
TimeSpan PlaytimeAtNote, // Playtime at the time of getting the note
|
|
NoteType NoteType, // Type of note
|
|
string Message, // Attached message
|
|
NoteSeverity? NoteSeverity, // Severity of the note, ban or role ban. Otherwise null.
|
|
bool Secret, // Is it visible to the player (only relevant if players can see their own notes)
|
|
string CreatedByName, // Who created it?
|
|
string EditedByName, // Who edited it last?
|
|
DateTime CreatedAt, // When was it created?
|
|
DateTime? LastEditedAt, // When was it last edited?
|
|
DateTime? ExpiryTime, // Does it expire?
|
|
string[]? BannedRoles, // Only valid for role bans. List of banned roles
|
|
DateTime? UnbannedTime, // Only valid for bans. Set if unbanned
|
|
string? UnbannedByName, // Only valid for bans. Set if unbanned
|
|
bool? Seen // Only valid for messages, otherwise should be null. Has the user seen this message?
|
|
);
|