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.10.6, created at 2025-11-25 15:32 +0000

1import datetime 1a

2 

3from sqlalchemy import delete 1a

4 

5from mealie.core import root_logger 1a

6from mealie.db.db_setup import session_context 1a

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

8 

9logger = root_logger.get_logger() 1a

10 

11MAX_DAYS_OLD = 2 1a

12 

13 

14def purge_password_reset_tokens(): 1a

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")