@@ -20,46 +20,47 @@ def __init__(self, auth_token: AuthToken, base_uri: str):
2020 self .__session .headers .update ({"Content-Type" : "application/json" })
2121 self .__api_info = NocoDBAPI (base_uri )
2222
23+ def _request (self , method , url , * args , ** kwargs ):
24+ response = self .__session (method , url , * args , ** kwargs )
25+ response .raise_for_status ()
26+ return response
27+
2328 def table_row_list (
2429 self ,
2530 project : NocoDBProject ,
2631 table : str ,
2732 filter_obj : Optional [WhereFilter ] = None ,
2833 params : Optional [dict ] = None ,
2934 ) -> dict :
30-
31- response = self . __session . get (
35+ return self . _request (
36+ "GET" ,
3237 self .__api_info .get_table_uri (project , table ),
3338 params = get_query_params (filter_obj , params ),
34- )
35- return response .json ()
39+ ).json ()
3640
37- def table_row_create (
38- self , project : NocoDBProject , table : str , body : dict
39- ) -> dict :
40- return self .__session .post (
41- self .__api_info .get_table_uri (project , table ), json = body
41+ def table_row_create (self , project : NocoDBProject , table : str , body : dict ) -> dict :
42+ return self ._request (
43+ "POST" , self .__api_info .get_table_uri (project , table ), json = body
4244 ).json ()
4345
44- def table_row_detail (
45- self , project : NocoDBProject , table : str , row_id : int
46- ) -> dict :
47- return self .__session .get (
46+ def table_row_detail (self , project : NocoDBProject , table : str , row_id : int ) -> dict :
47+ return self ._request (
48+ "GET" ,
4849 self .__api_info .get_row_detail_uri (project , table , row_id ),
4950 ).json ()
5051
5152 def table_row_update (
5253 self , project : NocoDBProject , table : str , row_id : int , body : dict
5354 ) -> dict :
54- return self .__session .patch (
55+ return self ._request (
56+ "PATCH" ,
5557 self .__api_info .get_row_detail_uri (project , table , row_id ),
5658 json = body ,
5759 ).json ()
5860
59- def table_row_delete (
60- self , project : NocoDBProject , table : str , row_id : int
61- ) -> int :
62- return self .__session .delete (
61+ def table_row_delete (self , project : NocoDBProject , table : str , row_id : int ) -> int :
62+ return self ._request (
63+ "DELETE" ,
6364 self .__api_info .get_row_detail_uri (project , table , row_id ),
6465 ).json ()
6566
@@ -71,16 +72,14 @@ def table_row_nested_relations_list(
7172 row_id : int ,
7273 column_name : str ,
7374 ) -> dict :
74- return self .__session .get (
75+ return self ._request (
76+ "GET" ,
7577 self .__api_info .get_nested_relations_rows_list_uri (
7678 project , table , relation_type , row_id , column_name
77- )
79+ ),
7880 ).json ()
7981
80- def project_create (
81- self ,
82- body
83- ):
84- return self .__session .post (
85- self .__api_info .get_project_uri (), json = body
82+ def project_create (self , body ):
83+ return self ._request (
84+ "POST" , self .__api_info .get_project_uri (), json = body
8685 ).json ()
0 commit comments