diff --git a/package-lock.json b/package-lock.json index 812f6163..75601cc7 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.503.0", + "@seamapi/types": "1.506.0", "del": "^7.1.0", "prettier": "^3.2.5" } @@ -475,9 +475,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.503.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.503.0.tgz", - "integrity": "sha512-AkzEGYk0t+PvNj1NnyO37SnnGu5hTLRKIUVZQ5OY+pp1Rm4InVACJo5Y8r7M3zssHD0OqJvLsd6C4M/kxkOZ5A==", + "version": "1.506.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.506.0.tgz", + "integrity": "sha512-8T8ABLdtcx8I7xjjvf92E1L6K6keafYDXUgyzJDQfb6/S8GCEckKTl+Jz0FKqwkq9DdEybmO0UM1L7VJHpRsMw==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 92c7948a..9b643f08 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.503.0", + "@seamapi/types": "1.506.0", "del": "^7.1.0", "prettier": "^3.2.5" } diff --git a/seam/routes/customers.py b/seam/routes/customers.py index 821f2de1..a8841739 100644 --- a/seam/routes/customers.py +++ b/seam/routes/customers.py @@ -28,6 +28,68 @@ def create_portal( return MagicLink.from_dict(res["magic_link"]) + def delete_data( + self, + *, + access_grant_keys: Optional[List[str]] = None, + booking_keys: Optional[List[str]] = None, + building_keys: Optional[List[str]] = None, + common_area_keys: Optional[List[str]] = None, + facility_keys: Optional[List[str]] = None, + guest_keys: Optional[List[str]] = None, + listing_keys: Optional[List[str]] = None, + property_keys: Optional[List[str]] = None, + property_listing_keys: Optional[List[str]] = None, + reservation_keys: Optional[List[str]] = None, + resident_keys: Optional[List[str]] = None, + room_keys: Optional[List[str]] = None, + space_keys: Optional[List[str]] = None, + tenant_keys: Optional[List[str]] = None, + unit_keys: Optional[List[str]] = None, + user_identity_keys: Optional[List[str]] = None, + user_keys: Optional[List[str]] = None + ) -> None: + json_payload = {} + + if access_grant_keys is not None: + json_payload["access_grant_keys"] = access_grant_keys + if booking_keys is not None: + json_payload["booking_keys"] = booking_keys + if building_keys is not None: + json_payload["building_keys"] = building_keys + if common_area_keys is not None: + json_payload["common_area_keys"] = common_area_keys + if facility_keys is not None: + json_payload["facility_keys"] = facility_keys + if guest_keys is not None: + json_payload["guest_keys"] = guest_keys + if listing_keys is not None: + json_payload["listing_keys"] = listing_keys + if property_keys is not None: + json_payload["property_keys"] = property_keys + if property_listing_keys is not None: + json_payload["property_listing_keys"] = property_listing_keys + if reservation_keys is not None: + json_payload["reservation_keys"] = reservation_keys + if resident_keys is not None: + json_payload["resident_keys"] = resident_keys + if room_keys is not None: + json_payload["room_keys"] = room_keys + if space_keys is not None: + json_payload["space_keys"] = space_keys + if tenant_keys is not None: + json_payload["tenant_keys"] = tenant_keys + if unit_keys is not None: + json_payload["unit_keys"] = unit_keys + if user_identity_keys is not None: + json_payload["user_identity_keys"] = user_identity_keys + if user_keys is not None: + json_payload["user_keys"] = user_keys + + self.client.post("/customers/delete_data", json=json_payload) + + return None + def push_data( self, *, diff --git a/seam/routes/models.py b/seam/routes/models.py index 941b2da3..301a1413 100644 --- a/seam/routes/models.py +++ b/seam/routes/models.py @@ -2267,6 +2267,30 @@ def create_portal( ) -> MagicLink: raise NotImplementedError() + @abc.abstractmethod + def delete_data( + self, + *, + access_grant_keys: Optional[List[str]] = None, + booking_keys: Optional[List[str]] = None, + building_keys: Optional[List[str]] = None, + common_area_keys: Optional[List[str]] = None, + facility_keys: Optional[List[str]] = None, + guest_keys: Optional[List[str]] = None, + listing_keys: Optional[List[str]] = None, + property_keys: Optional[List[str]] = None, + property_listing_keys: Optional[List[str]] = None, + reservation_keys: Optional[List[str]] = None, + resident_keys: Optional[List[str]] = None, + room_keys: Optional[List[str]] = None, + space_keys: Optional[List[str]] = None, + tenant_keys: Optional[List[str]] = None, + unit_keys: Optional[List[str]] = None, + user_identity_keys: Optional[List[str]] = None, + user_keys: Optional[List[str]] = None + ) -> None: + raise NotImplementedError() + @abc.abstractmethod def push_data( self, @@ -2532,9 +2556,10 @@ def get( def get_related( self, *, - space_ids: List[str], exclude: Optional[List[str]] = None, - include: Optional[List[str]] = None + include: Optional[List[str]] = None, + space_ids: Optional[List[str]] = None, + space_keys: Optional[List[str]] = None ) -> None: raise NotImplementedError() diff --git a/seam/routes/spaces.py b/seam/routes/spaces.py index eb76673c..f8797646 100644 --- a/seam/routes/spaces.py +++ b/seam/routes/spaces.py @@ -82,18 +82,21 @@ def get( def get_related( self, *, - space_ids: List[str], exclude: Optional[List[str]] = None, - include: Optional[List[str]] = None + include: Optional[List[str]] = None, + space_ids: Optional[List[str]] = None, + space_keys: Optional[List[str]] = None ) -> None: json_payload = {} - if space_ids is not None: - json_payload["space_ids"] = space_ids if exclude is not None: json_payload["exclude"] = exclude if include is not None: json_payload["include"] = include + if space_ids is not None: + json_payload["space_ids"] = space_ids + if space_keys is not None: + json_payload["space_keys"] = space_keys self.client.post("/spaces/get_related", json=json_payload)