Coverage for opt/mealie/lib/python3.12/site-packages/mealie/services/scheduler/tasks/purge_password_reset.py: 50%

16 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 03:04 +0000

1import datetime 

2 

3from sqlalchemy import delete 

4 

5from mealie.core import root_logger 

6from mealie.db.db_setup import session_context 

7from mealie.db.models.users.password_reset import PasswordResetModel 

8 

9logger = root_logger.get_logger() 

10 

11MAX_DAYS_OLD = 2 

12 

13 

14def purge_password_reset_tokens(): 

15 """Purges all events after x days""" 

16 logger.debug("purging password reset tokens") 

17 limit = datetime.datetime.now(datetime.UTC) - datetime.timedelta(days=MAX_DAYS_OLD) 

18 

19 with session_context() as session: 

20 stmt = delete(PasswordResetModel).filter(PasswordResetModel.created_at <= limit) 

21 session.execute(stmt) 

22 session.commit() 

23 session.close() 

24 logger.info("password reset tokens purged")