read method
- MonologKind kind
Returns the ChatId stored in the database by the provided kind, if
any.
Implementation
Future<ChatId?> read(MonologKind kind) async {
final ChatId? existing = _cache[kind.name];
if (existing != null) {
return existing;
}
return await safe<ChatId?>((db) async {
try {
final stmt = db.select(db.monologs)
..where((u) => u.identifier.equals(kind.name));
final MonologRow? row = await stmt.getSingleOrNull();
if (row == null) {
return null;
}
return _MonologDb.fromDb(row);
} on DriftRemoteException {
// Upsert may fail during E2E tests due to rapid database resetting and
// creating.
return null;
}
}, tag: 'monolog.read(${kind.name})');
}