delete method
Implementation
@override
Future<AuthResponse<T>> delete() async {
emit(const AuthResponse.loading(AuthProviders.none, AuthType.delete));
var data = await auth;
if (data != null) {
try {
return authHandler.delete.then((response) {
if (response.isSuccessful) {
return _clear().then((value) {
return backupHandler.onDeleteUser(data.id).then((value) {
return emit(AuthResponse.unauthenticated(
msg: msg.delete.done,
provider: AuthProviders.none,
type: AuthType.delete,
));
});
});
} else {
return emit(AuthResponse.rollback(
data,
msg: response.message,
provider: AuthProviders.none,
type: AuthType.delete,
));
}
});
} catch (_) {
return emit(AuthResponse.rollback(
data,
msg: msg.delete.failure ?? _,
provider: AuthProviders.none,
type: AuthType.delete,
));
}
} else {
return emit(AuthResponse.rollback(
data,
msg: msg.loggedIn.failure,
provider: AuthProviders.none,
type: AuthType.delete,
));
}
}