1+ import requests
2+ from . import utils
3+ from fabra .models import operations
4+ from typing import Optional
5+
6+ class Connection :
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_namespaces (self , request : operations .GetNamespacesRequest ) -> operations .GetNamespacesResponse :
24+ r"""Get all namespaces
25+ """
26+
27+ base_url = self ._server_url
28+
29+ url = base_url .removesuffix ("/" ) + "/connection/namespaces"
30+
31+ query_params = utils .get_query_params (request .query_params )
32+
33+ client = self ._security_client
34+
35+ r = client .request ("GET" , url , params = query_params )
36+ content_type = r .headers .get ("Content-Type" )
37+
38+ res = operations .GetNamespacesResponse (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 .GetNamespaces200ApplicationJSON ])
43+ res .get_namespaces_200_application_json_object = out
44+ elif r .status_code == 401 :
45+ pass
46+ elif r .status_code == 500 :
47+ pass
48+
49+ return res
50+
51+
52+ def get_schema (self , request : operations .GetSchemaRequest ) -> operations .GetSchemaResponse :
53+ r"""Get schema for table
54+ """
55+
56+ base_url = self ._server_url
57+
58+ url = base_url .removesuffix ("/" ) + "/connection/schema"
59+
60+ query_params = utils .get_query_params (request .query_params )
61+
62+ client = self ._security_client
63+
64+ r = client .request ("GET" , url , params = query_params )
65+ content_type = r .headers .get ("Content-Type" )
66+
67+ res = operations .GetSchemaResponse (status_code = r .status_code , content_type = content_type )
68+
69+ if r .status_code == 200 :
70+ if utils .match_content_type (content_type , "application/json" ):
71+ out = utils .unmarshal_json (r .text , Optional [operations .GetSchema200ApplicationJSON ])
72+ res .get_schema_200_application_json_object = out
73+ elif r .status_code == 401 :
74+ pass
75+ elif r .status_code == 500 :
76+ pass
77+
78+ return res
79+
80+
81+ def get_tables (self , request : operations .GetTablesRequest ) -> operations .GetTablesResponse :
82+ r"""Get all tables
83+ """
84+
85+ base_url = self ._server_url
86+
87+ url = base_url .removesuffix ("/" ) + "/connection/tables"
88+
89+ query_params = utils .get_query_params (request .query_params )
90+
91+ client = self ._security_client
92+
93+ r = client .request ("GET" , url , params = query_params )
94+ content_type = r .headers .get ("Content-Type" )
95+
96+ res = operations .GetTablesResponse (status_code = r .status_code , content_type = content_type )
97+
98+ if r .status_code == 200 :
99+ if utils .match_content_type (content_type , "application/json" ):
100+ out = utils .unmarshal_json (r .text , Optional [operations .GetTables200ApplicationJSON ])
101+ res .get_tables_200_application_json_object = out
102+ elif r .status_code == 401 :
103+ pass
104+ elif r .status_code == 500 :
105+ pass
106+
107+ return res
108+
109+
0 commit comments