read method

  1. @override
Future<Map<String, dynamic>?> read(
  1. String sessionId
)
override

Retrieve session data

Implementation

@override
Future<Map<String, dynamic>?> read(String sessionId) async {
  final queryBuilder = _connection.queryBuilder<Map<String, dynamic>>(
    _tableName,
  );

  final result = await queryBuilder
      .select(['payload'])
      .where('session_id', '=', sessionId)
      .first();

  if (result == null) {
    return null;
  }

  try {
    final payload = result['payload'] as String;
    return jsonDecode(payload) as Map<String, dynamic>;
  } catch (e) {
    // Log error for debugging but don't expose internal details
    return null;
  }
}