Browse Source

Nullable fix for JSON.NET

pull/442/head
Sebastian 7 years ago
parent
commit
668f2fa65b
  1. 2
      backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj
  2. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/LanguagesConfigConverter.cs
  3. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/RolesConverter.cs
  4. 4
      backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/ContentFieldDataConverter.cs
  5. 13
      backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/StatusConverter.cs
  6. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/WorkflowTransitionConverter.cs
  7. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Rules/Json/RuleConverter.cs
  8. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Schemas/Json/SchemaConverter.cs
  9. 2
      backend/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj
  10. 2
      backend/src/Squidex.Domain.Apps.Entities/Rules/Commands/RuleEditCommand.cs
  11. 2
      backend/src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj
  12. 6
      backend/src/Squidex.Domain.Users/UserValues.cs
  13. 2
      backend/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbSubscription.cs
  14. 4
      backend/src/Squidex.Infrastructure.Azure/Squidex.Infrastructure.Azure.csproj
  15. 37
      backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonWriter.cs
  16. 4
      backend/src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj
  17. 2
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/EnvelopeHeadersConverter.cs
  18. 9
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/InstantConverter.cs
  19. 4
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonClassConverter.cs
  20. 16
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonValueConverter.cs
  21. 2
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/LanguageConverter.cs
  22. 2
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedGuidIdConverter.cs
  23. 2
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedLongIdConverter.cs
  24. 2
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedStringIdConverter.cs
  25. 6
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/NewtonsoftJsonSerializer.cs
  26. 2
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/RefTokenConverter.cs
  27. 4
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/TypeNameSerializationBinder.cs
  28. 10
      backend/src/Squidex.Infrastructure/Queries/Json/FilterConverter.cs
  29. 2
      backend/src/Squidex.Infrastructure/Queries/Json/PropertyPathConverter.cs
  30. 4
      backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
  31. 8
      backend/src/Squidex/Config/Orleans/OrleansServices.cs
  32. 10
      backend/src/Squidex/Squidex.csproj
  33. 2
      backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj
  34. 4
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj
  35. 2
      backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj
  36. 6
      backend/tests/Squidex.Infrastructure.Tests/Json/Newtonsoft/ConverterContractResolverTests.cs
  37. 2
      backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
  38. 2
      backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj
  39. 2
      backend/tools/Migrate_00/Migrate_00.csproj

2
backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj

@ -14,7 +14,7 @@
<PackageReference Include="Elasticsearch.Net" Version="6.8.1" />
<PackageReference Include="Microsoft.Extensions.Http" Version="3.0.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.6.1" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NodaTime" Version="2.4.7" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />

2
backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/LanguagesConfigConverter.cs

@ -22,7 +22,7 @@ namespace Squidex.Domain.Apps.Core.Apps.Json
protected override LanguagesConfig ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var json = serializer.Deserialize<JsonLanguagesConfig>(reader);
var json = serializer.Deserialize<JsonLanguagesConfig>(reader)!;
return json.ToConfig();
}

2
backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/RolesConverter.cs

@ -30,7 +30,7 @@ namespace Squidex.Domain.Apps.Core.Apps.Json
protected override Roles ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var json = serializer.Deserialize<Dictionary<string, string[]>>(reader);
var json = serializer.Deserialize<Dictionary<string, string[]>>(reader)!;
if (json.Count == 0)
{

4
backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/ContentFieldDataConverter.cs

@ -38,14 +38,14 @@ namespace Squidex.Domain.Apps.Core.Contents.Json
switch (reader.TokenType)
{
case JsonToken.PropertyName:
var propertyName = reader.Value.ToString()!;
var propertyName = reader.Value!.ToString()!;
if (!reader.Read())
{
throw new JsonSerializationException("Unexpected end when reading Object.");
}
var value = serializer.Deserialize<IJsonValue>(reader);
var value = serializer.Deserialize<IJsonValue>(reader)!;
if (Language.IsValidLanguage(propertyName) || propertyName == InvariantPartitioning.Key)
{

13
backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/StatusConverter.cs

@ -19,19 +19,16 @@ namespace Squidex.Domain.Apps.Core.Contents.Json
get { yield return typeof(Status); }
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
{
writer.WriteValue(value.ToString());
writer.WriteValue(value!.ToString());
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
public override object ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
{
if (reader.TokenType != JsonToken.String)
{
throw new JsonException($"Expected String, but got {reader.TokenType}.");
}
var value = serializer.Deserialize<string>(reader)!;
return new Status(reader.Value.ToString());
return new Status(value);
}
public override bool CanConvert(Type objectType)

2
backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/WorkflowTransitionConverter.cs

@ -22,7 +22,7 @@ namespace Squidex.Domain.Apps.Core.Contents.Json
protected override WorkflowTransition ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var json = serializer.Deserialize<JsonWorkflowTransition>(reader);
var json = serializer.Deserialize<JsonWorkflowTransition>(reader)!;
return json.ToTransition();
}

2
backend/src/Squidex.Domain.Apps.Core.Model/Rules/Json/RuleConverter.cs

@ -20,7 +20,7 @@ namespace Squidex.Domain.Apps.Core.Rules.Json
protected override Rule ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
return serializer.Deserialize<JsonRule>(reader).ToRule();
return serializer.Deserialize<JsonRule>(reader)!.ToRule();
}
}
}

