clearCache method
Clears cached data. When scope
is provided, clears only that scope; otherwise clears all data.
Implementations should also clear sync points and pending operations for the cleared scope(s).
Implementation
@override
Future<void> clearCache({SyncScope? scope}) async {
if (scope == null) {
await (db.delete(db.items)).go();
await (db.delete(db.pendingOps)).go();
await (db.delete(db.syncPoints)).go();
} else {
final sk = _scopeKey(scope);
await (db.delete(db.items)..where(
(t) => t.scopeName.equals(scope.name) & t.scopeKeys.equals(sk),
))
.go();
await (db.delete(db.pendingOps)..where(
(t) => t.scopeName.equals(scope.name) & t.scopeKeys.equals(sk),
))
.go();
await (db.delete(db.syncPoints)..where(
(t) => t.scopeName.equals(scope.name) & t.scopeKeys.equals(sk),
))
.go();
}
}