batchUpsert method
Future<void>
batchUpsert(
- List<T> items
)
override
Implementation
@override
Future<void> batchUpsert(List<T> items) async {
final payloads = buildUpsertPayloads(items);
for (final entry in payloads) {
final idStr = entry.$1;
final data = entry.$2;
// Upsert by domain id field
try {
final existing = await config.client
.collection(config.collection)
.getFirstListItem("${config.idField}='$idStr'");
await config.client
.collection(config.collection)
.update(existing.id, body: data);
} catch (_) {
data[config.idField] = idStr;
await config.client.collection(config.collection).create(body: data);
}
}
}