This commit is contained in:
2026-03-04 23:13:32 +01:00
parent 2fa0f3cb8b
commit 4e6b5da71b
6 changed files with 160 additions and 10 deletions

View File

@@ -47,13 +47,42 @@ public class WhiteboardManager
return _userInWhiteboards[userId];
}
public void RemoveUserFromWhiteboard(Guid userId, Guid whiteboardId)
public void RemoveUserFromWhiteboard(Guid userId)
{
_userInWhiteboards.TryRemove(whiteboardId, out _);
_userInWhiteboards.TryRemove(userId, out _);
}
public Whiteboard? GetWhiteboardForUser(Guid userId)
{
return GetWhiteboard(GetUserWhiteboard(userId));
}
public void AddPendingUser(Guid userId, Guid whiteboardId)
{
var wb = GetWhiteboard(whiteboardId)!;
wb.AddPendingUser(userId);
_userInWhiteboards[userId] = whiteboardId;
}
public void MovePendingToAccepted(Guid userId, Guid whiteboardId)
{
var wb = GetWhiteboard(whiteboardId)!;
wb.AcceptUser(userId);
}
public void RemovePendingUser(Guid userId, Guid whiteboardId)
{
var whiteboard = GetWhiteboard(whiteboardId)!;
whiteboard.RejectUser(userId);
_userInWhiteboards.TryRemove(userId, out _);
}
public bool IsAccepted(Guid userId)
{
if (!_userInWhiteboards.TryGetValue(userId, out var wbId))
return false;
var whiteboard = GetWhiteboard(wbId);
return whiteboard?.IsAccepted(userId) ?? false;
}
}