@@ -49,11 +49,13 @@ async def datasource_list(session: SessionDep, user: CurrentUser):
4949
5050
5151@router .post ("/get/{id}" , response_model = CoreDatasource , summary = f"{ PLACEHOLDER_PREFIX } ds_get" )
52+ @require_permissions (permission = SqlbotPermission (role = ['ws_admin' ], keyExpression = "id" , type = 'ds' ))
5253async def get_datasource (session : SessionDep , id : int = Path (..., description = f"{ PLACEHOLDER_PREFIX } ds_id" )):
5354 return get_ds (session , id )
5455
5556
5657@router .post ("/check" , response_model = bool , summary = f"{ PLACEHOLDER_PREFIX } ds_check" )
58+ @require_permissions (permission = SqlbotPermission (role = ['ws_admin' ]))
5759async def check (session : SessionDep , trans : Trans , ds : CoreDatasource ):
5860 def inner ():
5961 return check_status (session , trans , ds , True )
@@ -72,6 +74,7 @@ def inner():
7274
7375@router .post ("/add" , response_model = CoreDatasource , summary = f"{ PLACEHOLDER_PREFIX } ds_add" )
7476@system_log (LogConfig (operation_type = OperationType .CREATE , module = OperationModules .DATASOURCE , result_id_expr = "id" ))
77+ @require_permissions (permission = SqlbotPermission (role = ['ws_admin' ]))
7578async def add (session : SessionDep , trans : Trans , user : CurrentUser , ds : CreateDatasource ):
7679 def inner ():
7780 return create_ds (session , trans , user , ds )
@@ -89,7 +92,7 @@ def inner():
8992
9093
9194@router .post ("/update" , response_model = CoreDatasource , summary = f"{ PLACEHOLDER_PREFIX } ds_update" )
92- @require_permissions (permission = SqlbotPermission (type = 'ds' , keyExpression = "ds.id" ))
95+ @require_permissions (permission = SqlbotPermission (role = [ 'ws_admin' ], permission = SqlbotPermission ( type = 'ds' , keyExpression = "ds.id" ) ))
9396@system_log (
9497 LogConfig (operation_type = OperationType .UPDATE , module = OperationModules .DATASOURCE , resource_id_expr = "ds.id" ))
9598async def update (session : SessionDep , trans : Trans , user : CurrentUser , ds : CoreDatasource ):
@@ -100,7 +103,7 @@ def inner():
100103
101104
102105@router .post ("/delete/{id}/{name}" , response_model = None , summary = f"{ PLACEHOLDER_PREFIX } ds_delete" )
103- @require_permissions (permission = SqlbotPermission (type = 'ds' , keyExpression = "id" ))
106+ @require_permissions (permission = SqlbotPermission (role = [ 'ws_admin' ], type = 'ds' , keyExpression = "id" ))
104107@system_log (LogConfig (operation_type = OperationType .DELETE , module = OperationModules .DATASOURCE , resource_id_expr = "id" ,
105108 ))
106109async def delete (session : SessionDep , id : int = Path (..., description = f"{ PLACEHOLDER_PREFIX } ds_id" ), name : str = None ):
0 commit comments