From e8c2fffe50e06298160fb7739faff528112fda1f Mon Sep 17 00:00:00 2001 From: Yurii Demyan Date: Sun, 10 May 2026 14:17:00 +0300 Subject: [PATCH 1/3] enable server certificate vaildation #9 --- Streetcode/Streetcode.WebApi/Utils/WebParsingUtils.cs | 2 -- Streetcode/Streetcode.WebApi/appsettings.IntegrationTests.json | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Streetcode/Streetcode.WebApi/Utils/WebParsingUtils.cs b/Streetcode/Streetcode.WebApi/Utils/WebParsingUtils.cs index 5cab9e3..f1068cb 100644 --- a/Streetcode/Streetcode.WebApi/Utils/WebParsingUtils.cs +++ b/Streetcode/Streetcode.WebApi/Utils/WebParsingUtils.cs @@ -57,8 +57,6 @@ public static async Task DownloadAndExtractAsync( var clientHandler = new HttpClientHandler(); clientHandler.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; - clientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true; - var retryPolicy = Policy.Handle().WaitAndRetryAsync( 3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt))); diff --git a/Streetcode/Streetcode.WebApi/appsettings.IntegrationTests.json b/Streetcode/Streetcode.WebApi/appsettings.IntegrationTests.json index 53cd46a..250af3c 100644 --- a/Streetcode/Streetcode.WebApi/appsettings.IntegrationTests.json +++ b/Streetcode/Streetcode.WebApi/appsettings.IntegrationTests.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=DESKTOP-I7Q35NQ\\SQLEXPRESS;Database=StreetcodeDbtest;User Id=sa;Password=Admin@1234;MultipleActiveResultSets=true;TrustServerCertificate=true" + "DefaultConnection": "Server=DESKTOP-I7Q35NQ\\SQLEXPRESS;Database=StreetcodeDbtest;User Id=sa;Password=Admin@1234;MultipleActiveResultSets=true;TrustServerCertificate=false" }, "Blob": { "BlobStoreKey": "BigThirtyTwoBiteCoolTestKeyCrypt", From 5a1a6b745152e4b4ef3c6f7e2329bf0683686083 Mon Sep 17 00:00:00 2001 From: Yurii Demyan Date: Mon, 11 May 2026 13:31:23 +0300 Subject: [PATCH 2/3] feat: setup docker-compose and upgrade project to .NET 9.0 --- Streetcode/Streetcode.WebApi/Dockerfile | 9 +++++++ .../Streetcode.WebApi.csproj | 2 +- .../Streetcode.WebApi/appsettings.Local.json | 2 +- Streetcode/Streetcode.sln | 1 + Streetcode/docker-compose.yml | 25 +++++++++++++++++++ 5 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 Streetcode/Streetcode.WebApi/Dockerfile create mode 100644 Streetcode/docker-compose.yml diff --git a/Streetcode/Streetcode.WebApi/Dockerfile b/Streetcode/Streetcode.WebApi/Dockerfile new file mode 100644 index 0000000..b89e1f7 --- /dev/null +++ b/Streetcode/Streetcode.WebApi/Dockerfile @@ -0,0 +1,9 @@ +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +WORKDIR /src +COPY . . +RUN dotnet publish "Streetcode.WebApi/Streetcode.WebApi.csproj" -c Release -o /app/publish + +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final +WORKDIR /app +COPY --from=build /app/publish . +ENTRYPOINT ["dotnet", "Streetcode.WebApi.dll"] \ No newline at end of file diff --git a/Streetcode/Streetcode.WebApi/Streetcode.WebApi.csproj b/Streetcode/Streetcode.WebApi/Streetcode.WebApi.csproj index c34a503..1a49d20 100644 --- a/Streetcode/Streetcode.WebApi/Streetcode.WebApi.csproj +++ b/Streetcode/Streetcode.WebApi/Streetcode.WebApi.csproj @@ -1,7 +1,7 @@  - net6.0 + net9.0 enable enable c74223ed-c414-48c4-9b8f-3529e95faa61 diff --git a/Streetcode/Streetcode.WebApi/appsettings.Local.json b/Streetcode/Streetcode.WebApi/appsettings.Local.json index 14b4447..036a9a3 100644 --- a/Streetcode/Streetcode.WebApi/appsettings.Local.json +++ b/Streetcode/Streetcode.WebApi/appsettings.Local.json @@ -3,7 +3,7 @@ "DefaultConnection": "Server=127.0.0.1;Database=StreetcodeDb;User Id=sa;Password=Admin@1234;MultipleActiveResultSets=true" }, "CORS": { - "AllowedOrigins": [ "http://localhost:3000" ], + "AllowedOrigins": [ "http://localhost:3000" ], "AllowedHeaders": [ "*" ], "AllowedMethods": [ "*" ], "PreflightMaxAge": 1 diff --git a/Streetcode/Streetcode.sln b/Streetcode/Streetcode.sln index 782ed70..dc62174 100644 --- a/Streetcode/Streetcode.sln +++ b/Streetcode/Streetcode.sln @@ -20,6 +20,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{95E863CE-C3B4-4DBC-8C15-957E63BA45B6}" ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig + docker-compose.yml = docker-compose.yml EndProjectSection EndProject Global diff --git a/Streetcode/docker-compose.yml b/Streetcode/docker-compose.yml new file mode 100644 index 0000000..793786b --- /dev/null +++ b/Streetcode/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.8' + +services: + db: + image: mcr.microsoft.com/mssql/server:2022-latest + container_name: streetcode-db + environment: + - ACCEPT_EULA=Y + - MSSQL_SA_PASSWORD=Admin@1234 # стандартний пароль + ports: + - "1434:1433" + + webapi: + build: + context: . + dockerfile: Streetcode.WebApi/Dockerfile + container_name: streetcode-api + ports: + - "5000:80" + - "5001:443" + depends_on: + - db + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ConnectionStrings__DefaultConnection=Server=db;Database=StreetcodeDb;User Id=sa;Password=Admin@1234;TrustServerCertificate=True;MultipleActiveResultSets=true \ No newline at end of file From 52c5686b723f38e6935b5023dc157b4f8589f4a3 Mon Sep 17 00:00:00 2001 From: Yurii Demyan Date: Tue, 12 May 2026 16:53:33 +0300 Subject: [PATCH 3/3] fix: moved hardcoded passwords to env variables to pass SonarCloud check --- Streetcode/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Streetcode/docker-compose.yml b/Streetcode/docker-compose.yml index 2660e40..492bbf6 100644 --- a/Streetcode/docker-compose.yml +++ b/Streetcode/docker-compose.yml @@ -6,7 +6,7 @@ services: container_name: streetcode-db environment: - ACCEPT_EULA=Y - - MSSQL_SA_PASSWORD=Admin@1234 # Def pass + - MSSQL_SA_PASSWORD=${DB_PASSWORD} # pass ports: - "1434:1433" @@ -22,4 +22,4 @@ services: - db environment: - ASPNETCORE_ENVIRONMENT=Development - - ConnectionStrings__DefaultConnection=Server=db;Database=StreetcodeDb;User Id=sa;Password=Admin@1234;TrustServerCertificate=True;MultipleActiveResultSets=true \ No newline at end of file + - ConnectionStrings__DefaultConnection=Server=db;Database=StreetcodeDb;User Id=sa;Password=${DB_PASSWORD};TrustServerCertificate=True;MultipleActiveResultSets=true \ No newline at end of file