using Microsoft.Extensions.Logging.Console; using MoonlightServers.Daemon.Helpers; using MoonlightServers.Daemon.ServerSystem; using MoonlightServers.Daemon.ServerSystem.Implementations.Docker; using MoonlightServers.Daemon.ServerSystem.Implementations.Local; using MoonlightServers.Daemon.Services; var builder = WebApplication.CreateBuilder(args); // Configure logging builder.Logging.ClearProviders(); builder.Logging.AddConsole(options => { options.FormatterName = nameof(AppConsoleFormatter); }); builder.Logging.AddConsoleFormatter(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddDockerServices(); builder.Services.AddLocalServices(); builder.Services.AddControllers(); var app = builder.Build(); app.UseAuthorization(); app.MapControllers(); Task.Run(async () => { Console.ReadLine(); try { var serverService = app.Services.GetRequiredService(); await serverService.SyncAsync("a0e3ddb4-2c72-4f4c-bc49-35650a4bc5c0"); await serverService.SyncAsync("a0e3ddb4-2c72-4f4c-bc49-35650a4bc5c0"); var server = await serverService.GetAsync("a0e3ddb4-2c72-4f4c-bc49-35650a4bc5c0"); if(server == null) return; Console.WriteLine($"Server: {server.State}"); if (server.State == ServerState.Offline) await server.StartAsync(); else await server.StopAsync(); Console.ReadLine(); await serverService.DeleteAsync("a0e3ddb4-2c72-4f4c-bc49-35650a4bc5c0"); } catch (Exception e) { Console.WriteLine(e); throw; } }); app.Run();