Showing
4 changed files
with
21 additions
and
60 deletions
api/migrations/0001_initial.py
deleted
100644 → 0
| 1 | -# Generated by Django 3.1.2 on 2020-11-16 14:19 | ||
| 2 | - | ||
| 3 | -from django.db import migrations, models | ||
| 4 | -import django.utils.timezone | ||
| 5 | - | ||
| 6 | - | ||
| 7 | -class Migration(migrations.Migration): | ||
| 8 | - | ||
| 9 | - initial = True | ||
| 10 | - | ||
| 11 | - dependencies = [ | ||
| 12 | - ] | ||
| 13 | - | ||
| 14 | - operations = [ | ||
| 15 | - migrations.CreateModel( | ||
| 16 | - name='Device', | ||
| 17 | - fields=[ | ||
| 18 | - ('device_id', models.AutoField(primary_key=True, serialize=False)), | ||
| 19 | - ('rfid_id', models.CharField(max_length=255)), | ||
| 20 | - ('created', models.DateTimeField(default=django.utils.timezone.now)), | ||
| 21 | - ], | ||
| 22 | - ), | ||
| 23 | - migrations.CreateModel( | ||
| 24 | - name='Door', | ||
| 25 | - fields=[ | ||
| 26 | - ('door_id', models.CharField(max_length=255, primary_key=True, serialize=False)), | ||
| 27 | - ], | ||
| 28 | - ), | ||
| 29 | - migrations.CreateModel( | ||
| 30 | - name='Lock', | ||
| 31 | - fields=[ | ||
| 32 | - ('id', models.IntegerField(primary_key=True, serialize=False)), | ||
| 33 | - ('state', models.BooleanField(default=True)), | ||
| 34 | - ], | ||
| 35 | - ), | ||
| 36 | - migrations.CreateModel( | ||
| 37 | - name='Record', | ||
| 38 | - fields=[ | ||
| 39 | - ('id', models.IntegerField(primary_key=True, serialize=False)), | ||
| 40 | - ('recording', models.BooleanField(default=True)), | ||
| 41 | - ], | ||
| 42 | - ), | ||
| 43 | - migrations.CreateModel( | ||
| 44 | - name='RemoteHistory', | ||
| 45 | - fields=[ | ||
| 46 | - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||
| 47 | - ('device_name', models.CharField(max_length=255)), | ||
| 48 | - ('ctrtime', models.DateTimeField(default=django.utils.timezone.now)), | ||
| 49 | - ], | ||
| 50 | - ), | ||
| 51 | - migrations.CreateModel( | ||
| 52 | - name='Video', | ||
| 53 | - fields=[ | ||
| 54 | - ('vid_name', models.CharField(max_length=255, primary_key=True, serialize=False)), | ||
| 55 | - ('created', models.DateTimeField(default=django.utils.timezone.now)), | ||
| 56 | - ], | ||
| 57 | - ), | ||
| 58 | - ] |
| 1 | from django.db import models | 1 | from django.db import models |
| 2 | from django.conf import settings | 2 | from django.conf import settings |
| 3 | from django.utils import timezone | 3 | from django.utils import timezone |
| 4 | +from django.contrib.auth.models import User | ||
| 4 | 5 | ||
| 5 | # Create your models here. | 6 | # Create your models here. |
| 6 | class Door(models.Model) : | 7 | class Door(models.Model) : | ... | ... |
| ... | @@ -5,15 +5,18 @@ from django.http import HttpResponse | ... | @@ -5,15 +5,18 @@ from django.http import HttpResponse |
| 5 | from django.core import serializers | 5 | from django.core import serializers |
| 6 | from django.core.exceptions import FieldDoesNotExist, ObjectDoesNotExist | 6 | from django.core.exceptions import FieldDoesNotExist, ObjectDoesNotExist |
| 7 | from django.shortcuts import render | 7 | from django.shortcuts import render |
| 8 | +from django.contrib.auth.models import User | ||
| 8 | 9 | ||
| 9 | from api.videorecord import record | 10 | from api.videorecord import record |
| 10 | from api.models import Video, Device, RemoteHistory, Lock, Record, Door | 11 | from api.models import Video, Device, RemoteHistory, Lock, Record, Door |
| 11 | -from api.serializers import VideoSerializer, DeviceSerializer, RemoteHistorySerializer, RecordSerializer | 12 | +from api.serializers import VideoSerializer, DeviceSerializer, RemoteHistorySerializer, RecordSerializer, DoorSerializer |
| 12 | 13 | ||
| 13 | from rest_framework import status | 14 | from rest_framework import status |
| 14 | from rest_framework.views import APIView | 15 | from rest_framework.views import APIView |
| 15 | from rest_framework.request import Request | 16 | from rest_framework.request import Request |
| 16 | from rest_framework.response import Response | 17 | from rest_framework.response import Response |
| 18 | +from rest_framework.authtoken.models import Token | ||
| 19 | + | ||
| 17 | """ | 20 | """ |
| 18 | from boto3.session import Session | 21 | from boto3.session import Session |
| 19 | from src.settings import AWS_REGION | 22 | from src.settings import AWS_REGION |
| ... | @@ -23,6 +26,7 @@ from src.settings import S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_STORAGE_BUCK | ... | @@ -23,6 +26,7 @@ from src.settings import S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_STORAGE_BUCK |
| 23 | import time | 26 | import time |
| 24 | from datetime import datetime, timedelta | 27 | from datetime import datetime, timedelta |
| 25 | import json | 28 | import json |
| 29 | +import uuid | ||
| 26 | # Create your views here. | 30 | # Create your views here. |
| 27 | 31 | ||
| 28 | #로그인 및 토큰 반환 | 32 | #로그인 및 토큰 반환 |
| ... | @@ -34,9 +38,13 @@ class Login(APIView) : | ... | @@ -34,9 +38,13 @@ class Login(APIView) : |
| 34 | raise FieldDoesNotExist | 38 | raise FieldDoesNotExist |
| 35 | queryset = Door.objects.filter(door_id = request_id) # door_id 유효성 검색 | 39 | queryset = Door.objects.filter(door_id = request_id) # door_id 유효성 검색 |
| 36 | if queryset.exists() :# 유효할 때 | 40 | if queryset.exists() :# 유효할 때 |
| 41 | + userid = uuid.uuid4() | ||
| 42 | + pw = uuid.uuid4() | ||
| 43 | + user = User.objects.create_user(username=str(userid), password=str(pw)) | ||
| 44 | + token = Token.objects.create(user=user) | ||
| 37 | res = { | 45 | res = { |
| 38 | 'is_available' : True, | 46 | 'is_available' : True, |
| 39 | - 'access_token' : '토큰' # 토큰 도입 후 수정 필요 | 47 | + 'access_token' : token.key |
| 40 | } | 48 | } |
| 41 | else : | 49 | else : |
| 42 | res = { | 50 | res = { |
| ... | @@ -50,6 +58,15 @@ class Login(APIView) : | ... | @@ -50,6 +58,15 @@ class Login(APIView) : |
| 50 | 'error' : "FieldDoesNotExist ", | 58 | 'error' : "FieldDoesNotExist ", |
| 51 | 'date' : datetime.now() | 59 | 'date' : datetime.now() |
| 52 | }, status = status.HTTP_400_BAD_REQUEST) | 60 | }, status = status.HTTP_400_BAD_REQUEST) |
| 61 | + | ||
| 62 | +''' | ||
| 63 | + def post(self, request, format = None) : | ||
| 64 | + queryset = Door.objects.create(door_id = 12345) | ||
| 65 | + print('냐냐') | ||
| 66 | + return Response({ | ||
| 67 | + 'msg' : 'doorid값 삽입 완료', | ||
| 68 | + }) | ||
| 69 | +''' | ||
| 53 | 70 | ||
| 54 | #기기 관련 api | 71 | #기기 관련 api |
| 55 | class Devices(APIView) : | 72 | class Devices(APIView) : | ... | ... |
-
Please register or login to post a comment