initial event support

This commit is contained in:
hay-kot 2021-05-03 18:51:29 -08:00
commit 3dd3baf2c9
7 changed files with 15 additions and 11 deletions

View file

@ -27,7 +27,8 @@
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "Category deletion failed",
"category-filter": "Category Filter", "category-filter": "Category Filter",
"category-update-failed": "Category update failed", "category-update-failed": "Category update failed",
"category-updated": "Category updated" "category-updated": "Category updated",
"category": "Category"
}, },
"general": { "general": {
"apply": "Apply", "apply": "Apply",

View file

@ -42,8 +42,9 @@ class _Recipes(BaseDocument):
return session.query(self.sql_model).filter(RecipeModel.recipe_category == None).count() # noqa: 711 return session.query(self.sql_model).filter(RecipeModel.recipe_category == None).count() # noqa: 711
else: else:
return [ return [
eff_schema.from_orm(x) for x in session.query(self.sql_model).filter(RecipeModel.tags == None).all() eff_schema.from_orm(x)
] # noqa: 711 for x in session.query(self.sql_model).filter(RecipeModel.tags == None).all() # noqa: 711
]
def count_untagged(self, session: Session, count=True, override_schema=None) -> int: def count_untagged(self, session: Session, count=True, override_schema=None) -> int:
eff_schema = override_schema or self.schema eff_schema = override_schema or self.schema
@ -51,8 +52,9 @@ class _Recipes(BaseDocument):
return session.query(self.sql_model).filter(RecipeModel.tags == None).count() # noqa: 711 return session.query(self.sql_model).filter(RecipeModel.tags == None).count() # noqa: 711
else: else:
return [ return [
eff_schema.from_orm(x) for x in session.query(self.sql_model).filter(RecipeModel.tags == None).all() eff_schema.from_orm(x)
] # noqa: 711 for x in session.query(self.sql_model).filter(RecipeModel.tags == None).all() # noqa: 711
]
class _Categories(BaseDocument): class _Categories(BaseDocument):

View file

@ -1,7 +1,6 @@
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from mealie.db.database import db from mealie.db.database import db
from mealie.db.db_setup import generate_session from mealie.db.db_setup import generate_session
from mealie.db.models.event import Event
from mealie.routes.deps import get_current_user from mealie.routes.deps import get_current_user
from mealie.schema.events import EventsOut from mealie.schema.events import EventsOut
from sqlalchemy.orm.session import Session from sqlalchemy.orm.session import Session
@ -17,7 +16,7 @@ async def get_events(session: Session = Depends(generate_session), current_user=
@router.delete("") @router.delete("")
async def get_events(session: Session = Depends(generate_session), current_user=Depends(get_current_user)): async def delete_events(session: Session = Depends(generate_session), current_user=Depends(get_current_user)):
""" Get event from the Database """ """ Get event from the Database """
# Get Item # Get Item
return db.events.delete_all(session) return db.events.delete_all(session)

View file

@ -35,7 +35,7 @@ async def get_untagged_recipes(session: Session = Depends(generate_session)):
@router.get("/api/recipes/summary/uncategorized", response_model=list[RecipeSummary]) @router.get("/api/recipes/summary/uncategorized", response_model=list[RecipeSummary])
async def get_untagged_recipes(session: Session = Depends(generate_session)): async def get_uncategorized_recipes(session: Session = Depends(generate_session)):
return db.recipes.count_uncategorized(session, False, override_schema=RecipeSummary) return db.recipes.count_uncategorized(session, False, override_schema=RecipeSummary)

View file

@ -38,7 +38,7 @@ def parse_recipe_url(
recipe = create_from_url(url.url) recipe = create_from_url(url.url)
recipe: Recipe = db.recipes.create(session, recipe.dict()) recipe: Recipe = db.recipes.create(session, recipe.dict())
create_recipe_event("Recipe Created (URL)", f"Recipe '{recipe.name}' created", session=session) create_recipe_event("Recipe Created (URL)", f"'{recipe.name}' by {current_user.full_name}", session=session)
return recipe.slug return recipe.slug

View file

@ -1,6 +1,6 @@
import shutil import shutil
from fastapi import APIRouter, Depends, File, UploadFile, status, HTTPException from fastapi import APIRouter, Depends, File, HTTPException, UploadFile, status
from fastapi.responses import FileResponse from fastapi.responses import FileResponse
from mealie.core import security from mealie.core import security
from mealie.core.config import app_dirs, settings from mealie.core.config import app_dirs, settings
@ -9,6 +9,7 @@ from mealie.db.database import db
from mealie.db.db_setup import generate_session from mealie.db.db_setup import generate_session
from mealie.routes.deps import get_current_user from mealie.routes.deps import get_current_user
from mealie.schema.user import ChangePassword, UserBase, UserIn, UserInDB, UserOut from mealie.schema.user import ChangePassword, UserBase, UserIn, UserInDB, UserOut
from mealie.services.events import create_sign_up_event
from sqlalchemy.orm.session import Session from sqlalchemy.orm.session import Session
router = APIRouter(prefix="/api/users", tags=["Users"]) router = APIRouter(prefix="/api/users", tags=["Users"])
@ -22,7 +23,7 @@ async def create_user(
): ):
new_user.password = get_password_hash(new_user.password) new_user.password = get_password_hash(new_user.password)
create_sign_up_event("User Created", f"Created by {current_user.full_name}", session=session)
return db.users.create(session, new_user.dict()) return db.users.create(session, new_user.dict())

View file

@ -81,6 +81,7 @@ class ExportDatabase:
else: else:
for item in items: for item in items:
final_dest = out_dir if not slug_folder else out_dir.joinpath(item.get("slug")) final_dest = out_dir if not slug_folder else out_dir.joinpath(item.get("slug"))
final_dest.mkdir(exist_ok=True)
filename = sanitize_filename(f"{item.get('slug')}.json") filename = sanitize_filename(f"{item.get('slug')}.json")
ExportDatabase._write_json_file(item, final_dest.joinpath(filename)) ExportDatabase._write_json_file(item, final_dest.joinpath(filename))