diff --git a/mealie/db/init_db.py b/mealie/db/init_db.py index a9a243a9f..dac4722db 100644 --- a/mealie/db/init_db.py +++ b/mealie/db/init_db.py @@ -24,7 +24,23 @@ def init_db(db: Session = None) -> None: def default_theme_init(session: Session): - db.themes.create(session, SiteTheme().dict()) + default_themes = [ + SiteTheme().dict(), + { + "name": "Dark", + "colors": { + "primary": "#424242", + "accent": "#455A64", + "secondary": "#00796B", + "success": "#43A047", + "info": "#1976D2", + "warning": "#FF6F00", + "error": "#EF5350", + }, + }, + ] + for theme in default_themes: + db.themes.create(session, theme) def default_settings_init(session: Session): diff --git a/mealie/db/models/group.py b/mealie/db/models/group.py index 621f9729f..8bad7bed5 100644 --- a/mealie/db/models/group.py +++ b/mealie/db/models/group.py @@ -1,9 +1,9 @@ import sqlalchemy as sa import sqlalchemy.orm as orm +from mealie.core.config import settings from mealie.db.models.model_base import BaseMixins, SqlAlchemyBase from mealie.db.models.recipe.category import Category, group2categories from sqlalchemy.orm.session import Session -from mealie.core.config import settings class WebhookURLModel(SqlAlchemyBase): @@ -50,10 +50,6 @@ class Group(SqlAlchemyBase, BaseMixins): self.webhook_time = webhook_time self.webhook_urls = [WebhookURLModel(url=x) for x in webhook_urls] - def update(self, session: Session, *args, **kwargs): - - self.__init__(session=session, *args, **kwargs) - @staticmethod def get_ref(session: Session, name: str): item = session.query(Group).filter(Group.name == name).one_or_none() diff --git a/mealie/db/models/theme.py b/mealie/db/models/theme.py index 5d7113399..7a9771dc6 100644 --- a/mealie/db/models/theme.py +++ b/mealie/db/models/theme.py @@ -1,14 +1,13 @@ -import sqlalchemy as sa import sqlalchemy.orm as orm from mealie.db.models.model_base import BaseMixins, SqlAlchemyBase -from sqlalchemy.sql.sqltypes import Integer +from sqlalchemy import Column, ForeignKey, Integer, String class SiteThemeModel(SqlAlchemyBase, BaseMixins): __tablename__ = "site_theme" - id = sa.Column(Integer, primary_key=True, unique=True) - name = sa.Column(sa.String, nullable=False, unique=True) - colors = orm.relationship("ThemeColorsModel", uselist=False, cascade="all, delete") + id = Column(Integer, primary_key=True, unique=True) + name = Column(String, nullable=False, unique=True) + colors = orm.relationship("ThemeColorsModel", uselist=False, single_parent=True, cascade="all, delete-orphan") def __init__(self, name: str, colors: dict, *arg, **kwargs) -> None: self.name = name @@ -17,12 +16,12 @@ class SiteThemeModel(SqlAlchemyBase, BaseMixins): class ThemeColorsModel(SqlAlchemyBase, BaseMixins): __tablename__ = "theme_colors" - id = sa.Column(sa.Integer, primary_key=True) - parent_id = sa.Column(sa.String, sa.ForeignKey("site_theme.name")) - primary = sa.Column(sa.String) - accent = sa.Column(sa.String) - secondary = sa.Column(sa.String) - success = sa.Column(sa.String) - info = sa.Column(sa.String) - warning = sa.Column(sa.String) - error = sa.Column(sa.String) + id = Column(Integer, primary_key=True) + parent_id = Column(Integer, ForeignKey("site_theme.id")) + primary = Column(String) + accent = Column(String) + secondary = Column(String) + success = Column(String) + info = Column(String) + warning = Column(String) + error = Column(String) diff --git a/mealie/schema/theme.py b/mealie/schema/theme.py index 62f48c2c0..91d5c91a0 100644 --- a/mealie/schema/theme.py +++ b/mealie/schema/theme.py @@ -8,8 +8,8 @@ class Colors(BaseModel): accent: str = "#00457A" secondary: str = "#973542" success: str = "#43A047" - info: str = "#4990BA" - warning: str = "#FF4081" + info: str = "#1976D2" + warning: str = "#FF6F00" error: str = "#EF5350" class Config: