@@ -62,7 +62,7 @@ def canvas_list():
62
62
@login_required
63
63
def rm ():
64
64
for i in request .json ["canvas_ids" ]:
65
- if not UserCanvasService .query ( user_id = current_user .id , id = i ):
65
+ if not UserCanvasService .accessible ( i , current_user .id ):
66
66
return get_json_result (
67
67
data = False , message = 'Only owner of canvas authorized for this operation.' ,
68
68
code = RetCode .OPERATING_ERROR )
@@ -86,7 +86,7 @@ def save():
86
86
if not UserCanvasService .save (** req ):
87
87
return get_data_error_result (message = "Fail to save canvas." )
88
88
else :
89
- if not UserCanvasService .query ( user_id = current_user . id , id = req ["id" ]):
89
+ if not UserCanvasService .accessible ( req ["id" ], current_user . id ):
90
90
return get_json_result (
91
91
data = False , message = 'Only owner of canvas authorized for this operation.' ,
92
92
code = RetCode .OPERATING_ERROR )
@@ -100,10 +100,9 @@ def save():
100
100
@manager .route ('/get/<canvas_id>' , methods = ['GET' ]) # noqa: F821
101
101
@login_required
102
102
def get (canvas_id ):
103
- e , c = UserCanvasService .get_by_tenant_id (canvas_id )
104
- tids = [t .tenant_id for t in UserTenantService .query (user_id = current_user .id )]
105
- if not e or (c ["user_id" ] != current_user .id and c ["user_id" ] not in tids ):
103
+ if not UserCanvasService .accessible (canvas_id , current_user .id ):
106
104
return get_data_error_result (message = "canvas not found." )
105
+ e , c = UserCanvasService .get_by_tenant_id (canvas_id )
107
106
return get_json_result (data = c )
108
107
109
108
@@ -132,14 +131,15 @@ def run():
132
131
files = req .get ("files" , [])
133
132
inputs = req .get ("inputs" , {})
134
133
user_id = req .get ("user_id" , current_user .id )
135
- e , cvs = UserCanvasService .get_by_id (req ["id" ])
136
- if not e :
137
- return get_data_error_result (message = "canvas not found." )
138
- if not UserCanvasService .query (user_id = current_user .id , id = req ["id" ]):
134
+ if not UserCanvasService .accessible (req ["id" ], current_user .id ):
139
135
return get_json_result (
140
136
data = False , message = 'Only owner of canvas authorized for this operation.' ,
141
137
code = RetCode .OPERATING_ERROR )
142
138
139
+ e , cvs = UserCanvasService .get_by_id (req ["id" ])
140
+ if not e :
141
+ return get_data_error_result (message = "canvas not found." )
142
+
143
143
if not isinstance (cvs .dsl , str ):
144
144
cvs .dsl = json .dumps (cvs .dsl , ensure_ascii = False )
145
145
@@ -173,14 +173,14 @@ def sse():
173
173
@login_required
174
174
def reset ():
175
175
req = request .json
176
+ if not UserCanvasService .accessible (req ["id" ], current_user .id ):
177
+ return get_json_result (
178
+ data = False , message = 'Only owner of canvas authorized for this operation.' ,
179
+ code = RetCode .OPERATING_ERROR )
176
180
try :
177
181
e , user_canvas = UserCanvasService .get_by_id (req ["id" ])
178
182
if not e :
179
183
return get_data_error_result (message = "canvas not found." )
180
- if not UserCanvasService .query (user_id = current_user .id , id = req ["id" ]):
181
- return get_json_result (
182
- data = False , message = 'Only owner of canvas authorized for this operation.' ,
183
- code = RetCode .OPERATING_ERROR )
184
184
185
185
canvas = Canvas (json .dumps (user_canvas .dsl ), current_user .id )
186
186
canvas .reset ()
@@ -291,15 +291,12 @@ def input_form():
291
291
@login_required
292
292
def debug ():
293
293
req = request .json
294
+ if not UserCanvasService .accessible (req ["id" ], current_user .id ):
295
+ return get_json_result (
296
+ data = False , message = 'Only owner of canvas authorized for this operation.' ,
297
+ code = RetCode .OPERATING_ERROR )
294
298
try :
295
299
e , user_canvas = UserCanvasService .get_by_id (req ["id" ])
296
- if not e :
297
- return get_data_error_result (message = "canvas not found." )
298
- if not UserCanvasService .query (user_id = current_user .id , id = req ["id" ]):
299
- return get_json_result (
300
- data = False , message = 'Only owner of canvas authorized for this operation.' ,
301
- code = RetCode .OPERATING_ERROR )
302
-
303
300
canvas = Canvas (json .dumps (user_canvas .dsl ), current_user .id )
304
301
canvas .reset ()
305
302
canvas .message_id = get_uuid ()
@@ -405,6 +402,12 @@ def list_kbs():
405
402
def setting ():
406
403
req = request .json
407
404
req ["user_id" ] = current_user .id
405
+
406
+ if not UserCanvasService .accessible (req ["id" ], current_user .id ):
407
+ return get_json_result (
408
+ data = False , message = 'Only owner of canvas authorized for this operation.' ,
409
+ code = RetCode .OPERATING_ERROR )
410
+
408
411
e ,flow = UserCanvasService .get_by_id (req ["id" ])
409
412
if not e :
410
413
return get_data_error_result (message = "canvas not found." )
@@ -416,10 +419,7 @@ def setting():
416
419
flow ["permission" ] = req ["permission" ]
417
420
if req ["avatar" ]:
418
421
flow ["avatar" ] = req ["avatar" ]
419
- if not UserCanvasService .query (user_id = current_user .id , id = req ["id" ]):
420
- return get_json_result (
421
- data = False , message = 'Only owner of canvas authorized for this operation.' ,
422
- code = RetCode .OPERATING_ERROR )
422
+
423
423
num = UserCanvasService .update_by_id (req ["id" ], flow )
424
424
return get_json_result (data = num )
425
425
@@ -442,8 +442,10 @@ def trace():
442
442
@login_required
443
443
def sessions (canvas_id ):
444
444
tenant_id = current_user .id
445
- if not UserCanvasService .query (user_id = tenant_id , id = canvas_id ):
446
- return get_error_data_result (message = f"You don't own the agent { canvas_id } ." )
445
+ if not UserCanvasService .accessible (canvas_id , tenant_id ):
446
+ return get_json_result (
447
+ data = False , message = 'Only owner of canvas authorized for this operation.' ,
448
+ code = RetCode .OPERATING_ERROR )
447
449
448
450
user_id = request .args .get ("user_id" )
449
451
page_number = int (request .args .get ("page" , 1 ))
0 commit comments