Skip to content

Commit db4b86b

Browse files
feat(api): add providers resource with CRUD methods and catalog endpoint
1 parent 7577000 commit db4b86b

20 files changed

+1743
-4
lines changed

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 94
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier%2Fcourier-52f1d2a99d3f91acc4753b05aeef4cc6e570d8e9a8c0a590a810a8d09d19688e.yml
3-
openapi_spec_hash: 61caa60478d63f17515378910dd53b52
4-
config_hash: 65650c7f96740a3d80de689137a790b2
1+
configured_endpoints: 100
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier%2Fcourier-b3dde937486812f8db805a423a30ba5d3f80cc95803e13ab66958589366a5f06.yml
3+
openapi_spec_hash: a249df035d7f5bf57c66084cd94e8841
4+
config_hash: c51fa2bafdf96f2c1e409ccc295b7359

api.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,34 @@ Methods:
115115
- <code title="delete /audiences/{audience_id}">client.audiences.<a href="./src/courier/resources/audiences.py">delete</a>(audience_id) -> None</code>
116116
- <code title="get /audiences/{audience_id}/members">client.audiences.<a href="./src/courier/resources/audiences.py">list_members</a>(audience_id, \*\*<a href="src/courier/types/audience_list_members_params.py">params</a>) -> <a href="./src/courier/types/audience_list_members_response.py">AudienceListMembersResponse</a></code>
117117

118+
# Providers
119+
120+
Types:
121+
122+
```python
123+
from courier.types import Provider, ProvidersCatalogEntry, ProviderListResponse
124+
```
125+
126+
Methods:
127+
128+
- <code title="post /providers">client.providers.<a href="./src/courier/resources/providers/providers.py">create</a>(\*\*<a href="src/courier/types/provider_create_params.py">params</a>) -> <a href="./src/courier/types/provider.py">Provider</a></code>
129+
- <code title="get /providers/{id}">client.providers.<a href="./src/courier/resources/providers/providers.py">retrieve</a>(id) -> <a href="./src/courier/types/provider.py">Provider</a></code>
130+
- <code title="post /providers/{id}">client.providers.<a href="./src/courier/resources/providers/providers.py">update</a>(id, \*\*<a href="src/courier/types/provider_update_params.py">params</a>) -> <a href="./src/courier/types/provider.py">Provider</a></code>
131+
- <code title="get /providers">client.providers.<a href="./src/courier/resources/providers/providers.py">list</a>(\*\*<a href="src/courier/types/provider_list_params.py">params</a>) -> <a href="./src/courier/types/provider_list_response.py">ProviderListResponse</a></code>
132+
- <code title="delete /providers/{id}">client.providers.<a href="./src/courier/resources/providers/providers.py">delete</a>(id) -> None</code>
133+
134+
## Catalog
135+
136+
Types:
137+
138+
```python
139+
from courier.types.providers import CatalogListResponse
140+
```
141+
142+
Methods:
143+
144+
- <code title="get /providers/catalog">client.providers.catalog.<a href="./src/courier/resources/providers/catalog.py">list</a>(\*\*<a href="src/courier/types/providers/catalog_list_params.py">params</a>) -> <a href="./src/courier/types/providers/catalog_list_response.py">CatalogListResponse</a></code>
145+
118146
# AuditEvents
119147

120148
Types:

src/courier/_client.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
profiles,
4646
requests,
4747
audiences,
48+
providers,
4849
automations,
4950
audit_events,
5051
translations,
@@ -67,6 +68,7 @@
6768
from .resources.tenants.tenants import TenantsResource, AsyncTenantsResource
6869
from .resources.profiles.profiles import ProfilesResource, AsyncProfilesResource
6970
from .resources.routing_strategies import RoutingStrategiesResource, AsyncRoutingStrategiesResource
71+
from .resources.providers.providers import ProvidersResource, AsyncProvidersResource
7072
from .resources.automations.automations import AutomationsResource, AsyncAutomationsResource
7173
from .resources.notifications.notifications import NotificationsResource, AsyncNotificationsResource
7274

@@ -140,6 +142,12 @@ def audiences(self) -> AudiencesResource:
140142

141143
return AudiencesResource(self)
142144

145+
@cached_property
146+
def providers(self) -> ProvidersResource:
147+
from .resources.providers import ProvidersResource
148+
149+
return ProvidersResource(self)
150+
143151
@cached_property
144152
def audit_events(self) -> AuditEventsResource:
145153
from .resources.audit_events import AuditEventsResource
@@ -416,6 +424,12 @@ def audiences(self) -> AsyncAudiencesResource:
416424

417425
return AsyncAudiencesResource(self)
418426

427+
@cached_property
428+
def providers(self) -> AsyncProvidersResource:
429+
from .resources.providers import AsyncProvidersResource
430+
431+
return AsyncProvidersResource(self)
432+
419433
@cached_property
420434
def audit_events(self) -> AsyncAuditEventsResource:
421435
from .resources.audit_events import AsyncAuditEventsResource
@@ -643,6 +657,12 @@ def audiences(self) -> audiences.AudiencesResourceWithRawResponse:
643657

644658
return AudiencesResourceWithRawResponse(self._client.audiences)
645659