2
backend/src/Squidex.Domain.Apps.Core.Model/Schemas/Json/SchemaConverter.cs

@ -20,7 +20,7 @@ namespace Squidex.Domain.Apps.Core.Schemas.Json
protected override Schema ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
return serializer.Deserialize<JsonSchemaModel>(reader).ToSchema();
return serializer.Deserialize<JsonSchemaModel>(reader)!.ToSchema();
}
}
}

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj

@ -18,7 +18,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.OData.Core" Version="7.6.1" />
<PackageReference Include="MongoDB.Driver" Version="2.9.2" />
<PackageReference Include="MongoDB.Driver" Version="2.9.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
backend/src/Squidex.Domain.Apps.Entities/Rules/Commands/RuleEditCommand.cs

@ -15,6 +15,6 @@ namespace Squidex.Domain.Apps.Entities.Rules.Commands
public RuleAction Action { get; set; }
public string Name { get; set; }
public string? Name { get; set; }
}
}

2
backend/src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj

@ -20,7 +20,7 @@
<ItemGroup>
<PackageReference Include="IdentityServer4" Version="3.0.2" />
<PackageReference Include="Microsoft.Win32.Registry" Version="4.6.0" />
<PackageReference Include="MongoDB.Driver" Version="2.9.2" />
<PackageReference Include="MongoDB.Driver" Version="2.9.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Security.Principal.Windows" Version="4.6.0" />

6
backend/src/Squidex.Domain.Users/UserValues.cs

@ -15,11 +15,11 @@ namespace Squidex.Domain.Users
{
public sealed class UserValues
{
public string DisplayName { get; set; }
public string? DisplayName { get; set; }
public string PictureUrl { get; set; }
public string? PictureUrl { get; set; }
public string Password { get; set; }
public string? Password { get; set; }
public string Email { get; set; }

2
backend/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbSubscription.cs

@ -119,7 +119,7 @@ namespace Squidex.Infrastructure.EventSourcing
if (regex == null || regex.IsMatch(streamName))
{
var commit = JsonConvert.DeserializeObject<CosmosDbEventCommit>(document.ToString(), store.SerializerSettings);
var commit = JsonConvert.DeserializeObject<CosmosDbEventCommit>(document.ToString(), store.SerializerSettings)!;
var eventStreamOffset = (int)commit.EventStreamOffset;

4
backend/src/Squidex.Infrastructure.Azure/Squidex.Infrastructure.Azure.csproj

@ -6,8 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.DocumentDB.ChangeFeedProcessor" Version="2.2.7" />
<PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="2.8.1" />
<PackageReference Include="Microsoft.Azure.DocumentDB.ChangeFeedProcessor" Version="2.2.8" />
<PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="2.9.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="WindowsAzure.Storage" Version="9.3.3" />

37
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonWriter.cs

@ -63,9 +63,16 @@ namespace Squidex.Infrastructure.MongoDb
bsonWriter.WriteUndefined();
}
public override void WriteValue(string value)
public override void WriteValue(string? value)
{
bsonWriter.WriteString(value);
if (value == null)
{
bsonWriter.WriteNull();
}
else
{
bsonWriter.WriteString(value);
}
}
public override void WriteValue(int value)
@ -150,22 +157,36 @@ namespace Squidex.Infrastructure.MongoDb
}
}
public override void WriteValue(byte[] value)
public override void WriteValue(byte[]? value)
{
bsonWriter.WriteBytes(value);
if (value == null)
{
bsonWriter.WriteNull();
}
else
{
bsonWriter.WriteBytes(value);
}
}
public override void WriteValue(TimeSpan value)
public override void WriteValue(Uri? value)
{
bsonWriter.WriteString(value.ToString());
if (value == null)
{
bsonWriter.WriteNull();
}
else
{
bsonWriter.WriteString(value.ToString());
}
}
public override void WriteValue(Guid value)
public override void WriteValue(TimeSpan value)
{
bsonWriter.WriteString(value.ToString());
}
public override void WriteValue(Uri value)
public override void WriteValue(Guid value)
{
bsonWriter.WriteString(value.ToString());
}

