add Mixin for videos

This commit is contained in:
Thomas Peetz
2025-01-27 13:34:15 +01:00
parent 1e9ca7c1a4
commit fe89cc6e0f
2 changed files with 14 additions and 10 deletions
+12 -1
View File
@@ -1,7 +1,8 @@
import uuid
from datetime import datetime
from sqlalchemy import func
from sqlalchemy import func, Column, String
from sqlalchemy.dialects.mysql import BIT
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
@@ -18,3 +19,13 @@ class BaseMixin:
last_modified_date: Mapped[datetime] = mapped_column(default=func.now())
# version = Column(Integer)
version: Mapped[int] = mapped_column(default=0)
class BaseVideoMixin:
cloud_link = Column(String(255))
file_name = Column(String(255))
path = Column(String(255))
review = Column(BIT(1))
title = Column(String(255))
url = Column(String(255), unique=True)
should_download = Column(BIT(1))
+2 -9
View File
@@ -1,18 +1,11 @@
from sqlalchemy import Column, DateTime, Integer, String
from sqlalchemy.dialects.mysql import BIT
from .base import Base, BaseMixin
from .base import Base, BaseMixin, BaseVideoMixin
class MediaFile(Base, BaseMixin):
class MediaFile(Base, BaseMixin, BaseVideoMixin):
__tablename__ = 'media_file'
cloud_link = Column(String(255))
file_name = Column(String(255))
path = Column(String(255))
review = Column(BIT(1))
title = Column(String(255))
url = Column(String(255), unique=True)
should_download = Column(BIT(1))
def __repr__(self):
return f'MediaFile({self.id} {self.title} {self.title})'