mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2025-12-16 23:50:12 +01:00
22 lines
648 B
Python
22 lines
648 B
Python
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from fastapi import APIRouter, Request
|
||
|
|
from fastapi.responses import Response
|
||
|
|
from pydantic import BaseModel, Field
|
||
|
|
from typing import Any, Dict
|
||
|
|
|
||
|
|
from ..services.telemetry import log_frontend_event
|
||
|
|
|
||
|
|
router = APIRouter(prefix="/telemetry", tags=["telemetry"])
|
||
|
|
|
||
|
|
|
||
|
|
class TelemetryEvent(BaseModel):
|
||
|
|
event: str = Field(..., min_length=1)
|
||
|
|
data: Dict[str, Any] | None = None
|
||
|
|
|
||
|
|
|
||
|
|
@router.post("/events", status_code=204)
|
||
|
|
async def ingest_event(payload: TelemetryEvent, request: Request) -> Response:
|
||
|
|
log_frontend_event(request, event=payload.event, data=payload.data or {})
|
||
|
|
return Response(status_code=204)
|