updateUserPresence method
- Presence presence
override
Updates MyUser.presence to the provided value.
Implementation
@override
Future<void> updateUserPresence(Presence presence) async {
Log.debug('updateUserPresence($presence)', '$runtimeType');
await _debounce(
field: MyUserField.presence,
current: () => myUser.value?.presence,
saved: () async => (await _active)?.value.presence,
value: presence,
mutation: (v, _) async {
return await Backoff.run(
() async {
return await _graphQlProvider.updateUserPresence(v ?? presence);
},
retryIf: (e) => e.isNetworkRelated,
retries: 10,
);
},
update: (v, _) => myUser.update((u) => u?.presence = v ?? presence),
);
}