from rest_framework import viewsets from .models import ProgrammedReport from .serializers import ProgrammedReportSerializer from .permissions import IsOmixomUser # 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 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 # 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