Skip to content

Commit 2e39409

Browse files
committed
changes after code review
1 parent 05449a7 commit 2e39409

File tree

16 files changed

+59
-33
lines changed

16 files changed

+59
-33
lines changed

samples/Endpoint_SecuredUrl/Startup.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
6060
var id = c.Request.RouteValues.GetValueOrDefault("id");
6161

6262
BewitToken<string> token =
63-
await generator.GenerateBewitTokenAsync($"/download/{id}", default);
63+
await generator.GenerateBewitTokenAsync($"/download/{id}",
64+
new Dictionary<string, object>(), default);
6465

6566
string html = @$"<html><a href=""/download/{id}?bewit={token}"">download</a>
6667
<br>{(string)token}</html>";

samples/HotChocolate_SecuredArgument/Types/Mutation.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Collections.Generic;
12
using System.Threading;
23
using System.Threading.Tasks;
34
using Bewit.Generation;
@@ -29,14 +30,18 @@ public async Task<string> InvalidateBewitTokens(
2930
public async Task<string> CreateBewitToken(string value)
3031
{
3132
return (await _fooPayloadGenerator
32-
.GenerateBewitTokenAsync(new FooPayload {Value = value}, default))
33+
.GenerateBewitTokenAsync(
34+
new FooPayload {Value = value},
35+
new Dictionary<string, object>(),
36+
default))
3337
.ToString();
3438
}
3539

3640
public async Task<string> CreateIdentifiableBewitToken(string identifier)
3741
{
3842
return (await _barPayloadGenerator
39-
.GenerateIdentifiableBewitTokenAsync(new BarPayload(), identifier, default))
43+
.GenerateIdentifiableBewitTokenAsync(
44+
new BarPayload(), identifier, new Dictionary<string, object>(), default))
4045
.ToString();
4146
}
4247
}

src/Core/Token.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ protected Token(string nonce, DateTime expirationDate)
2727
public bool? IsDeleted { get; set; } = false;
2828

2929
[JsonIgnore]
30-
public Dictionary<string, string> ExtraProperties { get; set; }
30+
public Dictionary<string, object> ExtraProperties { get; set; }
3131

3232
public static Token Create(string nonce, DateTime expirationDate)
3333
{

src/Extensions.HotChocolate/Generation/BewitMiddleware.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public async Task InvokeAsync(
2424
{
2525
BewitToken<TPayload> bewit
2626
= await tokenGenerator.GenerateBewitTokenAsync(
27-
result, context.RequestAborted, context.GetBewitTokenExtraProperties());
27+
result, context.GetBewitTokenExtraProperties(), context.RequestAborted);
2828

2929
context.Result = (string)bewit;
3030
}

src/Extensions.HotChocolate/Generation/BewitTokenExtraPropertiesHelper.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public static class BewitTokenExtraPropertiesHelper
1010
private const string ExtraPropertyPrefix = "BewitTokenExtraProperty:";
1111

1212
public static void AddBewitTokenExtraProperties(
13-
this IResolverContext resolverContext, Dictionary<string, string> extraProperties)
13+
this IResolverContext resolverContext, Dictionary<string, object> extraProperties)
1414
{
1515
if (extraProperties == null)
1616
{
@@ -21,12 +21,12 @@ public static void AddBewitTokenExtraProperties(
2121
resolverContext.ScopedContextData.SetItems(
2222
extraProperties.ToDictionary(
2323
ctx => $"{ExtraPropertyPrefix}{ctx.Key}",
24-
ctx => (object)ctx.Value));
24+
ctx => ctx.Value));
2525
}
2626