4
backend/src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj

@ -13,8 +13,8 @@
<ProjectReference Include="..\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Driver" Version="2.9.2" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.9.2" />
<PackageReference Include="MongoDB.Driver" Version="2.9.3" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.9.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Threading.Tasks.Dataflow" Version="4.10.0" />

2
backend/src/Squidex.Infrastructure/Json/Newtonsoft/EnvelopeHeadersConverter.cs

@ -20,7 +20,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
get { yield return typeof(EnvelopeHeaders); }
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
public override object ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
{
var result = base.ReadJson(reader, objectType, existingValue, serializer);

9
backend/src/Squidex.Infrastructure/Json/Newtonsoft/InstantConverter.cs

@ -24,7 +24,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
}
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
{
if (value != null)
{
@ -36,8 +36,13 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
}
}
public override object? ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
{
if (reader.Value == null)
{
return null;
}
if (reader.TokenType == JsonToken.String)
{
return InstantPattern.General.Parse(reader.Value.ToString()).Value;

4
backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonClassConverter.cs

@ -18,7 +18,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
get { yield return typeof(T); }
}
public sealed override object? ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
public sealed override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
{
if (reader.TokenType == JsonToken.Null)
{
@ -30,7 +30,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected abstract T ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer);
public sealed override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
public sealed override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
{
if (value == null)
{

16
backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonValueConverter.cs

@ -33,7 +33,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
get { return supportedTypes; }
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
public override object ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
{
return ReadJson(reader);
}
@ -54,7 +54,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
switch (reader.TokenType)
{
case JsonToken.PropertyName:
var propertyName = reader.Value.ToString()!;
var propertyName = reader.Value!.ToString()!;
if (!reader.Read())
{
@ -97,15 +97,15 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
}
case JsonToken.Integer:
return JsonValue.Create((long)reader.Value);
return JsonValue.Create((long)reader.Value!);
case JsonToken.Float:
return JsonValue.Create((double)reader.Value);
return JsonValue.Create((double)reader.Value!);
case JsonToken.Boolean:
return JsonValue.Create((bool)reader.Value);
return JsonValue.Create((bool)reader.Value!);
case JsonToken.Date:
return JsonValue.Create(((DateTime)reader.Value).ToString("yyyy-MM-ddTHH:mm:ssK", CultureInfo.InvariantCulture));
return JsonValue.Create(((DateTime)reader.Value!).ToString("yyyy-MM-ddTHH:mm:ssK", CultureInfo.InvariantCulture));
case JsonToken.String:
return JsonValue.Create(reader.Value.ToString());
return JsonValue.Create(reader.Value!.ToString());
case JsonToken.Null:
case JsonToken.Undefined:
return JsonValue.Null;
@ -114,7 +114,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
throw new NotSupportedException();
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
{
if (value == null)
{

2
backend/src/Squidex.Infrastructure/Json/Newtonsoft/LanguageConverter.cs

@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected override Language ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var value = serializer.Deserialize<string>(reader);
var value = serializer.Deserialize<string>(reader)!;
return Language.GetLanguage(value);
}

2
backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedGuidIdConverter.cs

@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected override NamedId<Guid> ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var value = serializer.Deserialize<string>(reader);
var value = serializer.Deserialize<string>(reader)!;
if (!NamedId<Guid>.TryParse(value, Guid.TryParse, out var result))
{

2
backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedLongIdConverter.cs

@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected override NamedId<long> ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var value = serializer.Deserialize<string>(reader);
var value = serializer.Deserialize<string>(reader)!;
if (!NamedId<long>.TryParse(value, long.TryParse, out var result))
{

2
backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedStringIdConverter.cs

@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected override NamedId<string> ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var value = serializer.Deserialize<string>(reader);
var value = serializer.Deserialize<string>(reader)!;
if (!NamedId<string>.TryParse(value, ParseString, out var result))
{

6
backend/src/Squidex.Infrastructure/Json/Newtonsoft/NewtonsoftJsonSerializer.cs

@ -20,7 +20,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
{
private readonly Func<string, string> stringConverter;
public override object Value
public override object? Value
{
get
{
@ -74,7 +74,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
using (var reader = GetReader(stringConverter, textReader))
{
return (T)serializer.Deserialize(reader, actualType);
return (T)serializer.Deserialize(reader, actualType)!;
}
}
}
@ -87,7 +87,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
using (var reader = GetReader(stringConverter, textReader))
{
return (T)serializer.Deserialize(reader, actualType);
return (T)serializer.Deserialize(reader, actualType)!;
}
}
}

2
backend/src/Squidex.Infrastructure/Json/Newtonsoft/RefTokenConverter.cs

@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected override RefToken ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var value = serializer.Deserialize<string>(reader);
var value = serializer.Deserialize<string>(reader)!;
if (!RefToken.TryParse(value, out var result))
{

4
backend/src/Squidex.Infrastructure/Json/Newtonsoft/TypeNameSerializationBinder.cs

@ -22,14 +22,14 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
this.typeNameRegistry = typeNameRegistry;
}
public override Type BindToType(string assemblyName, string typeName)
public override Type BindToType(string? assemblyName, string typeName)
{
var type = typeNameRegistry.GetTypeOrNull(typeName);
return type ?? base.BindToType(assemblyName, typeName);
}
public override void BindToName(Type serializedType, out string? assemblyName, out string typeName)
public override void BindToName(Type serializedType, out string? assemblyName, out string? typeName)
{
assemblyName = null;

10
backend/src/Squidex.Infrastructure/Queries/Json/FilterConverter.cs

@ -53,7 +53,7 @@ namespace Squidex.Infrastructure.Queries.Json
switch (reader.TokenType)
{
case JsonToken.PropertyName:
var propertyName = reader.Value.ToString()!;
var propertyName = reader.Value!.ToString()!;
if (!reader.Read())
{
@ -68,17 +68,17 @@ namespace Squidex.Infrastructure.Queries.Json
switch (propertyName.ToLowerInvariant())
{
case "not":
var filter = serializer.Deserialize<FilterNode<IJsonValue>>(reader);
var filter = serializer.Deserialize<FilterNode<IJsonValue>>(reader)!;
result = new NegateFilter<IJsonValue>(filter);
break;
case "and":
var andFilters = serializer.Deserialize<List<FilterNode<IJsonValue>>>(reader);
var andFilters = serializer.Deserialize<List<FilterNode<IJsonValue>>>(reader)!;
result = new LogicalFilter<IJsonValue>(LogicalFilterType.And, andFilters);
break;
case "or":
var orFilters = serializer.Deserialize<List<FilterNode<IJsonValue>>>(reader);
var orFilters = serializer.Deserialize<List<FilterNode<IJsonValue>>>(reader)!;
result = new LogicalFilter<IJsonValue>(LogicalFilterType.Or, orFilters);
break;
@ -126,7 +126,7 @@ namespace Squidex.Infrastructure.Queries.Json
private static CompareOperator ReadOperator(JsonReader reader, JsonSerializer serializer)
{
var value = serializer.Deserialize<string>(reader);
var value = serializer.Deserialize<string>(reader)!;
switch (value.ToLowerInvariant())
{

2
backend/src/Squidex.Infrastructure/Queries/Json/PropertyPathConverter.cs

@ -16,7 +16,7 @@ namespace Squidex.Infrastructure.Queries.Json
{
protected override PropertyPath ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
var value = serializer.Deserialize<string>(reader);
var value = serializer.Deserialize<string>(reader)!;
return value;
}

4
backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj

@ -9,7 +9,7 @@
<DebugSymbols>True</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FluentFTP" Version="28.0.0" />
<PackageReference Include="FluentFTP" Version="28.0.1" />
<PackageReference Include="McMaster.NETCore.Plugins" Version="0.3.1" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.0.0" />
@ -21,7 +21,7 @@
</PackageReference>
<PackageReference Include="Microsoft.Orleans.Core" Version="3.0.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="3.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NJsonSchema" Version="10.0.27" />
<PackageReference Include="NodaTime" Version="2.4.7" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />

8
backend/src/Squidex/Config/Orleans/OrleansServices.cs

@ -84,6 +84,8 @@ namespace Squidex.Config.Orleans
builder.UseMongoDBClustering(options =>
{
options.Strategy = MongoDBMembershipStrategy.SingleDocument;
options.Configure(config);
});
},
@ -107,13 +109,9 @@ namespace Squidex.Config.Orleans
private static void Configure(this MongoDBOptions options, IConfiguration config)
{
var mongoConfiguration = config.GetRequiredValue("store:mongoDb:configuration");
var mongoDatabaseName = config.GetRequiredValue("store:mongoDb:database");
options.ConnectionString = mongoConfiguration;
options.CollectionPrefix = "Orleans_";
options.DatabaseName = mongoDatabaseName;
options.DatabaseName = config.GetRequiredValue("store:mongoDb:database");
}
private static void Configure(this ClusterOptions options)

10
backend/src/Squidex/Squidex.csproj

@ -47,16 +47,16 @@
<PackageReference Include="Microsoft.Orleans.Core" Version="3.0.0" />
<PackageReference Include="Microsoft.Orleans.Core.Abstractions" Version="3.0.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="3.0.0" />
<PackageReference Include="MongoDB.Driver" Version="2.9.2" />
<PackageReference Include="MongoDB.Driver" Version="2.9.3" />
<PackageReference Include="Namotion.Reflection" Version="1.0.7" />
<PackageReference Include="NJsonSchema" Version="10.0.27" />
<PackageReference Include="NSwag.AspNetCore" Version="13.1.3" />
<PackageReference Include="OpenCover" Version="4.7.922" PrivateAssets="all" />
<PackageReference Include="Orleans.Providers.MongoDB" Version="3.0.0" />
<PackageReference Include="OrleansDashboard" Version="3.0.3" />
<PackageReference Include="Orleans.Providers.MongoDB" Version="3.1.0" />
<PackageReference Include="OrleansDashboard" Version="3.0.4" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="ReportGenerator" Version="4.3.2" PrivateAssets="all" />
<PackageReference Include="Squidex.ClientLibrary" Version="3.12.0" />
<PackageReference Include="ReportGenerator" Version="4.3.6" PrivateAssets="all" />
<PackageReference Include="Squidex.ClientLibrary" Version="3.15.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Linq" Version="4.3.0" />
<PackageReference Include="System.Runtime" Version="4.3.1" />

2
backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj

@ -14,7 +14,7 @@
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="5.4.0" />
<PackageReference Include="FluentAssertions" Version="5.9.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

4
backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj

@ -20,8 +20,8 @@
<PackageReference Include="FakeItEasy" Version="5.4.0" />
<PackageReference Include="FluentAssertions" Version="5.9.0" />
<PackageReference Include="GraphQL" Version="2.4.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" />
<PackageReference Include="MongoDB.Driver" Version="2.9.2" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="MongoDB.Driver" Version="2.9.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj

@ -15,7 +15,7 @@
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="5.4.0" />
<PackageReference Include="FluentAssertions" Version="5.9.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

6
backend/tests/Squidex.Infrastructure.Tests/Json/Newtonsoft/ConverterContractResolverTests.cs

@ -24,12 +24,12 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
public sealed class TodayConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
{
writer.WriteValue("TODAY");
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
public override object ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
{
throw new NotSupportedException();
}
@ -68,7 +68,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
serializerSettings.Converters.Add(new TodayConverter());
var result = JsonConvert.SerializeObject(Tuple.Create(value), serializerSettings);
var output = JsonConvert.DeserializeObject<Tuple<Instant>>(result, serializerSettings);
var output = JsonConvert.DeserializeObject<Tuple<Instant>>(result, serializerSettings)!;
Assert.Equal(value, output.Item1);
}

2
backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj

@ -23,7 +23,7 @@
<PackageReference Include="Google.Cloud.Storage.V1" Version="2.3.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="3.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj

@ -14,7 +14,7 @@
<PackageReference Include="FakeItEasy" Version="5.4.0" />
<PackageReference Include="IdentityServer4" Version="3.0.2" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="3.0.2" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="NJsonSchema" Version="10.0.27" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />

2
backend/tools/Migrate_00/Migrate_00.csproj

@ -6,7 +6,7 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Driver" Version="2.9.2" />
<PackageReference Include="MongoDB.Driver" Version="2.9.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
</ItemGroup>

Loading…
Cancel
Save