feat(api): don't use hyperlinked serializers (#1984)

This commit is contained in:
Jonas L 2022-07-27 09:54:57 +02:00 committed by GitHub
parent f137be09a1
commit e97b06496a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 305 additions and 582 deletions

View File

@ -3,13 +3,13 @@ from rest_framework import serializers
from ..models import LoginAttempt, UserToken
class UserTokenSerializer(serializers.HyperlinkedModelSerializer):
class UserTokenSerializer(serializers.ModelSerializer):
class Meta:
model = UserToken
fields = "__all__"
class LoginAttemptSerializer(serializers.HyperlinkedModelSerializer):
class LoginAttemptSerializer(serializers.ModelSerializer):
class Meta:
model = LoginAttempt
fields = "__all__"

View File

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

View File

@ -3,7 +3,7 @@ from rest_framework import serializers
from ..models import ServiceRegister
class ServiceRegisterSerializer(serializers.HyperlinkedModelSerializer):
class ServiceRegisterSerializer(serializers.ModelSerializer):
class Meta:
model = ServiceRegister
fields = "__all__"

View File

@ -2,11 +2,11 @@ from django.contrib.auth import get_user_model
from rest_framework import serializers
class UserSerializer(serializers.HyperlinkedModelSerializer):
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = get_user_model()
fields = [
"item_url",
"id",
"role",
"username",
"email",

View File

@ -3,13 +3,13 @@ from rest_framework import serializers
from ..models import CeleryTask, ThirdPartyTrackReference
class ThirdPartyTrackReferenceSerializer(serializers.HyperlinkedModelSerializer):
class ThirdPartyTrackReferenceSerializer(serializers.ModelSerializer):
class Meta:
model = ThirdPartyTrackReference
fields = "__all__"
class CeleryTaskSerializer(serializers.HyperlinkedModelSerializer):
class CeleryTaskSerializer(serializers.ModelSerializer):
class Meta:
model = CeleryTask
fields = "__all__"

View File

@ -3,19 +3,19 @@ from rest_framework import serializers
from ..models import ListenerCount, MountName, Timestamp
class MountNameSerializer(serializers.HyperlinkedModelSerializer):
class MountNameSerializer(serializers.ModelSerializer):
class Meta:
model = MountName
fields = "__all__"
class TimestampSerializer(serializers.HyperlinkedModelSerializer):
class TimestampSerializer(serializers.ModelSerializer):
class Meta:
model = Timestamp
fields = "__all__"
class ListenerCountSerializer(serializers.HyperlinkedModelSerializer):
class ListenerCountSerializer(serializers.ModelSerializer):
class Meta:
model = ListenerCount
fields = "__all__"

View File

@ -3,7 +3,7 @@ from rest_framework import serializers
from ..models import LiveLog
class LiveLogSerializer(serializers.HyperlinkedModelSerializer):
class LiveLogSerializer(serializers.ModelSerializer):
class Meta:
model = LiveLog
fields = "__all__"

View File

@ -8,25 +8,25 @@ from ..models import (
)
class PlayoutHistorySerializer(serializers.HyperlinkedModelSerializer):
class PlayoutHistorySerializer(serializers.ModelSerializer):
class Meta:
model = PlayoutHistory
fields = "__all__"
class PlayoutHistoryMetadataSerializer(serializers.HyperlinkedModelSerializer):
class PlayoutHistoryMetadataSerializer(serializers.ModelSerializer):
class Meta:
model = PlayoutHistoryMetadata
fields = "__all__"
class PlayoutHistoryTemplateSerializer(serializers.HyperlinkedModelSerializer):
class PlayoutHistoryTemplateSerializer(serializers.ModelSerializer):
class Meta:
model = PlayoutHistoryTemplate
fields = "__all__"
class PlayoutHistoryTemplateFieldSerializer(serializers.HyperlinkedModelSerializer):
class PlayoutHistoryTemplateFieldSerializer(serializers.ModelSerializer):
class Meta:
model = PlayoutHistoryTemplateField
fields = "__all__"

View File

@ -3,25 +3,25 @@ from rest_framework import serializers
from ..models import ImportedPodcast, Podcast, PodcastEpisode, StationPodcast
class PodcastSerializer(serializers.HyperlinkedModelSerializer):
class PodcastSerializer(serializers.ModelSerializer):
class Meta:
model = Podcast
fields = "__all__"
class PodcastEpisodeSerializer(serializers.HyperlinkedModelSerializer):
class PodcastEpisodeSerializer(serializers.ModelSerializer):
class Meta:
model = PodcastEpisode
fields = "__all__"
class StationPodcastSerializer(serializers.HyperlinkedModelSerializer):
class StationPodcastSerializer(serializers.ModelSerializer):
class Meta:
model = StationPodcast
fields = "__all__"
class ImportedPodcastSerializer(serializers.HyperlinkedModelSerializer):
class ImportedPodcastSerializer(serializers.ModelSerializer):
class Meta:
model = ImportedPodcast
fields = "__all__"

View File

@ -3,13 +3,13 @@ from rest_framework import serializers
from ..models import Playlist, PlaylistContent
class PlaylistSerializer(serializers.HyperlinkedModelSerializer):
class PlaylistSerializer(serializers.ModelSerializer):
class Meta:
model = Playlist
fields = "__all__"
class PlaylistContentSerializer(serializers.HyperlinkedModelSerializer):
class PlaylistContentSerializer(serializers.ModelSerializer):
class Meta:
model = PlaylistContent
fields = "__all__"

View File

@ -3,34 +3,10 @@ from rest_framework import serializers
from ..models import Schedule
class ScheduleSerializer(serializers.HyperlinkedModelSerializer):
file_id = serializers.IntegerField(source="file.id", read_only=True)
stream_id = serializers.IntegerField(source="stream.id", read_only=True)
instance_id = serializers.IntegerField(source="instance.id", read_only=True)
class ScheduleSerializer(serializers.ModelSerializer):
cue_out = serializers.DurationField(source="get_cue_out", read_only=True)
ends_at = serializers.DateTimeField(source="get_ends_at", read_only=True)
class Meta:
model = Schedule
fields = [
"item_url",
"id",
"starts_at",
"ends_at",
"instance",
"instance_id",
"file",
"file_id",
"stream",
"stream_id",
"length",
"fade_in",
"fade_out",
"cue_in",
"cue_out",
"position",
"position_status",
"broadcasted",
"played",
"overbooked",
]
fields = "__all__"

View File

@ -3,11 +3,10 @@ from rest_framework import serializers
from ..models import Show, ShowDays, ShowHost, ShowInstance, ShowRebroadcast
class ShowSerializer(serializers.HyperlinkedModelSerializer):
class ShowSerializer(serializers.ModelSerializer):
class Meta:
model = Show
fields = [
"item_url",
"id",
"name",
"description",
@ -24,46 +23,25 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer):
]
class ShowDaysSerializer(serializers.HyperlinkedModelSerializer):
class ShowDaysSerializer(serializers.ModelSerializer):
class Meta:
model = ShowDays
fields = "__all__"
class ShowHostSerializer(serializers.HyperlinkedModelSerializer):
class ShowHostSerializer(serializers.ModelSerializer):
class Meta:
model = ShowHost
fields = "__all__"
class ShowInstanceSerializer(serializers.HyperlinkedModelSerializer):
show_id = serializers.IntegerField(source="show.id", read_only=True)
record_file_id = serializers.IntegerField(source="record_file.id", read_only=True)
class ShowInstanceSerializer(serializers.ModelSerializer):
class Meta:
model = ShowInstance
fields = [
"item_url",
"id",
"created_at",
"show",
"show_id",
"instance",
"starts_at",
"ends_at",
"filled_time",
"last_scheduled_at",
"description",
"modified",
"rebroadcast",
"auto_playlist_built",
"record_enabled",
"record_file",
"record_file_id",
]
fields = "__all__"
class ShowRebroadcastSerializer(serializers.HyperlinkedModelSerializer):
class ShowRebroadcastSerializer(serializers.ModelSerializer):
class Meta:
model = ShowRebroadcast
fields = "__all__"

