public OperationalQueryType( ICircuitBreakerPolicyRepository circuitBreakerPolicyRepository, IChaosPolicyRepository chaosPolicyRepository) { Name = "Operations"; Description = "Query operations scoped to service operations"; FieldAsync <ListGraphType <CircuitBreakerPolicyType> >( "CircuitBreakerPolicies", "Gets the circuit breaker policies.", resolve: async(fieldContext) => { return(await circuitBreakerPolicyRepository .GetAllAsync( fieldContext.UserContext as ClaimsPrincipal, "", fieldContext.CancellationToken)); }); FieldAsync <ListGraphType <ChaosPolicyType> >( "ChaosPolicies", "Gets the chaos policies.", resolve: async(fieldContext) => { return(await chaosPolicyRepository .GetAllAsync( fieldContext.UserContext as ClaimsPrincipal, "", fieldContext.CancellationToken)); }); }
public ChaosPolicySubscriptionType( IChaosPolicyRepository chaosPolicyRepository) { _chaosPolicyRepository = chaosPolicyRepository; AddField( new EventStreamFieldType { Name = "chaosPolicyChanged", Type = typeof(ChaosPolicyType), Resolver = new FuncFieldResolver <ChaosPolicyEntity>(ResolveChaosPolicy), Subscriber = new EventStreamResolver <ChaosPolicyEntity>(Subscribe) }); }
public OperationalSubscriptionType( ICircuitBreakerPolicyRepository circuitBreakerPolicyRepository, IChaosPolicyRepository chaosPolicyRepository) { Field <CircuitBreakerPolicySubscriptionType>( "circuitBreakerPolicyEvents", resolve: (context) => { return(new CircuitBreakerPolicySubscriptionType(circuitBreakerPolicyRepository)); }); Field <ChaosPolicySubscriptionType>( "chaosPolicyEvents", resolve: (context) => { return(new ChaosPolicySubscriptionType(chaosPolicyRepository)); }); }
public OperationalMutationType( ICircuitBreakerPolicyRepository circuitBreakerPolicyRepository, IChaosPolicyRepository chaosPolicyRepository) { FieldAsync <CircuitBreakerPolicyType>( "updateCircuitBreakerPolicy", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <CircuitBreakerPolicyInputType> > { Name = "circuitBreakerPolicy" }), resolve: async(context) => { var circuitBreakerPolicy = context.GetArgument <CircuitBreakerPolicyInput>("circuitBreakerPolicy"); return(await circuitBreakerPolicyRepository.UpdateAsync( context.UserContext as ClaimsPrincipal, circuitBreakerPolicy, context.CancellationToken)); }); FieldAsync <ChaosPolicyType>( "updateChaosPolicy", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <ChaosPolicyInputType> > { Name = "chaosPolicy" }), resolve: async(context) => { var chaosPolicy = context.GetArgument <ChaosPolicyInput>("chaosPolicy"); return(await chaosPolicyRepository.UpdateAsync( context.UserContext as ClaimsPrincipal, chaosPolicy, context.CancellationToken)); }); }