public static async Task IsEventPlayerCheck(AuthorizationHandlerContext authContext, PuzzleServerContext dbContext, UserManager <IdentityUser> userManager, IAuthorizationRequirement requirement) { PuzzleUser puzzleUser = await PuzzleUser.GetPuzzleUserForCurrentUser(dbContext, authContext.User, userManager); Event thisEvent = await AuthorizationHelper.GetEventFromContext(authContext); EventRole role = AuthorizationHelper.GetEventRoleFromContext(authContext); if (thisEvent != null && role == EventRole.play && await puzzleUser.IsPlayerInEvent(dbContext, thisEvent)) { authContext.Succeed(requirement); } }
public async Task IsEventPlayerCheck(AuthorizationHandlerContext authContext, IAuthorizationRequirement requirement) { EventRole role = GetEventRoleFromRoute(); if (role != EventRole.play) { return; } PuzzleUser puzzleUser = await PuzzleUser.GetPuzzleUserForCurrentUser(dbContext, authContext.User, userManager); Event thisEvent = await GetEventFromRoute(); if (thisEvent != null && await puzzleUser.IsPlayerInEvent(dbContext, thisEvent)) { authContext.Succeed(requirement); } }