Toggle navigation
Toggle navigation
This project
Loading...
Sign in
cse437_e
/
smartdoorlock-backend
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
dahee kim
2020-11-19 10:53:18 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
5e8594e1bb53d3c8b1611e9b060da0f073f2606a
5e8594e1
1 parent
c75022af
Add feat to issue token in api/auth
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
60 deletions
api/migrations/0001_initial.py
api/models.py
api/views.py
src/settings.py
api/migrations/0001_initial.py
deleted
100644 → 0
View file @
c75022a
# Generated by Django 3.1.2 on 2020-11-16 14:19
from
django.db
import
migrations
,
models
import
django.utils.timezone
class
Migration
(
migrations
.
Migration
):
initial
=
True
dependencies
=
[
]
operations
=
[
migrations
.
CreateModel
(
name
=
'Device'
,
fields
=
[
(
'device_id'
,
models
.
AutoField
(
primary_key
=
True
,
serialize
=
False
)),
(
'rfid_id'
,
models
.
CharField
(
max_length
=
255
)),
(
'created'
,
models
.
DateTimeField
(
default
=
django
.
utils
.
timezone
.
now
)),
],
),
migrations
.
CreateModel
(
name
=
'Door'
,
fields
=
[
(
'door_id'
,
models
.
CharField
(
max_length
=
255
,
primary_key
=
True
,
serialize
=
False
)),
],
),
migrations
.
CreateModel
(
name
=
'Lock'
,
fields
=
[
(
'id'
,
models
.
IntegerField
(
primary_key
=
True
,
serialize
=
False
)),
(
'state'
,
models
.
BooleanField
(
default
=
True
)),
],
),
migrations
.
CreateModel
(
name
=
'Record'
,
fields
=
[
(
'id'
,
models
.
IntegerField
(
primary_key
=
True
,
serialize
=
False
)),
(
'recording'
,
models
.
BooleanField
(
default
=
True
)),
],
),
migrations
.
CreateModel
(
name
=
'RemoteHistory'
,
fields
=
[
(
'id'
,
models
.
AutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
'ID'
)),
(
'device_name'
,
models
.
CharField
(
max_length
=
255
)),
(
'ctrtime'
,
models
.
DateTimeField
(
default
=
django
.
utils
.
timezone
.
now
)),
],
),
migrations
.
CreateModel
(
name
=
'Video'
,
fields
=
[
(
'vid_name'
,
models
.
CharField
(
max_length
=
255
,
primary_key
=
True
,
serialize
=
False
)),
(
'created'
,
models
.
DateTimeField
(
default
=
django
.
utils
.
timezone
.
now
)),
],
),
]
api/models.py
View file @
5e8594e
from
django.db
import
models
from
django.conf
import
settings
from
django.utils
import
timezone
from
django.contrib.auth.models
import
User
# Create your models here.
class
Door
(
models
.
Model
)
:
...
...
api/views.py
View file @
5e8594e
...
...
@@ -5,15 +5,18 @@ from django.http import HttpResponse
from
django.core
import
serializers
from
django.core.exceptions
import
FieldDoesNotExist
,
ObjectDoesNotExist
from
django.shortcuts
import
render
from
django.contrib.auth.models
import
User
from
api.videorecord
import
record
from
api.models
import
Video
,
Device
,
RemoteHistory
,
Lock
,
Record
,
Door
from
api.serializers
import
VideoSerializer
,
DeviceSerializer
,
RemoteHistorySerializer
,
RecordSerializer
from
api.serializers
import
VideoSerializer
,
DeviceSerializer
,
RemoteHistorySerializer
,
RecordSerializer
,
DoorSerializer
from
rest_framework
import
status
from
rest_framework.views
import
APIView
from
rest_framework.request
import
Request
from
rest_framework.response
import
Response
from
rest_framework.authtoken.models
import
Token
"""
from boto3.session import Session
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
import
time
from
datetime
import
datetime
,
timedelta
import
json
import
uuid
# Create your views here.
#로그인 및 토큰 반환
...
...
@@ -34,9 +38,13 @@ class Login(APIView) :
raise
FieldDoesNotExist
queryset
=
Door
.
objects
.
filter
(
door_id
=
request_id
)
# door_id 유효성 검색
if
queryset
.
exists
()
:
# 유효할 때
userid
=
uuid
.
uuid4
()
pw
=
uuid
.
uuid4
()
user
=
User
.
objects
.
create_user
(
username
=
str
(
userid
),
password
=
str
(
pw
))
token
=
Token
.
objects
.
create
(
user
=
user
)
res
=
{
'is_available'
:
True
,
'access_token'
:
'토큰'
# 토큰 도입 후 수정 필요
'access_token'
:
token
.
key
}
else
:
res
=
{
...
...
@@ -51,6 +59,15 @@ class Login(APIView) :
'date'
:
datetime
.
now
()
},
status
=
status
.
HTTP_400_BAD_REQUEST
)
'''
def post(self, request, format = None) :
queryset = Door.objects.create(door_id = 12345)
print('냐냐')
return Response({
'msg' : 'doorid값 삽입 완료',
})
'''
#기기 관련 api
class
Devices
(
APIView
)
:
# 기기 목록 조회
...
...
src/settings.py
View file @
5e8594e
...
...
@@ -41,6 +41,7 @@ INSTALLED_APPS = [
'api'
,
'rest_framework'
,
'corsheaders'
,
'rest_framework.authtoken'
,
]
MIDDLEWARE
=
[
...
...
Please
register
or
login
to post a comment