save method
Add/Update an element of document.
Implementation
@override
Future<void> save() async {
try {
final updated = <String, DynamicMap>{};
final doc = await RuntimeDatabase._db.loadDocument(
LocalStoreDocumentQuery(path: documentPath),
) ??
<String, dynamic>{};
doc.addAll(_additionalData);
doc[Const.uid] = documentPath.split("/").last;
doc[Const.time] = DateTime.now().millisecondsSinceEpoch;
updated[documentPath] = _buildCounterUpdate(
map: doc,
key: _counterKey,
value: _counterValue,
enabled: _enableCounter,
counterIntervals: _counterIntervals ?? [],
);
for (final tmp in updated.entries) {
await RuntimeDatabase._db.saveDocument(
LocalStoreDocumentQuery(
path: tmp.key,
),
tmp.value,
);
}
} catch (e) {
print(e.toString());
rethrow;
}
}