diff --git a/python/kontor-schema/kontor_schema/base.py b/python/kontor-schema/kontor_schema/base.py index 21186d4..f1cac9f 100644 --- a/python/kontor-schema/kontor_schema/base.py +++ b/python/kontor-schema/kontor_schema/base.py @@ -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)) + diff --git a/python/kontor-schema/kontor_schema/media.py b/python/kontor-schema/kontor_schema/media.py index d9d1bf2..c259669 100644 --- a/python/kontor-schema/kontor_schema/media.py +++ b/python/kontor-schema/kontor_schema/media.py @@ -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})'