views.py 1.4 KB

1234567891011121314151617181920212223242526272829
  1. from rest_framework import viewsets
  2. from .models import ProgrammedReport
  3. from .serializers import ProgrammedReportSerializer
  4. from .permissions import IsOmixomUser
  5. # API de Programmed Reports:
  6. # Requisitos:
  7. # - Especificar el TOKEN del usuario en el HTTP Header "AUTHORIZATION".
  8. # - Las requests deben ser JSON.
  9. # - No es necesario enviar el field user_id, esto es seteado automaticamente al recibir el TOKEN.
  10. # Endpoints: (BASE_URL: /api/preports)
  11. # - (List) GET / -> Obtener la lista de todos los Programmed Report
  12. # - (Create) POST / -> Crear un nuevo Programmed Report
  13. # - (Retrieve) GET /{id}/ -> Obtener la informacion de un Programmed Report
  14. # - (Update) PUT /{id}/ -> Actualizar un Programmed Report (requiere todos los fields)
  15. # - (Partial_Update) PATCH /{id}/ -> Actualizar algunos fields de un Programmed Repor
  16. # - (Delete) DELETE /{id}/ -> Elimina un Programmed Report
  17. class ProgrammedReportViewSet(viewsets.ModelViewSet):
  18. # El ViewSet solo es valido si el Token enviado es de un usuario de Omixom.
  19. permission_classes = [IsOmixomUser]
  20. serializer_class = ProgrammedReportSerializer
  21. # Solo se devuelven los modelos para el user_id asociado al token. (Ver IsOmixomUser)
  22. def get_queryset(self):
  23. user_id = self.request.data["user_id"]
  24. qs = ProgrammedReport.objects.filter(user_id=user_id)
  25. return qs