2021-08-27 11:03:47 -04:00
|
|
|
using System.Text.Json;
|
2020-12-22 13:15:26 +01:00
|
|
|
using System.Text.Json.Serialization;
|
|
|
|
|
2021-11-26 21:10:56 -05:00
|
|
|
namespace Myriad.Serialization;
|
|
|
|
|
|
|
|
public static class JsonSerializerOptionsExtensions
|
2020-12-22 13:15:26 +01:00
|
|
|
{
|
2021-11-26 21:10:56 -05:00
|
|
|
public static JsonSerializerOptions ConfigureForMyriad(this JsonSerializerOptions opts)
|
2020-12-22 13:15:26 +01:00
|
|
|
{
|
2021-11-26 21:10:56 -05:00
|
|
|
opts.PropertyNamingPolicy = new JsonSnakeCaseNamingPolicy();
|
|
|
|
opts.NumberHandling = JsonNumberHandling.AllowReadingFromString;
|
|
|
|
opts.IncludeFields = true;
|
2020-12-22 13:15:26 +01:00
|
|
|
|
2021-11-26 21:10:56 -05:00
|
|
|
opts.Converters.Add(new PermissionSetJsonConverter());
|
|
|
|
opts.Converters.Add(new ShardInfoJsonConverter());
|
|
|
|
opts.Converters.Add(new OptionalConverterFactory());
|
2020-12-22 13:15:26 +01:00
|
|
|
|
2021-11-26 21:10:56 -05:00
|
|
|
return opts;
|
2020-12-22 13:15:26 +01:00
|
|
|
}
|
|
|
|
}
|