mitai-jinkendo/.claude/commands/add-endpoint.md
Lars 7940dc7560 docs: Struktur .claude/docs versionieren, working/, Gitea-Index, Regeln
- .gitignore: .claude/docs, rules, commands tracken; settings.local weiter ignorieren
- DOCUMENTATION.md: verbindliche Ablage functional/technical/working/issues
- .claude/README.md: Agent-Einstieg; GITEA_ISSUES_INDEX aus MCP (Stand 2026-04-08)
- Arbeitspapiere von docs/ nach .claude/docs/working/ verschoben
- docs/MEMBERSHIP_SYSTEM.md als Stub; kanonisch technical/MEMBERSHIP_SYSTEM.md
- CLAUDE.md Pflichtlektüre und Links angepasst; docs/README.md vereinfacht

Made-with: Cursor
2026-04-08 13:01:49 +02:00

971 B
Raw Blame History

Add Endpoint

Füge einen neuen API-Endpoint zum Backend hinzu.

Template:

@app.get("/api/mein-endpoint")
def mein_endpoint(
    limit: int = 100,
    session: dict = Depends(require_auth)   # ← IMMER als separater Parameter!
):
    pid = session['profile_id']
    with get_db() as conn:
        rows = conn.execute(
            "SELECT * FROM meine_tabelle WHERE profile_id=? LIMIT ?",
            (pid, limit)
        ).fetchall()
    return [r2d(r) for r in rows]

Regeln:

  • session: dict = Depends(require_auth) IMMER als letzter/separater Parameter
  • NIEMALS innerhalb von Header(default=None, ...) einbetten
  • Profile-ID immer aus session['profile_id'] nie aus Header
  • Admin-Endpoints: session=Depends(require_admin)
  • Rate-Limiting für sensitive Endpoints: @limiter.limit("5/minute")

Nach dem Endpoint:

api.js um neue Methode ergänzen:

meinEndpoint: (params) => req(`/mein-endpoint?limit=${params}`),