mirror of
https://github.com/hay-kot/mealie.git
synced 2025-08-22 14:33:33 -07:00
initial event support
This commit is contained in:
parent
e59993155e
commit
3dd3baf2c9
7 changed files with 15 additions and 11 deletions
|
@ -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",
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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())
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue