Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/users/forgot_password.py: 100%
15 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 typing import Annotated 1a
3from fastapi import APIRouter, Depends, Header 1a
4from sqlalchemy.orm.session import Session 1a
6from mealie.db.db_setup import generate_session 1a
7from mealie.schema.user.user_passwords import ForgotPassword, ResetPassword 1a
8from mealie.services.user_services.password_reset_service import PasswordResetService 1a
10router = APIRouter(prefix="") 1a
13@router.post("/forgot-password") 1a
14def forgot_password( 1a
15 email: ForgotPassword,
16 session: Session = Depends(generate_session),
17 accept_language: Annotated[str | None, Header()] = None,
18):
19 """Sends an email with a reset link to the user"""
20 f_service = PasswordResetService(session)
21 return f_service.send_reset_email(email.email, accept_language)
24@router.post("/reset-password") 1a
25def reset_password(reset_password: ResetPassword, session: Session = Depends(generate_session)): 1a
26 """Resets the user password"""
27 f_service = PasswordResetService(session)
28 return f_service.reset_password(reset_password.token, reset_password.password)