bug: startup failure with no database

This commit is contained in:
Hayden 2021-01-17 09:46:34 -09:00
commit 0170aa3f03
4 changed files with 19 additions and 7 deletions

View file

@ -15,11 +15,7 @@ from routes import (
) )
from utils.api_docs import generate_api_docs from utils.api_docs import generate_api_docs
from utils.logger import logger from utils.logger import logger
from utils.startup import post_start
# startup.pre_start()
# if USE_SQL:
# sql_global_init()
app = FastAPI( app = FastAPI(
title="Mealie", title="Mealie",
@ -57,6 +53,7 @@ def invalid_api():
app.include_router(static_routes.router) app.include_router(static_routes.router)
# post_start()
# Generate API Documentation # Generate API Documentation
if not PRODUCTION: if not PRODUCTION:

View file

@ -2,8 +2,11 @@ from app_config import SQLITE_FILE, USE_MONGO, USE_SQL
from db.sql.db_session import globa_init as sql_global_init from db.sql.db_session import globa_init as sql_global_init
sql_exists = SQLITE_FILE.is_file()
if USE_SQL: if USE_SQL:
sql_global_init(SQLITE_FILE) sql_global_init(SQLITE_FILE)
pass pass
elif USE_MONGO: elif USE_MONGO:

View file

@ -1,6 +1,7 @@
from typing import List, Optional from typing import List, Optional
from db.database import db from db.database import db
from db.db_setup import sql_exists
from pydantic import BaseModel from pydantic import BaseModel
from utils.logger import logger from utils.logger import logger
@ -120,7 +121,7 @@ def default_theme_init():
try: try:
SiteTheme.get_by_name("default") SiteTheme.get_by_name("default")
return "default theme exists" logger.info("Default theme exists... skipping generation")
except: except:
logger.info("Generating Default Theme") logger.info("Generating Default Theme")
colors = Colors(**default_colors) colors = Colors(**default_colors)
@ -128,4 +129,15 @@ def default_theme_init():
default_theme.save_to_db() default_theme.save_to_db()
def default_settings_init():
try:
document = db.settings.get("main")
except:
webhooks = Webhooks()
default_entry = SiteSettings(name="main", webhooks=webhooks)
document = db.settings.save_new(default_entry.dict(), webhooks.dict())
if not sql_exists:
default_settings_init()
default_theme_init

View file

@ -6,7 +6,7 @@ from services.settings_services import default_theme_init
CWD = Path(__file__).parent CWD = Path(__file__).parent
def pre_start(): def post_start():
default_theme_init() default_theme_init()