diff --git a/package-lock.json b/package-lock.json index 831a1a71..ed11d595 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.72.1", "@seamapi/nextlove-sdk-generator": "1.14.6", - "@seamapi/types": "1.262.1", + "@seamapi/types": "1.263.0", "del": "^7.1.0", "prettier": "^3.2.5" } @@ -473,9 +473,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.262.1", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.262.1.tgz", - "integrity": "sha512-AlwwSnSFQNeTB1rGYqtztJII9vieEbcmaLuFtK1PokFQSan+u/B5esuh1ZPPfRSGP7QWNThpBdvuP0z6vAii4Q==", + "version": "1.263.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.263.0.tgz", + "integrity": "sha512-3FWlNcRVQSI+WlaD39s1eo31C2bxKO/3p5ZH+OD/4heFP2cvcUh5Bv6KMb57iocNxMHL83KJvIJLdXjDp3+JKA==", "dev": true, "engines": { "node": ">=18.12.0", diff --git a/package.json b/package.json index 240d1fec..d445f8c0 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.72.1", "@seamapi/nextlove-sdk-generator": "1.14.6", - "@seamapi/types": "1.262.1", + "@seamapi/types": "1.263.0", "del": "^7.1.0", "prettier": "^3.2.5" } diff --git a/seam/routes/access_codes.py b/seam/routes/access_codes.py index 87f81a07..94fa5dc4 100644 --- a/seam/routes/access_codes.py +++ b/seam/routes/access_codes.py @@ -298,3 +298,40 @@ def update( self.client.post("/access_codes/update", json=json_payload) return None + + def update_multiple( + self, + *, + common_code_key: str, + allow_external_modification: Optional[bool] = None, + code: Optional[str] = None, + ends_at: Optional[str] = None, + is_external_modification_allowed: Optional[bool] = None, + name: Optional[str] = None, + prefer_native_scheduling: Optional[bool] = None, + starts_at: Optional[str] = None + ) -> None: + json_payload = {} + + if common_code_key is not None: + json_payload["common_code_key"] = common_code_key + if allow_external_modification is not None: + json_payload["allow_external_modification"] = allow_external_modification + if code is not None: + json_payload["code"] = code + if ends_at is not None: + json_payload["ends_at"] = ends_at + if is_external_modification_allowed is not None: + json_payload["is_external_modification_allowed"] = ( + is_external_modification_allowed + ) + if name is not None: + json_payload["name"] = name + if prefer_native_scheduling is not None: + json_payload["prefer_native_scheduling"] = prefer_native_scheduling + if starts_at is not None: + json_payload["starts_at"] = starts_at + + self.client.post("/access_codes/update_multiple", json=json_payload) + + return None diff --git a/seam/routes/models.py b/seam/routes/models.py index 82c7f111..cfd66e8b 100644 --- a/seam/routes/models.py +++ b/seam/routes/models.py @@ -2175,6 +2175,21 @@ def update( ) -> None: raise NotImplementedError() + @abc.abstractmethod + def update_multiple( + self, + *, + common_code_key: str, + allow_external_modification: Optional[bool] = None, + code: Optional[str] = None, + ends_at: Optional[str] = None, + is_external_modification_allowed: Optional[bool] = None, + name: Optional[str] = None, + prefer_native_scheduling: Optional[bool] = None, + starts_at: Optional[str] = None + ) -> None: + raise NotImplementedError() + class AbstractDevices(abc.ABC):