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 import uuid
from datetime import datetime 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 from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
@@ -18,3 +19,13 @@ class BaseMixin:
last_modified_date: Mapped[datetime] = mapped_column(default=func.now()) last_modified_date: Mapped[datetime] = mapped_column(default=func.now())
# version = Column(Integer) # version = Column(Integer)
version: Mapped[int] = mapped_column(default=0) 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 import Column, DateTime, Integer, String
from sqlalchemy.dialects.mysql import BIT 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' __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): def __repr__(self):
return f'MediaFile({self.id} {self.title} {self.title})' return f'MediaFile({self.id} {self.title} {self.title})'