Files
HanaToolbox/Commands/KeyManagerCommand.cs
2026-03-02 20:53:28 +01:00

29 lines
942 B
C#

using HanaToolbox.Cli;
using HanaToolbox.Config;
using HanaToolbox.Logging;
using HanaToolbox.Services;
using HanaToolbox.Tui;
namespace HanaToolbox.Commands;
public static class KeyManagerCommand
{
public static async Task<int> RunAsync(CliArgs cli)
{
var log = new AppLogger(cli.Verbose);
try
{
var config = ConfigService.Load();
var sid = string.IsNullOrWhiteSpace(cli.Sid) ? config.Hana.Sid : cli.Sid;
var runner = ServiceFactory.CreateRunner(log);
var switcher = new SuUserSwitcher(runner);
var locator = new HdbClientLocator(runner);
var keySvc = new KeyManagerService(switcher, locator, log);
var tui = new KeyManagerTui(keySvc, locator, log);
await tui.RunAsync(config.Hana, sid);
return 0;
}
catch (Exception ex) { log.Error(ex.Message); return 1; }
}
}