Coverage for opt/mealie/lib/python3.12/site-packages/mealie/schema/user/user_passwords.py: 100%
25 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 17:29 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 17:29 +0000
1from pydantic import UUID4, ConfigDict 1a
2from sqlalchemy.orm import selectinload 1a
3from sqlalchemy.orm.interfaces import LoaderOption 1a
5from mealie.schema._mealie import MealieModel 1a
7from ...db.models.users import PasswordResetModel, User 1a
8from .user import PrivateUser 1a
11class ForgotPassword(MealieModel): 1a
12 email: str 1a
15class PasswordResetToken(MealieModel): 1a
16 token: str 1a
19class ValidateResetToken(MealieModel): 1a
20 token: str 1a
23class ResetPassword(ValidateResetToken): 1a
24 email: str 1a
25 password: str 1a
26 passwordConfirm: str 1a
29class SavePasswordResetToken(MealieModel): 1a
30 user_id: UUID4 1a
31 token: str 1a
34class PrivatePasswordResetToken(SavePasswordResetToken): 1a
35 user: PrivateUser 1a
36 model_config = ConfigDict(from_attributes=True) 1a
38 @classmethod 1a
39 def loader_options(cls) -> list[LoaderOption]: 1a
40 return [
41 selectinload(PasswordResetModel.user).joinedload(User.group),
42 selectinload(PasswordResetModel.user).joinedload(User.household),
43 selectinload(PasswordResetModel.user).joinedload(User.tokens),
44 ]