libretime/api/libretime_api/schedule/models/webstream.py

51 lines
1.4 KiB
Python
Raw Permalink Normal View History

from django.db import models
2020-01-30 14:47:36 +01:00
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")
2020-01-30 14:47:36 +01:00
name = models.CharField(max_length=255)
description = models.CharField(max_length=255)
url = models.CharField(max_length=512)
length = models.DurationField()
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",
)
2020-01-30 14:47:36 +01:00
def get_owner(self):
return self.owner
2020-01-30 14:47:36 +01:00
class Meta:
managed = False
2021-05-27 16:23:02 +02:00
db_table = "cc_webstream"
2020-01-30 14:47:36 +01:00
permissions = [
2021-05-27 16:23:02 +02:00
("change_own_webstream", "Change the webstreams where they are the owner"),
("delete_own_webstream", "Delete the webstreams where they are the owner"),
2020-01-30 14:47:36 +01:00
]
class WebstreamMetadata(models.Model):
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")
2020-01-30 14:47:36 +01:00
def get_owner(self):
return self.schedule.get_owner()
2020-01-30 14:47:36 +01:00
class Meta:
managed = False
2021-05-27 16:23:02 +02:00
db_table = "cc_webstream_metadata"