Skip to content

Commit

Permalink
feat!: add token intents, enrichments api, 3ds changes and more (#75)
Browse files Browse the repository at this point in the history
BREAKING CHANGE: Cant pass data directly on CreateTokenRequest constructor, data is. nullable
  • Loading branch information
lcschy authored Nov 14, 2024
1 parent c0f3033 commit eb9684c
Show file tree
Hide file tree
Showing 13 changed files with 702 additions and 49 deletions.
20 changes: 4 additions & 16 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ basistheory/api/application_keys_api.py
basistheory/api/application_templates_api.py
basistheory/api/applications_api.py
basistheory/api/detokenize_api.py
basistheory/api/enrichments_api.py
basistheory/api/logs_api.py
basistheory/api/permissions_api.py
basistheory/api/proxies_api.py
Expand All @@ -27,6 +28,7 @@ basistheory/model/application_paginated_list.py
basistheory/model/application_template.py
basistheory/model/authenticate_three_ds_session_request.py
basistheory/model/authorize_session_request.py
basistheory/model/bank_verification_request.py
basistheory/model/bin_details.py
basistheory/model/bin_details_bank.py
basistheory/model/bin_details_country.py
Expand Down Expand Up @@ -130,20 +132,6 @@ basistheory/rest.py
requirements.txt
test-requirements.txt
test/__init__.py
test/test_card_details.py
test/test_create_tenant_connection_request.py
test/test_create_tenant_connection_response.py
test/test_create_three_ds_session_request.py
test/test_create_three_ds_session_response.py
test/test_cursor_pagination.py
test/test_detokenize_api.py
test/test_get_tokens_v2.py
test/test_react_request_async.py
test/test_role.py
test/test_roles_api.py
test/test_search_tokens_request_v2.py
test/test_tenant_connection_options.py
test/test_token_cursor_paginated_list.py
test/test_token_extras.py
test/test_update_tenant_member_request.py
test/test_bank_verification_request.py
test/test_enrichments_api.py
tox.ini
180 changes: 180 additions & 0 deletions basistheory/api/enrichments_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
"""
Basis Theory API
## Getting Started * Sign-in to [Basis Theory](https://basistheory.com) and go to [Applications](https://portal.basistheory.com/applications) * Create a Basis Theory Private Application * All permissions should be selected * Paste the API Key into the `BT-API-KEY` variable # noqa: E501
The version of the OpenAPI document: v1
Generated by: https://openapi-generator.tech
"""


import re # noqa: F401
import sys # noqa: F401

from basistheory.api_client import ApiClient, Endpoint as _Endpoint
from basistheory.model_utils import ( # noqa: F401
check_allowed_values,
check_validations,
date,
datetime,
file_type,
none_type,
validate_and_convert_types,
set_request_options
)
from basistheory.model.bank_verification_request import BankVerificationRequest
from basistheory.model.problem_details import ProblemDetails
from basistheory.model.validation_problem_details import ValidationProblemDetails


class EnrichmentsApi(object):
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""

def __init__(self, api_client=None):
if api_client is None:
api_client = ApiClient()
self.api_client = api_client
self.bank_account_verify_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [
'apiKey'
],
'endpoint_path': '/enrichments/bank-account-verify',
'operation_id': 'bank_account_verify',
'http_method': 'POST',
'servers': None,
},
params_map={
'all': [
'bank_verification_request',
'request_options'
],
'required': [
'bank_verification_request',
],
'nullable': [
],
'enum': [
],
'validation': [
]
},
root_map={
'validations': {
},
'allowed_values': {
},
'openapi_types': {
'bank_verification_request':
(BankVerificationRequest,),
},
'attribute_map': {
},
'location_map': {
'bank_verification_request': 'body',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
'application/json'
],
'content_type': [
'application/json'
]
},
api_client=api_client
)

