Files
builtbykev 3da1b4242c feat: Feature 1.2 (NBA stats FastAPI service) + Feature 1.4 (database schema)
Feature 1.2: Python FastAPI microservice wrapping nba_api
- GET /stats/season-avg, /stats/last-n, /stats/splits, /players/search
- Redis caching (24hr/1hr/6hr/7day), 0.6s rate limiting, PRA derived stat
- 27 Python tests passing

Feature 1.4: Complete Supabase database schema
- 6 tables: users, picks, scan_sessions, bets, outcomes, performance
- RLS enabled on all tables with auth.uid() policies
- 3 triggers: auto-create user, updated_at, scan count reset
- 37 schema validation tests passing
- Migration SQL ready, pending manual apply (WSL2 DNS blocker)

Total: 92 tests (65 Node.js + 27 Python), all passing

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 10:58:58 -04:00

35 lines
607 B
Python

import json
import redis as redis_lib
from app.config import REDIS_URL
_client = None
def get_redis():
global _client
if _client is None:
_client = redis_lib.from_url(REDIS_URL, decode_responses=True)
return _client
def cache_get(key):
r = get_redis()
data = r.get(key)
if data is not None:
return json.loads(data)
return None
def cache_set(key, value, ttl):
r = get_redis()
r.set(key, json.dumps(value), ex=ttl)
def cache_health():
try:
r = get_redis()
r.ping()
return True
except Exception:
return False