DeleteAllMixin<T extends OfflineFirstModel> mixin
Adds functions deleteAll and deleteAllExcept
- Superclass constraints
Properties
- autoHydrate → bool
-
Refetch results in the background from remote source when any request is made.
Defaults to
false
.finalinherited - hashCode → int
-
The hash code for this object.
no setterinherited
- logger → Logger
-
User for low-level debugging. The logger name can be defined in the default constructor;
it defaults to
OfflineFirstRepository
.finalinherited -
memoryCacheProvider
→ MemoryCacheProvider<
SqliteModel> -
The first data source to speed up otherwise taxing queries. Only caches specified models.
finalinherited
- migrationManager → MigrationManager
-
finalinherited
-
remoteProvider
→ Provider<
Model> -
The data source that data is pushed to and from.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
sqliteProvider
→ SqliteProvider<
SqliteModel> -
The local data source utilized before every operation.
finalinherited
-
subscriptions
→ Map<
Type, Map< Query?, StreamController< >List< >T> > -
finalinherited
Methods
-
applyPolicyToQuery(
Query? query, {OfflineFirstDeletePolicy? delete, OfflineFirstGetPolicy? get, OfflineFirstUpsertPolicy? upsert}) → Query? -
As some remote provider's may utilize an
OfflineFirstPolicy
from the request, this composes the policy to the query (such as in theproviderArgs
).inherited -
delete<
TModel extends RepositoryModel> (TModel instance, {OfflineFirstDeletePolicy policy = OfflineFirstDeletePolicy.optimisticLocal, Query? query}) → Future< bool> -
Remove a model from SQLite and the remoteProvider
inherited
-
deleteAll<
_Model extends T> ({Query? query}) → Future< bool> -
Delete every instance that matches
query
in all providers. Return value reflects if the operation completed without any failures. -
deleteAllExcept<
_Model extends T> ({required Query query}) → Future< bool> -
The convenient inverse of deleteAll.
query
defines the instances that should not be deleted. Return value reflects if the operation completed without any failures. -
exists<
TModel extends RepositoryModel> ({Query? query}) → Future< bool> -
Check if a
TModel
is accessible locally. First checks if there's a matching query in memoryCacheProvider and then check sqliteProvider. Does not query remoteProvider.inherited -
get<
TModel extends RepositoryModel> ({OfflineFirstGetPolicy policy = OfflineFirstGetPolicy.awaitRemoteWhenNoneExist, Query? query, bool seedOnly = false}) → Future< List< TModel> > -
Load association from SQLite first; if the
TModel
hasn't been loaded previously, fetch it from remoteProvider and hydrate SQLite. For available query providerArgs seeremoteProvider#get
SqliteProvider.get
.inherited -
getAssociation<
TModel extends RepositoryModel> (Query query) → Future< List< TModel> ?> -
Used exclusively by the OfflineFirstAdapter. If there are no results, returns
null
.inherited -
getBatched<
TModel extends RepositoryModel> ({int batchSize = 50, OfflineFirstGetPolicy policy = OfflineFirstGetPolicy.awaitRemoteWhenNoneExist, Query? query, bool seedOnly = false}) → Future< List< TModel> > -
Get all results in series of
batchSize
s (defaults to50
). Useful for large queries or remote results.inherited -
hydrate<
TModel extends RepositoryModel> ({bool deserializeSqlite = true, Query? query}) → Future< List< TModel> > -
Fetch and store results from remoteProvider into SQLite and the memory cache.
inherited
-
initialize(
) → Future< void> -
Prepare the environment for future repository functions. It is recommended to call this
method within a
StatefulWidget
'sinitState
to ensure it is only invoked once. It is not automatically invoked.inherited -
migrate(
) → Future< void> -
Update SQLite structure with only new migrations.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifySubscriptionsWithLocalData<
TModel extends RepositoryModel> ({bool notifyWhenEmpty = true}) → Future< void> -
Iterate through subscriptions after an upsert and notify any subscribe listeners.
inherited
-
reset(
) → Future< void> -
Destroys all local records - specifically, memoryCache and sqliteProvider's
data sources.
inherited
-
storeRemoteResults<
TModel extends RepositoryModel> (List< TModel> models, {bool shouldNotify = true}) → Future<List< TModel> > -
Save response results to SQLite.
inherited
-
subscribe<
TModel extends RepositoryModel> ({OfflineFirstGetPolicy policy = OfflineFirstGetPolicy.localOnly, Query? query}) → Stream< List< TModel> > -
Listen for streaming changes when the sqliteProvider is
upsert
ed. This method utilizes remoteProvider's get.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
upsert<
TModel extends RepositoryModel> (TModel instance, {Query? query, OfflineFirstUpsertPolicy policy = OfflineFirstUpsertPolicy.optimisticLocal}) → Future< TModel> -
Send a model to remoteProvider and hydrate.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited