Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/users/forgot_password.py: 87%
15 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
1from typing import Annotated
3from fastapi import APIRouter, Depends, Header
4from sqlalchemy.orm.session import Session
6from mealie.db.db_setup import generate_session
7from mealie.schema.user.user_passwords import ForgotPassword, ResetPassword
8from mealie.services.user_services.password_reset_service import PasswordResetService
10router = APIRouter(prefix="")
13@router.post("/forgot-password")
14def forgot_password(
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")
25def reset_password(reset_password: ResetPassword, session: Session = Depends(generate_session)):
26 """Resets the user password"""
27 f_service = PasswordResetService(session)
28 return f_service.reset_password(reset_password.token, reset_password.password)