diff --git a/package-lock.json b/package-lock.json index 9d3a8fe4..f41b2f72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.72.0", "@seamapi/nextlove-sdk-generator": "1.14.0", - "@seamapi/types": "1.219.0", + "@seamapi/types": "1.227.0", "del": "^7.1.0", "prettier": "^3.2.5" } @@ -473,9 +473,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.219.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.219.0.tgz", - "integrity": "sha512-Xeln1n26iMc/1lWQVR+LrHZB1y52HJZE26J4zObLA9Vjy/2lucT9V8pNRym0oATjAS5r5LTx1AKbLdlnbn2g/A==", + "version": "1.227.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.227.0.tgz", + "integrity": "sha512-LjeBNke3FHivFUinmdtL44NvFono+AASSVykaIkTqcD2KemRSP+nTVYPJCo6Fmd77j8j14jRDY9IJH6iCwu5vg==", "dev": true, "engines": { "node": ">=18.12.0", diff --git a/package.json b/package.json index 1a5966de..e5f7e18f 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.72.0", "@seamapi/nextlove-sdk-generator": "1.14.0", - "@seamapi/types": "1.219.0", + "@seamapi/types": "1.227.0", "del": "^7.1.0", "prettier": "^3.2.5" } diff --git a/seam/routes/acs_access_groups.py b/seam/routes/acs_access_groups.py index 75876dd6..a60a3b75 100644 --- a/seam/routes/acs_access_groups.py +++ b/seam/routes/acs_access_groups.py @@ -1,6 +1,6 @@ from typing import Optional, Any, List, Dict, Union from ..client import SeamHttpClient -from .models import AbstractAcsAccessGroups, AcsAccessGroup, AcsUser +from .models import AbstractAcsAccessGroups, AcsAccessGroup, AcsEntrance, AcsUser class AcsAccessGroups(AbstractAcsAccessGroups): @@ -44,6 +44,20 @@ def list( return [AcsAccessGroup.from_dict(item) for item in res["acs_access_groups"]] + def list_accessible_entrances( + self, *, acs_access_group_id: str + ) -> List[AcsEntrance]: + json_payload = {} + + if acs_access_group_id is not None: + json_payload["acs_access_group_id"] = acs_access_group_id + + res = self.client.post( + "/acs/access_groups/list_accessible_entrances", json=json_payload + ) + + return [AcsEntrance.from_dict(item) for item in res["acs_entrances"]] + def list_users(self, *, acs_access_group_id: str) -> List[AcsUser]: json_payload = {} diff --git a/seam/routes/events.py b/seam/routes/events.py index d3d48082..96bc5296 100644 --- a/seam/routes/events.py +++ b/seam/routes/events.py @@ -34,6 +34,7 @@ def list( access_code_id: Optional[str] = None, access_code_ids: Optional[List[str]] = None, between: Optional[List[str]] = None, + connect_webview_id: Optional[str] = None, connected_account_id: Optional[str] = None, device_id: Optional[str] = None, device_ids: Optional[List[str]] = None, @@ -50,6 +51,8 @@ def list( json_payload["access_code_ids"] = access_code_ids if between is not None: json_payload["between"] = between + if connect_webview_id is not None: + json_payload["connect_webview_id"] = connect_webview_id if connected_account_id is not None: json_payload["connected_account_id"] = connected_account_id if device_id is not None: diff --git a/seam/routes/models.py b/seam/routes/models.py index 011be1bc..67e1afc4 100644 --- a/seam/routes/models.py +++ b/seam/routes/models.py @@ -955,6 +955,12 @@ def list( ) -> List[AcsAccessGroup]: raise NotImplementedError() + @abc.abstractmethod + def list_accessible_entrances( + self, *, acs_access_group_id: str + ) -> List[AcsEntrance]: + raise NotImplementedError() + @abc.abstractmethod def list_users(self, *, acs_access_group_id: str) -> List[AcsUser]: raise NotImplementedError() @@ -1391,6 +1397,7 @@ def list( access_code_id: Optional[str] = None, access_code_ids: Optional[List[str]] = None, between: Optional[List[str]] = None, + connect_webview_id: Optional[str] = None, connected_account_id: Optional[str] = None, device_id: Optional[str] = None, device_ids: Optional[List[str]] = None,