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

COPY src/*.sln ./
COPY src/FrontOffice.BFF.WebApi/*.csproj ./FrontOffice.BFF.WebApi/
COPY src/FrontOffice.BFF.Application/*.csproj ./FrontOffice.BFF.Application/
COPY src/FrontOffice.BFF.Infrastructure/*.csproj ./FrontOffice.BFF.Infrastructure/
COPY src/FrontOffice.BFF.Domain/*.csproj ./FrontOffice.BFF.Domain/
COPY src/FrontOffice.BFF.Contracts/*.csproj ./FrontOffice.BFF.Contracts/

RUN dotnet restore "FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj"

COPY src/ ./

RUN dotnet publish "FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj" -c Release -o /app/publish --no-restore

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

ENV ASPNETCORE_URLS=http://+:8080
EXPOSE 8080

ENTRYPOINT ["dotnet", "FrontOffice.BFF.WebApi.dll"]
