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, Map< Query?, StreamController< ? subscriptionsByQuery}) → Future<List< >T> >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 invoked. For example,
whenever new data is acquired from remote, or data is upserted locally, or
data is deleted locally, the stream will be notified with a local fetch of
query
.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