Class UserSessionService

java.lang.Object
restapi.services.UserSessionService

@Service public class UserSessionService extends Object
  • Field Details

    • userRepository

      @NonNull private final @NonNull UserRepository userRepository
    • dateService

      @NonNull private @NonNull DateService dateService
  • Constructor Details

    • UserSessionService

      public UserSessionService()
  • Method Details

    • reportLogin

      public void reportLogin(UserEntity user, String token)
      Register login to database. Saves Token and last connected.
      Parameters:
      user -
      token -
    • reportConnection

      public void reportConnection(UserEntity user)
      Updates last connection on the db
      Parameters:
      user -
    • encrypt

      public String encrypt(String s)
      Encrypts a string. Meant for token. Not retrievable.
      Parameters:
      s -
      Returns:
    • matchesEncrypted

      public boolean matchesEncrypted(String literal, String encrypted)
      Returns true if literal encrypted matches encrypted
      Parameters:
      literal -
      encrypted -
      Returns:
    • isTokenInDB

      public boolean isTokenInDB(UserEntity user, String token)
      Returns true if token matches the encrypted token in user
      Parameters:
      user -
      token -
      Returns:
    • isSessionExpired

      public boolean isSessionExpired(UserEntity user)
      Returns false and updates the last connection datetime
      Parameters:
      user -
      Returns:
    • isOnline

      public boolean isOnline(UserEntity user)
      Returns true if last connection was more than 30 min ago
      Parameters:
      user -
      Returns:
    • getValidSession

      public LoggedUser getValidSession(UserEntity userEntity, String token)
      Returns a LoggedUser if the token is valid, null otherwise
      Parameters:
      userEntity -
      token -
      Returns:
    • logout

      public void logout(String username)
      Logs out: empties token
      Parameters:
      username -