3
3
__author__ = "Jean-Christophe Fabre <jean-christophe.fabre@inra.fr>"
4
4
5
5
6
- from flask import Blueprint ,jsonify ,request ,g
6
+ from flask import Blueprint ,jsonify ,request ,g , abort
7
7
8
8
from FluidHub import Constants
9
9
from FluidHub .WaresOperations import WaresOperations
10
10
from FluidHub .RoutesAuth import tokenAuth
11
+ from FluidHub .UsersManager import UsersManager
11
12
12
13
13
14
################################################################################
@@ -66,15 +67,15 @@ def GetWare(ware_type,ware_id) :
66
67
@tokenAuth .login_required
67
68
def CreateWare (ware_type ,ware_id ) :
68
69
69
- if g .username != "admin" :
70
+ if not UsersManager . isAdmin ( g .username ) :
70
71
abort (403 )
71
72
72
73
if ware_type not in Constants .WareTypes :
73
74
return "invalid ware type" ,404
74
75
75
76
WaresOps = WaresOperations ()
76
77
77
- # TODO is method check necessary
78
+ # REVIEW is method check necessary
78
79
if request .method == 'PUT' :
79
80
Code ,Data = WaresOps .createWare (ware_type ,ware_id ,request .get_json (silent = True ))
80
81
return Data ,Code
@@ -87,15 +88,15 @@ def CreateWare(ware_type,ware_id) :
87
88
@tokenAuth .login_required
88
89
def UpdateWare (ware_type ,ware_id ) :
89
90
90
- if g .username != "admin" :
91
+ if not UsersManager . isAdmin ( g .username ) :
91
92
abort (403 )
92
93
93
94
if ware_type not in Constants .WareTypes :
94
95
return "invalid ware type" ,404
95
96
96
97
WaresOps = WaresOperations ()
97
98
98
- # TODO is method check necessary
99
+ # REVIEW is method check necessary
99
100
if request .method == 'PATCH' :
100
101
Code ,Data = WaresOps .updateWare (ware_type ,ware_id ,request .get_json (silent = True ))
101
102
return Data ,Code
@@ -108,15 +109,15 @@ def UpdateWare(ware_type,ware_id) :
108
109
@tokenAuth .login_required
109
110
def DeleteWare (ware_type ,ware_id ) :
110
111
111
- if g .username != "admin" :
112
+ if not UsersManager . isAdmin ( g .username ) :
112
113
abort (403 )
113
114
114
115
if ware_type not in Constants .WareTypes :
115
116
return "invalid ware type" ,404
116
117
117
118
WaresOps = WaresOperations ()
118
119
119
- # TODO is method check necessary
120
+ # REVIEW is method check necessary
120
121
if request .method == 'DELETE' :
121
122
Code ,Data = WaresOps .deleteWare (ware_type ,ware_id )
122
123
return Data ,Code
0 commit comments