|
|
@@ -1,16 +1,29 @@
|
|
|
from rest_framework import viewsets
|
|
|
-from rest_framework.permissions import AllowAny
|
|
|
-from .models import Preport
|
|
|
-from .serializers import PreportSerializer
|
|
|
+from .models import ProgrammedReport
|
|
|
+from .serializers import ProgrammedReportSerializer
|
|
|
+from .permissions import IsOmixomUser
|
|
|
|
|
|
|
|
|
-class PreportViewSet(viewsets.ModelViewSet):
|
|
|
- # TODO: Mostrar solo los reportes del usuario
|
|
|
- def get_queryset(self):
|
|
|
- qs = Preport.objects.all()
|
|
|
- return qs
|
|
|
+# API de Programmed Reports:
|
|
|
+# Requisitos:
|
|
|
+# - Especificar el TOKEN del usuario en el HTTP Header "AUTHORIZATION".
|
|
|
+# - Las requests deben ser JSON.
|
|
|
+# - No es necesario enviar el field user_id, esto es seteado automaticamente al recibir el TOKEN.
|
|
|
+# Endpoints: (BASE_URL: /api/preports)
|
|
|
+# - (List) GET / -> Obtener la lista de todos los Programmed Report
|
|
|
+# - (Create) POST / -> Crear un nuevo Programmed Report
|
|
|
+# - (Retrieve) GET /{id}/ -> Obtener la informacion de un Programmed Report
|
|
|
+# - (Update) PUT /{id}/ -> Actualizar un Programmed Report (requiere todos los fields)
|
|
|
+# - (Partial_Update) PATCH /{id}/ -> Actualizar algunos fields de un Programmed Repor
|
|
|
+# - (Delete) DELETE /{id}/ -> Elimina un Programmed Report
|
|
|
|
|
|
- serializer_class = PreportSerializer
|
|
|
+class ProgrammedReportViewSet(viewsets.ModelViewSet):
|
|
|
+ # El ViewSet solo es valido si el Token enviado es de un usuario de Omixom.
|
|
|
+ permission_classes = [IsOmixomUser]
|
|
|
+ serializer_class = ProgrammedReportSerializer
|
|
|
|
|
|
- # TODO: Implementar la permission class para checkear el token del usuario y vea que clases
|
|
|
- permission_classes = [AllowAny]
|
|
|
+ # Solo se devuelven los modelos para el user_id asociado al token. (Ver IsOmixomUser)
|
|
|
+ def get_queryset(self):
|
|
|
+ user_id = self.request.data["user_id"]
|
|
|
+ qs = ProgrammedReport.objects.filter(user_id=user_id)
|
|
|
+ return qs
|