FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
USER ContainerAdministrator

WORKDIR /app/jobapi
EXPOSE 80 

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["JobAPI/JobAPI.csproj", "JobAPI/"]
COPY ["JobAPI.Services/JobAPI.Services.csproj", "JobAPI.Services/"]
COPY ["JobAPI.Repository/JobAPI.Repository.csproj", "JobAPI.Repository/"]
COPY ["JobAPI.Poco/JobAPI.Poco.csproj", "JobAPI.Poco/"]
COPY ["JobAPI.Utility/JobAPI.Utility.csproj", "JobAPI.Utility/"]
RUN dotnet restore "JobAPI/JobAPI.csproj"
COPY . .

WORKDIR "/src/JobAPI"

FROM build AS publish
RUN dotnet publish "JobAPI.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app/jobapi 

COPY --from=publish /app/publish/ .

ENTRYPOINT ["dotnet", "JobAPI.dll"]

