category/tag database relationship and endpoints

This commit is contained in:
hayden
2021-01-30 17:25:05 -09:00
parent 016108d35f
commit d6794cba7d
14 changed files with 178 additions and 102 deletions

View File

@@ -5,24 +5,23 @@ from sqlalchemy.orm.session import Session
from utils.post_webhooks import post_webhooks
from utils.snackbar import SnackResponse
router = APIRouter(tags=["Settings"])
router = APIRouter(prefix="/api/site-settings", tags=["Settings"])
@router.get("/api/site-settings/")
@router.get("/")
def get_main_settings(db: Session = Depends(generate_session)):
""" Returns basic site settings """
return SiteSettings.get_site_settings(db)
@router.post("/api/site-settings/webhooks/test/")
@router.post("/webhooks/test/")
def test_webhooks():
""" Run the function to test your webhooks """
return post_webhooks()
@router.post("/api/site-settings/update/")
@router.post("/update/")
def update_settings(data: SiteSettings, db: Session = Depends(generate_session)):
""" Returns Site Settings """
data.update(db)
@@ -36,20 +35,20 @@ def update_settings(data: SiteSettings, db: Session = Depends(generate_session))
return SnackResponse.success("Settings Updated")
@router.get("/api/site-settings/themes/", tags=["Themes"])
@router.get("/themes/", tags=["Themes"])
def get_all_themes(db: Session = Depends(generate_session)):
""" Returns all site themes """
return SiteTheme.get_all(db)
@router.get("/api/site-settings/themes/{theme_name}/", tags=["Themes"])
@router.get("/themes/{theme_name}/", tags=["Themes"])
def get_single_theme(theme_name: str, db: Session = Depends(generate_session)):
""" Returns a named theme """
return SiteTheme.get_by_name(db, theme_name)
@router.post("/api/site-settings/themes/create/", tags=["Themes"])
@router.post("/themes/create/", tags=["Themes"])
def create_theme(data: SiteTheme, db: Session = Depends(generate_session)):
""" Creates a site color theme database entry """
data.save_to_db(db)
@@ -63,7 +62,7 @@ def create_theme(data: SiteTheme, db: Session = Depends(generate_session)):
return SnackResponse.success("Theme Saved")
@router.post("/api/site-settings/themes/{theme_name}/update/", tags=["Themes"])
@router.post("/themes/{theme_name}/update/", tags=["Themes"])
def update_theme(
theme_name: str, data: SiteTheme, db: Session = Depends(generate_session)
):
@@ -79,7 +78,7 @@ def update_theme(
return SnackResponse.success("Theme Updated")
@router.delete("/api/site-settings/themes/{theme_name}/delete/", tags=["Themes"])
@router.delete("/themes/{theme_name}/delete/", tags=["Themes"])
def delete_theme(theme_name: str, db: Session = Depends(generate_session)):
""" Deletes theme from the database """
SiteTheme.delete_theme(db, theme_name)