diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 5ed6c1f..a4ab645 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,8 +1,10 @@
version: 2
updates:
-- package-ecosystem: nuget
+- package-ecosystem: "nuget"
directory: "/"
schedule:
- interval: daily
- time: '02:00'
- open-pull-requests-limit: 10
+ interval: "daily"
+- package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "daily"
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 276e0ad..e14c77e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -19,10 +19,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- - name: Setup .NET Core 5.0 SDK
+ - name: Setup .NET Core SDK
uses: actions/setup-dotnet@v1
with:
- dotnet-version: "5.0.x"
+ dotnet-version: "6.0.x"
source-url: https://nuget.pkg.github.com/graphql-dotnet/index.json
env:
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 51bf5c3..d953541 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -19,7 +19,7 @@ jobs:
- name: Setup .NET Core SDK
uses: actions/setup-dotnet@v1
with:
- dotnet-version: "5.0.x"
+ dotnet-version: "6.0.x"
source-url: https://nuget.pkg.github.com/graphql-dotnet/index.json
env:
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 79d6bae..9c73f34 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -27,10 +27,10 @@ jobs:
version="${github_ref:10}"
echo version=$version
echo "version=$version" >> $GITHUB_ENV
- - name: Setup .NET Core 5.0 SDK
+ - name: Setup .NET Core SDK
uses: actions/setup-dotnet@v1
with:
- dotnet-version: "5.0.x"
+ dotnet-version: "6.0.x"
source-url: https://api.nuget.org/v3/index.json
env:
NUGET_AUTH_TOKEN: ${{secrets.NUGET_AUTH_TOKEN}}
@@ -53,7 +53,7 @@ jobs:
working-directory: src
run: dotnet nuget push "out/*" -k ${{secrets.NUGET_AUTH_TOKEN}}
- name: Upload Nuget packages as release artifacts
- uses: actions/github-script@v2
+ uses: actions/github-script@v5
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
@@ -64,7 +64,7 @@ jobs:
for (let file of await fs.readdir('src/out')) {
console.log('uploading', file);
- await github.repos.uploadReleaseAsset({
+ await github.rest.repos.uploadReleaseAsset({
owner,
repo,
release_id: ${{ github.event.release.id }},
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8f99326..efbad74 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -34,17 +34,13 @@ jobs:
steps:
- name: Checkout source
uses: actions/checkout@v2
- - name: Setup .NET Core 3.1 SDK
+ - name: Setup .NET Core SDKs
uses: actions/setup-dotnet@v1
with:
- dotnet-version: "3.1.x"
- source-url: https://nuget.pkg.github.com/graphql-dotnet/index.json
- env:
- NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- - name: Setup .NET Core 5.0 SDK
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: "5.0.x"
+ dotnet-version: |
+ 3.1.x
+ 5.0.x
+ 6.0.x
source-url: https://nuget.pkg.github.com/graphql-dotnet/index.json
env:
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -59,8 +55,9 @@ jobs:
working-directory: src
run: |
dotnet tool install -g dotnet-format --version 6.0.243104 --add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
- dotnet format --check --fix-whitespace || (echo "Run 'dotnet format' to fix formatting issues" && exit 1)
- dotnet format --check -v diag --fix-style warn --fix-analyzers warn || (echo "Run 'dotnet format' to fix formatting issues" && exit 1)
+ dotnet format --no-restore --verify-no-changes -v diag --severity warn whitespace || (echo "Run 'dotnet format' to fix whitespace issues" && exit 1)
+ dotnet format --no-restore --verify-no-changes -v diag --severity warn analyzers || (echo "Run 'dotnet format' to fix analyzers issues" && exit 1)
+ dotnet format --no-restore --verify-no-changes -v diag --severity warn style || (echo "Run 'dotnet format' to fix style issues" && exit 1)
- name: Build solution [Release]
working-directory: src
run: dotnet build --no-restore -c Release -p:GraphQLTestVersion=${{ matrix.graphqlversion }}
diff --git a/src/BasicSample/BasicSample.csproj b/src/BasicSample/BasicSample.csproj
index 5d5e067..dac0eb7 100644
--- a/src/BasicSample/BasicSample.csproj
+++ b/src/BasicSample/BasicSample.csproj
@@ -2,7 +2,7 @@
Exe
- net5
+ net6
false
diff --git a/src/BasicSample/Program.cs b/src/BasicSample/Program.cs
index 01ae3f9..b9bb902 100644
--- a/src/BasicSample/Program.cs
+++ b/src/BasicSample/Program.cs
@@ -75,12 +75,12 @@ public class Query
/// Resolver for 'Query.viewer' field.
///
[GraphQLAuthorize("AdminPolicy")]
- public User Viewer() => new User { Id = Guid.NewGuid().ToString(), Name = "Quinn" };
+ public User Viewer() => new() { Id = Guid.NewGuid().ToString(), Name = "Quinn" };
///
/// Resolver for 'Query.users' field.
///
- public List Users() => new List { new User { Id = Guid.NewGuid().ToString(), Name = "Quinn" } };
+ public List Users() => new() { new User { Id = Guid.NewGuid().ToString(), Name = "Quinn" } };
}
///
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index fd898a8..38a732d 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -2,7 +2,7 @@
5.0.0-preview
- 8.0
+ latest
Joe McBride
MIT
logo.64x64.png
@@ -17,14 +17,13 @@
true
true
enable
+ README.md
-
-
-
-
-
-
+
+
+
+
diff --git a/src/GraphQL.Authorization.ApiTests/GraphQL.Authorization.ApiTests.csproj b/src/GraphQL.Authorization.ApiTests/GraphQL.Authorization.ApiTests.csproj
index 817511e..df49e9b 100644
--- a/src/GraphQL.Authorization.ApiTests/GraphQL.Authorization.ApiTests.csproj
+++ b/src/GraphQL.Authorization.ApiTests/GraphQL.Authorization.ApiTests.csproj
@@ -2,7 +2,7 @@
- net5
+ net6
diff --git a/src/GraphQL.Authorization.Tests/AuthorizationValidationRuleTests.cs b/src/GraphQL.Authorization.Tests/AuthorizationValidationRuleTests.cs
index ce731cc..fd42d04 100644
--- a/src/GraphQL.Authorization.Tests/AuthorizationValidationRuleTests.cs
+++ b/src/GraphQL.Authorization.Tests/AuthorizationValidationRuleTests.cs
@@ -148,7 +148,7 @@ public void issue5_with_fragment_should_fail()
{
config.Query = "query a { article { ...frag } } query b { article { ...frag } } fragment frag on Article { content }";
config.Schema = TypedSchema();
- config.ValidateResult = result => result.Errors.Single(x => x.Message == $"You are not authorized to run this query.\nRequired claim 'admin' is not present.");
+ config.ValidateResult = result => _ = result.Errors.Single(x => x.Message == $"You are not authorized to run this query.\nRequired claim 'admin' is not present.");
});
}
diff --git a/src/GraphQL.Authorization.Tests/GraphQL.Authorization.Tests.csproj b/src/GraphQL.Authorization.Tests/GraphQL.Authorization.Tests.csproj
index abc4a6f..00f9752 100644
--- a/src/GraphQL.Authorization.Tests/GraphQL.Authorization.Tests.csproj
+++ b/src/GraphQL.Authorization.Tests/GraphQL.Authorization.Tests.csproj
@@ -2,7 +2,7 @@
- net5;netcoreapp3.1
+ net6;net5;netcoreapp3.1
5.0.0-preview-362
diff --git a/src/GraphQL.Authorization/AuthorizationPolicy.cs b/src/GraphQL.Authorization/AuthorizationPolicy.cs
index 114ae23..a5f29a4 100644
--- a/src/GraphQL.Authorization/AuthorizationPolicy.cs
+++ b/src/GraphQL.Authorization/AuthorizationPolicy.cs
@@ -8,7 +8,7 @@ namespace GraphQL.Authorization
///
public class AuthorizationPolicy : IAuthorizationPolicy
{
- private readonly List _requirements = new List();
+ private readonly List _requirements = new();
///
/// Creates a policy with a set of specified requirements.
diff --git a/src/GraphQL.Authorization/AuthorizationPolicyBuilder.cs b/src/GraphQL.Authorization/AuthorizationPolicyBuilder.cs
index 6c299fd..b0d46ea 100644
--- a/src/GraphQL.Authorization/AuthorizationPolicyBuilder.cs
+++ b/src/GraphQL.Authorization/AuthorizationPolicyBuilder.cs
@@ -9,13 +9,13 @@ namespace GraphQL.Authorization
///
public class AuthorizationPolicyBuilder
{
- private readonly List _requirements = new List();
+ private readonly List _requirements = new();
///
/// Build authorization policy.
///
/// Created policy.
- public AuthorizationPolicy Build() => new AuthorizationPolicy(_requirements);
+ public AuthorizationPolicy Build() => new(_requirements);
///
/// Adds with the specified claim type.
diff --git a/src/GraphQL.Authorization/AuthorizationResult.cs b/src/GraphQL.Authorization/AuthorizationResult.cs
index 96980a9..29b649c 100644
--- a/src/GraphQL.Authorization/AuthorizationResult.cs
+++ b/src/GraphQL.Authorization/AuthorizationResult.cs
@@ -8,7 +8,7 @@ namespace GraphQL.Authorization
public class AuthorizationResult
{
// allocation optimization for green path
- private static readonly AuthorizationResult _success = new AuthorizationResult { Succeeded = true };
+ private static readonly AuthorizationResult _success = new() { Succeeded = true };
///
/// Is the authorization result successful?
@@ -31,6 +31,6 @@ public class AuthorizationResult
///
/// A set of authorization errors.
/// Instance of .
- public static AuthorizationResult Fail(IEnumerable errors) => new AuthorizationResult { Errors = errors };
+ public static AuthorizationResult Fail(IEnumerable errors) => new() { Errors = errors };
}
}
diff --git a/src/GraphQL.Authorization/AuthorizationValidationRule.cs b/src/GraphQL.Authorization/AuthorizationValidationRule.cs
index 741b58f..99698df 100644
--- a/src/GraphQL.Authorization/AuthorizationValidationRule.cs
+++ b/src/GraphQL.Authorization/AuthorizationValidationRule.cs
@@ -126,7 +126,7 @@ void Visit(INode node, int _)
new MatchingNodeVisitor((variableRef, context) =>
{
- if (!(context.TypeInfo.GetArgument()?.ResolvedType?.GetNamedType() is IComplexGraphType variableType))
+ if (context.TypeInfo.GetArgument()?.ResolvedType?.GetNamedType() is not IComplexGraphType variableType || ShouldBeSkipped(actualOperation, context))
return;
CheckAuth(variableRef, variableType, userContext, context, operationType);
diff --git a/src/GraphQL.Authorization/Requirements/AuthenticatedUserRequirement.cs b/src/GraphQL.Authorization/Requirements/AuthenticatedUserRequirement.cs
index 75dffe0..a226adb 100644
--- a/src/GraphQL.Authorization/Requirements/AuthenticatedUserRequirement.cs
+++ b/src/GraphQL.Authorization/Requirements/AuthenticatedUserRequirement.cs
@@ -9,7 +9,7 @@ namespace GraphQL.Authorization
///
public class AuthenticatedUserRequirement : IAuthorizationRequirement
{
- internal static readonly AuthenticatedUserRequirement Instance = new AuthenticatedUserRequirement();
+ internal static readonly AuthenticatedUserRequirement Instance = new();
///
public Task Authorize(AuthorizationContext context)
diff --git a/src/Harness/GraphQL.cs b/src/Harness/GraphQL.cs
index 121fe05..bf1a1ac 100644
--- a/src/Harness/GraphQL.cs
+++ b/src/Harness/GraphQL.cs
@@ -24,12 +24,12 @@ public class Query
/// Resolver for 'Query.viewer' field.
///
[GraphQLAuthorize("AdminPolicy")]
- public User Viewer() => new User { Id = Guid.NewGuid().ToString(), Name = "Quinn" };
+ public User Viewer() => new() { Id = Guid.NewGuid().ToString(), Name = "Quinn" };
///
/// Resolver for 'Query.users' field.
///
- public List Users() => new List { new User { Id = Guid.NewGuid().ToString(), Name = "Quinn" } };
+ public List Users() => new() { new User { Id = Guid.NewGuid().ToString(), Name = "Quinn" } };
}
///
diff --git a/src/Harness/Harness.csproj b/src/Harness/Harness.csproj
index a371bcd..47460da 100644
--- a/src/Harness/Harness.csproj
+++ b/src/Harness/Harness.csproj
@@ -1,7 +1,7 @@
- net5;netcoreapp3.1
+ net6;net5;netcoreapp3.1