Files
gcontext/api/app/routes_telemetry.py
bernatsamperaandClaude Opus 4.6 9af1dcfe69 release: api-v0.3.0
Anonymous install telemetry: POST /api/telemetry accepts install events
from the CLI, GET /api/admin/installs lists them (auth-protected).
Install model and installs table auto-created on startup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-08-11 11:23:52 +02:00

24 lines
648 B
Python

from datetime import datetime, timezone
from fastapi import APIRouter, Depends, Response
from sqlalchemy.orm import Session
from .db import get_session
from .models import Install
from .schemas import InstallIn
router = APIRouter(tags=["telemetry"])
@router.post("/api/telemetry", status_code=204)
def record_install(data: InstallIn, session: Session = Depends(get_session)):
session.add(Install(
install_id=data.install_id,
version=data.version,
os=data.os,
platform=data.platform,
created_at=datetime.now(timezone.utc).isoformat(),
))
session.commit()
return Response(status_code=204)