Skip to content
This repository was archived by the owner on Jun 28, 2024. It is now read-only.

Commit f82be14

Browse files
fix: Add Category to Connect Webview Create (#96)
1 parent 6aae83a commit f82be14

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

seamapi/connect_webviews.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,8 @@ def get(
105105
@report_error
106106
def create(
107107
self,
108-
accepted_providers: List[AcceptedProvider],
108+
accepted_providers: Optional[List[AcceptedProvider]] = None,
109+
category: Optional[str] = None,
109110
custom_redirect_url: Optional[str] = None,
110111
custom_redirect_failure_url: Optional[str] = None,
111112
device_selection_mode: Optional[str] = None,
@@ -115,7 +116,9 @@ def create(
115116
116117
Parameters
117118
----------
118-
accepted_providers : list[AcceptedProvider]
119+
category : str, optional
120+
Provider category e.g. stable
121+
accepted_providers : list[AcceptedProvider], optional
119122
A list of accepted providers e.g. august or noiseaware
120123
custom_redirect_url : str, optional
121124
Custom redirect url
@@ -135,7 +138,17 @@ def create(
135138
ConnectWebview
136139
"""
137140

138-
create_payload = {"accepted_providers": accepted_providers}
141+
create_payload = {}
142+
143+
if accepted_providers is None and category is None:
144+
raise Exception(
145+
"Must provide either accepted_providers or category"
146+
)
147+
148+
if accepted_providers is not None:
149+
create_payload["accepted_providers"] = accepted_providers
150+
if category is not None:
151+
create_payload["category"] = category
139152
if custom_redirect_url is not None:
140153
create_payload["custom_redirect_url"] = custom_redirect_url
141154
if custom_redirect_failure_url is not None:

seamapi/types.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,9 @@ def get(self, connect_webview_id: str) -> ConnectWebview:
397397

398398
@abc.abstractmethod
399399
def create(
400-
self, accepted_providers: Optional[List[AcceptedProvider]] = None
400+
self,
401+
accepted_providers: Optional[List[AcceptedProvider]] = None,
402+
category: Optional[str] = None,
401403
) -> ConnectWebview:
402404
raise NotImplementedError
403405

tests/connect_webviews/test_connect_webviews.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,10 @@ def test_connect_webviews(seam: Seam):
1010

1111
webviews = seam.connect_webviews.list()
1212
assert len(webviews) > 0
13+
14+
# Test with Category
15+
new_webview = seam.connect_webviews.create(category=["stable"])
16+
assert created_webview.url is not None
17+
18+
webview = seam.connect_webviews.get(new_webview.connect_webview_id)
19+
assert len(webview.accepted_providers) > 0

0 commit comments

Comments
 (0)