From 184a5653549932737405dae752fa4e12c207ba36 Mon Sep 17 00:00:00 2001 From: glucaci Date: Wed, 3 Mar 2021 16:19:09 +0100 Subject: [PATCH] Change authorize bewit from directive to middleware --- .../{Validation => }/BewitContext.cs | 2 +- .../{Validation => }/IBewitContext.cs | 2 +- .../Validation/BewitAuthorizationMiddleware.cs | 2 +- .../Validation/BewitAuthorizeDirectiveType.cs | 17 ----------------- .../ObjectFieldDescriptorExtensions.cs | 2 +- .../Validation/SchemaBuilderExtensions.cs | 7 ++++--- 6 files changed, 8 insertions(+), 24 deletions(-) rename src/Extensions.HotChocolate/{Validation => }/BewitContext.cs (96%) rename src/Extensions.HotChocolate/{Validation => }/IBewitContext.cs (80%) delete mode 100644 src/Extensions.HotChocolate/Validation/BewitAuthorizeDirectiveType.cs diff --git a/src/Extensions.HotChocolate/Validation/BewitContext.cs b/src/Extensions.HotChocolate/BewitContext.cs similarity index 96% rename from src/Extensions.HotChocolate/Validation/BewitContext.cs rename to src/Extensions.HotChocolate/BewitContext.cs index 11c02b4..41d0ea6 100644 --- a/src/Extensions.HotChocolate/Validation/BewitContext.cs +++ b/src/Extensions.HotChocolate/BewitContext.cs @@ -3,7 +3,7 @@ using System.Threading.Tasks; using Newtonsoft.Json.Linq; -namespace Bewit.Extensions.HotChocolate.Validation +namespace Bewit.Extensions.HotChocolate { public class BewitContext : IBewitContext { diff --git a/src/Extensions.HotChocolate/Validation/IBewitContext.cs b/src/Extensions.HotChocolate/IBewitContext.cs similarity index 80% rename from src/Extensions.HotChocolate/Validation/IBewitContext.cs rename to src/Extensions.HotChocolate/IBewitContext.cs index b8f5ceb..f1c3eec 100644 --- a/src/Extensions.HotChocolate/Validation/IBewitContext.cs +++ b/src/Extensions.HotChocolate/IBewitContext.cs @@ -1,6 +1,6 @@ using System.Threading.Tasks; -namespace Bewit.Extensions.HotChocolate.Validation +namespace Bewit.Extensions.HotChocolate { public interface IBewitContext { diff --git a/src/Extensions.HotChocolate/Validation/BewitAuthorizationMiddleware.cs b/src/Extensions.HotChocolate/Validation/BewitAuthorizationMiddleware.cs index 42f2fb0..485816b 100644 --- a/src/Extensions.HotChocolate/Validation/BewitAuthorizationMiddleware.cs +++ b/src/Extensions.HotChocolate/Validation/BewitAuthorizationMiddleware.cs @@ -27,7 +27,7 @@ public BewitAuthorizationMiddleware( } public async Task InvokeAsync( - IDirectiveContext context) + IMiddlewareContext context) { try { diff --git a/src/Extensions.HotChocolate/Validation/BewitAuthorizeDirectiveType.cs b/src/Extensions.HotChocolate/Validation/BewitAuthorizeDirectiveType.cs deleted file mode 100644 index 7fe51de..0000000 --- a/src/Extensions.HotChocolate/Validation/BewitAuthorizeDirectiveType.cs +++ /dev/null @@ -1,17 +0,0 @@ -using HotChocolate.Types; - -namespace Bewit.Extensions.HotChocolate.Validation -{ - public class BewitAuthorizeDirectiveType - : DirectiveType - { - protected override void Configure( - IDirectiveTypeDescriptor descriptor) - { - descriptor - .Name("authorizeBewitToken") - .Location(DirectiveLocation.FieldDefinition) - .Use>(); - } - } -} diff --git a/src/Extensions.HotChocolate/Validation/ObjectFieldDescriptorExtensions.cs b/src/Extensions.HotChocolate/Validation/ObjectFieldDescriptorExtensions.cs index fb3a6ce..ffb47a1 100644 --- a/src/Extensions.HotChocolate/Validation/ObjectFieldDescriptorExtensions.cs +++ b/src/Extensions.HotChocolate/Validation/ObjectFieldDescriptorExtensions.cs @@ -8,7 +8,7 @@ public static IObjectFieldDescriptor AuthorizeBewit( this IObjectFieldDescriptor descriptor) { return descriptor - .Directive>(); + .Use>(); } } } diff --git a/src/Extensions.HotChocolate/Validation/SchemaBuilderExtensions.cs b/src/Extensions.HotChocolate/Validation/SchemaBuilderExtensions.cs index 0807063..c293282 100644 --- a/src/Extensions.HotChocolate/Validation/SchemaBuilderExtensions.cs +++ b/src/Extensions.HotChocolate/Validation/SchemaBuilderExtensions.cs @@ -1,8 +1,8 @@ using System; using Bewit.Core; using Bewit.Validation; -using HotChocolate; using HotChocolate.Execution.Configuration; +using HotChocolate.Resolvers; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -49,10 +49,11 @@ public static IRequestExecutorBuilder UseBewitAuthorization( foreach (BewitPayloadContext context in registrationBuilder.Payloads) { - Type implementation = typeof(BewitAuthorizeDirectiveType<>); + Type implementation = typeof(BewitAuthorizationMiddleware<>); Type typedImplementation = implementation.MakeGenericType(context.Type); - builder.ConfigureSchema(b => b.AddDirectiveType(typedImplementation)); + builder.ConfigureSchema(b => + b.Use(FieldClassMiddlewareFactory.Create(typedImplementation))); } });