SHA256
11 12 25
Добавил Вывсти список активных сессий!!
This commit is contained in:
@@ -4,6 +4,8 @@ import shine.db.SqliteDbController;
|
||||
import shine.db.entities.ActiveSession;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* DAO для таблицы active_sessions.
|
||||
@@ -123,9 +125,46 @@ public final class ActiveSessionsDAO {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить список всех активных сессий пользователя по loginId.
|
||||
*/
|
||||
public List<ActiveSession> getByLoginId(long loginId) throws SQLException {
|
||||
String sql = """
|
||||
SELECT
|
||||
sessionId,
|
||||
loginId,
|
||||
sessionPwd,
|
||||
storagePwd,
|
||||
sessionCreatedAtMs,
|
||||
lastAuthirificatedAtMs,
|
||||
pushEndpoint,
|
||||
pushP256dhKey,
|
||||
pushAuthKey,
|
||||
clientIp,
|
||||
clientInfoFromClient,
|
||||
clientInfoFromRequest,
|
||||
userLanguage
|
||||
FROM active_sessions
|
||||
WHERE loginId = ?
|
||||
""";
|
||||
|
||||
List<ActiveSession> result = new ArrayList<>();
|
||||
|
||||
try (PreparedStatement ps = db.getConnection().prepareStatement(sql)) {
|
||||
ps.setLong(1, loginId);
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
while (rs.next()) {
|
||||
result.add(mapRow(rs));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Обновить только lastAuthirificatedAtMs для конкретной сессии.
|
||||
* (оставлено для совместимости)
|
||||
* (оставляю для совместимости, вдруг ещё где-то используется)
|
||||
*/
|
||||
public void updateLastAuthirificatedAtMs(String sessionId, long lastAuthMs) throws SQLException {
|
||||
String sql = """
|
||||
|
||||
Reference in New Issue
Block a user