add method
void
add()
Adds an edge from the _offlineAdapterKey
to the key
for save/delete
and stores header/param metadata. Also stores callbacks.
Implementation
void add() {
// DO NOT proceed if operation is in queue
if (!adapter.offlineOperations.contains(this)) {
final node = json.encode(toJson());
final metadata = metadataFor(label);
adapter.log(label, 'offline/add $metadata');
adapter.graph._addEdge(_offlineAdapterKey, node, metadata: metadata);
// keep callbacks in memory
adapter.ref.read(_offlineCallbackProvider)[metadata] ??= [];
adapter.ref
.read(_offlineCallbackProvider)[metadata]!
.add([onSuccess, onError]);
} else {
// trick
adapter.graph
._notify([_offlineAdapterKey, ''], type: DataGraphEventType.addEdge);
}
}