from django.db import models class Podcast(models.Model): url = models.CharField(max_length=4096) title = models.CharField(max_length=4096) creator = models.CharField(max_length=4096, blank=True, null=True) description = models.CharField(max_length=4096, blank=True, null=True) language = models.CharField(max_length=4096, blank=True, null=True) copyright = models.CharField(max_length=4096, blank=True, null=True) link = models.CharField(max_length=4096, blank=True, null=True) itunes_author = models.CharField(max_length=4096, blank=True, null=True) itunes_keywords = models.CharField(max_length=4096, blank=True, null=True) itunes_summary = models.CharField(max_length=4096, blank=True, null=True) itunes_subtitle = models.CharField(max_length=4096, blank=True, null=True) itunes_category = models.CharField(max_length=4096, blank=True, null=True) itunes_explicit = models.CharField(max_length=4096, blank=True, null=True) owner = models.ForeignKey( "core.User", on_delete=models.DO_NOTHING, blank=True, null=True, ) def get_owner(self): return self.owner class Meta: managed = False db_table = "podcast" permissions = [ ("change_own_podcast", "Change the podcasts where they are the owner"), ("delete_own_podcast", "Delete the podcasts where they are the owner"), ] class PodcastEpisode(models.Model): podcast = models.ForeignKey("podcasts.Podcast", on_delete=models.DO_NOTHING) file = models.ForeignKey( "storage.File", on_delete=models.DO_NOTHING, blank=True, null=True, ) published_at = models.DateTimeField(db_column="publication_date") download_url = models.CharField(max_length=4096) episode_guid = models.CharField(max_length=4096) episode_title = models.CharField(max_length=4096) episode_description = models.TextField() def get_owner(self): return self.podcast.owner class Meta: managed = False db_table = "podcast_episodes" permissions = [ ( "change_own_podcastepisode", "Change the episodes of podcasts where they are the owner", ), ( "delete_own_podcastepisode", "Delete the episodes of podcasts where they are the owner", ), ] class StationPodcast(models.Model): podcast = models.ForeignKey("podcasts.Podcast", on_delete=models.DO_NOTHING) def get_owner(self): return self.podcast.owner class Meta: managed = False db_table = "station_podcast" class ImportedPodcast(models.Model): podcast = models.ForeignKey("podcasts.Podcast", on_delete=models.DO_NOTHING) override_album = models.BooleanField(db_column="album_override") auto_ingest = models.BooleanField() auto_ingested_at = models.DateTimeField( blank=True, null=True, db_column="auto_ingest_timestamp", ) def get_owner(self): return self.podcast.owner class Meta: managed = False db_table = "imported_podcast"