mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
22 lines
826 B
Python
22 lines
826 B
Python
import requests
|
|
|
|
from datatypes.magicplan.api.response import MagicPlan, PlansListResponse
|
|
|
|
_BASE_URL = "https://cloud.magicplan.app/api/v2"
|
|
|
|
|
|
class MagicPlanClient:
|
|
def __init__(self, customer_id: str, api_key: str) -> None:
|
|
self._api_key = api_key
|
|
self._session = requests.Session()
|
|
self._session.headers.update({"customer": customer_id})
|
|
|
|
def get_plans(self) -> PlansListResponse:
|
|
r = self._session.get(f"{_BASE_URL}/plans", params={"key": self._api_key})
|
|
r.raise_for_status()
|
|
return PlansListResponse.model_validate(r.json()["data"])
|
|
|
|
def get_plan(self, plan_id: str) -> MagicPlan:
|
|
r = self._session.get(f"{_BASE_URL}/plans/{plan_id}", params={"key": self._api_key})
|
|
r.raise_for_status()
|
|
return MagicPlan.model_validate(r.json()["data"])
|