1111from astropy .io import fits
1212from django .conf import settings
1313from django .db .models import F
14- from rest_framework import exceptions
15- from rest_framework .decorators import permission_classes , authentication_classes , api_view
16- from rest_framework .authentication import TokenAuthentication
14+ from rest_framework .decorators import permission_classes , api_view
1715from rest_framework .permissions import IsAdminUser , IsAuthenticated
1816
1917from pyobs_archive .api .models import Frame
2220log = logging .getLogger (__name__ )
2321
2422
25- # define classes for authentication
26- if settings .TOKEN_AUTH is None :
27- AUTH_CLASSES = []
28- POST_AUTH_CLASSES = []
29- AUTHENTICATED = []
30- else :
31- class PostAuthentication (settings .TOKEN_AUTH ):
32- def authenticate (self , request ):
33- if 'auth_token' not in request .POST :
34- raise exceptions .AuthenticationFailed ('Missing token.' )
35- token = request .POST ['auth_token' ]
36- return self .authenticate_credentials (token )
37- AUTH_CLASSES = [settings .TOKEN_AUTH ]
38- POST_AUTH_CLASSES = [PostAuthentication ]
39- AUTHENTICATED = [IsAuthenticated ]
40-
41-
4223def _frame (frame_id ):
4324 # get frame
4425 try :
@@ -55,7 +36,6 @@ def _frame(frame_id):
5536
5637
5738@api_view (['POST' ])
58- @authentication_classes (AUTH_CLASSES )
5939@permission_classes ([IsAdminUser ])
6040def create_view (request ):
6141 # loop all incoming files
@@ -78,7 +58,6 @@ def create_view(request):
7858
7959
8060@api_view (['GET' ])
81- @authentication_classes (AUTH_CLASSES )
8261@permission_classes ([IsAdminUser ])
8362def delete_view (request , frame_id ):
8463 # get frame and filename
@@ -165,8 +144,7 @@ def filter_frames(data, request):
165144
166145
167146@api_view (['GET' ])
168- @authentication_classes (AUTH_CLASSES )
169- @permission_classes (AUTHENTICATED )
147+ @permission_classes ([IsAuthenticated ])
170148def frames_view (request ):
171149 # get offset and limit
172150 offset = request .GET .get ('offset' , default = None )
@@ -195,8 +173,7 @@ def frames_view(request):
195173
196174
197175@api_view (['GET' ])
198- @authentication_classes (AUTH_CLASSES )
199- @permission_classes (AUTHENTICATED )
176+ @permission_classes ([IsAuthenticated ])
200177def aggregate_view (request ):
201178 # get response
202179 data = Frame .objects
@@ -227,17 +204,15 @@ def aggregate_view(request):
227204
228205
229206@api_view (['GET' ])
230- @authentication_classes (AUTH_CLASSES )
231- @permission_classes (AUTHENTICATED )
207+ @permission_classes ([IsAuthenticated ])
232208def frame_view (request , frame_id ):
233209 # get data
234210 frame , filename = _frame (frame_id )
235211 return JsonResponse (frame .get_info ())
236212
237213
238214@api_view (['GET' ])
239- @authentication_classes (AUTH_CLASSES )
240- @permission_classes (AUTHENTICATED )
215+ @permission_classes ([IsAuthenticated ])
241216def download_view (request , frame_id ):
242217 # get frame and filename
243218 frame , filename = _frame (frame_id )
@@ -251,8 +226,7 @@ def download_view(request, frame_id):
251226
252227
253228@api_view (['GET' ])
254- @authentication_classes (AUTH_CLASSES )
255- @permission_classes (AUTHENTICATED )
229+ @permission_classes ([IsAuthenticated ])
256230def related_view (request , frame_id ):
257231 # get frame
258232 frame , filename = _frame (frame_id )
@@ -263,8 +237,7 @@ def related_view(request, frame_id):
263237
264238
265239@api_view (['GET' ])
266- @authentication_classes (AUTH_CLASSES )
267- @permission_classes (AUTHENTICATED )
240+ @permission_classes ([IsAuthenticated ])
268241def headers_view (request , frame_id ):
269242 # get frame and filename
270243 frame , filename = _frame (frame_id )
@@ -278,6 +251,7 @@ def headers_view(request, frame_id):
278251
279252
280253@api_view (['GET' ])
254+ @permission_classes ([IsAuthenticated ])
281255def preview_view (request , frame_id ):
282256 import matplotlib
283257 matplotlib .use ('Agg' )
@@ -317,8 +291,7 @@ def preview_view(request, frame_id):
317291
318292
319293@api_view (['POST' ])
320- @authentication_classes (POST_AUTH_CLASSES )
321- @permission_classes (AUTHENTICATED )
294+ @permission_classes ([IsAuthenticated ])
322295def zip_view (request ):
323296 # get archive root
324297 root = settings .ARCHIVE_ROOT
@@ -345,8 +318,7 @@ def zip_view(request):
345318
346319
347320@api_view (['GET' ])
348- @authentication_classes (AUTH_CLASSES )
349- @permission_classes (AUTHENTICATED )
321+ @permission_classes ([IsAuthenticated ])
350322def catalog_view (request , frame_id ):
351323 # get frame and filename
352324 frame , filename = _frame (frame_id )
0 commit comments