@@ -266,18 +266,10 @@ def validate_session(self, access_token: str) -> SessionInfo:
266266 WebTritErrorException: If the token is invalid, expired, or cannot be verified.
267267 """
268268 try :
269- self ._account_api .decode_and_verify_access_token_expiration (access_token )
270- session_data : dict = self ._account_api .ping (access_token = access_token )
271- user_id = session_data ["user_id" ]
269+ data = self ._account_api .decode_and_verify_access_token_expiration (access_token )
270+ user_id = str (data ["i_account" ])
272271
273- if not user_id :
274- raise WebTritErrorException (
275- status_code = 401 ,
276- error_message = "Access token expired" ,
277- code = "access_token_expired" ,
278- )
279-
280- return SessionInfo (user_id = UserId (str (user_id )), access_token = AccessToken (access_token ))
272+ return SessionInfo (user_id = UserId (user_id ), access_token = AccessToken (access_token ))
281273 except ExpiredSignatureError :
282274 raise WebTritErrorException (
283275 status_code = 401 ,
@@ -290,15 +282,6 @@ def validate_session(self, access_token: str) -> SessionInfo:
290282 error_message = "Access token invalid" ,
291283 code = "access_token_invalid" ,
292284 )
293- except WebTritErrorException as error :
294- if extract_fault_code (error ) in ("Client.Session.ping.failed_to_process_access_token" ,):
295- raise WebTritErrorException (
296- status_code = 401 ,
297- error_message = "Access token invalid" ,
298- code = "access_token_invalid" ,
299- )
300-
301- raise error
302285
303286 def refresh_session (self , refresh_token : str ) -> SessionInfo :
304287 """Refreshes the PortaSwitch account session.
@@ -331,7 +314,7 @@ def refresh_session(self, refresh_token: str) -> SessionInfo:
331314 raise WebTritErrorException (
332315 status_code = 422 ,
333316 code = "refresh_token_invalid" ,
334- error_message = f"Invalid refresh token { refresh_token } " ,
317+ error_message = f"Invalid refresh token" ,
335318 )
336319
337320 raise error
@@ -355,9 +338,8 @@ def close_session(self, access_token: str) -> bool:
355338 fault_code = extract_fault_code (error )
356339 if fault_code in ("Client.Session.logout.failed_to_process_access_token" ,):
357340 raise WebTritErrorException (
358- status_code = 404 ,
359- # code = UserAccessErrorCode.session_not_found,
360- error_message = f"Error closing the session { access_token } " ,
341+ status_code = 422 ,
342+ error_message = f"Error closing the session" ,
361343 )
362344
363345 raise error
@@ -396,11 +378,10 @@ def retrieve_user(self, session: SessionInfo, user: UserInfo) -> EndUser:
396378 except WebTritErrorException as error :
397379 fault_code = extract_fault_code (error )
398380 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
399- # Race condition case, when the session is validated, and then the access_token dies.
400381 raise WebTritErrorException (
401- status_code = 404 ,
402- # code = UserAccessErrorCode.session_not_found ,
403- error_message = "User not found " ,
382+ status_code = 401 ,
383+ error_message = "Access token expired" ,
384+ code = "access_token_expired " ,
404385 )
405386
406387 raise error
@@ -544,11 +525,10 @@ def retrieve_contacts(self, session: SessionInfo, user: UserInfo) -> list[Contac
544525 except WebTritErrorException as error :
545526 fault_code = extract_fault_code (error )
546527 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
547- # Race condition case, when the session is validated, and then the access_token dies.
548528 raise WebTritErrorException (
549- status_code = 404 ,
550- # code = UserAccessErrorCode.session_not_found ,
551- error_message = "User not found " ,
529+ status_code = 401 ,
530+ error_message = "Access token expired" ,
531+ code = "access_token_expired " ,
552532 )
553533
554534 raise error
@@ -928,11 +908,10 @@ def retrieve_contacts_v2(
928908 except WebTritErrorException as error :
929909 fault_code = extract_fault_code (error )
930910 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
931- # Race condition case, when the session is validated, and then the access_token dies.
932911 raise WebTritErrorException (
933- status_code = 404 ,
934- # code = UserAccessErrorCode.session_not_found ,
935- error_message = "User not found " ,
912+ status_code = 401 ,
913+ error_message = "Access token expired" ,
914+ code = "access_token_expired " ,
936915 )
937916
938917 raise error
@@ -1001,11 +980,10 @@ def retrieve_calls(
1001980 except WebTritErrorException as error :
1002981 fault_code = extract_fault_code (error )
1003982 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
1004- # Race condition case, when the session is validated, and then the access_token dies.
1005983 raise WebTritErrorException (
1006- status_code = 404 ,
1007- # code = UserNotFoundCode.user_not_found ,
1008- error_message = "User not found " ,
984+ status_code = 401 ,
985+ error_message = "Access token expired" ,
986+ code = "access_token_expired " ,
1009987 )
1010988
1011989 raise error
@@ -1067,7 +1045,11 @@ def retrieve_voicemails(self, session: SessionInfo, user: UserInfo) -> UserVoice
10671045 except WebTritErrorException as error :
10681046 fault_code = extract_fault_code (error )
10691047 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
1070- raise WebTritErrorException (status_code = 404 , error_message = "User not found" )
1048+ raise WebTritErrorException (
1049+ status_code = 401 ,
1050+ error_message = "Access token expired" ,
1051+ code = "access_token_expired" ,
1052+ )
10711053
10721054 raise error
10731055
@@ -1097,7 +1079,11 @@ def retrieve_voicemail_message_details(
10971079 except WebTritErrorException as error :
10981080 fault_code = extract_fault_code (error )
10991081 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
1100- raise WebTritErrorException (status_code = 404 , error_message = "User not found" )
1082+ raise WebTritErrorException (
1083+ status_code = 401 ,
1084+ error_message = "Access token expired" ,
1085+ code = "access_token_expired" ,
1086+ )
11011087
11021088 raise error
11031089
@@ -1130,7 +1116,11 @@ def retrieve_voicemail_message_attachment(
11301116 except WebTritErrorException as error :
11311117 fault_code = extract_fault_code (error )
11321118 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
1133- raise WebTritErrorException (404 , "User not found" )
1119+ raise WebTritErrorException (
1120+ 401 ,
1121+ error_message = "Access token expired" ,
1122+ code = "access_token_expired" ,
1123+ )
11341124
11351125 raise error
11361126
@@ -1165,7 +1155,11 @@ def patch_voicemail_message(
11651155 except WebTritErrorException as error :
11661156 fault_code = extract_fault_code (error )
11671157 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
1168- raise WebTritErrorException (status_code = 404 , error_message = "User not found" )
1158+ raise WebTritErrorException (
1159+ 401 ,
1160+ error_message = "Access token expired" ,
1161+ code = "access_token_expired" ,
1162+ )
11691163
11701164 raise error
11711165
@@ -1185,7 +1179,11 @@ def delete_voicemail_message(self, session: SessionInfo, message_id: str) -> Non
11851179 except WebTritErrorException as error :
11861180 fault_code = extract_fault_code (error )
11871181 if fault_code in ("Client.Session.check_auth.failed_to_process_access_token" ,):
1188- raise WebTritErrorException (status_code = 404 , error_message = "User not found" )
1182+ raise WebTritErrorException (
1183+ 401 ,
1184+ error_message = "Access token expired" ,
1185+ code = "access_token_expired" ,
1186+ )
11891187
11901188 raise error
11911189
@@ -1247,7 +1245,11 @@ def signup(self, user_data, tenant_id: str = None) -> SessionResponse:
12471245 )
12481246 except WebTritErrorException as error :
12491247 if extract_fault_code (error ) == "Client.Session.check_auth.failed_to_process_access_token" :
1250- raise WebTritErrorException (status_code = 404 , error_message = "User not found" )
1248+ raise WebTritErrorException (
1249+ 401 ,
1250+ error_message = "Access token expired" ,
1251+ code = "access_token_expired" ,
1252+ )
12511253
12521254 raise error
12531255
0 commit comments