// ========================================================================== // AppClientsConverter.cs // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex Group // All rights reserved. // ========================================================================== using System.Collections.Generic; using Newtonsoft.Json; using Squidex.Infrastructure.Json; namespace Squidex.Domain.Apps.Core.Apps.Json { public sealed class AppClientsConverter : JsonClassConverter { protected override void WriteValue(JsonWriter writer, AppClients value, JsonSerializer serializer) { var json = new Dictionary(value.Count); foreach (var client in value) { json.Add(client.Key, new JsonAppClient(client.Value)); } serializer.Serialize(writer, json); } protected override AppClients ReadValue(JsonReader reader, JsonSerializer serializer) { var json = serializer.Deserialize>(reader); var clients = new AppClients(); foreach (var client in json) { clients.Add(client.Key, client.Value.ToClient()); } return clients; } } }