@@ -19,29 +19,35 @@ def get_token(self, card_number: str, password: str, lib_id: int = 8726):
1919 print (f'Other error occurred: { err } ' )
2020 return r .json ()['token' ]
2121
22- def refresh_token (self , card_number : str ):
22+ def refresh_token (self , user_id : str ):
2323 cred = Query ()
24- result = self .db .search (cred .id == card_number )
25- token = self .get_token (card_number = card_number ,
24+ result = self .db .search (cred .id == user_id )
25+ token = self .get_token (card_number = user_id ,
2626 password = result [0 ]['password' ])
2727 self .db .update ({'token' : token , 'last_refresh' : str (
28- time .time ())}, cred .id == card_number )
28+ time .time ())}, cred .id == user_id )
2929
3030 def get_user_id_by_name (self , name : str ):
3131 cred = Query ()
3232 result = self .db .search (cred .name == name )
3333 if result :
3434 return result [0 ]['id' ]
3535
36+ def get_user_list (self ):
37+ cred = Query ()
38+ result = self .db .search (cred .id .exists ())
39+ return result
40+
3641 def get_credentials (self , user_id : str = None ):
3742 cred = Query ()
38- if user_id :
39- # Return credentials for one id
40- result = self .db .search (cred .id == user_id )
41- return result [0 ]
42- else :
43- # Return all credentials
44- return self .db .search (cred .id .exists ())
43+ user = self .db .search (cred .id == user_id )[0 ]
44+ # Refresh token if it is older than 14 days or empty
45+ if ((time .time () - float (user ['last_refresh' ]) > 14 * 24 * 60 * 60 ) or
46+ user ['token' ] == '' ):
47+ print ('refreshing access token' )
48+ self .refresh_token (user_id )
49+ user = self .db .search (cred .id == user_id )[0 ]
50+ return user
4551
4652 def add_user (self , name , mail , id , password ):
4753 token = self .get_token (card_number = id , password = password )
0 commit comments