mirror of
https://github.com/hay-kot/mealie.git
synced 2025-08-22 14:33:33 -07:00
fix PG errors CRUD
This commit is contained in:
parent
a96ffb7f4d
commit
e2412d53c0
4 changed files with 33 additions and 22 deletions
|
@ -24,7 +24,23 @@ def init_db(db: Session = None) -> None:
|
||||||
|
|
||||||
|
|
||||||
def default_theme_init(session: Session):
|
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):
|
def default_settings_init(session: Session):
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
import sqlalchemy.orm as orm
|
import sqlalchemy.orm as orm
|
||||||
|
from mealie.core.config import settings
|
||||||
from mealie.db.models.model_base import BaseMixins, SqlAlchemyBase
|
from mealie.db.models.model_base import BaseMixins, SqlAlchemyBase
|
||||||
from mealie.db.models.recipe.category import Category, group2categories
|
from mealie.db.models.recipe.category import Category, group2categories
|
||||||
from sqlalchemy.orm.session import Session
|
from sqlalchemy.orm.session import Session
|
||||||
from mealie.core.config import settings
|
|
||||||
|
|
||||||
|
|
||||||
class WebhookURLModel(SqlAlchemyBase):
|
class WebhookURLModel(SqlAlchemyBase):
|
||||||
|
@ -50,10 +50,6 @@ class Group(SqlAlchemyBase, BaseMixins):
|
||||||
self.webhook_time = webhook_time
|
self.webhook_time = webhook_time
|
||||||
self.webhook_urls = [WebhookURLModel(url=x) for x in webhook_urls]
|
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
|
@staticmethod
|
||||||
def get_ref(session: Session, name: str):
|
def get_ref(session: Session, name: str):
|
||||||
item = session.query(Group).filter(Group.name == name).one_or_none()
|
item = session.query(Group).filter(Group.name == name).one_or_none()
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
import sqlalchemy as sa
|
|
||||||
import sqlalchemy.orm as orm
|
import sqlalchemy.orm as orm
|
||||||
from mealie.db.models.model_base import BaseMixins, SqlAlchemyBase
|
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):
|
class SiteThemeModel(SqlAlchemyBase, BaseMixins):
|
||||||
__tablename__ = "site_theme"
|
__tablename__ = "site_theme"
|
||||||
id = sa.Column(Integer, primary_key=True, unique=True)
|
id = Column(Integer, primary_key=True, unique=True)
|
||||||
name = sa.Column(sa.String, nullable=False, unique=True)
|
name = Column(String, nullable=False, unique=True)
|
||||||
colors = orm.relationship("ThemeColorsModel", uselist=False, cascade="all, delete")
|
colors = orm.relationship("ThemeColorsModel", uselist=False, single_parent=True, cascade="all, delete-orphan")
|
||||||
|
|
||||||
def __init__(self, name: str, colors: dict, *arg, **kwargs) -> None:
|
def __init__(self, name: str, colors: dict, *arg, **kwargs) -> None:
|
||||||
self.name = name
|
self.name = name
|
||||||
|
@ -17,12 +16,12 @@ class SiteThemeModel(SqlAlchemyBase, BaseMixins):
|
||||||
|
|
||||||
class ThemeColorsModel(SqlAlchemyBase, BaseMixins):
|
class ThemeColorsModel(SqlAlchemyBase, BaseMixins):
|
||||||
__tablename__ = "theme_colors"
|
__tablename__ = "theme_colors"
|
||||||
id = sa.Column(sa.Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
parent_id = sa.Column(sa.String, sa.ForeignKey("site_theme.name"))
|
parent_id = Column(Integer, ForeignKey("site_theme.id"))
|
||||||
primary = sa.Column(sa.String)
|
primary = Column(String)
|
||||||
accent = sa.Column(sa.String)
|
accent = Column(String)
|
||||||
secondary = sa.Column(sa.String)
|
secondary = Column(String)
|
||||||
success = sa.Column(sa.String)
|
success = Column(String)
|
||||||
info = sa.Column(sa.String)
|
info = Column(String)
|
||||||
warning = sa.Column(sa.String)
|
warning = Column(String)
|
||||||
error = sa.Column(sa.String)
|
error = Column(String)
|
||||||
|
|
|
@ -8,8 +8,8 @@ class Colors(BaseModel):
|
||||||
accent: str = "#00457A"
|
accent: str = "#00457A"
|
||||||
secondary: str = "#973542"
|
secondary: str = "#973542"
|
||||||
success: str = "#43A047"
|
success: str = "#43A047"
|
||||||
info: str = "#4990BA"
|
info: str = "#1976D2"
|
||||||
warning: str = "#FF4081"
|
warning: str = "#FF6F00"
|
||||||
error: str = "#EF5350"
|
error: str = "#EF5350"
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue