diff --git a/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj b/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj
index cca01d821..0a4db5cbb 100644
--- a/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj
+++ b/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/LanguagesConfigConverter.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/LanguagesConfigConverter.cs
index a229d5593..d23c98887 100644
--- a/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/LanguagesConfigConverter.cs
+++ b/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(reader);
+ var json = serializer.Deserialize(reader)!;
return json.ToConfig();
}
diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/RolesConverter.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/RolesConverter.cs
index 2f960353d..521469240 100644
--- a/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Json/RolesConverter.cs
+++ b/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>(reader);
+ var json = serializer.Deserialize>(reader)!;
if (json.Count == 0)
{
diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/ContentFieldDataConverter.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/ContentFieldDataConverter.cs
index 2d31c07e6..84eae2fdc 100644
--- a/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/ContentFieldDataConverter.cs
+++ b/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(reader);
+ var value = serializer.Deserialize(reader)!;
if (Language.IsValidLanguage(propertyName) || propertyName == InvariantPartitioning.Key)
{
diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/StatusConverter.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/StatusConverter.cs
index 286b83d12..3524709a3 100644
--- a/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/StatusConverter.cs
+++ b/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(reader)!;
- return new Status(reader.Value.ToString());
+ return new Status(value);
}
public override bool CanConvert(Type objectType)
diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/WorkflowTransitionConverter.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/WorkflowTransitionConverter.cs
index b32e11d92..a0c3e2e4b 100644
--- a/backend/src/Squidex.Domain.Apps.Core.Model/Contents/Json/WorkflowTransitionConverter.cs
+++ b/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(reader);
+ var json = serializer.Deserialize(reader)!;
return json.ToTransition();
}
diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Rules/Json/RuleConverter.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Rules/Json/RuleConverter.cs
index 7ffd04107..18eb78294 100644
--- a/backend/src/Squidex.Domain.Apps.Core.Model/Rules/Json/RuleConverter.cs
+++ b/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(reader).ToRule();
+ return serializer.Deserialize(reader)!.ToRule();
}
}
}
diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/Json/SchemaConverter.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/Json/SchemaConverter.cs
index 8cd129428..71a3470df 100644
--- a/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/Json/SchemaConverter.cs
+++ b/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(reader).ToSchema();
+ return serializer.Deserialize(reader)!.ToSchema();
}
}
}
\ No newline at end of file
diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj
index 35af53605..25ceaa9a7 100644
--- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj
+++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/backend/src/Squidex.Domain.Apps.Entities/Rules/Commands/RuleEditCommand.cs b/backend/src/Squidex.Domain.Apps.Entities/Rules/Commands/RuleEditCommand.cs
index 2a2f8d13f..38e778627 100644
--- a/backend/src/Squidex.Domain.Apps.Entities/Rules/Commands/RuleEditCommand.cs
+++ b/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; }
}
}
diff --git a/backend/src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj b/backend/src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj
index dcc1a80bd..5fc21d637 100644
--- a/backend/src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj
+++ b/backend/src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj
@@ -20,7 +20,7 @@
-
+
diff --git a/backend/src/Squidex.Domain.Users/UserValues.cs b/backend/src/Squidex.Domain.Users/UserValues.cs
index ff6dddfa5..7ab4bf989 100644
--- a/backend/src/Squidex.Domain.Users/UserValues.cs
+++ b/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; }
diff --git a/backend/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbSubscription.cs b/backend/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbSubscription.cs
index 65b0d0965..d4403489c 100644
--- a/backend/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbSubscription.cs
+++ b/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(document.ToString(), store.SerializerSettings);
+ var commit = JsonConvert.DeserializeObject(document.ToString(), store.SerializerSettings)!;
var eventStreamOffset = (int)commit.EventStreamOffset;
diff --git a/backend/src/Squidex.Infrastructure.Azure/Squidex.Infrastructure.Azure.csproj b/backend/src/Squidex.Infrastructure.Azure/Squidex.Infrastructure.Azure.csproj
index 00953e0bb..96e83328c 100644
--- a/backend/src/Squidex.Infrastructure.Azure/Squidex.Infrastructure.Azure.csproj
+++ b/backend/src/Squidex.Infrastructure.Azure/Squidex.Infrastructure.Azure.csproj
@@ -6,8 +6,8 @@
enable
-
-
+
+
diff --git a/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonWriter.cs b/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonWriter.cs
index 22f52e559..88d017ba7 100644
--- a/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonWriter.cs
+++ b/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());
}
diff --git a/backend/src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj b/backend/src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj
index 9a73cc684..8bb96d6c5 100644
--- a/backend/src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj
+++ b/backend/src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/EnvelopeHeadersConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/EnvelopeHeadersConverter.cs
index d4a529395..a056b4f82 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/EnvelopeHeadersConverter.cs
+++ b/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);
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/InstantConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/InstantConverter.cs
index 8b405f652..263a426ce 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/InstantConverter.cs
+++ b/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;
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonClassConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonClassConverter.cs
index 1709db763..1f492e2bc 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonClassConverter.cs
+++ b/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)
{
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonValueConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonValueConverter.cs
index 88231ce51..7630fc3d0 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonValueConverter.cs
+++ b/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)
{
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/LanguageConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/LanguageConverter.cs
index dacf54841..d5496573a 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/LanguageConverter.cs
+++ b/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(reader);
+ var value = serializer.Deserialize(reader)!;
return Language.GetLanguage(value);
}
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedGuidIdConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedGuidIdConverter.cs
index f5f753d79..8e4e29771 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedGuidIdConverter.cs
+++ b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedGuidIdConverter.cs
@@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected override NamedId ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
- var value = serializer.Deserialize(reader);
+ var value = serializer.Deserialize(reader)!;
if (!NamedId.TryParse(value, Guid.TryParse, out var result))
{
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedLongIdConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedLongIdConverter.cs
index 494bce251..99253e9f8 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedLongIdConverter.cs
+++ b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedLongIdConverter.cs
@@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected override NamedId ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
- var value = serializer.Deserialize(reader);
+ var value = serializer.Deserialize(reader)!;
if (!NamedId.TryParse(value, long.TryParse, out var result))
{
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedStringIdConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedStringIdConverter.cs
index 8eba29cfd..e5014a77d 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedStringIdConverter.cs
+++ b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NamedStringIdConverter.cs
@@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
protected override NamedId ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{
- var value = serializer.Deserialize(reader);
+ var value = serializer.Deserialize(reader)!;
if (!NamedId.TryParse(value, ParseString, out var result))
{
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NewtonsoftJsonSerializer.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NewtonsoftJsonSerializer.cs
index 7a02a55a3..5f59b584e 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NewtonsoftJsonSerializer.cs
+++ b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/NewtonsoftJsonSerializer.cs
@@ -20,7 +20,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
{
private readonly Func 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)!;
}
}
}
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/RefTokenConverter.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/RefTokenConverter.cs
index 3017fce97..ddfbd99bf 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/RefTokenConverter.cs
+++ b/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(reader);
+ var value = serializer.Deserialize(reader)!;
if (!RefToken.TryParse(value, out var result))
{
diff --git a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/TypeNameSerializationBinder.cs b/backend/src/Squidex.Infrastructure/Json/Newtonsoft/TypeNameSerializationBinder.cs
index d3dce95b6..0b4fccea3 100644
--- a/backend/src/Squidex.Infrastructure/Json/Newtonsoft/TypeNameSerializationBinder.cs
+++ b/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;
diff --git a/backend/src/Squidex.Infrastructure/Queries/Json/FilterConverter.cs b/backend/src/Squidex.Infrastructure/Queries/Json/FilterConverter.cs
index 6b7337f0e..70a7f35b9 100644
--- a/backend/src/Squidex.Infrastructure/Queries/Json/FilterConverter.cs
+++ b/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>(reader);
+ var filter = serializer.Deserialize>(reader)!;
result = new NegateFilter(filter);
break;
case "and":
- var andFilters = serializer.Deserialize>>(reader);
+ var andFilters = serializer.Deserialize>>(reader)!;
result = new LogicalFilter(LogicalFilterType.And, andFilters);
break;
case "or":
- var orFilters = serializer.Deserialize>>(reader);
+ var orFilters = serializer.Deserialize>>(reader)!;
result = new LogicalFilter(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(reader);
+ var value = serializer.Deserialize(reader)!;
switch (value.ToLowerInvariant())
{
diff --git a/backend/src/Squidex.Infrastructure/Queries/Json/PropertyPathConverter.cs b/backend/src/Squidex.Infrastructure/Queries/Json/PropertyPathConverter.cs
index 5d7979379..dba3b87ed 100644
--- a/backend/src/Squidex.Infrastructure/Queries/Json/PropertyPathConverter.cs
+++ b/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(reader);
+ var value = serializer.Deserialize(reader)!;
return value;
}
diff --git a/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj b/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
index 259d1ff70..c655f3a62 100644
--- a/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
+++ b/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
@@ -9,7 +9,7 @@
True
-
+
@@ -21,7 +21,7 @@
-
+
diff --git a/backend/src/Squidex/Config/Orleans/OrleansServices.cs b/backend/src/Squidex/Config/Orleans/OrleansServices.cs
index dc6a0b135..3d4ea0d51 100644
--- a/backend/src/Squidex/Config/Orleans/OrleansServices.cs
+++ b/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)
diff --git a/backend/src/Squidex/Squidex.csproj b/backend/src/Squidex/Squidex.csproj
index d6b3a5bef..241dc5da1 100644
--- a/backend/src/Squidex/Squidex.csproj
+++ b/backend/src/Squidex/Squidex.csproj
@@ -47,16 +47,16 @@
-
+
-
-
+
+
-
-
+
+
diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj b/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj
index a0012f39f..098b73d00 100644
--- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj
+++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj
index 81e4d6ec5..ed9e8d447 100644
--- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj
+++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj
@@ -20,8 +20,8 @@
-
-
+
+
diff --git a/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj b/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj
index c7ad65860..6eb69bb9d 100644
--- a/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj
+++ b/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/backend/tests/Squidex.Infrastructure.Tests/Json/Newtonsoft/ConverterContractResolverTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Json/Newtonsoft/ConverterContractResolverTests.cs
index a3416165d..305077a71 100644
--- a/backend/tests/Squidex.Infrastructure.Tests/Json/Newtonsoft/ConverterContractResolverTests.cs
+++ b/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>(result, serializerSettings);
+ var output = JsonConvert.DeserializeObject>(result, serializerSettings)!;
Assert.Equal(value, output.Item1);
}
diff --git a/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj b/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
index 9d268d3f0..0aa3172b0 100644
--- a/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
+++ b/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
@@ -23,7 +23,7 @@
-
+
diff --git a/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj b/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj
index eb724ae8c..0b6cb40d5 100644
--- a/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj
+++ b/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/backend/tools/Migrate_00/Migrate_00.csproj b/backend/tools/Migrate_00/Migrate_00.csproj
index bd4b2fa92..6d7abac5d 100644
--- a/backend/tools/Migrate_00/Migrate_00.csproj
+++ b/backend/tools/Migrate_00/Migrate_00.csproj
@@ -6,7 +6,7 @@
enable
-
+