Refactor VPN session peer info handling and update keepalive message format

This commit is contained in:
ImBenji
2025-08-05 17:47:24 +01:00
parent ca9a4be6be
commit eb0fdbc2c0

View File

@@ -15,7 +15,7 @@ class VpnSessionService {
return; return;
} }
// Get all sessions for this server with peer info // Get all sessions for this server
final sessions = await SUPABASE_CLIENT final sessions = await SUPABASE_CLIENT
.from('vpn_sessions') .from('vpn_sessions')
.select('id, peer_info') .select('id, peer_info')
@@ -30,13 +30,13 @@ class VpnSessionService {
final sessionId = session['id']; final sessionId = session['id'];
final peerInfo = session['peer_info']; final peerInfo = session['peer_info'];
if (peerInfo != null && peerInfo['public_key'] != null) { if (peerInfo != null && peerInfo['peer'] != null && peerInfo['peer']['publicKey'] != null) {
final publicKey = peerInfo['public_key'] as String; final publicKey = peerInfo['peer']['publicKey'] as String;
final keepaliveInfo = await _getKeepaliveForPeer(publicKey); final keepaliveInfo = await _getKeepaliveForPeer(publicKey);
print('Session ID: $sessionId - Peer: ${publicKey.substring(0, 8)}... - $keepaliveInfo'); print('Session ID: $sessionId - Peer: ${publicKey.substring(0, 8)}... - $keepaliveInfo');
} else { } else {
print('Session ID: $sessionId - No peer info available'); print('Session ID: $sessionId - No peer public key available');
} }
} }
} }
@@ -70,10 +70,8 @@ class VpnSessionService {
return 'No handshake yet'; return 'No handshake yet';
} else { } else {
final handshakeDateTime = DateTime.fromMillisecondsSinceEpoch(handshakeTime * 1000); final handshakeDateTime = DateTime.fromMillisecondsSinceEpoch(handshakeTime * 1000);
final now = DateTime.now();
final timeSince = now.difference(handshakeDateTime);
return 'Last keepalive ${timeSince.inSeconds}s ago'; return 'Last handshake: ${handshakeDateTime.toLocal()}';
} }
} }
} }