660+
@cached_property
661+
def providers(self) -> providers.ProvidersResourceWithRawResponse:
662+
from .resources.providers import ProvidersResourceWithRawResponse
663+
664+
return ProvidersResourceWithRawResponse(self._client.providers)
665+
646666
@cached_property
647667
def audit_events(self) -> audit_events.AuditEventsResourceWithRawResponse:
648668
from .resources.audit_events import AuditEventsResourceWithRawResponse
@@ -758,6 +778,12 @@ def audiences(self) -> audiences.AsyncAudiencesResourceWithRawResponse:
758778

759779
return AsyncAudiencesResourceWithRawResponse(self._client.audiences)
760780

781+
@cached_property
782+
def providers(self) -> providers.AsyncProvidersResourceWithRawResponse:
783+
from .resources.providers import AsyncProvidersResourceWithRawResponse
784+
785+
return AsyncProvidersResourceWithRawResponse(self._client.providers)
786+
761787
@cached_property
762788
def audit_events(self) -> audit_events.AsyncAuditEventsResourceWithRawResponse:
763789
from .resources.audit_events import AsyncAuditEventsResourceWithRawResponse
@@ -873,6 +899,12 @@ def audiences(self) -> audiences.AudiencesResourceWithStreamingResponse:
873899

874900
return AudiencesResourceWithStreamingResponse(self._client.audiences)
875901

902+
@cached_property
903+
def providers(self) -> providers.ProvidersResourceWithStreamingResponse:
904+
from .resources.providers import ProvidersResourceWithStreamingResponse
905+
906+
return ProvidersResourceWithStreamingResponse(self._client.providers)
907+
876908
@cached_property
877909
def audit_events(self) -> audit_events.AuditEventsResourceWithStreamingResponse:
878910
from .resources.audit_events import AuditEventsResourceWithStreamingResponse
@@ -988,6 +1020,12 @@ def audiences(self) -> audiences.AsyncAudiencesResourceWithStreamingResponse:
9881020

9891021
return AsyncAudiencesResourceWithStreamingResponse(self._client.audiences)
9901022

1023+
@cached_property
1024+
def providers(self) -> providers.AsyncProvidersResourceWithStreamingResponse:
1025+
from .resources.providers import AsyncProvidersResourceWithStreamingResponse
1026+
1027+
return AsyncProvidersResourceWithStreamingResponse(self._client.providers)
1028+
9911029
@cached_property
9921030
def audit_events(self) -> audit_events.AsyncAuditEventsResourceWithStreamingResponse:
9931031
from .resources.audit_events import AsyncAuditEventsResourceWithStreamingResponse

src/courier/resources/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,14 @@
104104
AudiencesResourceWithStreamingResponse,
105105
AsyncAudiencesResourceWithStreamingResponse,
106106
)
107+
from .providers import (
108+
ProvidersResource,
109+
AsyncProvidersResource,
110+
ProvidersResourceWithRawResponse,
111+
AsyncProvidersResourceWithRawResponse,
112+
ProvidersResourceWithStreamingResponse,
113+
AsyncProvidersResourceWithStreamingResponse,
114+
)
107115
from .automations import (
108116
AutomationsResource,
109117
AsyncAutomationsResource,
@@ -158,6 +166,12 @@
158166
"AsyncAudiencesResourceWithRawResponse",
159167
"AudiencesResourceWithStreamingResponse",
160168
"AsyncAudiencesResourceWithStreamingResponse",
169+
"ProvidersResource",
170+
"AsyncProvidersResource",
171+
"ProvidersResourceWithRawResponse",
172+
"AsyncProvidersResourceWithRawResponse",
173+
"ProvidersResourceWithStreamingResponse",
174+
"AsyncProvidersResourceWithStreamingResponse",
161175
"AuditEventsResource",
162176
"AsyncAuditEventsResource",
163177
"AuditEventsResourceWithRawResponse",
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from .catalog import (
4+
CatalogResource,
5+
AsyncCatalogResource,
6+
CatalogResourceWithRawResponse,
7+
AsyncCatalogResourceWithRawResponse,
8+
CatalogResourceWithStreamingResponse,
9+
AsyncCatalogResourceWithStreamingResponse,
10+
)
11+
from .providers import (
12+
ProvidersResource,
13+
AsyncProvidersResource,
14+
ProvidersResourceWithRawResponse,
15+
AsyncProvidersResourceWithRawResponse,
16+
ProvidersResourceWithStreamingResponse,
17+
AsyncProvidersResourceWithStreamingResponse,
18+
)
19+
20+
__all__ = [
21+
"CatalogResource",
22+
"AsyncCatalogResource",
23+
"CatalogResourceWithRawResponse",
24+
"AsyncCatalogResourceWithRawResponse",
25+
"CatalogResourceWithStreamingResponse",
26+
"AsyncCatalogResourceWithStreamingResponse",
27+
"ProvidersResource",
28+
"AsyncProvidersResource",
29+
"ProvidersResourceWithRawResponse",
30+
"AsyncProvidersResourceWithRawResponse",
31+
"ProvidersResourceWithStreamingResponse",
32+
"AsyncProvidersResourceWithStreamingResponse",
33+
]

0 commit comments

Comments
 (0)