1+ import requests
2+ from . import utils
3+ from codat .models import operations
4+ from typing import Optional
5+
6+ class Accounts :
7+ _client : requests .Session
8+ _security_client : requests .Session
9+ _server_url : str
10+ _language : str
11+ _sdk_version : str
12+ _gen_version : str
13+
14+ def __init__ (self , client : requests .Session , security_client : requests .Session , server_url : str , language : str , sdk_version : str , gen_version : str ) -> None :
15+ self ._client = client
16+ self ._security_client = security_client
17+ self ._server_url = server_url
18+ self ._language = language
19+ self ._sdk_version = sdk_version
20+ self ._gen_version = gen_version
21+
22+
23+ def get_bank_account (self , request : operations .GetBankAccountRequest ) -> operations .GetBankAccountResponse :
24+ r"""Get bank account
25+ Gets a specified bank account for a given company
26+ """
27+
28+ base_url = self ._server_url
29+
30+ url = utils .generate_url (base_url , "/companies/{companyId}/connections/{connectionId}/data/banking-accounts/{accountId}" , request .path_params )
31+
32+
33+ client = utils .configure_security_client (self ._client , request .security )
34+
35+ r = client .request ("GET" , url )
36+ content_type = r .headers .get ("Content-Type" )
37+
38+ res = operations .GetBankAccountResponse (status_code = r .status_code , content_type = content_type )
39+
40+ if r .status_code == 200 :
41+ if utils .match_content_type (content_type , "application/json" ):
42+ out = utils .unmarshal_json (r .text , Optional [operations .GetBankAccountSourceModifiedDate ])
43+ res .source_modified_date = out
44+
45+ return res
46+
47+
48+ def list_banking_accounts (self , request : operations .ListBankingAccountsRequest ) -> operations .ListBankingAccountsResponse :
49+ r"""List bank accounts
50+ Gets a list of all bank accounts of the SMB, with rich data like balances, account numbers and institutions holdingthe accounts.
51+ """
52+
53+ base_url = self ._server_url
54+
55+ url = utils .generate_url (base_url , "/companies/{companyId}/connections/{connectionId}/data/banking-accounts" , request .path_params )
56+
57+ query_params = utils .get_query_params (request .query_params )
58+
59+ client = utils .configure_security_client (self ._client , request .security )
60+
61+ r = client .request ("GET" , url , params = query_params )
62+ content_type = r .headers .get ("Content-Type" )
63+
64+ res = operations .ListBankingAccountsResponse (status_code = r .status_code , content_type = content_type )
65+
66+ if r .status_code == 200 :
67+ if utils .match_content_type (content_type , "application/json" ):
68+ out = utils .unmarshal_json (r .text , Optional [operations .ListBankingAccountsLinks ])
69+ res .links = out
70+
71+ return res
72+
73+
0 commit comments