Eklee.Azure.Functions.GraphQl 0.1.0

The purpose of this library is to help developers with implementing a GraphQl based Azure Function with dependency injection support.

There is a newer version of this package available.
See the version list below for details.
Install-Package Eklee.Azure.Functions.GraphQl -Version 0.1.0
dotnet add package Eklee.Azure.Functions.GraphQl --version 0.1.0
<PackageReference Include="Eklee.Azure.Functions.GraphQl" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Eklee.Azure.Functions.GraphQl --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Introduction

The purpose of this library is to help developers with implementing a GraphQl based Azure Function with dependency injection support.

DI Usage

In order to leverage this library, there are 3 steps. You would want to setup your DI, apply the ExecutionContextDependencyInjection attribute, and inject the ExecutionContext as a parameter in your function.

Step 1: Setup DI

The first step is to setup your DI via the Autofac Module. Be sure to register your schema using the extension method RegisterGraphQl. You can then register the types used in your schema.

using Autofac;

namespace FunctionApp1
{
    public class MyModuleConfig : Module
    {
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterGraphQl<BooksSchema>();
            builder.RegisterType<BooksQuery>();
            ...
        }
    }
}

Step 2/3: Setup ExecutionContextDependencyInjection attribute on said function and inject ExecutionContext.

The second step is to apply the ExecutionContextDependencyInjection on your function and tell it which Module type you would like. Next, you can inject the ExecutionContext which internally carries the function instance Id.

public static class BooksGraphFunction
{
    [ExecutionContextDependencyInjection(typeof(MyModule))]
    [FunctionName("graph")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "books/graph")] HttpRequest req,
        ILogger log,
        ExecutionContext executionContext)
    {	

Process GraphQl Request Usage:

Simply leverage the extension method ProcessGraphQlRequest.

return await executionContext.ProcessGraphQlRequest(req);

For more information about dependency injection support, visit: https://github.com/seekdavidlee/Eklee-Azure-Functions-Http

Introduction

The purpose of this library is to help developers with implementing a GraphQl based Azure Function with dependency injection support.

DI Usage

In order to leverage this library, there are 3 steps. You would want to setup your DI, apply the ExecutionContextDependencyInjection attribute, and inject the ExecutionContext as a parameter in your function.

Step 1: Setup DI

The first step is to setup your DI via the Autofac Module. Be sure to register your schema using the extension method RegisterGraphQl. You can then register the types used in your schema.

using Autofac;

namespace FunctionApp1
{
    public class MyModuleConfig : Module
    {
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterGraphQl<BooksSchema>();
            builder.RegisterType<BooksQuery>();
            ...
        }
    }
}

Step 2/3: Setup ExecutionContextDependencyInjection attribute on said function and inject ExecutionContext.

The second step is to apply the ExecutionContextDependencyInjection on your function and tell it which Module type you would like. Next, you can inject the ExecutionContext which internally carries the function instance Id.

public static class BooksGraphFunction
{
    [ExecutionContextDependencyInjection(typeof(MyModule))]
    [FunctionName("graph")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "books/graph")] HttpRequest req,
        ILogger log,
        ExecutionContext executionContext)
    {	

Process GraphQl Request Usage:

Simply leverage the extension method ProcessGraphQlRequest.

return await executionContext.ProcessGraphQlRequest(req);

For more information about dependency injection support, visit: https://github.com/seekdavidlee/Eklee-Azure-Functions-Http

Release Notes

Initial release to support query and mutation.

Version History

Version Downloads Last updated
0.15.3 32 7/14/2019
0.15.2 39 7/7/2019
0.15.1 35 7/6/2019
0.14.1 48 6/16/2019
0.14.0 77 5/18/2019
0.13.1 92 3/31/2019
0.13.0 77 3/31/2019
0.12.1 91 3/24/2019
0.11.0 83 3/10/2019
0.10.0 88 3/3/2019
0.9.1 93 2/26/2019
0.9.0 96 2/24/2019
0.8.0 92 2/23/2019
0.7.2 95 2/20/2019
0.7.1 101 2/17/2019
0.6.3 112 2/10/2019
0.5.5 137 1/20/2019
0.5.4 173 1/13/2019
0.5.1 116 1/7/2019
0.4.6 138 12/31/2018
0.4.5 112 12/28/2018
0.4.4 185 12/27/2018
0.3.0 132 11/4/2018
0.2.0 139 11/4/2018
0.1.0 114 10/30/2018
Show less