feat(main): main
This commit is contained in:
@@ -231,6 +231,7 @@ class Channel(models.Model):
|
||||
|
||||
scheduling_mode = models.CharField(max_length=24, choices=SchedulingMode.choices, default=SchedulingMode.TEMPLATE_DRIVEN)
|
||||
is_active = models.BooleanField(default=True)
|
||||
requires_auth = models.BooleanField(default=False, help_text="If True, only signed-in users can stream or fetch schedules for this channel.")
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
@@ -514,3 +515,27 @@ class MediaResumePoint(models.Model):
|
||||
constraints = [
|
||||
models.UniqueConstraint(fields=['user', 'media_item'], name='unique_media_resume_point')
|
||||
]
|
||||
|
||||
|
||||
class BackupSchedule(models.Model):
|
||||
class Frequency(models.TextChoices):
|
||||
HOURLY = 'hourly', 'Hourly'
|
||||
DAILY = 'daily', 'Daily'
|
||||
WEEKLY = 'weekly', 'Weekly'
|
||||
MONTHLY = 'monthly', 'Monthly'
|
||||
|
||||
enabled = models.BooleanField(default=False)
|
||||
frequency = models.CharField(max_length=16, choices=Frequency.choices, default=Frequency.DAILY)
|
||||
minute = models.PositiveSmallIntegerField(default=0)
|
||||
hour = models.PositiveSmallIntegerField(default=2)
|
||||
day_of_week = models.PositiveSmallIntegerField(default=0) # 0=Mon
|
||||
day_of_month = models.PositiveSmallIntegerField(default=1)
|
||||
retention_count = models.PositiveIntegerField(default=14)
|
||||
last_run_at = models.DateTimeField(blank=True, null=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
@classmethod
|
||||
def get_solo(cls):
|
||||
obj, _ = cls.objects.get_or_create(id=1)
|
||||
return obj
|
||||
|
||||
|
||||
Reference in New Issue
Block a user