saveSession method
Implementation
@override
Future<void> saveSession(Session session, String sessionId) async {
final clearText = session.toJson();
final secretBox = await algorithm.encryptString(
clearText,
secretKey: secretKey,
);
if (await sessionExist(sessionId)) {
await sqlExecute("UPDATE $tableName SET nonce='${base64.encode(secretBox.nonce)}', "
"cipherText='${base64.encode(secretBox.cipherText)}', "
"mac='${base64.encode(secretBox.mac.bytes)}' WHERE id='$sessionId';");
} else {
await sqlExecute("INSERT INTO $tableName (id, nonce, cipherText, mac) "
"VALUES ('$sessionId', '${base64.encode(secretBox.nonce)}', "
"'${base64.encode(secretBox.cipherText)}', '${base64.encode(secretBox.mac.bytes)}');");
}
}