admin api packaging

This commit is contained in:
Rory&
2025-12-14 23:18:35 +01:00
parent a4527d166a
commit 4534d4dbf5
124 changed files with 2250 additions and 268 deletions
+43
View File
@@ -0,0 +1,43 @@
using System.Text.Json.Nodes;
using Spacebar.ConfigModel.Extensions;
using Spacebar.Db.Contexts;
namespace ConfigTest;
public class Worker(ILogger<Worker> logger, SpacebarDbContext db) : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
var config = db.Configs
.OrderBy(x => x.Key)
.ToDictionary(x => x.Key, x => x.Value);
foreach (var (key, value) in config)
{
Console.WriteLine("Config Key: {0}, Value: {1}", key, value ?? "[NULL]");
}
var readConfig = config.ToNestedJsonObject();
Console.WriteLine(readConfig);
var mapped = readConfig.ToFlatKv();
foreach (var (key, value) in mapped)
{
Console.WriteLine("Mapped Key: {0}, Value: {1}", key, value ?? "[NULL]");
}
// check that they're equal
foreach (var (key, value) in config)
{
if (!mapped.ContainsKey(key))
{
Console.WriteLine("Missing Key in Mapped: {0}", key);
continue;
}
if (mapped[key] != value)
{
Console.WriteLine("Value Mismatch for Key: {0}, Original: {1}, Mapped: {2}", key, value ?? "[NULL]", mapped[key] ?? "[NULL]");
}
}
Environment.Exit(0);
}
}