Package restapi.services
Class UserSessionService
java.lang.Object
restapi.services.UserSessionService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate @NonNull DateService
private final @NonNull UserRepository
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionEncrypts a string.getValidSession
(UserEntity userEntity, String token) Returns a LoggedUser if the token is valid, null otherwiseboolean
isOnline
(UserEntity user) Returns true if last connection was more than 30 min agoboolean
isSessionExpired
(UserEntity user) Returns false and updates the last connection datetimeboolean
isTokenInDB
(UserEntity user, String token) Returns true if token matches the encrypted token in uservoid
Logs out: empties tokenboolean
matchesEncrypted
(String literal, String encrypted) Returns true if literal encrypted matches encryptedvoid
reportConnection
(UserEntity user) Updates last connection on the dbvoid
reportLogin
(UserEntity user, String token) Register login to database.
-
Field Details
-
userRepository
-
dateService
-
-
Constructor Details
-
UserSessionService
public UserSessionService()
-
-
Method Details
-
reportLogin
Register login to database. Saves Token and last connected.- Parameters:
user
-token
-
-
reportConnection
Updates last connection on the db- Parameters:
user
-
-
encrypt
Encrypts a string. Meant for token. Not retrievable.- Parameters:
s
-- Returns:
-
matchesEncrypted
Returns true if literal encrypted matches encrypted- Parameters:
literal
-encrypted
-- Returns:
-
isTokenInDB
Returns true if token matches the encrypted token in user- Parameters:
user
-token
-- Returns:
-
isSessionExpired
Returns false and updates the last connection datetime- Parameters:
user
-- Returns:
-
isOnline
Returns true if last connection was more than 30 min ago- Parameters:
user
-- Returns:
-
getValidSession
Returns a LoggedUser if the token is valid, null otherwise- Parameters:
userEntity
-token
-- Returns:
-
logout
Logs out: empties token- Parameters:
username
-
-