Interface UserSessionPersisterProvider

    • Method Detail

      • createUserSession

        void createUserSession​(UserSessionModel userSession,
                               boolean offline)
      • removeUserSession

        void removeUserSession​(String userSessionId,
                               boolean offline)
      • removeClientSession

        void removeClientSession​(String userSessionId,
                                 String clientUUID,
                                 boolean offline)
      • onRealmRemoved

        void onRealmRemoved​(RealmModel realm)
      • updateLastSessionRefreshes

        void updateLastSessionRefreshes​(RealmModel realm,
                                        int lastSessionRefresh,
                                        Collection<String> userSessionIds,
                                        boolean offline)
      • removeExpired

        void removeExpired​(RealmModel realm)
      • loadUserSession

        UserSessionModel loadUserSession​(RealmModel realm,
                                         String userSessionId,
                                         boolean offline)
        Loads the user session with the given userSessionId.
        Parameters:
        userSessionId -
        offline -
        Returns:
      • loadUserSessions

        @Deprecated
        default List<UserSessionModel> loadUserSessions​(int firstResult,
                                                        int maxResults,
                                                        boolean offline,
                                                        int lastCreatedOn,
                                                        String lastUserSessionId)
        Deprecated.
        Called during startup. For each userSession, it loads also clientSessions
      • loadUserSessionsStream

        Stream<UserSessionModel> loadUserSessionsStream​(Integer firstResult,
                                                        Integer maxResults,
                                                        boolean offline,
                                                        String lastUserSessionId)
        Called during startup. For each userSession, it loads also clientSessions.
        Parameters:
        firstResult - Integer Index of the first desired user session. Ignored if negative or null.
        maxResults - Integer Maximum number of returned user sessions. Ignored if negative or null.
        offline - boolean Flag to include offline sessions.
        lastUserSessionId - String Id of the user session. It will return only user sessions with id's lexicographically greater than this. it will compare the id in dictionary order and takes only those created later.
        Returns:
        Stream of UserSessionModel. Never returns null.
      • loadClientSession

        AuthenticatedClientSessionModel loadClientSession​(RealmModel realm,
                                                          ClientModel client,
                                                          UserSessionModel userSession,
                                                          boolean offline)
        Loads client session from the db by provided user session and client.
        Parameters:
        realm - RealmModel Realm for the associated client session.
        client - ClientModel Client used for the creation of client session.
        userSession - UserSessionModel User session for the associated client session.
        offline - boolean Flag that indicates the client session should be online/offline.
        Returns:
        Client session according the provided criteria or null if not found.
      • getUserSessionsCount

        int getUserSessionsCount​(boolean offline)
        Retrieves the count of user sessions for all realms.
        Parameters:
        offline -
        Returns:
      • getUserSessionsCount

        int getUserSessionsCount​(RealmModel realm,
                                 ClientModel clientModel,
                                 boolean offline)
        Retrieves the count of user client-sessions for the given client
        Parameters:
        realm -
        clientModel -
        offline -
        Returns:
      • getUserSessionsCountsByClients

        Map<String,​Long> getUserSessionsCountsByClients​(RealmModel realm,
                                                              boolean offline)
        Returns a Map containing the number of user-sessions aggregated by client id for the given realm.
        Parameters:
        realm -
        offline -
        Returns:
        the count Map with clientId as key and session count as value