mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-25 23:18:44 -07:00
Refactor room role permissions: enhance role checks for saving and overlaying data; introduce editable role data for RRO rooms
This commit is contained in:
@@ -299,10 +299,17 @@ public class RoomsModerationController(DorkNetDbContext db) : ControllerBase
|
||||
return Ok(new { success = true, error = "" });
|
||||
|
||||
var room = await db.Rooms.FirstOrDefaultAsync(r => r.Id == roomId);
|
||||
int role = (room?.CreatorPlayerId == playerId) ? 30 : 0;
|
||||
var acceptedRoles = await db.RoomRoles
|
||||
.Where(r => r.RoomId == roomId && r.PlayerId == playerId && r.Accepted)
|
||||
.Select(r => r.Role)
|
||||
.ToListAsync();
|
||||
int role = (room?.CreatorPlayerId == playerId)
|
||||
? 30
|
||||
: acceptedRoles.Select(RoomRoleRank).DefaultIfEmpty(0).Max();
|
||||
long permissions = role switch
|
||||
{
|
||||
30 => -1L,
|
||||
20 => 0x0FFFFFFFL,
|
||||
10 => 0x0FFFFFFFL,
|
||||
5 => 0x000000FFL,
|
||||
_ => 0x0000000FL,
|
||||
|
||||
Reference in New Issue
Block a user