mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-10-27 08:14:30 -04:00
* Dummy Commit * consolidate sidebar and app bar * fix image error * consolidate sidebar * new icon for user menu * fixes #329 * fix double click on mobile * swap to computed properties * fix open/close bug * rewrite search for mobile * fix ingredient checkbox * cleanup console.logs * set default lang + bump version * draft changelog * reword * update env variables Co-authored-by: hay-kot <hay-kot@pm.me>
58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
from typing import Optional
|
|
|
|
from fastapi_camelcase import CamelModel
|
|
from mealie.schema.category import CategoryBase
|
|
from pydantic import validator
|
|
from slugify import slugify
|
|
|
|
|
|
class SiteSettings(CamelModel):
|
|
language: str = "en-US"
|
|
first_day_of_week: int = 0
|
|
show_recent: bool = True
|
|
cards_per_section: int = 9
|
|
categories: Optional[list[CategoryBase]] = []
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
schema_extra = {
|
|
"example": {
|
|
"language": "en",
|
|
"firstDayOfWeek": 0,
|
|
"showRecent": True,
|
|
"categories": [
|
|
{"id": 1, "name": "thanksgiving", "slug": "thanksgiving"},
|
|
{"id": 2, "name": "homechef", "slug": "homechef"},
|
|
{"id": 3, "name": "potatoes", "slug": "potatoes"},
|
|
],
|
|
}
|
|
}
|
|
|
|
|
|
class CustomPageBase(CamelModel):
|
|
name: str
|
|
slug: Optional[str]
|
|
position: int
|
|
categories: list[CategoryBase] = []
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
@validator("slug", always=True, pre=True)
|
|
def validate_slug(slug: str, values):
|
|
name: str = values["name"]
|
|
calc_slug: str = slugify(name)
|
|
|
|
if slug != calc_slug:
|
|
slug = calc_slug
|
|
|
|
return slug
|
|
|
|
|
|
class CustomPageOut(CustomPageBase):
|
|
id: int
|
|
|
|
class Config:
|
|
orm_mode = True
|