DeviceKeysList.fromDbJson constructor
DeviceKeysList.fromDbJson()
Implementation
DeviceKeysList.fromDbJson(
Map<String, dynamic> dbEntry,
List<Map<String, dynamic>> childEntries,
List<Map<String, dynamic>> crossSigningEntries,
this.client,
) : userId = dbEntry['user_id'] ?? '' {
outdated = dbEntry['outdated'];
deviceKeys = {};
for (final childEntry in childEntries) {
try {
final entry = DeviceKeys.fromDb(childEntry, client);
if (!entry.isValid) throw Exception('Invalid device keys');
deviceKeys[childEntry['device_id']] = entry;
} catch (e, s) {
Logs().w('Skipping invalid user device key', e, s);
outdated = true;
}
}
for (final crossSigningEntry in crossSigningEntries) {
try {
final entry = CrossSigningKey.fromDbJson(crossSigningEntry, client);
if (!entry.isValid) throw Exception('Invalid device keys');
crossSigningKeys[crossSigningEntry['public_key']] = entry;
} catch (e, s) {
Logs().w('Skipping invalid cross siging key', e, s);
outdated = true;
}
}
}