File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11from typing import Optional
22from ..nocodb import (
3+ JWTAuthToken ,
34 NocoDBClient ,
45 NocoDBProject ,
56 AuthToken ,
1213
1314
1415class NocoDBRequestsClient (NocoDBClient ):
15- def __init__ (self , auth_token : AuthToken , base_uri : str ):
16+ def __init__ (
17+ self ,
18+ base_uri : str ,
19+ auth_token : AuthToken = None ,
20+ email : str = None ,
21+ password : str = None ,
22+ ):
1623 self .__session = requests .Session ()
24+ self .__api_info = NocoDBAPI (base_uri )
25+
26+ if not auth_token and not (email and password ):
27+ raise ValueError ("Either сredentials or token must be provided" )
28+
29+ if not auth_token and (email and password ):
30+ auth_token = JWTAuthToken (self .get_auth_token (email , password ))
31+
1732 self .__session .headers .update (
18- auth_token .get_header (),
19- )
33+ auth_token .get_header (),
34+ )
2035 self .__session .headers .update ({"Content-Type" : "application/json" })
21- self .__api_info = NocoDBAPI (base_uri )
36+
37+ def get_auth_token (self , email : str , password : str ) -> str :
38+ auth_token = self .__session .post (
39+ self .__api_info .get_auth_uri (),
40+ json = dict (email = email , password = password )
41+ ).json ()['token' ]
42+ return auth_token
2243
2344 def table_row_list (
2445 self ,
You can’t perform that action at this time.
0 commit comments