# Build Stage
FROM mcr.microsoft.com/dotnet/sdk:10.0-alpine AS build
WORKDIR /src

# Copy csproj files and restore dependencies
COPY ["MoneyPilot.API/MoneyPilot.API.csproj", "MoneyPilot.API/"]
COPY ["MoneyPilot.Core/MoneyPilot.Core.csproj", "MoneyPilot.Core/"]
COPY ["MoneyPilot.Infrastructure/MoneyPilot.Infrastructure.csproj", "MoneyPilot.Infrastructure/"]
RUN dotnet restore "MoneyPilot.API/MoneyPilot.API.csproj"

# Copy the rest of the code and publish
COPY . .
WORKDIR "/src/MoneyPilot.API"
RUN dotnet publish "MoneyPilot.API.csproj" -c Release -o /app/publish /p:UseAppHost=false

# Final Stage
FROM mcr.microsoft.com/dotnet/aspnet:10.0-alpine AS final
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "MoneyPilot.API.dll"]
