Skip to content

Commit d8f4f0f

Browse files
committed
update: revoke sessions when delete and delete_all methods are called
1 parent 705e228 commit d8f4f0f

File tree

1 file changed

+5
-21
lines changed

1 file changed

+5
-21
lines changed

api/v1/services/session.py

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def revoke_sessions(self, sessions):
4747
except Exception as e:
4848
self.db.rollback()
4949
raise HTTPException(
50-
status_code=400, detail="Could not update session"
50+
status_code=400, detail="Could not revoke session(s)"
5151
)
5252

5353
def fetch_by_ip_and_user_agent(self, ip_address: str, user_agent: str):
@@ -89,25 +89,9 @@ def delete(self, user_id, session_id):
8989
raise HTTPException(
9090
status_code=404, detail="Session not found"
9191
)
92-
try:
93-
self.db.delete(session)
94-
self.db.commit()
95-
except Exception as e:
96-
self.db.rollback()
97-
raise HTTPException(
98-
status_code=500, detail="Could not delete session"
99-
)
100-
92+
self.revoke_sessions([session])
93+
10194
def delete_all(self, user_id):
102-
"""Delete all sessions associated to a user"""
95+
"""Revoke all sessions associated to a user"""
10396
sessions = self.fetch_all(user_id)
104-
try:
105-
for session in sessions:
106-
self.db.delete(session)
107-
self.db.commit()
108-
except Exception as e:
109-
self.db.rollback()
110-
raise HTTPException(
111-
status_code=500,
112-
detail="Could not delete sessions"
113-
)
97+
self.revoke_sessions(sessions)

0 commit comments

Comments
 (0)