FROM node:22-bookworm-slim AS build
WORKDIR /app

COPY package.json package-lock.json ./
COPY apps/api/package.json apps/api/package.json
COPY apps/web/package.json apps/web/package.json
RUN npm ci --workspace @pak-erp/api --include-workspace-root

COPY apps/api apps/api
RUN npm run db:generate --workspace @pak-erp/api && npm run build --workspace @pak-erp/api

FROM node:22-bookworm-slim AS runtime
WORKDIR /app
ENV NODE_ENV=production

COPY --from=build /app/node_modules ./node_modules
COPY --from=build /app/apps/api/package.json ./package.json
COPY --from=build /app/apps/api/dist ./dist
COPY --from=build /app/apps/api/prisma ./prisma
COPY deployment/api-entrypoint.sh /usr/local/bin/pak-erp-api-entrypoint
RUN chmod 0755 /usr/local/bin/pak-erp-api-entrypoint

USER node
EXPOSE 8080
CMD ["node", "dist/server.js"]
