mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-07-24 07:39:41 +02:00
fix: Prevent Bad Cookbook Names (#4364)
This commit is contained in:
parent
1af2473a72
commit
6d89fe37ad
2 changed files with 29 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
|||
from typing import Annotated
|
||||
|
||||
from pydantic import UUID4, ConfigDict, Field, field_validator
|
||||
from slugify import slugify
|
||||
from sqlalchemy.orm import joinedload
|
||||
from sqlalchemy.orm.interfaces import LoaderOption
|
||||
|
||||
|
@ -29,6 +30,18 @@ class CreateCookBook(MealieModel):
|
|||
def validate_public(public: bool | None) -> bool:
|
||||
return False if public is None else public
|
||||
|
||||
@field_validator("name")
|
||||
def validate_name(name: str) -> str:
|
||||
name = name.strip()
|
||||
|
||||
# we calculate the slug later leveraging the database,
|
||||
# but we still need to validate the name can be slugified
|
||||
possible_slug = slugify(name)
|
||||
if not (name and possible_slug):
|
||||
raise ValueError("Name cannot be empty")
|
||||
|
||||
return name
|
||||
|
||||
|
||||
class SaveCookBook(CreateCookBook):
|
||||
group_id: UUID4
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue