diff --git a/freedcs/telemetry/migrations/0007_telemetry_transport.py b/freedcs/telemetry/migrations/0007_telemetry_transport.py new file mode 100644 index 0000000..29395d8 --- /dev/null +++ b/freedcs/telemetry/migrations/0007_telemetry_transport.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.6 on 2020-06-08 20:07 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('telemetry', '0006_auto_20200603_1317'), + ] + + operations = [ + migrations.AddField( + model_name='telemetry', + name='transport', + field=models.CharField(choices=[('http', 'http'), ('mqtt', 'mqtt')], default='http', max_length=4), + ), + ] diff --git a/freedcs/telemetry/models.py b/freedcs/telemetry/models.py index 2c8a04b..60f1ff0 100644 --- a/freedcs/telemetry/models.py +++ b/freedcs/telemetry/models.py @@ -8,6 +8,9 @@ from api.models import Device class Telemetry(models.Model): device = models.ForeignKey(Device, on_delete=models.CASCADE) time = models.DateTimeField(primary_key=True, auto_now_add=True) + transport = models.CharField(max_length=4, + choices=[('http', 'http'), ('mqtt', 'mqtt')], + default='http') clock = models.IntegerField( validators=[MinValueValidator(0)], null=True) diff --git a/freedcs/telemetry/serializers.py b/freedcs/telemetry/serializers.py index 2149af4..372039b 100644 --- a/freedcs/telemetry/serializers.py +++ b/freedcs/telemetry/serializers.py @@ -11,4 +11,10 @@ class TelemetrySerializer(serializers.ModelSerializer): class Meta: model = Telemetry - fields = ('time', 'device', 'clock', 'payload',) + fields = ('time', 'device', 'clock', 'transport', 'payload',) + read_only_fields = ['transport'] + + def create(self, validated_data): + validated_data['transport'] = 'http' + telemetry = Telemetry.objects.create(**validated_data) + return telemetry