# سرویس یکپارچه: هویت + مالی + RBCI + دستیار در یک ایمیج.
# Build context ریشه مخزن است تا کد مشترک (agents، cold_start، دیتاست) بدون
# کپی‌برداری دستی از محل اصلی خودش برداشته شود.
#   docker compose -f docker-compose.unified.yml up --build
FROM python:3.11-slim
WORKDIR /app

COPY unified-service/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# اپلیکیشن یکپارچه
COPY unified-service/main.py unified-service/db.py unified-service/schema.sql ./
COPY unified-service/routers ./routers

# منطق مشترک، از محل اصلی خودش (منبع حقیقت)
COPY reference-assistant/agents ./agents
COPY reference-assistant/ui.html ./ui.html
COPY mock-services/rbci_service/cold_start.py ./cold_start.py

# دیتاست اولیه؛ در استارتاپ در Postgres upsert می‌شود
COPY mock-services/identity_service/identity_db.json  ./seed/
COPY mock-services/financial_service/financial_db.json ./seed/
COPY mock-services/rbci_service/rbci_db.json           ./seed/

# بخشنامه‌ها و کاتالوگ محصولات از طریق volume در compose مانت می‌شوند (/app/data)
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
