31 lines
883 B
C#
31 lines
883 B
C#
using HanaToolbox.Cli;
|
|
using HanaToolbox.Config;
|
|
using HanaToolbox.Logging;
|
|
using HanaToolbox.Services;
|
|
using HanaToolbox.Tui;
|
|
|
|
namespace HanaToolbox.Commands;
|
|
|
|
public static class FirewallCommand
|
|
{
|
|
public static async Task<int> RunAsync(CliArgs cli)
|
|
{
|
|
var log = new AppLogger(cli.Verbose);
|
|
try
|
|
{
|
|
var config = ConfigService.Load();
|
|
var runner = ServiceFactory.CreateRunner(log);
|
|
var fwService = new FirewallService(runner, log);
|
|
var tui = new FirewallTui(fwService, log);
|
|
var updated = await tui.RunAsync(config.Firewall);
|
|
if (updated != null)
|
|
{
|
|
config.Firewall = updated;
|
|
ConfigService.Save(config);
|
|
}
|
|
return 0;
|
|
}
|
|
catch (Exception ex) { log.Error(ex.Message); return 1; }
|
|
}
|
|
}
|