insertWaitingMessages method
Insert a list of waiting messages into the database Each message's payload and final payload are encrypted before storage
Implementation
Future<void> insertWaitingMessages(List<WaitingMessage> messages,
{String? password}) async {
final key = password ?? _defaultPassword;
final batch = _database.batch();
for (var message in messages) {
final encryptedFinalPayload = PayloadCipher.encodePayload(
message.getFinalPayload(),
nonce: Nonce.fromString("${message.id}_final"),
chaCha20: ChaCha20(ChaCha20Key.fromString(key)));
batch.insert(
tableWaitingMessages,
{
'id': message.id,
'event': message.event,
'payload': encryptedFinalPayload,
'channel': message.channel,
'timestamp': message.timestamp,
},
conflictAlgorithm: ConflictAlgorithm.replace,
);
}
await batch.commit(noResult: true);
}