diff --git a/package-lock.json b/package-lock.json index 97ab8af..432f53e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.83.2", "@seamapi/nextlove-sdk-generator": "^1.19.0", - "@seamapi/types": "1.528.0", + "@seamapi/types": "1.531.0", "del": "^7.1.0", "prettier": "^3.2.5" } @@ -475,9 +475,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.528.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.528.0.tgz", - "integrity": "sha512-ch3p5EvZqSbCW4hpye2SRvWO8rR+lhNKPaYlQYKmqKkfDt9qOvSZX962dt+f2GXHSHHF7Gk31NXIb3JOhxKG5g==", + "version": "1.531.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.531.0.tgz", + "integrity": "sha512-Uj3qMyjz1Qy1NMWiQNd+DWJ8q9pbCGQPnsVmxg5P6CmmlWZcfeWWoD3Cn541cP8OnZc/TFtCkFmvOQZNhMtc5A==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 8be06ac..ea955ce 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.83.2", "@seamapi/nextlove-sdk-generator": "^1.19.0", - "@seamapi/types": "1.528.0", + "@seamapi/types": "1.531.0", "del": "^7.1.0", "prettier": "^3.2.5" } diff --git a/seam/routes/devices_simulate.py b/seam/routes/devices_simulate.py index 65f8e0a..746c1c6 100644 --- a/seam/routes/devices_simulate.py +++ b/seam/routes/devices_simulate.py @@ -48,6 +48,18 @@ def disconnect_from_hub(self, *, device_id: str) -> None: return None + def paid_subscription(self, *, device_id: str, is_expired: bool) -> None: + json_payload = {} + + if device_id is not None: + json_payload["device_id"] = device_id + if is_expired is not None: + json_payload["is_expired"] = is_expired + + self.client.post("/devices/simulate/paid_subscription", json=json_payload) + + return None + def remove(self, *, device_id: str) -> None: json_payload = {} diff --git a/seam/routes/devices_unmanaged.py b/seam/routes/devices_unmanaged.py index fb7a36c..6790c29 100644 --- a/seam/routes/devices_unmanaged.py +++ b/seam/routes/devices_unmanaged.py @@ -90,11 +90,19 @@ def list( return [UnmanagedDevice.from_dict(item) for item in res["devices"]] - def update(self, *, device_id: str, is_managed: bool) -> None: + def update( + self, + *, + device_id: str, + custom_metadata: Optional[Dict[str, Any]] = None, + is_managed: Optional[bool] = None + ) -> None: json_payload = {} if device_id is not None: json_payload["device_id"] = device_id + if custom_metadata is not None: + json_payload["custom_metadata"] = custom_metadata if is_managed is not None: json_payload["is_managed"] = is_managed diff --git a/seam/routes/models.py b/seam/routes/models.py index e802446..3a3adb8 100644 --- a/seam/routes/models.py +++ b/seam/routes/models.py @@ -1424,6 +1424,7 @@ class UnmanagedDevice: capabilities_supported: List[str] connected_account_id: str created_at: str + custom_metadata: Dict[str, Any] device_id: str device_type: Any errors: List[Dict[str, Any]] @@ -1463,6 +1464,7 @@ def from_dict(d: Dict[str, Any]): capabilities_supported=d.get("capabilities_supported", None), connected_account_id=d.get("connected_account_id", None), created_at=d.get("created_at", None), + custom_metadata=DeepAttrDict(d.get("custom_metadata", None)), device_id=d.get("device_id", None), device_type=d.get("device_type", None), errors=d.get("errors", None), @@ -2367,6 +2369,10 @@ def disconnect(self, *, device_id: str) -> None: def disconnect_from_hub(self, *, device_id: str) -> None: raise NotImplementedError() + @abc.abstractmethod + def paid_subscription(self, *, device_id: str, is_expired: bool) -> None: + raise NotImplementedError() + @abc.abstractmethod def remove(self, *, device_id: str) -> None: raise NotImplementedError() @@ -2407,7 +2413,13 @@ def list( raise NotImplementedError() @abc.abstractmethod - def update(self, *, device_id: str, is_managed: bool) -> None: + def update( + self, + *, + device_id: str, + custom_metadata: Optional[Dict[str, Any]] = None, + is_managed: Optional[bool] = None + ) -> None: raise NotImplementedError()