47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
from rest_framework import views
|
|
from rest_framework.response import Response
|
|
|
|
from ...permissions import IsSystemTokenOrUser
|
|
from ..models import Preference
|
|
from ..serializers import StreamPreferencesSerializer, StreamStateSerializer
|
|
|
|
|
|
class StreamPreferencesView(views.APIView):
|
|
permission_classes = [IsSystemTokenOrUser]
|
|
serializer_class = StreamPreferencesSerializer
|
|
model_permission_name = "streamsetting"
|
|
|
|
def get(self, request):
|
|
data = Preference.get_stream_preferences()
|
|
return Response(
|
|
data.model_dump(
|
|
include={
|
|
"input_fade_transition",
|
|
"message_format",
|
|
"message_offline",
|
|
"replay_gain_enabled",
|
|
"replay_gain_offset",
|
|
}
|
|
)
|
|
)
|
|
|
|
|
|
class StreamStateView(views.APIView):
|
|
permission_classes = [IsSystemTokenOrUser]
|
|
serializer_class = StreamStateSerializer
|
|
model_permission_name = "streamsetting"
|
|
|
|
def get(self, request):
|
|
data = Preference.get_stream_state()
|
|
return Response(
|
|
data.model_dump(
|
|
include={
|
|
"input_main_connected",
|
|
"input_main_streaming",
|
|
"input_show_connected",
|
|
"input_show_streaming",
|
|
"schedule_streaming",
|
|
}
|
|
)
|
|
)
|