1- from starlette .endpoints import HTTPEndpoint
2- from starlette .responses import JSONResponse
3- from database import Database
4- from project import Project
51from os import error
2+
63import simplejson
4+ from database import Database
5+ from project import Project
6+ from starlette .endpoints import HTTPEndpoint
7+ from starlette .responses import JSONResponse
8+
79
810class ColumnGroups (HTTPEndpoint ):
911 async def get (self , request ):
10- """
11- endpoint to get column group metadata
12-
12+ """
13+ endpoint to get column group metadata
14+
1315 needs to get column groups based on:
1416 col_group_id
1517 project_id
16- all
18+ all
1719 """
1820
19- project_id = request .path_params [' project_id' ]
21+ project_id = request .path_params [" project_id" ]
2022 project = Project (project_id )
2123
22- if 'id' in request .query_params :
23- id_ = request .query_params ['id' ]
24- sql = 'SELECT * FROM ${project_schema}.column_groups WHERE id = ' + f'{ id_ } ;'
25-
24+ if "id" in request .query_params :
25+ id_ = request .query_params ["id" ]
26+ sql = (
27+ "SELECT * FROM ${project_schema}.column_groups WHERE id = " + f"{ id_ } ;"
28+ )
29+
2630 try :
2731 df = Database ().exec_query (sql )
28- col_groups = df .to_dict (orient = 'records' )
29-
30- return JSONResponse ({"status" :"success" , "data" : col_groups })
31- except error :
32- return JSONResponse ({"error" : f"col_group { id_ } does not exist" })
32+ col_groups = df .to_dict (orient = "records" )
3333
34+ return JSONResponse ({"status" : "success" , "data" : col_groups })
35+ except error :
36+ return JSONResponse ({"error" : f"col_group { id_ } does not exist" })
3437
35- sql = ''' SELECT * from ${project_schema}.column_groups;'''
38+ sql = """ SELECT * from ${project_schema}.column_groups;"""
3639 try :
3740 df = project .db .exec_query (sql )
38- col_groups = df .to_dict (orient = ' records' )
41+ col_groups = df .to_dict (orient = " records" )
3942 col_groups = simplejson .loads (simplejson .dumps (col_groups , ignore_nan = True ))
40-
41- return JSONResponse ({"status" :"success" , "data" : col_groups })
42- except error :
43- return JSONResponse ({"error" : f"project { project_id } does not exist" })
4443
44+ return JSONResponse ({"status" : "success" , "data" : col_groups })
45+ except error :
46+ return JSONResponse ({"error" : f"project { project_id } does not exist" })
4547
4648 async def post (self , request ):
47- """ Endpoint for new Column Groups """
49+ """Endpoint for new Column Groups"""
4850
4951 sql = """INSERT INTO ${project_schema}.column_groups(col_group, col_group_name, color)VALUES(
5052 :col_group,:col_group_name,:color
5153 ) """
5254
53- project = Project (request .path_params [' project_id' ])
55+ project = Project (request .path_params [" project_id" ])
5456
5557 res = await request .json ()
5658
57- params = res [' updatedModel' ]
59+ params = res [" updatedModel" ]
5860
5961 try :
6062 project .db .run_sql (sql , params )
6163
6264 sql = "SELECT id FROM ${project_schema}.column_groups WHERE col_group = :col_group"
6365 res = project .db .exec_sql (sql , params = params , count = 1 )
64- params [' col_group_id' ] = res .id
66+ params [" col_group_id" ] = res .id
6567 except error :
6668 return JSONResponse ({"error" : str (error )})
67-
68- return JSONResponse ({"status" :"success" , "col_group_id" : params ['col_group_id' ]})
69+
70+ return JSONResponse (
71+ {"status" : "success" , "col_group_id" : params ["col_group_id" ]}
72+ )
6973
7074 async def put (self , request ):
71- """ Endpoint for Editing Existing Column Groups """
75+ """Endpoint for Editing Existing Column Groups"""
7276
7377 sql = """
7478 UPDATE ${project_schema}.column_groups cg
@@ -77,17 +81,17 @@ async def put(self, request):
7781 color = :color
7882 WHERE cg.id = :col_group_id
7983 """
80- project = Project (request .path_params [' project_id' ])
84+ project = Project (request .path_params [" project_id" ])
8185
8286 res = await request .json ()
8387
84- params = res [' updatedModel' ]
85- if res [' updatedModel' ].get (' color' ) is None :
86- params [' color' ] = None
88+ params = res [" updatedModel" ]
89+ if res [" updatedModel" ].get (" color" ) is None :
90+ params [" color" ] = None
8791
8892 try :
8993 project .db .run_sql (sql , params )
9094 except error :
9195 return JSONResponse ({"error" : str (error )})
92-
93- return JSONResponse ({"status" :"success" , ** params })
96+
97+ return JSONResponse ({"status" : "success" , ** params })
0 commit comments