6
6
7
7
import dateutil .parser
8
8
from flask import Response , json , jsonify , request , send_from_directory
9
- from flask_jwt_extended import get_jwt_identity , jwt_required
9
+ from flask_jwt_extended import jwt_required , current_user
10
10
11
11
from gefapi .errors import (
12
12
EmailError ,
33
33
logger = logging .getLogger ()
34
34
35
35
36
- @jwt_required ()
37
- def get_identity ():
38
- user = None
39
- try :
40
- id = get_jwt_identity ()
41
- user = UserService .get_user (id )
42
- except Exception as e :
43
- logger .error (str (e ))
44
- logger .error ("[JWT]: Error getting user for %s" % (id ))
45
- return user
46
-
47
-
48
36
# SCRIPT CREATION
49
37
@endpoints .route ("/script" , strict_slashes = False , methods = ["POST" ])
50
38
@jwt_required ()
@@ -57,7 +45,7 @@ def create_script():
57
45
sent_file = request .files .get ("file" )
58
46
if sent_file .filename == "" :
59
47
sent_file .filename = "script"
60
- user = get_identity ()
48
+ user = current_user
61
49
try :
62
50
user = ScriptService .create_script (sent_file , user )
63
51
except InvalidFile as e :
@@ -80,7 +68,7 @@ def get_scripts():
80
68
include = request .args .get ("include" )
81
69
include = include .split ("," ) if include else []
82
70
try :
83
- scripts = ScriptService .get_scripts (get_identity () )
71
+ scripts = ScriptService .get_scripts (current_user )
84
72
except Exception as e :
85
73
logger .error ("[ROUTER]: " + str (e ))
86
74
return error (status = 500 , detail = "Generic Error" )
@@ -95,7 +83,7 @@ def get_script(script):
95
83
include = request .args .get ("include" )
96
84
include = include .split ("," ) if include else []
97
85
try :
98
- script = ScriptService .get_script (script , get_identity () )
86
+ script = ScriptService .get_script (script , current_user )
99
87
except ScriptNotFound as e :
100
88
logger .error ("[ROUTER]: " + e .message )
101
89
return error (status = 404 , detail = e .message )
@@ -111,7 +99,7 @@ def publish_script(script):
111
99
"""Publish a script"""
112
100
logger .info ("[ROUTER]: Publishing script " + script )
113
101
try :
114
- script = ScriptService .publish_script (script , get_identity () )
102
+ script = ScriptService .publish_script (script , current_user )
115
103
except ScriptNotFound as e :
116
104
logger .error ("[ROUTER]: " + e .message )
117
105
return error (status = 404 , detail = e .message )
@@ -127,7 +115,7 @@ def unpublish_script(script):
127
115
"""Unpublish a script"""
128
116
logger .info ("[ROUTER]: Unpublishsing script " + script )
129
117
try :
130
- script = ScriptService .unpublish_script (script , get_identity () )
118
+ script = ScriptService .unpublish_script (script , current_user )
131
119
except ScriptNotFound as e :
132
120
logger .error ("[ROUTER]: " + e .message )
133
121
return error (status = 404 , detail = e .message )
@@ -143,7 +131,7 @@ def download_script(script):
143
131
"""Download a script"""
144
132
logger .info ("[ROUTER]: Download script " + script )
145
133
try :
146
- script = ScriptService .get_script (script , get_identity () )
134
+ script = ScriptService .get_script (script , current_user )
147
135
148
136
temp_dir = tempfile .TemporaryDirectory ().name
149
137
script_file = script .slug + ".tar.gz"
@@ -191,7 +179,7 @@ def update_script(script):
191
179
sent_file = request .files .get ("file" )
192
180
if sent_file .filename == "" :
193
181
sent_file .filename = "script"
194
- user = get_identity ()
182
+ user = current_user
195
183
# if user.role != 'ADMIN' and user.email != '[email protected] ':
196
184
# return error(status=403, detail='Forbidden')
197
185
try :
@@ -216,7 +204,7 @@ def update_script(script):
216
204
def delete_script (script ):
217
205
"""Delete a script"""
218
206
logger .info ("[ROUTER]: Deleting script: " + script )
219
- identity = get_identity ()
207
+ identity = current_user
220
208
if identity .
role != "ADMIN" and identity .
email != "[email protected] " :
221
209
return error (status = 403 , detail = "Forbidden" )
222
210
try :
@@ -236,7 +224,7 @@ def delete_script(script):
236
224
def run_script (script ):
237
225
"""Run a script"""
238
226
logger .info ("[ROUTER]: Running script: " + script )
239
- user = get_identity ()
227
+ user = current_user
240
228
try :
241
229
params = request .args .to_dict () if request .args else {}
242
230
if request .get_json (silent = True ):
@@ -270,9 +258,7 @@ def get_executions():
270
258
exclude = request .args .get ("exclude" )
271
259
exclude = exclude .split ("," ) if exclude else []
272
260
try :
273
- executions = ExecutionService .get_executions (
274
- get_identity (), user_id , updated_at
275
- )
261
+ executions = ExecutionService .get_executions (current_user , user_id , updated_at )
276
262
except Exception as e :
277
263
logger .error ("[ROUTER]: " + str (e ))
278
264
return error (status = 500 , detail = "Generic Error" )
@@ -291,7 +277,7 @@ def get_execution(execution):
291
277
exclude = request .args .get ("exclude" )
292
278
exclude = exclude .split ("," ) if exclude else []
293
279
try :
294
- execution = ExecutionService .get_execution (execution , get_identity () )
280
+ execution = ExecutionService .get_execution (execution , current_user )
295
281
except ExecutionNotFound as e :
296
282
logger .error ("[ROUTER]: " + e .message )
297
283
return error (status = 404 , detail = e .message )
@@ -308,7 +294,7 @@ def update_execution(execution):
308
294
"""Update an execution"""
309
295
logger .info ("[ROUTER]: Updating execution " + execution )
310
296
body = request .get_json ()
311
- user = get_identity ()
297
+ user = current_user
312
298
if user .
role != "ADMIN" and user .
email != "[email protected] " :
313
299
return error (status = 403 , detail = "Forbidden" )
314
300
try :
@@ -367,7 +353,7 @@ def create_execution_log(execution):
367
353
"""Create log of an execution"""
368
354
logger .info ("[ROUTER]: Creating execution log for " + execution )
369
355
body = request .get_json ()
370
- user = get_identity ()
356
+ user = current_user
371
357
if user .
role != "ADMIN" and user .
email != "[email protected] " :
372
358
return error (status = 403 , detail = "Forbidden" )
373
359
try :
@@ -389,13 +375,15 @@ def create_user():
389
375
logger .info ("[ROUTER]: Creating user" )
390
376
body = request .get_json ()
391
377
if request .headers .get ("Authorization" , None ) is not None :
378
+ logger .debug ("[ROUTER]: Authorization header found" )
392
379
393
380
@jwt_required ()
394
381
def identity ():
395
382
pass
396
383
397
384
identity ()
398
- identity = get_identity ()
385
+ logger .debug ("[ROUTER]: Getting identity" )
386
+ identity = current_user
399
387
if identity :
400
388
user_role = body .get ("role" , "USER" )
401
389
if identity .role == "USER" and user_role == "ADMIN" :
@@ -420,7 +408,7 @@ def get_users():
420
408
logger .info ("[ROUTER]: Getting all users" )
421
409
include = request .args .get ("include" )
422
410
include = include .split ("," ) if include else []
423
- identity = get_identity ()
411
+ identity = current_user
424
412
if identity .
role != "ADMIN" and identity .
email != "[email protected] " :
425
413
return error (status = 403 , detail = "Forbidden" )
426
414
try :
@@ -438,7 +426,7 @@ def get_user(user):
438
426
logger .info ("[ROUTER]: Getting user" + user )
439
427
include = request .args .get ("include" )
440
428
include = include .split ("," ) if include else []
441
- identity = get_identity ()
429
+ identity = current_user
442
430
if identity .
role != "ADMIN" and identity .
email != "[email protected] " :
443
431
return error (status = 403 , detail = "Forbidden" )
444
432
try :
@@ -457,7 +445,7 @@ def get_user(user):
457
445
def get_me ():
458
446
"""Get me"""
459
447
logger .info ("[ROUTER]: Getting my user" )
460
- user = get_identity ()
448
+ user = current_user
461
449
return jsonify (data = user .serialize ()), 200
462
450
463
451
@@ -467,7 +455,7 @@ def update_profile():
467
455
"""Update an user"""
468
456
logger .info ("[ROUTER]: Updating profile" )
469
457
body = request .get_json ()
470
- identity = get_identity ()
458
+ identity = current_user
471
459
try :
472
460
password = body .get ("password" , None )
473
461
repeat_password = body .get ("repeatPassword" , None )
@@ -501,7 +489,7 @@ def update_profile():
501
489
def delete_profile ():
502
490
"""Delete Me"""
503
491
logger .info ("[ROUTER]: Delete me" )
504
- identity = get_identity ()
492
+ identity = current_user
505
493
try :
506
494
user = UserService .delete_user (str (identity .id ))
507
495
except UserNotFound as e :
@@ -540,7 +528,7 @@ def update_user(user):
540
528
"""Update an user"""
541
529
logger .info ("[ROUTER]: Updating user" + user )
542
530
body = request .get_json ()
543
- identity = get_identity ()
531
+ identity = current_user
544
532
if identity .
role != "ADMIN" and identity .
email != "[email protected] " :
545
533
return error (status = 403 , detail = "Forbidden" )
546
534
try :
@@ -559,7 +547,7 @@ def update_user(user):
559
547
def delete_user (user ):
560
548
"""Delete an user"""
561
549
logger .info ("[ROUTER]: Deleting user" + user )
562
- identity = get_identity ()
550
+ identity = current_user
563
551
564
552
return error (status = 403 , detail = "Forbidden" )
565
553
if identity .
role != "ADMIN" and identity .
email != "[email protected] " :
0 commit comments