21 lines
1002 B
Python
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"} |