diff --git a/src/models/Setting.py b/src/models/Setting.py new file mode 100644 index 0000000..ef0012c --- /dev/null +++ b/src/models/Setting.py @@ -0,0 +1,13 @@ +from . import Base +from typing import Optional +from sqlalchemy import String, Column, JSON, Integer +from sqlalchemy.ext.mutable import MutableDict + + +class Setting(Base): + __tablename__ = "Settings" + + id = Column(Integer, primary_key=True, autoincrement=True) + provider: str = Column(String, nullable=False) + type: str = Column(String, nullable=True) + data: dict = Column(MutableDict.as_mutable(JSON), nullable=False, default={}) diff --git a/src/models/Video.py b/src/models/Video.py new file mode 100644 index 0000000..45a2aa3 --- /dev/null +++ b/src/models/Video.py @@ -0,0 +1,18 @@ +from . import Base +from typing import Optional +from sqlalchemy import String, Column, JSON, Integer, DateTime +from sqlalchemy.ext.mutable import MutableList +from datetime import datetime + + +class Video(Base): + __tablename__ = "Videos" + + id = Column(Integer, primary_key=True, autoincrement=True) + title: str = Column(String, nullable=False) + description: str = Column(String, nullable=F + alse) + script: str = Column(String, nullable=False) + timed_script: dict = Column(MutableList.as_mutable(JSON), nullable=False) + timestamp: datetime = Column(DateTime, nullable=False, default=datetime.now()) + path: str = Column(String, nullable=False) diff --git a/src/models/__init__.py b/src/models/__init__.py index ed7e745..b3b5393 100644 --- a/src/models/__init__.py +++ b/src/models/__init__.py @@ -1,3 +1,5 @@ from .Base import Base from .DatabaseManager import SessionLocal, init_db from .File import File +from .Setting import Setting +from .Video import Video