From 6e69b241ef2b1c73b469fae4c74eac5d4a51368e Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Mon, 4 Aug 2025 20:55:34 -0400 Subject: [PATCH] Reset updates --- app/api/services/login.py | 14 ++++++++++++-- app/config.py | 2 +- app/models/password_reset.py | 24 ++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/app/api/services/login.py b/app/api/services/login.py index 54879fd..cd170e7 100644 --- a/app/api/services/login.py +++ b/app/api/services/login.py @@ -41,7 +41,7 @@ class LoginService(BaseService): } return ResponseHelper.success(data=invalid_data) reset_data = PasswordReset.create_reset(username=username) - BaseService.send_resetpass_mail(member.email, str(member.uid), member.id, "FF","LL") #pending_uid, pending_id, firstname, lastname + BaseService.send_resetpass_mail(member.email, str(reset_data.uid), reset_data.id, member.firstname,member.lastname) #pending_uid, pending_id, firstname, lastname response_data = { @@ -93,8 +93,18 @@ class LoginService(BaseService): return ResponseHelper.success(data=invalid_data) user_data = data["user"] + reset_data = PasswordReset.get_rest_with_uid(user_data["pending_uid"]) + logger.error(f"GOT HERE 000003 {reset_data} id = {reset_data.id}") + if reset_data.status> 0: + invalid_data = { + "error_message": "The link is invalid please try again later", + "reset_message": "", + "message_key": "invalid_pass_reset_link", + } + return ResponseHelper.success(data=invalid_data) + + PasswordReset.update_status(reset_data.id, reset_data.status+1) - logger.error(f"GOT HERE 000003 {user_data}") response_data = { "error_message": "", "pending_uid": user_data["pending_uid"], diff --git a/app/config.py b/app/config.py index 0523e61..0488ef7 100644 --- a/app/config.py +++ b/app/config.py @@ -12,7 +12,7 @@ class Config: BASIC_AUTH_USERNAME = os.environ.get("BASIC_AUTH_USERNAME", "user") BASIC_AUTH_PASSWORD = os.environ.get("BASIC_AUTH_PASSWORD", "password") - THIS_SITE_URL = os.getenv("THIS_SITE_URL", "https://qa-panel.mermsemr.com/") + THIS_SITE_URL = os.getenv("THIS_SITE_URL", "https://qa-panel.mermsemr.com") #Email Server SEND_EMAIL_FROM = os.environ.get("SEND_EMAIL_FROM","message@chiefsoft.com") diff --git a/app/models/password_reset.py b/app/models/password_reset.py index 0ffcef0..120f3f5 100644 --- a/app/models/password_reset.py +++ b/app/models/password_reset.py @@ -27,6 +27,30 @@ class PasswordReset(db.Model): "updated": self.updated.isoformat() if self.updated else None, } + @classmethod + def get_rest_with_uid(cls, pening_uid): + """ + Return all offers in dictionary format. + """ + pass_reset = cls.query.filter_by(uid = pening_uid).first() + if not pass_reset: + raise ValueError(f"Password Reset with UID {pening_uid} does not exist.") + return pass_reset + + @classmethod + def update_status(cls, reset_id, status): + # Retrieve Reset + reset_p = cls.query.get(reset_id) + + if not reset_p: + raise ValueError(f"Reset with ID {reset_id} does not exist.") + + if reset_p.status == status: + return + + # Update reset_p status and the updated_at timestamp + reset_p.status = status + @classmethod def create_reset(cls, username): logger.info(f"Enter to reset the password********** "+username)