getSession method

  1. @override
Future<Session?> getSession(
  1. String sessionId
)
override

Implementation

@override
Future<Session?> getSession(String sessionId) async {
  final results = await sqlSelect("SELECT * FROM $tableName WHERE id='$sessionId';");
  if (results != null && results.isNotEmpty) {
    final result = results.first;
    final secretBox = SecretBox(
      base64.decode(result['cipherText'] as String),
      nonce: base64.decode(result['nonce'] as String),
      mac: Mac(base64.decode(result['mac'] as String)),
    );
    final clearText = await algorithm.decryptString(
      secretBox,
      secretKey: secretKey,
    );
    return Session.fromJson(clearText);
  }

  return null;
}