1+ import requests
2+ from . import utils
3+ from codat .models import operations
4+ from typing import Optional
5+
6+ class CompanyManagement :
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 add_data_connection (self , request : operations .AddDataConnectionRequest ) -> operations .AddDataConnectionResponse :
24+ r"""Create data connection
25+ Create a data connection.
26+ """
27+
28+ base_url = self ._server_url
29+
30+ url = utils .generate_url (base_url , "/meta/companies/{companyId}/connections" , request .path_params )
31+
32+ headers = {}
33+ req_content_type , data , form = utils .serialize_request_body (request )
34+ if req_content_type != "multipart/form-data" and req_content_type != "multipart/mixed" :
35+ headers ["content-type" ] = req_content_type
36+
37+ client = self ._security_client
38+
39+ r = client .request ("POST" , url , data = data , files = form , headers = headers )
40+ content_type = r .headers .get ("Content-Type" )
41+
42+ res = operations .AddDataConnectionResponse (status_code = r .status_code , content_type = content_type )
43+
44+ if r .status_code == 200 :
45+ if utils .match_content_type (content_type , "application/json" ):
46+ out = utils .unmarshal_json (r .text , Optional [operations .AddDataConnection200ApplicationJSON ])
47+ res .add_data_connection_200_application_json_object = out
48+
49+ return res
50+
51+
52+ def companies (self , request : operations .CompaniesRequest ) -> operations .CompaniesResponse :
53+ r"""List companies
54+ Retrieve a list of all companies the client has created.
55+ """
56+
57+ base_url = self ._server_url
58+
59+ url = base_url .removesuffix ("/" ) + "/meta/companies"
60+
61+ query_params = utils .get_query_params (request .query_params )
62+
63+ client = self ._security_client
64+
65+ r = client .request ("GET" , url , params = query_params )
66+ content_type = r .headers .get ("Content-Type" )
67+
68+ res = operations .CompaniesResponse (status_code = r .status_code , content_type = content_type )
69+
70+ if r .status_code == 200 :
71+ if utils .match_content_type (content_type , "application/json" ):
72+ out = utils .unmarshal_json (r .text , Optional [operations .Companies200ApplicationJSON ])
73+ res .companies_200_application_json_object = out
74+
75+ return res
76+
77+
78+ def get_dataconnections (self , request : operations .GetDataconnectionsRequest ) -> operations .GetDataconnectionsResponse :
79+ r"""List connections
80+ Retrieve previously created data connections.
81+ """
82+
83+ base_url = self ._server_url
84+
85+ url = utils .generate_url (base_url , "/meta/companies/{companyId}/connections" , request .path_params )
86+
87+ query_params = utils .get_query_params (request .query_params )
88+
89+ client = self ._security_client
90+
91+ r = client .request ("GET" , url , params = query_params )
92+ content_type = r .headers .get ("Content-Type" )
93+
94+ res = operations .GetDataconnectionsResponse (status_code = r .status_code , content_type = content_type )
95+
96+ if r .status_code == 200 :
97+ if utils .match_content_type (content_type , "application/json" ):
98+ out = utils .unmarshal_json (r .text , Optional [operations .GetDataconnections200ApplicationJSON ])
99+ res .get_dataconnections_200_application_json_object = out
100+
101+ return res
102+
103+
104+ def post_companies (self , request : operations .PostCompaniesRequest ) -> operations .PostCompaniesResponse :
105+ r"""Create a Sync for commerce company
106+ Creates a Codat company with a commerce partner data connection.
107+ """
108+
109+ base_url = self ._server_url
110+
111+ url = base_url .removesuffix ("/" ) + "/meta/companies/sync"
112+
113+ headers = {}
114+ req_content_type , data , form = utils .serialize_request_body (request )
115+ if req_content_type != "multipart/form-data" and req_content_type != "multipart/mixed" :
116+ headers ["content-type" ] = req_content_type
117+
118+ client = self ._security_client
119+
120+ r = client .request ("POST" , url , data = data , files = form , headers = headers )
121+ content_type = r .headers .get ("Content-Type" )
122+
123+ res = operations .PostCompaniesResponse (status_code = r .status_code , content_type = content_type )
124+
125+ if r .status_code == 200 :
126+ if utils .match_content_type (content_type , "application/json" ):
127+ out = utils .unmarshal_json (r .text , Optional [operations .PostCompanies200ApplicationJSON ])
128+ res .post_companies_200_application_json_object = out
129+
130+ return res
131+
132+
133+ def update_data_connection (self , request : operations .UpdateDataConnectionRequest ) -> operations .UpdateDataConnectionResponse :
134+ r"""Update data connection
135+ Update a data connection
136+ """
137+
138+ base_url = self ._server_url
139+
140+ url = utils .generate_url (base_url , "/meta/companies/{companyId}/connections/{connectionId}" , request .path_params )
141+
142+ headers = {}
143+ req_content_type , data , form = utils .serialize_request_body (request )
144+ if req_content_type != "multipart/form-data" and req_content_type != "multipart/mixed" :
145+ headers ["content-type" ] = req_content_type
146+
147+ client = self ._security_client
148+
149+ r = client .request ("PATCH" , url , data = data , files = form , headers = headers )
150+ content_type = r .headers .get ("Content-Type" )
151+
152+ res = operations .UpdateDataConnectionResponse (status_code = r .status_code , content_type = content_type )
153+
154+ if r .status_code == 200 :
155+ if utils .match_content_type (content_type , "application/json" ):
156+ out = utils .unmarshal_json (r .text , Optional [operations .UpdateDataConnection200ApplicationJSON ])
157+ res .update_data_connection_200_application_json_object = out
158+
159+ return res
160+
161+
0 commit comments