Files
service-finder/backend/app/api/v1/endpoints/services.py
2026-02-26 08:19:25 +01:00

21 lines
1002 B
Python

# backend/app/api/v1/endpoints/services.py
from fastapi import APIRouter, Depends, Form
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy import text
from app.db.session import get_db
from app.services.gamification_service import GamificationService #
router = APIRouter()
@router.post("/hunt")
async def register_service_hunt(name: str = Form(...), lat: float = Form(...), lng: float = Form(...), db: AsyncSession = Depends(get_db)):
# Új szerviz-jelölt rögzítése a staging táblába
await db.execute(text("""
INSERT INTO data.service_staging (name, fingerprint, status, raw_data)
VALUES (:n, :f, 'pending', jsonb_build_object('lat', :lat, 'lng', :lng))
"""), {"n": name, "f": f"{name}-{lat}-{lng}", "lat": lat, "lng": lng})
# Jutalmazás (Hard-coded current_user_id helyett a dependency-ből kellene jönnie)
await GamificationService.award_points(db, 1, 50, f"Service Hunt: {name}")
await db.commit()
return {"status": "success"}