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 from ..models import LoginAttempt, UserToken
class UserTokenSerializer(serializers.HyperlinkedModelSerializer): class UserTokenSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = UserToken model = UserToken
fields = "__all__" fields = "__all__"
class LoginAttemptSerializer(serializers.HyperlinkedModelSerializer): class LoginAttemptSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = LoginAttempt model = LoginAttempt
fields = "__all__" fields = "__all__"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,34 +3,10 @@ from rest_framework import serializers
from ..models import Schedule from ..models import Schedule
class ScheduleSerializer(serializers.HyperlinkedModelSerializer): class ScheduleSerializer(serializers.ModelSerializer):
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)
cue_out = serializers.DurationField(source="get_cue_out", read_only=True) cue_out = serializers.DurationField(source="get_cue_out", read_only=True)
ends_at = serializers.DateTimeField(source="get_ends_at", read_only=True) ends_at = serializers.DateTimeField(source="get_ends_at", read_only=True)
class Meta: class Meta:
model = Schedule model = Schedule
fields = [ fields = "__all__"
"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",
]

View File

@ -3,11 +3,10 @@ from rest_framework import serializers
from ..models import Show, ShowDays, ShowHost, ShowInstance, ShowRebroadcast from ..models import Show, ShowDays, ShowHost, ShowInstance, ShowRebroadcast
class ShowSerializer(serializers.HyperlinkedModelSerializer): class ShowSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Show model = Show
fields = [ fields = [
"item_url",
"id", "id",
"name", "name",
"description", "description",
@ -24,46 +23,25 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer):
] ]
class ShowDaysSerializer(serializers.HyperlinkedModelSerializer): class ShowDaysSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = ShowDays model = ShowDays
fields = "__all__" fields = "__all__"
class ShowHostSerializer(serializers.HyperlinkedModelSerializer): class ShowHostSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = ShowHost model = ShowHost
fields = "__all__" fields = "__all__"
class ShowInstanceSerializer(serializers.HyperlinkedModelSerializer): class ShowInstanceSerializer(serializers.ModelSerializer):
show_id = serializers.IntegerField(source="show.id", read_only=True)
record_file_id = serializers.IntegerField(source="record_file.id", read_only=True)
class Meta: class Meta:
model = ShowInstance model = ShowInstance
fields = [ fields = "__all__"
"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",
]
class ShowRebroadcastSerializer(serializers.HyperlinkedModelSerializer): class ShowRebroadcastSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = ShowRebroadcast model = ShowRebroadcast
fields = "__all__" fields = "__all__"

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@ from rest_framework import serializers
from ..models import Library from ..models import Library
class LibrarySerializer(serializers.HyperlinkedModelSerializer): class LibrarySerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Library model = Library
fields = "__all__" 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["starts_at"] = isoparse(item["starts_at"])
item["ends_at"] = isoparse(item["ends_at"]) item["ends_at"] = isoparse(item["ends_at"])
show_instance = api_client.get_show_instance(item["instance_id"]).json() show_instance = api_client.get_show_instance(item["instance"]).json()
show = api_client.get_show(show_instance["show_id"]).json() show = api_client.get_show(show_instance["show"]).json()
if item["file"]: 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)) events.update(generate_file_events(item, file, show))
elif item["stream"]: 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)) events.update(generate_webstream_events(item, webstream, show))
return {"media": events} return {"media": events}

View File

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