Showing
2 changed files
with
26 additions
and
16 deletions
... | @@ -7,7 +7,7 @@ class Door(models.Model) : | ... | @@ -7,7 +7,7 @@ class Door(models.Model) : |
7 | door_id = models.CharField(max_length = 255, primary_key = True) | 7 | door_id = models.CharField(max_length = 255, primary_key = True) |
8 | 8 | ||
9 | class Device(models.Model) : | 9 | class Device(models.Model) : |
10 | - rfid_id = models.CharField(max_length = 255, primary_key = True) | 10 | + device_id = models.CharField(max_length = 255, primary_key = True) |
11 | created = models.DateTimeField(default = timezone.now) | 11 | created = models.DateTimeField(default = timezone.now) |
12 | 12 | ||
13 | class Video(models.Model) : | 13 | class Video(models.Model) : | ... | ... |
... | @@ -52,10 +52,21 @@ class Login(APIView) : | ... | @@ -52,10 +52,21 @@ class Login(APIView) : |
52 | 52 | ||
53 | #기기 관련 api | 53 | #기기 관련 api |
54 | class Device(APIView) : | 54 | class Device(APIView) : |
55 | + # 기기 목록 조회 | ||
56 | + def get(self, request, format = None) : | ||
57 | + queryset = Device.objects.all() | ||
58 | + serializer = DeviceSerializer(queryset, many = True) | ||
59 | + res = { | ||
60 | + 'deviceList': serializer.data | ||
61 | + } | ||
62 | + return Response(res, status = status.HTTP_200_OK) | ||
63 | + | ||
64 | + | ||
55 | # 기기 추가 | 65 | # 기기 추가 |
56 | - def post(self, request, format = None) : # request query에 device_id 포함되어있음 : api/device?device_id=12345 | 66 | + def post(self, request, format = None) : # request body에 device_id 포함되어있음 |
57 | try : | 67 | try : |
58 | - request_id = request.POST.get('device_id', None) | 68 | + data = json.loads(request.body) |
69 | + request_id = data.get('device_id', None) | ||
59 | if request_id == 'None' : | 70 | if request_id == 'None' : |
60 | raise FieldDoesNotExist | 71 | raise FieldDoesNotExist |
61 | queryset = Device.objects.create(rfid_id = request_id) | 72 | queryset = Device.objects.create(rfid_id = request_id) |
... | @@ -66,19 +77,13 @@ class Device(APIView) : | ... | @@ -66,19 +77,13 @@ class Device(APIView) : |
66 | 'date' : datetime.now() | 77 | 'date' : datetime.now() |
67 | }, status = status.HTTP_400_BAD_REQUEST) | 78 | }, status = status.HTTP_400_BAD_REQUEST) |
68 | 79 | ||
69 | - # 기기 목록 조회 | 80 | + |
70 | - def get(self, request, format = None) : | ||
71 | - queryset = Device.objects.all() | ||
72 | - serializer = DeviceSerializer(queryset, many = True) | ||
73 | - res = { | ||
74 | - 'deviceList': serializer.data | ||
75 | - } | ||
76 | - return Response(res, status = status.HTTP_200_OK) | ||
77 | 81 | ||
78 | # 기기 삭제 | 82 | # 기기 삭제 |
79 | - def delete(self, request, device_id, format = None): # request URI에 device_id 포함 | 83 | + def delete(self, request, format = None): # request body에 device_id 포함 |
80 | try : | 84 | try : |
81 | - request_id = device_id | 85 | + data = json.loads(request.body) |
86 | + request_id = data.get('device_id', None) | ||
82 | if request_id == 'None': | 87 | if request_id == 'None': |
83 | raise FieldDoesNotExist | 88 | raise FieldDoesNotExist |
84 | queryset = Device.objects.get(device_id=request_id) | 89 | queryset = Device.objects.get(device_id=request_id) |
... | @@ -90,16 +95,21 @@ class Device(APIView) : | ... | @@ -90,16 +95,21 @@ class Device(APIView) : |
90 | 'date' : datetime.now() | 95 | 'date' : datetime.now() |
91 | }, status = status.HTTP_400_BAD_REQUEST) | 96 | }, status = status.HTTP_400_BAD_REQUEST) |
92 | 97 | ||
93 | -# 원격 잠금 해제 기록 조회 | 98 | +# 원격 잠금 해제 |
94 | -class History(APIView): | 99 | +class Remote(APIView): |
100 | + # 원격 잠금 해제 기록 조회 | ||
95 | def get(self, request, format = None) : | 101 | def get(self, request, format = None) : |
102 | + #models.py의 class History 사용. | ||
96 | queryset = History.objects.all() | 103 | queryset = History.objects.all() |
97 | serializer = HistorySerializer(queryset, many = True) | 104 | serializer = HistorySerializer(queryset, many = True) |
98 | res = { | 105 | res = { |
99 | - 'deviceList': serializer.data | 106 | + "remoteHistoryList": serializer.data |
100 | } | 107 | } |
101 | return Response(res, status = status.HTTP_200_OK) | 108 | return Response(res, status = status.HTTP_200_OK) |
102 | 109 | ||
110 | + | ||
111 | + | ||
112 | + | ||
103 | # 비디오 목록 조회 | 113 | # 비디오 목록 조회 |
104 | class VideoList(APIView) : | 114 | class VideoList(APIView) : |
105 | def get(self, request, format = None) : | 115 | def get(self, request, format = None) : | ... | ... |
-
Please register or login to post a comment