diff --git a/Tsi1.Api/Dockerfile b/Tsi1.Api/Dockerfile index bf550e58be847bab3046fae75fe153183bdbda5b..63e9ca89caa1cb56c4311a8ea3b1381f1faf050a 100644 --- a/Tsi1.Api/Dockerfile +++ b/Tsi1.Api/Dockerfile @@ -1,7 +1,7 @@ # https://hub.docker.com/_/microsoft-dotnet-core FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build WORKDIR /app -EXPOSE 443 +EXPOSE 5000 # copy csproj and restore as distinct layers WORKDIR /src diff --git a/Tsi1.Api/Tsi1.Api/Startup.cs b/Tsi1.Api/Tsi1.Api/Startup.cs index b1538d389b232a2eb9250b77de2ca225ad110543..6d81c782a6874fe01d7d13bd1692e974f6e06fcc 100644 --- a/Tsi1.Api/Tsi1.Api/Startup.cs +++ b/Tsi1.Api/Tsi1.Api/Startup.cs @@ -40,10 +40,15 @@ namespace Tsi1.Api { services.AddControllers(); - services.AddDbContext<Tsi1Context>(x => x.UseNpgsql(Configuration.GetConnectionString("PostgreSql"))); + var isElasticCloud = bool.Parse(Configuration.GetSection("IsElasticCloud").Value); + + var postgreSqlSection = isElasticCloud ? "PostgreSqlCloud" : "PostgreSql"; + var mongoDbSection = isElasticCloud ? "Tsi1DatabaseSettingsCloud" : "Tsi1DatabaseSettings"; + + services.AddDbContext<Tsi1Context>(x => x.UseNpgsql(Configuration.GetConnectionString(postgreSqlSection))); services.Configure<Tsi1DatabaseSettings>( - Configuration.GetSection(nameof(Tsi1DatabaseSettings))); + Configuration.GetSection(mongoDbSection)); services.AddSingleton<ITsi1DatabaseSettings>(sp => sp.GetRequiredService<IOptions<Tsi1DatabaseSettings>>().Value); diff --git a/Tsi1.Api/Tsi1.Api/appsettings.json b/Tsi1.Api/Tsi1.Api/appsettings.json index e637ca6e8eb7e6a16d907ad18a2eb348b0fe590c..a12bc5f6e104663e378e9f4150cf6c1483aa187e 100644 --- a/Tsi1.Api/Tsi1.Api/appsettings.json +++ b/Tsi1.Api/Tsi1.Api/appsettings.json @@ -1,16 +1,23 @@ { + "IsElasticCloud": true, "ConnectionStrings": { - "PostgreSql": "Host=localhost;Database=tsi1;Username=postgres;Password=111111" + "PostgreSql": "Host=localhost;Database=tsi1;Username=postgres;Password=111111", + "PostgreSqlCloud": "Host=postgres;Database=tsi1;Username=postgres;Password=postgres" }, "Tsi1DatabaseSettings": { "Tsi1CollectionName": "Messages", "ConnectionString": "mongodb://localhost:27017", "DatabaseName": "Tsi1Db" }, + "Tsi1DatabaseSettingsCloud": { + "Tsi1CollectionName": "Messages", + "ConnectionString": "mongodb://mongo:27017", + "DatabaseName": "Tsi1Db" + }, "jwtTokenConfig": { "secret": "1234567890123456789", - "issuer": "https://localhost:44363", - "audience": "https://localhost:44363", + "issuer": "https://localhost:5000", + "audience": "https://localhost:5000", "accessTokenExpiration": 20, "refreshTokenExpiration": 60 },