def bank_account_verify(
self,
bank_verification_request,
**kwargs
):
"""bank_account_verify # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.bank_account_verify(bank_verification_request, async_req=True)
>>> result = thread.get()
Args:
bank_verification_request (BankVerificationRequest):
Keyword Args:
request_options(RequestOptions): [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
will be returned without reading/decoding response data.
Default is True.
_request_timeout (int/float/tuple): timeout setting for this request. If
one number provided, it will be total request timeout. It can also
be a pair (tuple) of (connection, read) timeouts.
Default is None.
_check_input_type (bool): specifies if type checking
should be done one the data sent to the server.
Default is True.
_check_return_type (bool): specifies if type checking
should be done one the data received from the server.
Default is True.
_spec_property_naming (bool): True if the variable names in the input data
are serialized names, as specified in the OpenAPI document.
False if the variable names in the input data
are pythonic names, e.g. snake case (default)
_content_type (str/None): force body content-type.
Default is None and content-type will be predicted by allowed
content-types and body.
_host_index (int/None): specifies the index of the server
that we want to use.
Default is read from the configuration.
_request_auths (list): set to override the auth_settings for an a single
request; this effectively ignores the authentication
in the spec for a single request.
Default is None
async_req (bool): execute request asynchronously
Returns:
None
If the method is called asynchronously, returns the request
thread.
"""
if kwargs.get('request_options'):
set_request_options(kwargs.pop('request_options'), self)

kwargs['async_req'] = kwargs.get(
'async_req', False
)
kwargs['_return_http_data_only'] = kwargs.get(
'_return_http_data_only', True
)
kwargs['_preload_content'] = kwargs.get(
'_preload_content', True
)
kwargs['_request_timeout'] = kwargs.get(
'_request_timeout', None
)
kwargs['_check_input_type'] = kwargs.get(
'_check_input_type', True
)
kwargs['_check_return_type'] = kwargs.get(
'_check_return_type', True
)
kwargs['_spec_property_naming'] = kwargs.get(
'_spec_property_naming', False
)
kwargs['_content_type'] = kwargs.get(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['bank_verification_request'] = \
bank_verification_request
return self.bank_account_verify_endpoint.call_with_http_info(**kwargs)

1 change: 1 addition & 0 deletions basistheory/apis/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from basistheory.api.application_templates_api import ApplicationTemplatesApi
from basistheory.api.applications_api import ApplicationsApi
from basistheory.api.detokenize_api import DetokenizeApi
from basistheory.api.enrichments_api import EnrichmentsApi
from basistheory.api.logs_api import LogsApi
from basistheory.api.permissions_api import PermissionsApi
from basistheory.api.proxies_api import ProxiesApi
Expand Down
8 changes: 8 additions & 0 deletions basistheory/model/authenticate_three_ds_session_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ def openapi_types():
'authentication_type': (str,), # noqa: E501
'requestor_info': (ThreeDSRequestorInfo,), # noqa: E501
'challenge_preference': (str, none_type,), # noqa: E501
'request_decoupled_challenge': (bool,), # noqa: E501
'decoupled_challenge_max_time': (int, none_type,), # noqa: E501
'purchase_info': (ThreeDSPurchaseInfo,), # noqa: E501
'merchant_info': (ThreeDSMerchantInfo,), # noqa: E501
'cardholder_info': (ThreeDSCardholderInfo,), # noqa: E501
Expand All @@ -115,6 +117,8 @@ def discriminator():
'authentication_type': 'authentication_type', # noqa: E501
'requestor_info': 'requestor_info', # noqa: E501
'challenge_preference': 'challenge_preference', # noqa: E501
'request_decoupled_challenge': 'request_decoupled_challenge', # noqa: E501
'decoupled_challenge_max_time': 'decoupled_challenge_max_time', # noqa: E501
'purchase_info': 'purchase_info', # noqa: E501
'merchant_info': 'merchant_info', # noqa: E501
'cardholder_info': 'cardholder_info', # noqa: E501
Expand Down Expand Up @@ -169,6 +173,8 @@ def _from_openapi_data(cls, authentication_category, authentication_type, reques
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
challenge_preference (str, none_type): [optional] # noqa: E501
request_decoupled_challenge (bool): [optional] # noqa: E501
decoupled_challenge_max_time (int, none_type): [optional] # noqa: E501
purchase_info (ThreeDSPurchaseInfo): [optional] # noqa: E501
merchant_info (ThreeDSMerchantInfo): [optional] # noqa: E501
cardholder_info (ThreeDSCardholderInfo): [optional] # noqa: E501
Expand Down Expand Up @@ -268,6 +274,8 @@ def __init__(self, authentication_category, authentication_type, requestor_info,
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
challenge_preference (str, none_type): [optional] # noqa: E501
request_decoupled_challenge (bool): [optional] # noqa: E501
decoupled_challenge_max_time (int, none_type): [optional] # noqa: E501
purchase_info (ThreeDSPurchaseInfo): [optional] # noqa: E501
merchant_info (ThreeDSMerchantInfo): [optional] # noqa: E501
cardholder_info (ThreeDSCardholderInfo): [optional] # noqa: E501
Expand Down
Loading

0 comments on commit eb9684c

Please sign in to comment.