From 4bcc34212cfa65311275ac36f43d97c70a5add7e Mon Sep 17 00:00:00 2001 From: jo Date: Wed, 29 Jun 2022 19:40:26 +0200 Subject: [PATCH] chore(api): rename webstream models fields --- .../schedule/models/webstream.py | 32 +++++--- api/schema.yml | 79 +++++++++---------- 2 files changed, 61 insertions(+), 50 deletions(-) diff --git a/api/libretime_api/schedule/models/webstream.py b/api/libretime_api/schedule/models/webstream.py index 82c5eca4e..6ffac28cd 100644 --- a/api/libretime_api/schedule/models/webstream.py +++ b/api/libretime_api/schedule/models/webstream.py @@ -1,20 +1,28 @@ -from django.contrib.auth import get_user_model from django.db import models class Webstream(models.Model): + created_at = models.DateTimeField(db_column="utime") + updated_at = models.DateTimeField(db_column="mtime") + + last_played_at = models.DateTimeField(blank=True, null=True, db_column="lptime") + name = models.CharField(max_length=255) description = models.CharField(max_length=255) url = models.CharField(max_length=512) length = models.DurationField() - creator_id = models.IntegerField() - mtime = models.DateTimeField() - utime = models.DateTimeField() - lptime = models.DateTimeField(blank=True, null=True) mime = models.CharField(max_length=1024, blank=True, null=True) + owner = models.ForeignKey( + "core.User", + on_delete=models.DO_NOTHING, + blank=True, + null=True, + db_column="creator_id", + ) + def get_owner(self): - return get_user_model().objects.get(pk=self.creator_id) + return self.owner class Meta: managed = False @@ -26,12 +34,16 @@ class Webstream(models.Model): class WebstreamMetadata(models.Model): - instance = models.ForeignKey("schedule.Schedule", on_delete=models.DO_NOTHING) - start_time = models.DateTimeField() - liquidsoap_data = models.CharField(max_length=1024) + schedule = models.ForeignKey( + "schedule.Schedule", + on_delete=models.DO_NOTHING, + db_column="instance_id", + ) + starts_at = models.DateTimeField(db_column="start_time") + data = models.CharField(max_length=1024, db_column="liquidsoap_data") def get_owner(self): - return self.instance.get_owner() + return self.schedule.get_owner() class Meta: managed = False diff --git a/api/schema.yml b/api/schema.yml index d6e454056..c02814467 100644 --- a/api/schema.yml +++ b/api/schema.yml @@ -7035,6 +7035,16 @@ components: id: type: integer readOnly: true + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_played_at: + type: string + format: date-time + nullable: true name: type: string maxLength: 255 @@ -7046,24 +7056,14 @@ components: maxLength: 512 length: type: string - creator_id: - type: integer - maximum: 2147483647 - minimum: -2147483648 - mtime: - type: string - format: date-time - utime: - type: string - format: date-time - lptime: - type: string - format: date-time - nullable: true mime: type: string nullable: true maxLength: 1024 + owner: + type: string + format: uri + nullable: true PatchedWebstreamMetadata: type: object properties: @@ -7071,13 +7071,13 @@ components: type: string format: uri readOnly: true - start_time: + starts_at: type: string format: date-time - liquidsoap_data: + data: type: string maxLength: 1024 - instance: + schedule: type: string format: uri Playlist: @@ -7982,6 +7982,16 @@ components: id: type: integer readOnly: true + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_played_at: + type: string + format: date-time + nullable: true name: type: string maxLength: 255 @@ -7993,34 +8003,23 @@ components: maxLength: 512 length: type: string - creator_id: - type: integer - maximum: 2147483647 - minimum: -2147483648 - mtime: - type: string - format: date-time - utime: - type: string - format: date-time - lptime: - type: string - format: date-time - nullable: true mime: type: string nullable: true maxLength: 1024 + owner: + type: string + format: uri + nullable: true required: - - creator_id + - created_at - description - id - item_url - length - - mtime - name + - updated_at - url - - utime WebstreamMetadata: type: object properties: @@ -8028,20 +8027,20 @@ components: type: string format: uri readOnly: true - start_time: + starts_at: type: string format: date-time - liquidsoap_data: + data: type: string maxLength: 1024 - instance: + schedule: type: string format: uri required: - - instance + - data - item_url - - liquidsoap_data - - start_time + - schedule + - starts_at securitySchemes: basicAuth: type: http