public static Dictionary <int, List <int> > GetSiteKeysByRcc(this ResolveFieldContext context) { //context.ThrowIfInvalidAuthorization(); GraphQLUserContext ctx = context.UserContext as GraphQLUserContext; return(ctx.SiteIds); }
public static bool ThrowIfInvalidAuthorization(this ResolveFieldContext context) { GraphQLUserContext ctx = context.UserContext as GraphQLUserContext; if (ctx.UserClaim.Identity == null || ctx.UserClaim.Identity.IsAuthenticated == false) { context.Errors.Add(new GraphQL.ExecutionError("권한이 없습니다")); return(false); //throw new Exception("권한이 없습니다"); } else if (ctx.UserClaim.HasClaim(x => x.Type == GraphQLUserContext.SiteIdsByRccClaim) == false) { context.Errors.Add(new GraphQL.ExecutionError("대상자에게는 사이트에 대한 요구(Claim)가 존재하지 않습니다")); return(false); } ctx.UpdateClaimsValue(); return(true); }
public static HashSet <int> GetAllSiteIds(this ResolveFieldContext context) { GraphQLUserContext ctx = context.UserContext as GraphQLUserContext; return(ctx.AllSiteIds); }