FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

# Optional: Keep only if your API build explicitly requires Node compilation tasks
FROM node:22-bookworm-slim AS node

# --- FIX: Change 'aspnet' to 'sdk' here ---
FROM ://microsoft.com AS build
ARG TARGETARCH
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 \
    NUGET_XMLDOC_MODE=skip
WORKDIR /app_source

# 1. Copy everything over
COPY . .

# 2. Restore all projects using the solution context (This works perfectly)
RUN dotnet restore "PostFundManagement.slnx"

# 3. Move directly to the publish stage (Skipping the broken dotnet build step)
FROM build AS publish
WORKDIR "/app_source/PostFundManagement.Api"
RUN dotnet publish "PostFundManagement.Api.csproj" -c Release --no-restore -o /app/publish

# 4. Final runtime assembly
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENV ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
ENTRYPOINT ["dotnet", "PostFundManagement.Api.dll"]