View File

@ -3,19 +3,19 @@ from rest_framework import serializers
from ..models import SmartBlock, SmartBlockContent, SmartBlockCriteria
class SmartBlockSerializer(serializers.HyperlinkedModelSerializer):
class SmartBlockSerializer(serializers.ModelSerializer):
class Meta:
model = SmartBlock
fields = "__all__"
class SmartBlockContentSerializer(serializers.HyperlinkedModelSerializer):
class SmartBlockContentSerializer(serializers.ModelSerializer):
class Meta:
model = SmartBlockContent
fields = "__all__"
class SmartBlockCriteriaSerializer(serializers.HyperlinkedModelSerializer):
class SmartBlockCriteriaSerializer(serializers.ModelSerializer):
class Meta:
model = SmartBlockCriteria
fields = "__all__"

View File

@ -3,15 +3,13 @@ from rest_framework import serializers
from ..models import Webstream, WebstreamMetadata
class WebstreamSerializer(serializers.HyperlinkedModelSerializer):
id = serializers.IntegerField(read_only=True)
class WebstreamSerializer(serializers.ModelSerializer):
class Meta:
model = Webstream
fields = "__all__"
class WebstreamMetadataSerializer(serializers.HyperlinkedModelSerializer):
class WebstreamMetadataSerializer(serializers.ModelSerializer):
class Meta:
model = WebstreamMetadata
fields = "__all__"

