add Mixin for videos
This commit is contained in:
@@ -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))
|
||||||
|
|
||||||
|
|||||||
@@ -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})'
|
||||||
|
|||||||
Reference in New Issue
Block a user