FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
COPY Directory.Build.props ./
COPY src/FileSystem.Domain/FileSystem.Domain.csproj src/FileSystem.Domain/
COPY src/FileSystem.Infrastructure/FileSystem.Infrastructure.csproj src/FileSystem.Infrastructure/
COPY src/FileSystem.Application/FileSystem.Application.csproj src/FileSystem.Application/
COPY src/FileSystem.Api/FileSystem.Api.csproj src/FileSystem.Api/
RUN dotnet restore src/FileSystem.Api/FileSystem.Api.csproj
COPY . .
RUN dotnet publish src/FileSystem.Api/FileSystem.Api.csproj -c Release -o /app/publish --no-restore

FROM mcr.microsoft.com/dotnet/aspnet:10.0
WORKDIR /app
COPY --from=build /app/publish .
EXPOSE 8080 9090
ENTRYPOINT ["dotnet", "FileSystem.Api.dll"]
