createDocument method
Creates a document in the specified collection
Implementation
@override
Future<String> createDocument(String collection, Map<String, dynamic> data) async {
final connection = _requireConnection();
await _ensureCollection(collection);
final id = _extractId(data) ?? _generateId();
final payload = _sanitizePayload(data);
final sql = Sql('INSERT INTO ${_tableName(collection)} (id, data) VALUES (\$1, \$2)');
await connection.execute(
sql,
parameters: [
id,
TypedValue(Type.jsonb, payload),
],
);
return id;
}