recursiveDelete method
Deletes the given path from the data store recursively. Documents under the given path could be stored in one of two places:
-
In resolver paths under/equal to the given path. These documents can easily be deleted by deleting all value stores under the document path in the resolver.
-
In a resolver path that is a parent path of the given path. Ex. When deleting path users__1, all user documents might be stored in resolver path "users", or if no custom persistence key has been specified anywhere along the path, then in the default store.
Therefore to delete the remaining documents under the given path, each value store in the resolver above the given path is visited and has the given path evicted from its store.
Implementation
void recursiveDelete(String path) {
_plaintextStore._recursiveDelete(path);
_encryptedStore._recursiveDelete(path);
}