Ship Steam login, D1 player sync, and cached「我」dashboard.
Players get a fast TTL-backed homepage (local profile / Cloudflare D1) with dense UI polish; login unlocks /home without blocking on every OpenDota refresh. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
"""Launch serve_relations with STEAM_API_KEY / SESSION_SECRET from keyzoo env.
|
||||
|
||||
Maps KEYZOO_ASSET_SECRET_WEB_API_KEY / KEYZOO_ASSET_SECRET_SESSION_SECRET
|
||||
when the plain names are unset. Does not print secret values.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
def _map_env() -> None:
|
||||
if not (os.environ.get("STEAM_API_KEY") or "").strip():
|
||||
alt = (os.environ.get("KEYZOO_ASSET_SECRET_WEB_API_KEY") or "").strip()
|
||||
if alt:
|
||||
os.environ["STEAM_API_KEY"] = alt
|
||||
if not (os.environ.get("SESSION_SECRET") or "").strip():
|
||||
alt = (os.environ.get("KEYZOO_ASSET_SECRET_SESSION_SECRET") or "").strip()
|
||||
if alt:
|
||||
os.environ["SESSION_SECRET"] = alt
|
||||
|
||||
|
||||
def main() -> int:
|
||||
_map_env()
|
||||
steam_ok = bool((os.environ.get("STEAM_API_KEY") or "").strip())
|
||||
sess_ok = bool((os.environ.get("SESSION_SECRET") or "").strip())
|
||||
print(f"steam_auth configured: steam={steam_ok} session={sess_ok}", flush=True)
|
||||
if not steam_ok or not sess_ok:
|
||||
print("missing STEAM_API_KEY or SESSION_SECRET", file=sys.stderr)
|
||||
return 2
|
||||
cmd = [sys.executable, "-u", str(ROOT / "web" / "serve_relations.py"), *sys.argv[1:]]
|
||||
return subprocess.call(cmd, cwd=str(ROOT))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user