From cb7b946f5e36b1625fdec0f464bab4a282b641d1 Mon Sep 17 00:00:00 2001 From: Francisco Sandoval Date: Fri, 13 Oct 2023 18:28:24 -0300 Subject: [PATCH] se inicia api de dispositivo --- project/api/serializers.py | 5 ++++ project/api/urls.py | 2 ++ project/api/views/dispositivo.py | 33 ++++++++++++++++++++++ rest/dispositivo.rest | 47 ++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 project/api/views/dispositivo.py create mode 100644 rest/dispositivo.rest diff --git a/project/api/serializers.py b/project/api/serializers.py index 2cb2b6e..4813857 100755 --- a/project/api/serializers.py +++ b/project/api/serializers.py @@ -9,6 +9,11 @@ class AplicacionSerializer(serializers.ModelSerializer): model = models.Aplicacion fields = '__all__' +class DispositivoSerializer(serializers.ModelSerializer): + class Meta: + model = models.Dispositivo + fields = '__all__' + class TipoDispositivoSerializer(serializers.ModelSerializer): class Meta: model = models.TipoDispositivo diff --git a/project/api/urls.py b/project/api/urls.py index f2d7908..c6b1e2e 100755 --- a/project/api/urls.py +++ b/project/api/urls.py @@ -4,11 +4,13 @@ from rest_framework import routers from api.views import usuario, auth, aplicacion, tipo, persona, comuna, region, paradero, rol, rolaplicacion from api.views import mapa, linea, operador from api.views import paradero_imagen +from api.views import dispositivo router = routers.DefaultRouter() router.register('aplicaciones', aplicacion.AplicacionViewSet) router.register('usuarios', usuario.UsuarioViewSet) router.register('personas', persona.PersonaViewSet) +router.register('dispositivos', dispositivo.DispositivoViewSet) router.register('tipos/persona', tipo.TipoTratamientoPersonaViewSet) router.register('tipos/transporte', tipo.TipoTransporteViewSet) router.register('tipos/dispositivo', tipo.TipoDispositivoViewSet) diff --git a/project/api/views/dispositivo.py b/project/api/views/dispositivo.py new file mode 100644 index 0000000..5474b97 --- /dev/null +++ b/project/api/views/dispositivo.py @@ -0,0 +1,33 @@ + +from rest_framework import viewsets +from django.http import JsonResponse +from rest_framework.decorators import action +from .. import models, serializers +import json + +class DispositivoViewSet(viewsets.ModelViewSet): + queryset = models.Dispositivo.objects.all() + serializer_class = serializers.DispositivoSerializer + + @action(detail=False, methods=['get']) + def status(self, request, pk=None): + input = json.loads(request.body) + whoami = input['whoami'] + + if (whoami['idDispositivo'] == 'existe'): + return JsonResponse({ + "WhoamiResponse": { + "NroParadero": "AAA330", + "NombreParadero":"paradero 1 esq colon", + "Status": "OK" + } + }) + + # retorna json de no existente + return JsonResponse({ + "WhoamiResponse": { + "Status": "NOK", + "errorString": "Dispositivo no identificado" + } + }) + diff --git a/rest/dispositivo.rest b/rest/dispositivo.rest new file mode 100644 index 0000000..430e92b --- /dev/null +++ b/rest/dispositivo.rest @@ -0,0 +1,47 @@ + +@server = http://localhost:4000/api +@token = {{login.response.body.$.token}} + +### +# @name login +POST {{server}}/auth/ +Content-Type: application/json + +{ + "username": "0", + "password": "0" +} + + +### +# @name list +GET {{server}}/dispositivos +Authorization: Bearer {{token}} + +### +# @name status existente +GET {{server}}/dispositivos/status +Authorization: Bearer {{token}} +Content-Type: application/json + +{ + "whoami": { + "idDispositivo": "existe", + "KeyAutorizacion": "token" + } +} + + +### +# @name status no existente +GET {{server}}/dispositivos/status +Authorization: Bearer {{token}} +Content-Type: application/json + +{ + "whoami": { + "idDispositivo": "otro", + "KeyAutorizacion": "token" + } +} +