Sistema_Gestion_Transporte/project/api/views.py

43 lines
1.3 KiB
Python
Raw Normal View History

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 })