⚡ Optimize permission check in fediverse publishers
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user