Reimplemented config in diagnose file and added node data
This commit is contained in:
parent
f18877f9b1
commit
bf6641c151
22
Moonlight/Core/Extensions/ConfigServiceExtensions.cs
Normal file
22
Moonlight/Core/Extensions/ConfigServiceExtensions.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using MoonCore.Services;
|
||||
using Moonlight.Core.Configuration;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Moonlight.Core.Extensions;
|
||||
|
||||
public static class ConfigServiceExtensions
|
||||
{
|
||||
public static string GetDiagnosticJson(this ConfigService<ConfigV1> configService)
|
||||
{
|
||||
var jsonUnsafe = JsonConvert.SerializeObject(configService.Get());
|
||||
var configUnsafe = JsonConvert.DeserializeObject<ConfigV1>(jsonUnsafe)!;
|
||||
|
||||
// Remote sensitive data
|
||||
configUnsafe.Database.Password =
|
||||
string.IsNullOrEmpty(configUnsafe.Database.Password) ? "IS EMPTY" : "IS NOT EMPTY";
|
||||
configUnsafe.Security.Token = string.IsNullOrEmpty(configUnsafe.Security.Token) ? "IS EMPTY" : "IS NOT EMPTY";
|
||||
configUnsafe.MailServer.Password =string.IsNullOrEmpty(configUnsafe.MailServer.Password) ? "IS EMPTY" : "IS NOT EMPTY";
|
||||
|
||||
return JsonConvert.SerializeObject(configUnsafe, Formatting.Indented);
|
||||
}
|
||||
}
|
|
@ -1,11 +1,14 @@
|
|||
using System.IO.Compression;
|
||||
using MoonCore.Abstractions;
|
||||
using MoonCore.Attributes;
|
||||
using MoonCore.Helpers;
|
||||
using MoonCore.Services;
|
||||
using Moonlight.Core.Configuration;
|
||||
using Moonlight.Core.Event;
|
||||
using Moonlight.Core.Extensions;
|
||||
using Moonlight.Features.Servers.Entities;
|
||||
using Moonlight.Features.Theming.Services;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Moonlight.Core.Services;
|
||||
|
||||
|
@ -55,13 +58,22 @@ public class MoonlightService // This service can be used to perform strictly pa
|
|||
|
||||
await zip.AddFromText("log.txt", log);
|
||||
|
||||
// TODO: Add node settings here
|
||||
// Add node config
|
||||
var nodeRepo = scope.ServiceProvider.GetRequiredService<Repository<ServerNode>>();
|
||||
var nodes = nodeRepo.Get().ToArray();
|
||||
|
||||
// TODO: Reimplement as extension here
|
||||
foreach (var node in nodes)
|
||||
{
|
||||
// Remove sensitive data
|
||||
node.Token = string.IsNullOrEmpty(node.Token) ? "IS EMPTY" : "IS NOT EMPTY";
|
||||
}
|
||||
|
||||
var nodesJson = JsonConvert.SerializeObject(nodes, Formatting.Indented);
|
||||
await zip.AddFromText("nodes.json", nodesJson);
|
||||
|
||||
// Add config
|
||||
//var config = ConfigService.GetDiagnoseJson();
|
||||
//await zip.AddFromText("config.json", config);
|
||||
var configJson = ConfigService.GetDiagnosticJson();
|
||||
await zip.AddFromText("config.json", configJson);
|
||||
|
||||
// Make a list of plugins
|
||||
var pluginService = scope.ServiceProvider.GetRequiredService<PluginService>();
|
||||
|
|
Loading…
Reference in a new issue