| from fastapi import APIRouter, Depends, HTTPException | |
| from backend.core.quantum_search import GroverSearch | |
| from backend.api.auth import get_api_key | |
| from backend.core.logging_config import get_logger | |
| router = APIRouter() | |
| logger = get_logger("quantum_routes") | |
| def run_grover(database_size: int, target_idx: int, iterations: int = None, api_key: str = Depends(get_api_key)): | |
| try: | |
| search = GroverSearch(database_size) | |
| result_idx = search.run(target_idx, iterations) | |
| logger.info(f"Grover search: db_size={database_size}, target={target_idx}, result={result_idx}") | |
| return {"found_index": result_idx} | |
| except Exception as e: | |
| logger.error(f"Grover search error: {e}") | |
| raise HTTPException(status_code=500, detail=str(e)) | |