- ai-service: Ollama 기반 AI 서비스 (분류, 시맨틱 검색, RAG Q&A, 패턴 분석) - AI 어시스턴트 페이지: 채팅형 Q&A, 시맨틱 검색, 패턴 분석, 분류 테스트 - 권한 시스템에 ai_assistant 페이지 등록 (기본 비활성) - 기존 페이지에 AI 기능 통합 (대시보드, 수신함, 관리함) - docker-compose, gateway, nginx 설정 업데이트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from fastapi import APIRouter, Request
|
|
from pydantic import BaseModel
|
|
from services.report_service import generate_daily_report
|
|
from datetime import date
|
|
|
|
router = APIRouter(tags=["daily_report"])
|
|
|
|
|
|
class DailyReportRequest(BaseModel):
|
|
date: str | None = None
|
|
project_id: int | None = None
|
|
|
|
|
|
@router.post("/report/daily")
|
|
async def daily_report(req: DailyReportRequest, request: Request):
|
|
report_date = req.date or date.today().isoformat()
|
|
token = request.headers.get("authorization", "").replace("Bearer ", "")
|
|
try:
|
|
result = await generate_daily_report(report_date, req.project_id, token)
|
|
return {"available": True, **result}
|
|
except Exception as e:
|
|
return {"available": False, "error": str(e)}
|
|
|
|
|
|
@router.post("/report/preview")
|
|
async def report_preview(req: DailyReportRequest, request: Request):
|
|
report_date = req.date or date.today().isoformat()
|
|
token = request.headers.get("authorization", "").replace("Bearer ", "")
|
|
try:
|
|
result = await generate_daily_report(report_date, req.project_id, token)
|
|
return {"available": True, "preview": True, **result}
|
|
except Exception as e:
|
|
return {"available": False, "error": str(e)}
|