feat(api): add /info and /stream/* endpoints

This commit is contained in:
jo 2022-08-24 10:38:53 +02:00 committed by Kyle Robbertze
parent 5bf62dd9cb
commit 12d2d4b15a
15 changed files with 324 additions and 173 deletions

View file

@ -1,6 +1,7 @@
from .auth import LoginAttemptSerializer, UserTokenSerializer
from .info import VersionSerializer
from .preference import PreferenceSerializer, StreamSettingSerializer
from .info import InfoSerializer, VersionSerializer
from .preference import PreferenceSerializer
from .service import ServiceRegisterSerializer
from .stream import StreamPreferencesSerializer, StreamStateSerializer
from .user import UserSerializer
from .worker import CeleryTaskSerializer, ThirdPartyTrackReferenceSerializer

View file

@ -3,4 +3,9 @@ from rest_framework import serializers
# pylint: disable=abstract-method
class VersionSerializer(serializers.Serializer):
api_version = serializers.CharField()
api_version = serializers.CharField(read_only=True)
# pylint: disable=abstract-method
class InfoSerializer(serializers.Serializer):
station_name = serializers.CharField(read_only=True)

View file

@ -1,15 +1,9 @@
from rest_framework import serializers
from ..models import Preference, StreamSetting
from ..models import Preference
class PreferenceSerializer(serializers.ModelSerializer):
class Meta:
model = Preference
fields = "__all__"
class StreamSettingSerializer(serializers.ModelSerializer):
class Meta:
model = StreamSetting
fields = "__all__"

View file

@ -0,0 +1,17 @@
from rest_framework import serializers
# pylint: disable=abstract-method
class StreamPreferencesSerializer(serializers.Serializer):
input_fade_transition = serializers.FloatField(read_only=True)
message_format = serializers.IntegerField(read_only=True)
message_offline = serializers.CharField(read_only=True)
# pylint: disable=abstract-method
class StreamStateSerializer(serializers.Serializer):
input_main_connected = serializers.BooleanField(read_only=True)
input_main_streaming = serializers.BooleanField(read_only=True)
input_show_connected = serializers.BooleanField(read_only=True)
input_show_streaming = serializers.BooleanField(read_only=True)
schedule_streaming = serializers.BooleanField(read_only=True)