fix(guild): subleaders can accept/reject join requests (matches GuildManager.HasAuthorityInviteAndApproval)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-27 14:06:30 -04:00
parent dd955fe4be
commit 901c3d7568
2 changed files with 153 additions and 3 deletions

View File

@@ -331,7 +331,7 @@ public sealed class GuildService : IGuildService
{
var m = await _members.GetMembershipAsync(callerViewerId, ct);
if (m is null) return new(GuildOpResultCode.NotInGuild);
if (m.Role != GuildRole.Leader) return new(GuildOpResultCode.PermissionDenied);
if (m.Role is not (GuildRole.Leader or GuildRole.SubLeader)) return new(GuildOpResultCode.PermissionDenied);
var req = await _joinRequests.GetAsync(m.GuildId, applicantViewerId, ct);
if (req is null) return new(GuildOpResultCode.JoinRequestNotFound);
@@ -351,7 +351,7 @@ public sealed class GuildService : IGuildService
{
var m = await _members.GetMembershipAsync(callerViewerId, ct);
if (m is null) return new(GuildOpResultCode.NotInGuild);
if (m.Role != GuildRole.Leader) return new(GuildOpResultCode.PermissionDenied);
if (m.Role is not (GuildRole.Leader or GuildRole.SubLeader)) return new(GuildOpResultCode.PermissionDenied);
var req = await _joinRequests.GetAsync(m.GuildId, applicantViewerId, ct);
if (req is null) return new(GuildOpResultCode.JoinRequestNotFound);