feat(api): add /info and /stream/* endpoints
This commit is contained in:
parent
5bf62dd9cb
commit
12d2d4b15a
15 changed files with 324 additions and 173 deletions
44
api/libretime_api/core/views/stream.py
Normal file
44
api/libretime_api/core/views/stream.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
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.dict(
|
||||
include={
|
||||
"input_fade_transition",
|
||||
"message_format",
|
||||
"message_offline",
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
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.dict(
|
||||
include={
|
||||
"input_main_connected",
|
||||
"input_main_streaming",
|
||||
"input_show_connected",
|
||||
"input_show_streaming",
|
||||
"schedule_streaming",
|
||||
}
|
||||
)
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue