[backend/federation] Make sure DateTime objects are being converted to Utc when (de)serializing activities

This commit is contained in:
Laura Hausmann 2024-06-26 16:18:54 +02:00
parent 8d158cc7b9
commit 2858f66ad4
No known key found for this signature in database
GPG key ID: D044E84C5BE01605
3 changed files with 13 additions and 2 deletions

View file

@ -40,6 +40,16 @@ public static class MvcBuilderExtensions
return builder;
}
public static IMvcBuilder ConfigureNewtonsoftJson(this IMvcBuilder builder)
{
Newtonsoft.Json.JsonConvert.DefaultSettings = () => new Newtonsoft.Json.JsonSerializerSettings
{
DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc
};
return builder;
}
public static IMvcBuilder AddModelBindingProviders(this IMvcBuilder builder)
{
builder.Services.AddOptions<MvcOptions>()

View file

@ -56,12 +56,12 @@ public static class LdHelpers
public static readonly JsonSerializerSettings JsonSerializerSettings = new()
{
NullValueHandling = NullValueHandling.Ignore, DateTimeZoneHandling = DateTimeZoneHandling.Local
NullValueHandling = NullValueHandling.Ignore, DateTimeZoneHandling = DateTimeZoneHandling.Utc
};
private static readonly JsonSerializer JsonSerializer = new()
{
NullValueHandling = NullValueHandling.Ignore, DateTimeZoneHandling = DateTimeZoneHandling.Local
NullValueHandling = NullValueHandling.Ignore, DateTimeZoneHandling = DateTimeZoneHandling.Utc
};
private static IEnumerable<string> ASForceArray => ["tag", "attachment", "to", "cc", "bcc", "bto"];

View file

@ -12,6 +12,7 @@ builder.Configuration.AddCustomConfiguration();
builder.Services.AddControllers()
.AddNewtonsoftJson() //TODO: remove once dotNetRdf switches to System.Text.Json (or we switch to LinkedData.NET)
.ConfigureNewtonsoftJson()
.AddMultiFormatter()
.AddModelBindingProviders()
.AddValueProviderFactories()