private void NoteModified(SharedAdminNote note)
{
+ if (note.Player != NotedPlayer)
+ return;
+
Notes[note.Id] = note;
StateDirty();
}
- private void NoteDeleted(int id)
+ private void NoteDeleted(SharedAdminNote note)
{
- Notes.Remove(id);
+ if (note.Player != NotedPlayer)
+ return;
+
+ Notes.Remove(note.Id);
StateDirty();
}
return new SharedAdminNote(
note.Id,
note.RoundId,
+ note.PlayerUserId,
note.Message,
note.CreatedBy.LastSeenUserName,
note.LastEditedBy.LastSeenUserName,
public event Action<SharedAdminNote>? NoteAdded;
public event Action<SharedAdminNote>? NoteModified;
- public event Action<int>? NoteDeleted;
+ public event Action<SharedAdminNote>? NoteDeleted;
private ISawmill _sawmill = default!;
var note = new SharedAdminNote(
noteId,
round,
+ player,
message,
createdBy.Name,
createdBy.Name,
var deletedAt = DateTime.UtcNow;
await _db.DeleteAdminNote(noteId, deletedBy.UserId, deletedAt);
- NoteDeleted?.Invoke(noteId);
+ var sharedNote = new SharedAdminNote(
+ noteId,
+ note.RoundId,
+ note.PlayerUserId,
+ note.Message,
+ note.CreatedBy.LastSeenUserName,
+ note.LastEditedBy.LastSeenUserName,
+ note.CreatedAt,
+ note.LastEditedAt
+ );
+ NoteDeleted?.Invoke(sharedNote);
}
public async Task ModifyNote(int noteId, IPlayerSession editedBy, string message)
var sharedNote = new SharedAdminNote(
noteId,
note.RoundId,
+ note.PlayerUserId,
message,
note.CreatedBy.LastSeenUserName,
editedBy.Name,
{
event Action<SharedAdminNote>? NoteAdded;
event Action<SharedAdminNote>? NoteModified;
- event Action<int>? NoteDeleted;
+ event Action<SharedAdminNote>? NoteDeleted;
bool CanCreate(IPlayerSession admin);
bool CanDelete(IPlayerSession admin);
namespace Content.Shared.Administration.Notes;
[Serializable, NetSerializable]
-public sealed record SharedAdminNote(int Id, int? Round, string Message, string CreatedByName, string EditedByName, DateTime CreatedAt, DateTime LastEditedAt);
+public sealed record SharedAdminNote(int Id, int? Round, Guid Player, string Message, string CreatedByName, string EditedByName, DateTime CreatedAt, DateTime LastEditedAt);