readDocument method

  1. @override
Future<Map<String, dynamic>?> readDocument(
  1. String collection,
  2. String id
)

Reads a document from the specified collection by ID

Implementation

@override
Future<Map<String, dynamic>?> readDocument(String collection, String id) async {
  final connection = _requireConnection();
  await _ensureCollection(collection);

  final sql = Sql('SELECT data FROM ${_tableName(collection)} WHERE id = \$1');
  final result = await connection.execute(sql, parameters: [id]);
  if (result.isEmpty) {
    return null;
  }

  final row = result.first;
  final data = _coerceMap(row[0]);
  return {
    ...data,
    'id': id,
  };
}