# Use the official .NET 8.0 SDK to build the project
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app

# Copy solution and restore dependencies
COPY Innocons.sln ./
COPY Innocons.API/*.csproj Innocons.API/
COPY Innocons.Core/*.csproj Innocons.Core/
COPY Innocons.Infra/*.csproj Innocons.Infra/
RUN dotnet restore Innocons.API/Innocons.API.csproj

# Copy all source files
COPY . .

# Build and publish the API project
RUN dotnet publish Innocons.API/Innocons.API.csproj -c Release -o /app/publish

# Use the appropriate runtime image based on target platform
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "Innocons.API.dll"]