Datum class
Methods
-
addObserver(GlobalDatumObserver observer)
→ void
-
-
cascadeDelete<T extends DatumEntityInterface>({required String id, required String userId, DataSource source = DataSource.local, bool forceRemoteSync = false})
→ Future<CascadeDeleteResult<T>>
-
Deletes an entity with cascading behavior based on relationship configurations.
-
checkHealth<T extends DatumEntityInterface>()
→ Future<DatumHealth>
-
-
create<T extends DatumEntityInterface>(T entity)
→ Future<T>
-
Creates a new entity and pushes it to the appropriate manager.
-
createMany<T extends DatumEntityInterface>({required List<T> items, required String userId, bool andSync = false, DatumSyncOptions<T>? syncOptions})
→ Future<List<T>>
-
-
delete<T extends DatumEntityInterface>({required String id, required String userId})
→ Future<bool>
-
-
deleteAndSync<T extends DatumEntityInterface>({required String id, required String userId, DatumSyncOptions<T>? syncOptions})
→ Future<(bool, DatumSyncResult<T>)>
-
-
deleteCascade<T extends DatumEntityInterface>(String entityId)
→ CascadeDeleteBuilder<T>
-
Creates a fluent API builder for cascade delete operations.
-
dispose()
→ Future<void>
-
-
fetchRelated<P extends DatumEntityInterface, R extends DatumEntityInterface>(P parent, String relationName, {DataSource source = DataSource.local})
→ Future<List<R>>
-
Fetches related entities with proper type checking for RelationalDatumEntity
-
getColdStartActiveUsers<T extends DatumEntityInterface>()
→ Set<String>
-
Gets all active users that have cold start state for the specified entity type.
-
getLastColdStartTimeForUser<T extends DatumEntityInterface>(String userId)
→ DateTime?
-
Gets the last cold start time for the specified user and entity type.
-
getLastSyncResult<T extends DatumEntityInterface>(String userId)
→ Future<DatumSyncResult<T>?>
-
-
getLastSyncTime(String userId)
→ Future<DateTime?>
-
Gets the most recent last sync time across all registered entities for the specified user.
-
getPendingCount<T extends DatumEntityInterface>(String userId)
→ Future<int>
-
-
getPendingOperations<T extends DatumEntityInterface>(String userId)
→ Future<List<DatumSyncOperation<T>>>
-
-
getRemoteSyncMetadata<T extends DatumEntityInterface>(String userId)
→ Future<DatumSyncMetadata?>
-
Fetches sync metadata from the remote server for the specified entity type.
-
getStorageSize<T extends DatumEntityInterface>({String? userId})
→ Future<int>
-
-
getUnifiedSyncMetadata(String userId)
→ Future<DatumSyncMetadata?>
-
Gets unified sync metadata across all entities for the specified user.
-
handleColdStartIfNeeded<T extends DatumEntityInterface>(String? userId, Future<DatumSyncResult<T>> syncFunction(DatumSyncOptions<DatumEntityInterface>), {bool synchronous = false})
→ Future<bool>
-
Handles cold start synchronization if needed for the specified user and entity type.
-
isColdStartForUser<T extends DatumEntityInterface>(String userId)
→ bool
-
Checks if this is a cold start for the specified user and entity type.
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
pauseSync()
→ void
-
-
pushAndSync<T extends DatumEntityInterface>({required T item, required String userId, DatumSyncOptions<T>? syncOptions})
→ Future<(T, DatumSyncResult<T>)>
-
-
query<T extends DatumEntityInterface>(DatumQuery query, {required DataSource source, String? userId})
→ Future<List<T>>
-
-
read<T extends DatumEntityInterface>(String id, {String? userId})
→ Future<T?>
-
-
readAll<T extends DatumEntityInterface>({String? userId})
→ Future<List<T>>
-
-
register<T extends DatumEntityInterface>({required DatumRegistration<T> registration})
→ Future<void>
-
-
resetColdStartForUser<T extends DatumEntityInterface>(String userId)
→ void
-
Resets cold start state for the specified user and entity type.
-
resubscribeAllToRemoteChanges()
→ Future<void>
-
Re-subscribes all managers to remote change events.
-
resumeSync()
→ void
-
-
startAutoSync(String userId)
→ void
-
Starts automatic periodic synchronization for the specified user across all managers.
-
statusForUser(String userId)
→ Stream<DatumSyncStatusSnapshot?>
-
-
synchronize(String userId, {DatumSyncOptions<DatumEntityInterface>? options})
→ Future<DatumSyncResult<DatumEntityInterface>>
-
A global sync that can coordinate across all managers.
-
toString()
→ String
-
A string representation of this object.
inherited
-
unsubscribeAllFromRemoteChanges()
→ Future<void>
-
Unsubscribes all managers from remote change events.
-
update<T extends DatumEntityInterface>(T entity)
→ Future<T>
-
-
updateAndSync<T extends DatumEntityInterface>({required T item, required String userId, DatumSyncOptions<T>? syncOptions})
→ Future<(T, DatumSyncResult<T>)>
-
-
updateMany<T extends DatumEntityInterface>({required List<T> items, required String userId, bool andSync = false, DatumSyncOptions<T>? syncOptions})
→ Future<List<T>>
-
-
watchAll<T extends DatumEntityInterface>({String? userId, bool includeInitialData = true})
→ Stream<List<T>>?
-
-
watchAllPaginated<T extends DatumEntityInterface>(PaginationConfig config, {String? userId})
→ Stream<PaginatedResult<T>>?
-
-
watchById<T extends DatumEntityInterface>(String id, String? userId)
→ Stream<T?>?
-
-
watchQuery<T extends DatumEntityInterface>(DatumQuery query, {String? userId})
→ Stream<List<T>>?
-
-
watchRelated<P extends DatumEntityInterface, R extends DatumEntityInterface>(P parent, String relationName)
→ Stream<List<R>>?
-
Reactively watches related entities with proper type checking
-
watchStorageSize<T extends DatumEntityInterface>({String? userId})
→ Stream<int>
-