using DysonNetwork.Shared.Auth; using DysonNetwork.Shared.Networking; using DysonNetwork.Shared.Registry; using DysonNetwork.Wallet; using DysonNetwork.Wallet.Startup; using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); builder.AddServiceDefaults(); // Configure Kestrel and server options builder.ConfigureAppKestrel(builder.Configuration); // Add application services builder.Services.AddAppServices(builder.Configuration); builder.Services.AddDysonAuth(); builder.Services.AddRingService(); builder.Services.AddDriveService(); builder.Services.AddDevelopService(); builder.Services.AddAppFlushHandlers(); builder.Services.AddAppBusinessServices(builder.Configuration); builder.Services.AddAppScheduledJobs(); builder.AddSwaggerManifest( "DysonNetwork.Wallet", "The payment service of the Solar Network." ); var app = builder.Build(); app.MapDefaultEndpoints(); // Run database migrations using (var scope = app.Services.CreateScope()) { var db = scope.ServiceProvider.GetRequiredService(); await db.Database.MigrateAsync(); } // Configure application middleware pipeline app.ConfigureAppMiddleware(builder.Configuration); // Configure gRPC app.ConfigureGrpcServices(); app.UseSwaggerManifest("DysonNetwork.Wallet"); app.Run();