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());
if (adapter._verbose) {
print(
'[flutter_data] [${adapter.internalType}] Adding offline operation with metadata: $metadata');
print('\n\n');
}
adapter.graph._addEdge(_offlineAdapterKey, node, metadata: metadata);
// keep callbacks in memory
adapter.ref.read(_offlineCallbackProvider).state[metadata] ??= [];
adapter.ref
.read(_offlineCallbackProvider)
.state[metadata]!
.add([onSuccess, onError]);
} else {
// trick
adapter.graph
._notify([_offlineAdapterKey, ''], DataGraphEventType.addEdge);
}
}