/// <summary> /// Resolves all mutations on guest accesses. /// </summary> /// <param name="graphQlMutation"></param> public void ResolveMutation(GraphQlMutation graphQlMutation) { // FLAG CHANNEL graphQlMutation.FieldAsync <BooleanGraphType>( "flagChannel", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <StringGraphType> > { Name = "channelId" } ), resolve: async(context) => { // read user context dictionary var userContext = (GraphQlUserContext)context.UserContext; string userId = userContext.GetUserId(); // require user to be authenticated if (userId == null) { return(false); } await _flagRepository.AddFlag( context.GetArgument <string>("channelId"), userId ); return(true); }); }
public static async Task <string> PostToJsonAsync(this GraphQlClient client, GraphQlMutation mutation, params KeyValuePair <string, string>[] headers) { var response = await client.PostMutationAsync(mutation, headers); await using var stream = response?.GetResponseStream(); using var reader = new StreamReader(stream ?? throw new InvalidOperationException(), Encoding.UTF8); return(reader.ReadToEnd()); }
/// <summary> /// Resolves all mutations on guest accesses. /// </summary> /// <param name="graphQlMutation"></param> public void ResolveMutation(GraphQlMutation graphQlMutation) { }
public static string PostToJson(this GraphQlClient client, GraphQlMutation mutation, params KeyValuePair <string, string>[] headers) => PostToJsonAsync(client, mutation, headers).Result;