2023-06-10 08:35:22 -04:00
|
|
|
import jwt
|
2023-06-06 21:04:01 -04:00
|
|
|
from django.contrib.auth.models import User
|
2023-06-10 08:35:22 -04:00
|
|
|
from rest_framework.response import Response
|
2023-06-03 17:19:58 -04:00
|
|
|
from rest_framework import viewsets
|
|
|
|
from .serializers import ProjectSerializer, AgencySerializer, RouteSerializer
|
2023-06-10 08:35:22 -04:00
|
|
|
from .serializers import UserSerializer, AuthSerializer
|
2023-06-03 17:19:58 -04:00
|
|
|
from .models import Project, Agency, Route
|
|
|
|
|
|
|
|
# Create your views here.
|
|
|
|
class ProjectViewSet(viewsets.ModelViewSet):
|
|
|
|
queryset = Project.objects.all()
|
|
|
|
serializer_class = ProjectSerializer
|
|
|
|
|
|
|
|
class AgencyViewSet(viewsets.ModelViewSet):
|
|
|
|
queryset = Agency.objects.all()
|
|
|
|
serializer_class = AgencySerializer
|
|
|
|
|
|
|
|
class RouteViewSet(viewsets.ModelViewSet):
|
|
|
|
queryset = Route.objects.all()
|
2023-06-06 21:04:01 -04:00
|
|
|
serializer_class = RouteSerializer
|
|
|
|
|
|
|
|
class UserViewSet(viewsets.ModelViewSet):
|
|
|
|
queryset = User.objects.all()
|
2023-06-10 08:35:22 -04:00
|
|
|
serializer_class = UserSerializer
|
|
|
|
|
|
|
|
"""
|
|
|
|
Metodos de generacion de jwt en forma manual
|
|
|
|
"""
|
|
|
|
class AuthViewSet(viewsets.ViewSet):
|
|
|
|
serializer_class = AuthSerializer
|
|
|
|
|
|
|
|
def list(self, request):
|
|
|
|
return Response()
|
|
|
|
|
|
|
|
def create(self, request):
|
|
|
|
username = request.data.get('username')
|
|
|
|
user = User.objects.filter(username = username).first()
|
|
|
|
private_key = 'lapalabrasecreta'
|
|
|
|
payload = {
|
|
|
|
'user_id': user.username
|
|
|
|
}
|
|
|
|
token = jwt.encode(payload, private_key, algorithm="HS256")
|
|
|
|
return Response({ 'token': token })
|