fix PG errors CRUD

This commit is contained in:
hay-kot 2021-05-05 12:50:47 -08:00
commit e2412d53c0
4 changed files with 33 additions and 22 deletions

View file

@ -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):

View file

@ -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()

View file

@ -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)

View file

@ -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: