SharedAdminNote.cs 1.4 KB

123456789101112131415161718192021222324252627
  1. using Content.Shared.Database;
  2. using Robust.Shared.Network;
  3. using Robust.Shared.Serialization;
  4. namespace Content.Shared.Administration.Notes;
  5. [Serializable, NetSerializable]
  6. public sealed record SharedAdminNote(
  7. int Id, // Id of note, message, watchlist, ban or role ban. Should be paired with NoteType to uniquely identify a shared admin note.
  8. NetUserId Player, // Notes player
  9. int? Round, // Which round was it added in?
  10. string? ServerName, // Which server was this added on?
  11. TimeSpan PlaytimeAtNote, // Playtime at the time of getting the note
  12. NoteType NoteType, // Type of note
  13. string Message, // Attached message
  14. NoteSeverity? NoteSeverity, // Severity of the note, ban or role ban. Otherwise null.
  15. bool Secret, // Is it visible to the player (only relevant if players can see their own notes)
  16. string CreatedByName, // Who created it?
  17. string EditedByName, // Who edited it last?
  18. DateTime CreatedAt, // When was it created?
  19. DateTime? LastEditedAt, // When was it last edited?
  20. DateTime? ExpiryTime, // Does it expire?
  21. string[]? BannedRoles, // Only valid for role bans. List of banned roles
  22. DateTime? UnbannedTime, // Only valid for bans. Set if unbanned
  23. string? UnbannedByName, // Only valid for bans. Set if unbanned
  24. bool? Seen // Only valid for messages, otherwise should be null. Has the user seen this message?
  25. );