diff options
Diffstat (limited to 'OsuFederatedBeatmapApi/Program.cs')
-rw-r--r-- | OsuFederatedBeatmapApi/Program.cs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/OsuFederatedBeatmapApi/Program.cs b/OsuFederatedBeatmapApi/Program.cs new file mode 100644 index 0000000..27175f1 --- /dev/null +++ b/OsuFederatedBeatmapApi/Program.cs @@ -0,0 +1,41 @@ +using LibMatrix.Services; +using LibMatrix.Utilities.Bot; +using OsuFederatedBeatmapApi.Services; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +builder.Services.AddScoped<TieredStorageService>(x => + new TieredStorageService( + cacheStorageProvider: new FileStorageProvider("bot_data/cache/"), + dataStorageProvider: new FileStorageProvider("bot_data/data/") + ) +); + +builder.Services.AddRoryLibMatrixServices(); +builder.Services.AddBot(withCommands: true); + +builder.Services.AddSingleton<FederatedBeatmapApiBotAccountDataService>(); +builder.Services.AddHostedService<FederatedBeatmapApiBot>(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) { + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); |