diff --git a/package-lock.json b/package-lock.json index df68a02c..7492f446 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "@seamapi/python", "devDependencies": { "@seamapi/nextlove-sdk-generator": "1.11.0", - "@seamapi/types": "1.172.0", + "@seamapi/types": "1.174.0", "del": "^7.1.0", "prettier": "^3.2.5" } @@ -438,11 +438,10 @@ } }, "node_modules/@seamapi/types": { - "version": "1.172.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.172.0.tgz", - "integrity": "sha512-WFP7FtXiI25+XPIZDArF9nLpg3NY3Z7OsTYzgSd7XmJSt8znGw2TzDn4g+upwmSQ46TIczv1DDccHcoAZtQ4Fw==", + "version": "1.174.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.174.0.tgz", + "integrity": "sha512-IpcM/22LHPz4aj0Hesf1MrthRqWK1EO+fqXRwCKvtPoM7NbgDN5Z260PMSou9EsxZRNoXzIWzboqMC3pPaYcig==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12.0", "npm": ">= 9.0.0" diff --git a/package.json b/package.json index d85a577e..e2fe409e 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@seamapi/nextlove-sdk-generator": "1.11.0", - "@seamapi/types": "1.172.0", + "@seamapi/types": "1.174.0", "del": "^7.1.0", "prettier": "^3.2.5" } diff --git a/seam/routes/acs_credentials.py b/seam/routes/acs_credentials.py index abc9289e..ab198e83 100644 --- a/seam/routes/acs_credentials.py +++ b/seam/routes/acs_credentials.py @@ -1,5 +1,5 @@ from seam.types import AbstractSeam as Seam -from seam.routes.types import AbstractAcsCredentials, AcsCredential +from seam.routes.types import AbstractAcsCredentials, AcsCredential, AcsEntrance from typing import Optional, Any, List, Dict, Union @@ -110,6 +110,18 @@ def list( return [AcsCredential.from_dict(item) for item in res["acs_credentials"]] + def list_accessible_entrances(self, *, acs_credential_id: str) -> List[AcsEntrance]: + json_payload = {} + + if acs_credential_id is not None: + json_payload["acs_credential_id"] = acs_credential_id + + res = self.seam.make_request( + "POST", "/acs/credentials/list_accessible_entrances", json=json_payload + ) + + return [AcsEntrance.from_dict(item) for item in res["acs_entrances"]] + def unassign(self, *, acs_credential_id: str, acs_user_id: str) -> None: json_payload = {} diff --git a/seam/routes/phones_simulate.py b/seam/routes/phones_simulate.py index f302435b..4d0e8e47 100644 --- a/seam/routes/phones_simulate.py +++ b/seam/routes/phones_simulate.py @@ -12,6 +12,7 @@ def __init__(self, seam: Seam): def create_sandbox_phone( self, *, + credential_manager_acs_system_id: str, user_identity_id: str, assa_abloy_metadata: Optional[Dict[str, Any]] = None, custom_sdk_installation_id: Optional[str] = None, @@ -19,6 +20,10 @@ def create_sandbox_phone( ) -> Phone: json_payload = {} + if credential_manager_acs_system_id is not None: + json_payload["credential_manager_acs_system_id"] = ( + credential_manager_acs_system_id + ) if user_identity_id is not None: json_payload["user_identity_id"] = user_identity_id if assa_abloy_metadata is not None: diff --git a/seam/routes/types.py b/seam/routes/types.py index 5219144d..24cae40f 100644 --- a/seam/routes/types.py +++ b/seam/routes/types.py @@ -965,6 +965,10 @@ def list( ) -> List[AcsCredential]: raise NotImplementedError() + @abc.abstractmethod + def list_accessible_entrances(self, *, acs_credential_id: str) -> List[AcsEntrance]: + raise NotImplementedError() + @abc.abstractmethod def unassign(self, *, acs_credential_id: str, acs_user_id: str) -> None: raise NotImplementedError() @@ -1462,6 +1466,7 @@ class AbstractPhonesSimulate(abc.ABC): def create_sandbox_phone( self, *, + credential_manager_acs_system_id: str, user_identity_id: str, assa_abloy_metadata: Optional[Dict[str, Any]] = None, custom_sdk_installation_id: Optional[str] = None,