diff --git a/app/api/services/login.py b/app/api/services/login.py index 0b0bd97..8b04a35 100644 --- a/app/api/services/login.py +++ b/app/api/services/login.py @@ -158,13 +158,13 @@ class LoginService(BaseService): } return ResponseHelper.success(data=invalid_data) - user_data = data["user"] reset_data = PasswordReset.get_rest_with_uid(user_data["pending_uid"]) + PasswordReset.update_status(reset_data.id, reset_data.status + 1) + logger.error(f"GOT HERE 000003 {reset_data} id = {reset_data.id}") username = user_data["username"] member = Members.get_member_by_username(username) - if not member: invalid_data = { "error_message": "Invalid User", @@ -173,6 +173,10 @@ class LoginService(BaseService): } return ResponseHelper.success(data=invalid_data) + encrypted_pass = generate_password_hash(new_password) + Members.update_user_password(reset_data.id, member["uid"], member["id"], encrypted_pass) + # update_user_passowrd(cls, reset_id, member_uid, member_id, new_passwprd_hash) + response_data = { "error_message": "", diff --git a/app/models/members.py b/app/models/members.py index b544e5f..2033275 100644 --- a/app/models/members.py +++ b/app/models/members.py @@ -82,20 +82,12 @@ class Members(db.Model): raise ValueError(f"Database integrity error: {err}") return member_data -# ''' -# Table "public.members" -# Column | Type | Collation | Nullable | Default -# --------------+-----------------------------+-----------+----------+------------------------------------- -# id | integer | | not null | nextval('members_id_seq'::regclass) -# uid | uuid | | | uuid_generate_v4() -# username | character varying(25) | | not null | -# password | character varying(250) | | not null | -# loc | inet | | | -# status | integer | | | 0 -# added | timestamp without time zone | | | now() -# updated | timestamp without time zone | | | now() -# email | character varying(100) | | | -# account_name | character varying(100) | | | -# firstname | character varying(25) | | | -# lastname | character varying(25) | | | -# ''' \ No newline at end of file + + @classmethod + def update_user_password(cls, reset_id, member_uid, member_id, new_passwprd_hash): + member = cls.query.filter_by(uid=str(member_uid),id=member_id).first() + if not member: + raise ValueError(f"Reset with UID {member_uid} does not exist.") + + # Update reset_p status and the updated_at timestamp + member.password = new_passwprd_hash diff --git a/app/models/password_reset.py b/app/models/password_reset.py index 120f3f5..80a29a2 100644 --- a/app/models/password_reset.py +++ b/app/models/password_reset.py @@ -83,6 +83,7 @@ class PasswordReset(db.Model): return pass_reset + def __repr__(self): return f''