1
0
mirror of https://github.com/daniviga/bite.git synced 2025-04-18 22:00:11 +02:00

POST with serial #

This commit is contained in:
Daniele Viganò 2020-06-03 17:20:03 +02:00
parent 956e5a8ceb
commit 16ff876d38
Signed by: dani
GPG Key ID: DB49AFC03C40EE02
6 changed files with 20 additions and 23 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
*.swp
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]

View File

@ -80,7 +80,7 @@ void setup(void) {
Serial.println("DEBUG: clock updated via NTP.");
#endif
json["device"] = 1; // FIXME
json["device"] = serial;
// payload["id"] = serverName;
}

View File

@ -1,18 +1,16 @@
from django.db import models
from django.conf import settings
from django.core.exceptions import ValidationError
def device_validation(value):
if value.startswith('ZZ'): # simulated devices
published_devices = WhiteList.objects.filter(
serial='ZZ%',
is_published=True
)
else:
published_devices = WhiteList.objects.filter(
serial=value,
is_published=True
)
if settings.SKIP_WHITELIST and settings.DEBUG:
return # skip validation in debug mode when SKIP_WHITELIST is True
published_devices = WhiteList.objects.filter(
serial=value,
is_published=True
)
if not published_devices:
raise ValidationError("Device is not published")

View File

@ -125,3 +125,5 @@ USE_TZ = True
# https://docs.djangoproject.com/en/3.0/howto/static-files/
STATIC_URL = '/static/'
SKIP_WHITELIST = True

View File

@ -1,20 +1,14 @@
from rest_framework import serializers
from api.serializers import DeviceSerializer
from api.models import Device
from telemetry.models import Telemetry
class TelemetrySerializer(serializers.ModelSerializer):
# device = DeviceSerializer(read_only=True)
def validate(self, data):
return data
device = serializers.SlugRelatedField(
slug_field='serial',
queryset=Device.objects.all()
)
class Meta:
model = Telemetry
fields = ('time', 'device', 'clock', 'payload',)
# class WhiteListSerializer(serializers.ModelSerializer):
# class Meta:
# model = Device
# fields = ('serial', 'creation_time', 'updated_time',)

View File

@ -1,4 +1,5 @@
{"device": 1,
{"device": "abcde1234",
"clock": 1591194712,
"payload": {
"id": "sensor.server.domain",
"light": 434,