27-
public static Dictionary<string, string> GetBewitTokenExtraProperties(this IMiddlewareContext context)
27+
public static Dictionary<string, object> GetBewitTokenExtraProperties(this IMiddlewareContext context)
2828
{
29-
Dictionary<string, string> extraProperties = new Dictionary<string, string>();
29+
Dictionary<string, object> extraProperties = new Dictionary<string, object>();
3030

3131
foreach (var key in context.ScopedContextData.Keys)
3232
{
@@ -41,7 +41,7 @@ public static Dictionary<string, string> GetBewitTokenExtraProperties(this IMidd
4141
{
4242
extraProperties.Add(
4343
key.Substring(ExtraPropertyPrefix.Length),
44-
extraPropertyValue.ToString());
44+
extraPropertyValue);
4545
}
4646
}
4747

src/Extensions.HotChocolate/Generation/BewitUrlMiddleware.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public async Task InvokeAsync(
2929

3030
BewitToken<string> bewit =
3131
await tokenGenerator.GenerateBewitTokenAsync(
32-
uri.PathAndQuery, context.RequestAborted, context.GetBewitTokenExtraProperties());
32+
uri.PathAndQuery, context.GetBewitTokenExtraProperties(), context.RequestAborted);
3333

3434
var parametersToAdd = new Dictionary<string, string>
3535
{

src/Generation/BewitTokenGenerator.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ public BewitTokenGenerator(
4444

4545
public Task<BewitToken<T>> GenerateBewitTokenAsync(
4646
T payload,
47-
CancellationToken cancellationToken,
48-
Dictionary<string, string> extraProperties = null)
47+
Dictionary<string, object> extraProperties,
48+
CancellationToken cancellationToken
49+
)
4950
{
5051
var token = Token.Create(CreateNextToken(), CreateExpirationDate());
5152
token.ExtraProperties = extraProperties;
@@ -56,8 +57,8 @@ public Task<BewitToken<T>> GenerateBewitTokenAsync(
5657
public Task<BewitToken<T>> GenerateIdentifiableBewitTokenAsync(
5758
T payload,
5859
string identifier,
59-
CancellationToken cancellationToken,
60-
Dictionary<string, string> extraProperties = null)
60+
Dictionary<string, object> extraProperties,
61+
CancellationToken cancellationToken)
6162
{
6263
var token = new IdentifiableToken(identifier, CreateNextToken(), CreateExpirationDate());
6364
token.ExtraProperties = extraProperties;

src/Generation/IBewitTokenGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public interface IBewitTokenGenerator<T>
88
{
99
Task<BewitToken<T>> GenerateBewitTokenAsync(
1010
T payload,
11-
CancellationToken cancellationToken,
12-
Dictionary<string, string> extraProperties = null);
11+
Dictionary<string, object> extraProperties,
12+
CancellationToken cancellationToken);
1313
}
1414
}

src/Generation/IIdentifiableBewitTokenGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ public interface IIdentifiableBewitTokenGenerator<T>
99
Task<BewitToken<T>> GenerateIdentifiableBewitTokenAsync(
1010
T payload,
1111
string identifier,
12-
CancellationToken cancellationToken,
13-
Dictionary<string, string> extraProperties = null);
12+
Dictionary<string, object> extraProperties,
13+
CancellationToken cancellationToken);
1414

1515
Task InvalidateIdentifier(
1616
string identifier,

src/Storage.MongoDB/MongoNonceRepository.cs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,6 @@ public MongoNonceRepository(IMongoDatabase database, MongoNonceOptions options)
4242
_collection.Indexes.CreateOne(new CreateIndexModel<Token>(
4343
Builders<Token>.IndexKeys.Ascending(nameof(IdentifiableToken.Identifier))));
4444

45-
_collection.Indexes.CreateOne(new CreateIndexModel<Token>(
46-
Builders<Token>.IndexKeys.Combine(
47-
Builders<Token>.IndexKeys.Ascending(nameof(Token.Nonce)),
48-
Builders<Token>.IndexKeys.Ascending(nameof(Token.IsDeleted)))));
49-
5045
_collection.Indexes.CreateOne(new CreateIndexModel<Token>(
5146
Builders<Token>.IndexKeys.Ascending(nameof(Token.ExpirationDate)),
5247
new CreateIndexOptions
@@ -58,16 +53,19 @@ public MongoNonceRepository(IMongoDatabase database, MongoNonceOptions options)
5853
public async ValueTask InsertOneAsync(
5954
Token token, CancellationToken cancellationToken)
6055
{
56+
await _collection.InsertOneAsync(token, cancellationToken: cancellationToken);
57+
6158
if (token.ExtraProperties != null)
6259
{
63-
foreach (KeyValuePair<string, string> searchAttribute in token.ExtraProperties)
60+
var indexOptions = new CreateIndexOptions { Background = true };
61+
62+
foreach (KeyValuePair<string, object> extraProperty in token.ExtraProperties)
6463
{
6564
_collection.Indexes.CreateOne(new CreateIndexModel<Token>(
66-
Builders<Token>.IndexKeys.Ascending($"{nameof(token.ExtraProperties)}.{searchAttribute.Key}")));
65+
Builders<Token>.IndexKeys.Ascending(
66+
$"{nameof(token.ExtraProperties)}.{extraProperty.Key}"), indexOptions));
6767
}
6868
}
69-
70-
await _collection.InsertOneAsync(token, cancellationToken: cancellationToken);
7169
}
7270

7371
public async ValueTask<Token?> TakeOneAsync(

0 commit comments

Comments
 (0)