diff --git a/Sources/OpenLibraryWrapper/Program.cs b/Sources/OpenLibraryWrapper/Program.cs index bdc5ebe..6ea5437 100644 --- a/Sources/OpenLibraryWrapper/Program.cs +++ b/Sources/OpenLibraryWrapper/Program.cs @@ -9,14 +9,50 @@ using StubbedDTO; var builder = WebApplication.CreateBuilder(args); // Add services to the container. - -builder.Services.AddSingleton(); +builder.Services.AddSingleton(); builder.Services.AddControllers(); + +var dtoManager = Environment.GetEnvironmentVariable("OPEN_LIBRARY"); +var dbDataBase = Environment.GetEnvironmentVariable("MARIADB_DATABASE"); +var dbUser = Environment.GetEnvironmentVariable("MARIADB_USER"); +var dbPassword = Environment.GetEnvironmentVariable("MARIADB_PASSWORD"); +var dbServer = Environment.GetEnvironmentVariable("MARIADB_SERVER"); +var dbConnection = $"server={dbServer};port=3306;user={dbUser};password={dbPassword};database={dbDatabase}"; + +switch (dtoManager) +{ + case "Stub": + builder.Services.AddSingleton(); + break; + case "Api": + builder.Services.AddSingleton(); + break; + case "ApiBdd": + builder.Services.AddSingleton(); + break; + case "Bdd": + builder.Services.AddSingleton(provider => new MyLibraryMgr(dbConnection)); + break; + default: + builder.Services.AddSingleton(); + break; +} + // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); var app = builder.Build(); +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(options => + { + options.SwaggerEndpoint("/swagger/v1/swagger.json", "v1"); + }); +} + app.UseHttpsRedirection(); app.UseAuthorization();