Optimize permission check in fediverse publishers

This commit is contained in:
2026-01-02 01:37:17 +08:00
parent b90d1be552
commit 913a6e7382

View File

@@ -938,13 +938,7 @@ public class PublisherController(
if (publisher is null) if (publisher is null)
return NotFound(); return NotFound();
var member = await db.PublisherMembers if (!await ps.IsMemberWithRole(publisher.Id, accountId, PublisherMemberRole.Manager))
.Where(m => m.AccountId == accountId)
.Where(m => m.PublisherId == publisher.Id)
.FirstOrDefaultAsync();
if (member is null)
return StatusCode(403, "You are not even a member of targeted publisher.");
if (member.Role < PublisherMemberRole.Manager)
return StatusCode(403, "You need at least be manager to enable fediverse for this publisher."); return StatusCode(403, "You need at least be manager to enable fediverse for this publisher.");
try try
@@ -972,13 +966,7 @@ public class PublisherController(
if (publisher is null) if (publisher is null)
return NotFound(); return NotFound();
var member = await db.PublisherMembers if (!await ps.IsMemberWithRole(publisher.Id, accountId, PublisherMemberRole.Manager))
.Where(m => m.AccountId == accountId)
.Where(m => m.PublisherId == publisher.Id)
.FirstOrDefaultAsync();
if (member is null)
return StatusCode(403, "You are not even a member of targeted publisher.");
if (member.Role < PublisherMemberRole.Manager)
return StatusCode(403, "You need at least be manager to disable fediverse for this publisher."); return StatusCode(403, "You need at least be manager to disable fediverse for this publisher.");
try try