Refactor console client to new Govor.ConsoleClient project

Removed Govor.Console implementation and introduced a new Govor.ConsoleClient project with a modular command-based architecture. Added dependency injection, command dispatcher, middleware pipeline, logging, and interactive command support. Updated solution and project files to reflect the new structure.
This commit is contained in:
Artemy
2025-07-19 19:08:21 +07:00
parent ff873ae179
commit f524a9f0b7
21 changed files with 410 additions and 268 deletions
@@ -0,0 +1,45 @@
namespace Govor.ConsoleClient.Services;
public class ConsoleLogger : ILogger
{
public void Log(string message)
{
Console.ResetColor();
Console.WriteLine(message);
}
public void Info(string message)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"[INFO] {message}");
Console.ResetColor();
}
public void Warn(string message)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine($"[WARN] {message}");
Console.ResetColor();
}
public void Error(string message)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine($"[ERROR] {message}");
Console.ResetColor();
}
public void Title(string message)
{
var upper = message.ToUpper();
var length = upper.Length + 6;
var border = new string('=', length);
var padded = $"= {upper} =";
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(border);
Console.WriteLine(padded);
Console.WriteLine(border);
Console.ResetColor();
}
}