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 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; } } }