View File

@ -3,9 +3,7 @@ from rest_framework import serializers
from ..models import File
class FileSerializer(serializers.HyperlinkedModelSerializer):
id = serializers.IntegerField(read_only=True)
class FileSerializer(serializers.ModelSerializer):
class Meta:
model = File
fields = "__all__"

View File

@ -3,7 +3,7 @@ from rest_framework import serializers
from ..models import Library
class LibrarySerializer(serializers.HyperlinkedModelSerializer):
class LibrarySerializer(serializers.ModelSerializer):
class Meta:
model = Library
fields = "__all__"

File diff suppressed because it is too large Load Diff

View File

@ -39,15 +39,15 @@ def get_schedule(api_client: ApiClient):
item["starts_at"] = isoparse(item["starts_at"])
item["ends_at"] = isoparse(item["ends_at"])
show_instance = api_client.get_show_instance(item["instance_id"]).json()
show = api_client.get_show(show_instance["show_id"]).json()
show_instance = api_client.get_show_instance(item["instance"]).json()
show = api_client.get_show(show_instance["show"]).json()
if item["file"]:
file = api_client.get_file(item["file_id"]).json()
file = api_client.get_file(item["file"]).json()
events.update(generate_file_events(item, file, show))
elif item["stream"]:
webstream = api_client.get_webstream(item["stream_id"]).json()
webstream = api_client.get_webstream(item["stream"]).json()
events.update(generate_webstream_events(item, webstream, show))
return {"media": events}

View File

@ -16,27 +16,25 @@ def _api_client_mock(requests_mock):
"id": 17,
"starts_at": "2022-03-04T15:30:00Z",
"ends_at": "2022-03-04T15:33:50.674340Z",
"file": "http://192.168.10.100:8081/api/v2/files/1/",
"file_id": 1,
"file": 1,
"stream": None,
"fade_in": "00:00:00.500000",
"fade_out": "00:00:00.500000",
"cue_in": "00:00:01.310660",
"cue_out": "00:03:51.985000",
"instance_id": 3,
"instance": 3,
},
{
"id": 18,
"starts_at": "2022-03-04T15:33:50.674340Z",
"ends_at": "2022-03-04T16:03:50.674340Z",
"file": None,
"stream": "http://192.168.10.100:8081/api/v2/webstreams/1/",
"stream_id": 1,
"stream": 1,
"fade_in": "00:00:00.500000",
"fade_out": "00:00:00.500000",
"cue_in": "00:00:00",
"cue_out": "00:30:00",
"instance_id": 3,
"instance": 3,
},
],
)
@ -44,7 +42,7 @@ def _api_client_mock(requests_mock):
requests_mock.get(
f"{base_url}/api/v2/show-instances/3",
json={
"show_id": 3,
"show": 3,
},
)