diff --git a/package-lock.json b/package-lock.json index 98e935e..98ad753 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.86.0", "@seamapi/nextlove-sdk-generator": "^1.19.10", - "@seamapi/types": "1.772.0", + "@seamapi/types": "1.778.0", "del": "^7.1.0", "prettier": "^3.2.5" } @@ -535,9 +535,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.772.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.772.0.tgz", - "integrity": "sha512-/MFq/zRLLo4/QDgOR1jIPWfqGeAAlH4plSRLJ0njdfV0AHFqODlCUp8uE2oOO6LYsNOXXPltG1hLR6TDIMBXPg==", + "version": "1.778.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.778.0.tgz", + "integrity": "sha512-PT9bmeVcuzODAPnT37rmeP6Unne4NSdhd8A3hZIsO0HqKeIuxxl7KRDP+XKLXo3N/j2g6IdZgzvHrQhiMeHvMQ==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index cbe6c33..d986df6 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.86.0", "@seamapi/nextlove-sdk-generator": "^1.19.10", - "@seamapi/types": "1.772.0", + "@seamapi/types": "1.778.0", "del": "^7.1.0", "prettier": "^3.2.5" } diff --git a/seam/routes/models.py b/seam/routes/models.py index 6d12d85..ca4ba5e 100644 --- a/seam/routes/models.py +++ b/seam/routes/models.py @@ -3406,6 +3406,10 @@ def list( def list_accessible_devices(self, *, user_identity_id: str) -> List[Device]: raise NotImplementedError() + @abc.abstractmethod + def list_accessible_entrances(self, *, user_identity_id: str) -> List[AcsEntrance]: + raise NotImplementedError() + @abc.abstractmethod def list_acs_systems(self, *, user_identity_id: str) -> List[AcsSystem]: raise NotImplementedError() diff --git a/seam/routes/user_identities.py b/seam/routes/user_identities.py index cec4e88..fb138db 100644 --- a/seam/routes/user_identities.py +++ b/seam/routes/user_identities.py @@ -5,6 +5,7 @@ UserIdentity, InstantKey, Device, + AcsEntrance, AcsSystem, AcsUser, ) @@ -171,6 +172,18 @@ def list_accessible_devices(self, *, user_identity_id: str) -> List[Device]: return [Device.from_dict(item) for item in res["devices"]] + def list_accessible_entrances(self, *, user_identity_id: str) -> List[AcsEntrance]: + json_payload = {} + + if user_identity_id is not None: + json_payload["user_identity_id"] = user_identity_id + + res = self.client.post( + "/user_identities/list_accessible_entrances", json=json_payload + ) + + return [AcsEntrance.from_dict(item) for item in res["acs_entrances"]] + def list_acs_systems(self, *, user_identity_id: str) -> List[AcsSystem]: json_payload = {}