Coverage for opt/mealie/lib/python3.12/site-packages/mealie/schema/recipe/recipe_comments.py: 100%
36 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 15:48 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 15:48 +0000
1from datetime import datetime 1a
3from pydantic import UUID4, ConfigDict 1a
4from sqlalchemy.orm import joinedload 1a
5from sqlalchemy.orm.interfaces import LoaderOption 1a
7from mealie.db.models.recipe import RecipeComment 1a
8from mealie.db.models.recipe.recipe import RecipeModel 1a
9from mealie.schema._mealie import MealieModel 1a
10from mealie.schema._mealie.mealie_model import UpdatedAtField 1a
11from mealie.schema.response.pagination import PaginationBase 1a
14class UserBase(MealieModel): 1a
15 id: UUID4 1a
16 username: str | None = None 1a
17 admin: bool 1a
18 full_name: str | None = None 1a
19 model_config = ConfigDict(from_attributes=True) 1a
22class RecipeCommentCreate(MealieModel): 1a
23 recipe_id: UUID4 1a
24 text: str 1a
27class RecipeCommentSave(RecipeCommentCreate): 1a
28 user_id: UUID4 1a
31class RecipeCommentUpdate(MealieModel): 1a
32 id: UUID4 1a
33 text: str 1a
36class RecipeCommentOut(RecipeCommentCreate): 1a
37 id: UUID4 1a
38 recipe_id: UUID4 1a
39 created_at: datetime 1a
40 updated_at: datetime = UpdatedAtField(...) 1a
41 user_id: UUID4 1a
42 user: UserBase 1a
43 model_config = ConfigDict(from_attributes=True) 1a
45 @classmethod 1a
46 def loader_options(cls) -> list[LoaderOption]: 1a
47 return [ 1bcdefghijklm
48 joinedload(RecipeComment.user),
49 joinedload(RecipeComment.recipe).joinedload(RecipeModel.user),
50 ]
53class RecipeCommentPagination(PaginationBase): 1a
54 items: list[RecipeCommentOut] 1a