FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src

COPY backend/Socialize.slnx backend/
COPY backend/src/Socialize.Api/Socialize.Api.csproj backend/src/Socialize.Api/
COPY backend/tests/Socialize.Tests/Socialize.Tests.csproj backend/tests/Socialize.Tests/

RUN dotnet restore backend/Socialize.slnx

COPY backend/ backend/

RUN dotnet publish backend/src/Socialize.Api/Socialize.Api.csproj \
    -c Release \
    -o /app/publish \
    --no-restore

FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
WORKDIR /app
COPY --from=build /app/publish .

ENV ASPNETCORE_URLS=http://0.0.0.0:8080
ENV ASPNETCORE_ENVIRONMENT=Production

EXPOSE 8080
ENTRYPOINT ["dotnet", "Socialize.Api.dll"]
