Verified every finding against the code, then fixed correctness (redirects, advancement reset, duplicate heats, high-jump attempt entry, placement ranking with tie handling, delete-dependency 500s), security (secrets out of config, config-driven admin seed, login lockout, role authorization with school scoping, heat-time IDOR, forwarded headers, last-admin guards), schema integrity (nullable+filtered ExistingStudentId, unique indexes for rounds/heats/bar heights via SchemaIntegrityFixes migration), performance (N+1 removal in high jump/reports/standings/dashboard, SQL-side student paging), and hygiene (duplicate notifications, auto-dismiss scope, local bootstrap-icons, orphaned files, test-data.sql tournament creation). FluentValidation is now registered; AutoMapper bumped to 14.0.0 (advisory fully patched only in licence-changed 15.1.1 — documented). 11 new tests; 63/63 passing. Credential rotation and deploy-time DB_CONNECTION_STRING are required manual follow-ups, documented in bug-fixes.md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
29 lines
892 B
Docker
29 lines
892 B
Docker
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
|
|
|
WORKDIR /src
|
|
|
|
# Copy project files and restore dependencies
|
|
COPY src/SportsDivision.Domain/SportsDivision.Domain.csproj src/SportsDivision.Domain/
|
|
COPY src/SportsDivision.Application/SportsDivision.Application.csproj src/SportsDivision.Application/
|
|
COPY src/SportsDivision.Infrastructure/SportsDivision.Infrastructure.csproj src/SportsDivision.Infrastructure/
|
|
COPY src/SportsDivision.Web/SportsDivision.Web.csproj src/SportsDivision.Web/
|
|
RUN dotnet restore src/SportsDivision.Web/SportsDivision.Web.csproj
|
|
|
|
COPY . ./
|
|
|
|
RUN dotnet publish src/SportsDivision.Web/SportsDivision.Web.csproj -c Release -o /app/out
|
|
|
|
# Runtime Stage
|
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0
|
|
|
|
WORKDIR /app
|
|
|
|
ENV ASPNETCORE_ENVIRONMENT=Production
|
|
ENV ASPNETCORE_URLS=http://+:80
|
|
|
|
EXPOSE 80
|
|
|
|
COPY --from=build /app/out .
|
|
|
|
ENTRYPOINT ["dotnet", "SportsDivision.Web.dll"]
|