29 lines
942 B
C#
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; }
|
|
}
|
|
}
|