This commit is contained in:
2026-06-15 22:46:12 +08:00
commit f6508eccdb
38 changed files with 3133 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
from __future__ import annotations
import requests
from .models import RoomInfo, RoomSnapshot
class ApiClient:
def __init__(self, base_url: str) -> None:
self.base_url = base_url.rstrip("/")
def create_room(self) -> RoomInfo:
response = requests.post(f"{self.base_url}/api/rooms", timeout=10)
response.raise_for_status()
return RoomInfo.from_json(response.json()["room"])
def get_room(self, code: str, device_id: str) -> RoomSnapshot:
response = requests.get(
f"{self.base_url}/api/rooms/{code}",
params={"deviceId": device_id},
timeout=10,
)
response.raise_for_status()
return RoomSnapshot.from_json(response.json())