From 458f02f20fdc35d44aebce501121dc01f1765883 Mon Sep 17 00:00:00 2001 From: Paillat Date: Thu, 22 Feb 2024 15:14:55 +0100 Subject: [PATCH] Add Setting and Video models --- src/models/Setting.py | 13 +++++++++++++ src/models/Video.py | 18 ++++++++++++++++++ src/models/__init__.py | 2 ++ 3 files changed, 33 insertions(+) create mode 100644 src/models/Setting.py create mode 100644 src/models/Video.py 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