feat: import/export settings, send backup of settings when leaving guild
This commit is contained in:
parent
e6d68338db
commit
db5d7bb4f8
18 changed files with 392 additions and 39 deletions
27
Catalogger.Backend/JsonUtils.cs
Normal file
27
Catalogger.Backend/JsonUtils.cs
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using NodaTime;
|
||||
using NodaTime.Serialization.SystemTextJson;
|
||||
using NodaTime.Text;
|
||||
|
||||
namespace Catalogger.Backend;
|
||||
|
||||
public static class JsonUtils
|
||||
{
|
||||
public static readonly NodaJsonSettings NodaTimeSettings = new NodaJsonSettings
|
||||
{
|
||||
InstantConverter = new NodaPatternConverter<Instant>(InstantPattern.ExtendedIso),
|
||||
};
|
||||
|
||||
public static readonly JsonSerializerOptions BaseJsonOptions = new JsonSerializerOptions
|
||||
{
|
||||
NumberHandling = JsonNumberHandling.AllowReadingFromString,
|
||||
}.ConfigureForNodaTime(NodaTimeSettings);
|
||||
|
||||
public static readonly JsonSerializerOptions ApiJsonOptions = new JsonSerializerOptions
|
||||
{
|
||||
NumberHandling =
|
||||
JsonNumberHandling.WriteAsString | JsonNumberHandling.AllowReadingFromString,
|
||||
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower,
|
||||
}.ConfigureForNodaTime(NodaTimeSettings);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue