Skip to content

Commit 57f2dd2

Browse files
committed
Release 0.0.834
1 parent 501b38a commit 57f2dd2

10 files changed

+219
-2
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "revert-api"
3-
version = "0.0.795"
3+
version = "0.0.834"
44
description = ""
55
readme = "README.md"
66
authors = []

src/revert/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# This file was auto-generated by Fern from our API Definition.
22

33
from .resources import (
4+
ConnectionImport,
45
ConnectionStatus,
56
CreateAccountFieldMappingRequestBody,
67
CreateAccountFieldMappingResponse,
@@ -22,6 +23,8 @@
2223
GetConnectionWebhookResponse,
2324
GetFieldMappingConfigResponse,
2425
GetFieldMappingsResponse,
26+
ImportConnectionsRequestBody,
27+
ImportConnectionsResponse,
2528
MappableFieldType,
2629
chat,
2730
common,
@@ -34,6 +37,7 @@
3437
from .environment import RevertEnvironment
3538

3639
__all__ = [
40+
"ConnectionImport",
3741
"ConnectionStatus",
3842
"CreateAccountFieldMappingRequestBody",
3943
"CreateAccountFieldMappingResponse",
@@ -55,6 +59,8 @@
5559
"GetConnectionWebhookResponse",
5660
"GetFieldMappingConfigResponse",
5761
"GetFieldMappingsResponse",
62+
"ImportConnectionsRequestBody",
63+
"ImportConnectionsResponse",
5864
"MappableFieldType",
5965
"RevertEnvironment",
6066
"chat",

src/revert/core/client_wrapper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def get_headers(self) -> typing.Dict[str, str]:
1313
headers: typing.Dict[str, str] = {
1414
"X-Fern-Language": "Python",
1515
"X-Fern-SDK-Name": "revert-api",
16-
"X-Fern-SDK-Version": "0.0.795",
16+
"X-Fern-SDK-Version": "0.0.834",
1717
}
1818
return headers
1919

src/revert/resources/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from . import chat, common, connection, crm, field_mapping, metadata, ticket
44
from .connection import (
5+
ConnectionImport,
56
ConnectionStatus,
67
CreateConnectionWebhookRequest,
78
CreateConnectionWebhookResponse,
@@ -11,6 +12,8 @@
1112
GetConnectStatusResponse,
1213
GetConnectionResponse,
1314
GetConnectionWebhookResponse,
15+
ImportConnectionsRequestBody,
16+
ImportConnectionsResponse,
1417
)
1518
from .field_mapping import (
1619
CreateAccountFieldMappingRequestBody,
@@ -27,6 +30,7 @@
2730
from .metadata import CrmMetadata, CrmMetadataResponse, CrmStatus
2831

2932
__all__ = [
33+
"ConnectionImport",
3034
"ConnectionStatus",
3135
"CreateAccountFieldMappingRequestBody",
3236
"CreateAccountFieldMappingResponse",
@@ -48,6 +52,8 @@
4852
"GetConnectionWebhookResponse",
4953
"GetFieldMappingConfigResponse",
5054
"GetFieldMappingsResponse",
55+
"ImportConnectionsRequestBody",
56+
"ImportConnectionsResponse",
5157
"MappableFieldType",
5258
"chat",
5359
"common",

src/revert/resources/connection/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# This file was auto-generated by Fern from our API Definition.
22

33
from .types import (
4+
ConnectionImport,
45
ConnectionStatus,
56
CreateConnectionWebhookRequest,
67
CreateConnectionWebhookResponse,
@@ -10,9 +11,12 @@
1011
GetConnectStatusResponse,
1112
GetConnectionResponse,
1213
GetConnectionWebhookResponse,
14+
ImportConnectionsRequestBody,
15+
ImportConnectionsResponse,
1316
)
1417

1518
__all__ = [
19+
"ConnectionImport",
1620
"ConnectionStatus",
1721
"CreateConnectionWebhookRequest",
1822
"CreateConnectionWebhookResponse",
@@ -22,4 +26,6 @@
2226
"GetConnectStatusResponse",
2327
"GetConnectionResponse",
2428
"GetConnectionWebhookResponse",
29+
"ImportConnectionsRequestBody",
30+
"ImportConnectionsResponse",
2531
]

src/revert/resources/connection/client.py

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
from .types.get_connect_status_response import GetConnectStatusResponse
2121
from .types.get_connection_response import GetConnectionResponse
2222
from .types.get_connection_webhook_response import GetConnectionWebhookResponse
23+
from .types.import_connections_request_body import ImportConnectionsRequestBody
24+
from .types.import_connections_response import ImportConnectionsResponse
2325

2426
try:
2527
import pydantic.v1 as pydantic # type: ignore
@@ -326,6 +328,54 @@ def get_integration_status(
326328
raise ApiError(status_code=_response.status_code, body=_response.text)
327329
raise ApiError(status_code=_response.status_code, body=_response_json)
328330

331+
def import_connections(
332+
self,
333+
*,
334+
request: ImportConnectionsRequestBody,
335+
x_revert_api_token: str,
336+
x_api_version: typing.Optional[str] = None,
337+
x_revert_t_id: str,
338+
) -> ImportConnectionsResponse:
339+
"""
340+
Import multiple connections for a specific environment. Use this to bulk import connections as a one-time exercise.
341+
342+
Parameters:
343+
- request: ImportConnectionsRequestBody.
344+
345+
- x_revert_api_token: str. Your official API key for accessing revert apis.
346+
347+
- x_api_version: typing.Optional[str]. Optional Revert API version you're using. If missing we default to the latest version of the API.
348+
349+
- x_revert_t_id: str. The unique customer id used when the customer linked their account.
350+
"""
351+
_response = self._client_wrapper.httpx_client.request(
352+
"POST",
353+
urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "connection/import"),
354+
json=jsonable_encoder(request),
355+
headers=remove_none_from_dict(
356+
{
357+
**self._client_wrapper.get_headers(),
358+
"x-revert-api-token": x_revert_api_token,
359+
"x-api-version": x_api_version,
360+
"x-revert-t-id": x_revert_t_id,
361+
}
362+
),
363+
timeout=None,
364+
)
365+
if 200 <= _response.status_code < 300:
366+
return pydantic.parse_obj_as(ImportConnectionsResponse, _response.json()) # type: ignore
367+
if _response.status_code == 401:
368+
raise UnAuthorizedError(pydantic.parse_obj_as(BaseError, _response.json())) # type: ignore
369+
if _response.status_code == 500:
370+
raise InternalServerError(pydantic.parse_obj_as(BaseError, _response.json())) # type: ignore
371+
if _response.status_code == 404:
372+
raise NotFoundError(pydantic.parse_obj_as(BaseError, _response.json())) # type: ignore
373+
try:
374+
_response_json = _response.json()
375+
except JSONDecodeError:
376+
raise ApiError(status_code=_response.status_code, body=_response.text)
377+
raise ApiError(status_code=_response.status_code, body=_response_json)
378+
329379

330380
class AsyncConnectionClient:
331381
def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -622,3 +672,51 @@ async def get_integration_status(
622672
except JSONDecodeError:
623673
raise ApiError(status_code=_response.status_code, body=_response.text)
624674
raise ApiError(status_code=_response.status_code, body=_response_json)
675+
676+
async def import_connections(
677+
self,
678+
*,
679+
request: ImportConnectionsRequestBody,
680+
x_revert_api_token: str,
681+
x_api_version: typing.Optional[str] = None,
682+
x_revert_t_id: str,
683+
) -> ImportConnectionsResponse:
684+
"""
685+
Import multiple connections for a specific environment. Use this to bulk import connections as a one-time exercise.
686+
687+
Parameters:
688+
- request: ImportConnectionsRequestBody.
689+
690+
- x_revert_api_token: str. Your official API key for accessing revert apis.
691+
692+
- x_api_version: typing.Optional[str]. Optional Revert API version you're using. If missing we default to the latest version of the API.
693+
694+
- x_revert_t_id: str. The unique customer id used when the customer linked their account.
695+
"""
696+
_response = await self._client_wrapper.httpx_client.request(
697+
"POST",
698+
urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "connection/import"),
699+
json=jsonable_encoder(request),
700+
headers=remove_none_from_dict(
701+
{
702+
**self._client_wrapper.get_headers(),
703+
"x-revert-api-token": x_revert_api_token,
704+
"x-api-version": x_api_version,
705+
"x-revert-t-id": x_revert_t_id,
706+
}
707+
),
708+
timeout=None,
709+
)
710+
if 200 <= _response.status_code < 300:
711+
return pydantic.parse_obj_as(ImportConnectionsResponse, _response.json()) # type: ignore
712+
if _response.status_code == 401:
713+
raise UnAuthorizedError(pydantic.parse_obj_as(BaseError, _response.json())) # type: ignore
714+
if _response.status_code == 500:
715+
raise InternalServerError(pydantic.parse_obj_as(BaseError, _response.json())) # type: ignore
716+
if _response.status_code == 404:
717+
raise NotFoundError(pydantic.parse_obj_as(BaseError, _response.json())) # type: ignore
718+
try:
719+
_response_json = _response.json()
720+
except JSONDecodeError:
721+
raise ApiError(status_code=_response.status_code, body=_response.text)
722+
raise ApiError(status_code=_response.status_code, body=_response_json)

src/revert/resources/connection/types/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# This file was auto-generated by Fern from our API Definition.
22

3+
from .connection_import import ConnectionImport
34
from .connection_status import ConnectionStatus
45
from .create_connection_webhook_request import CreateConnectionWebhookRequest
56
from .create_connection_webhook_response import CreateConnectionWebhookResponse
@@ -9,8 +10,11 @@
910
from .get_connect_status_response import GetConnectStatusResponse
1011
from .get_connection_response import GetConnectionResponse
1112
from .get_connection_webhook_response import GetConnectionWebhookResponse
13+
from .import_connections_request_body import ImportConnectionsRequestBody
14+
from .import_connections_response import ImportConnectionsResponse
1215

1316
__all__ = [
17+
"ConnectionImport",
1418
"ConnectionStatus",
1519
"CreateConnectionWebhookRequest",
1620
"CreateConnectionWebhookResponse",
@@ -20,4 +24,6 @@
2024
"GetConnectStatusResponse",
2125
"GetConnectionResponse",
2226
"GetConnectionWebhookResponse",
27+
"ImportConnectionsRequestBody",
28+
"ImportConnectionsResponse",
2329
]
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
import datetime as dt
4+
import typing
5+
6+
from ....core.datetime_utils import serialize_datetime
7+
from ...common.resources.types.types.tpid import Tpid
8+
9+
try:
10+
import pydantic.v1 as pydantic # type: ignore
11+
except ImportError:
12+
import pydantic # type: ignore
13+
14+
15+
class ConnectionImport(pydantic.BaseModel):
16+
tp_id: Tpid
17+
tp_access_token: str
18+
tp_refresh_token: str
19+
tp_customer_id: str = pydantic.Field(description="The emailId or a unique ID id of the user who connected the app.")
20+
t_id: str
21+
tp_account_url: typing.Optional[str]
22+
app_client_id: str
23+
app_client_secret: str
24+
app_id: str = pydantic.Field(description="Can be obtained from the integration dashboard.")
25+
26+
def json(self, **kwargs: typing.Any) -> str:
27+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
28+
return super().json(**kwargs_with_defaults)
29+
30+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
31+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
32+
return super().dict(**kwargs_with_defaults)
33+
34+
class Config:
35+
frozen = True
36+
smart_union = True
37+
json_encoders = {dt.datetime: serialize_datetime}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
import datetime as dt
4+
import typing
5+
6+
from ....core.datetime_utils import serialize_datetime
7+
from .connection_import import ConnectionImport
8+
9+
try:
10+
import pydantic.v1 as pydantic # type: ignore
11+
except ImportError:
12+
import pydantic # type: ignore
13+
14+
15+
class ImportConnectionsRequestBody(pydantic.BaseModel):
16+
connections: typing.List[ConnectionImport]
17+
18+
def json(self, **kwargs: typing.Any) -> str:
19+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
20+
return super().json(**kwargs_with_defaults)
21+
22+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
23+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
24+
return super().dict(**kwargs_with_defaults)
25+
26+
class Config:
27+
frozen = True
28+
smart_union = True
29+
json_encoders = {dt.datetime: serialize_datetime}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
import datetime as dt
4+
import typing
5+
6+
from ....core.datetime_utils import serialize_datetime
7+
from ...common.resources.types.types.response_status import ResponseStatus
8+
9+
try:
10+
import pydantic.v1 as pydantic # type: ignore
11+
except ImportError:
12+
import pydantic # type: ignore
13+
14+
15+
class ImportConnectionsResponse(pydantic.BaseModel):
16+
status: ResponseStatus
17+
18+
def json(self, **kwargs: typing.Any) -> str:
19+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
20+
return super().json(**kwargs_with_defaults)
21+
22+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
23+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
24+
return super().dict(**kwargs_with_defaults)
25+
26+
class Config:
27+
frozen = True
28+
smart_union = True
29+
json_encoders = {dt.datetime: serialize_datetime}

0 commit comments

Comments
 (0)