From a94d14ba71ff481e7e27bdd4ed549424e0963322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Drza=C5=82?= Date: Wed, 2 Nov 2022 22:32:07 +0000 Subject: [PATCH] =?UTF-8?q?Exposes=20norad=5Ffollow=5Fid=20in=20Satellite/?= =?UTF-8?q?Transmitter=20Signed-off-by:=20Micha=C5=82=20Drza=C5=82=20micha?= =?UTF-8?q?l.drzal@gmail.com?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/api/serializers.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/db/api/serializers.py b/db/api/serializers.py index 5401346..7478095 100644 --- a/db/api/serializers.py +++ b/db/api/serializers.py @@ -82,6 +82,7 @@ class SatelliteSerializer(serializers.ModelSerializer): sat_id = serializers.SerializerMethodField() norad_cat_id = serializers.SerializerMethodField() + norad_follow_id = serializers.SerializerMethodField() name = serializers.SerializerMethodField() names = serializers.SerializerMethodField() image = serializers.SerializerMethodField() @@ -102,9 +103,9 @@ class SatelliteSerializer(serializers.ModelSerializer): class Meta: model = Satellite fields = ( - 'sat_id', 'norad_cat_id', 'name', 'names', 'image', 'status', 'decayed', 'launched', - 'deployed', 'website', 'operator', 'countries', 'telemetries', 'updated', 'citation', - 'is_frequency_violator', 'associated_satellites' + 'sat_id', 'norad_cat_id', 'norad_follow_id', 'name', 'names', 'image', 'status', + 'decayed', 'launched', 'deployed', 'website', 'operator', 'countries', 'telemetries', + 'updated', 'citation', 'is_frequency_violator', 'associated_satellites' ) @extend_schema_field(OpenApiTypes.STR) @@ -117,6 +118,11 @@ class SatelliteSerializer(serializers.ModelSerializer): """Returns Satellite norad_cat_id""" return obj.satellite_entry.norad_cat_id + @extend_schema_field(OpenApiTypes.INT64) + def get_norad_follow_id(self, obj): + """Returns Satellite norad_follow_id""" + return obj.satellite_entry.norad_follow_id + @extend_schema_field(OpenApiTypes.STR) def get_name(self, obj): """Returns Satellite name""" @@ -247,6 +253,7 @@ class TransmitterSerializer(serializers.ModelSerializer): """SatNOGS DB Transmitter API Serializer""" sat_id = serializers.SerializerMethodField() norad_cat_id = serializers.SerializerMethodField() + norad_follow_id = serializers.SerializerMethodField() mode = serializers.SerializerMethodField() mode_id = serializers.SerializerMethodField() uplink_mode = serializers.SerializerMethodField() @@ -259,8 +266,9 @@ class TransmitterSerializer(serializers.ModelSerializer): fields = ( 'uuid', 'description', 'alive', 'type', 'uplink_low', 'uplink_high', 'uplink_drift', 'downlink_low', 'downlink_high', 'downlink_drift', 'mode', 'mode_id', 'uplink_mode', - 'invert', 'baud', 'sat_id', 'norad_cat_id', 'status', 'updated', 'citation', 'service', - 'iaru_coordination', 'iaru_coordination_url', 'itu_notification', 'frequency_violation' + 'invert', 'baud', 'sat_id', 'norad_cat_id', 'norad_follow_id', 'status', 'updated', + 'citation', 'service', 'iaru_coordination', 'iaru_coordination_url', + 'itu_notification', 'frequency_violation' ) # Keeping alive field for compatibility issues @@ -301,6 +309,14 @@ class TransmitterSerializer(serializers.ModelSerializer): except AttributeError: return None + @extend_schema_field(OpenApiTypes.INT64) + def get_norad_follow_id(self, obj): + """Returns Satellite NORAD ID following initial determination""" + try: + return obj.satellite.satellite_entry.norad_follow_id + except AttributeError: + return None + @extend_schema_field(OpenApiTypes.STR) def get_sat_id(self, obj): """Returns Satellite NORAD ID"""