login method

Future<VChatUser> login({
  1. required BuildContext context,
  2. required String email,
})

throw User not in v chat data base throw No internet connection

Implementation

Future<VChatUser> login({
  required BuildContext context,
  required String email,
}) async {
  final dto = VChatLoginDto(email: email);
  if (VChatAppService.instance.vChatNotificationType ==
      VChatNotificationType.firebase) {
    dto.fcmToken = (await FirebaseMessaging.instance.getToken()).toString();
  } else {
    dto.fcmToken = "you don't use firebase on flutter app";
  }
  if (Platform.isAndroid) {
    dto.platform = "Android";
  }
  if (Platform.isIOS) {
    dto.platform = "Ios";
  }

  dto.password = _getHashedPassword(dto.email);
  final user = await _authProvider.login(dto);
  await _saveUser(user);
  VChatAppService.instance.vChatUser = user;
  await Future.delayed(Duration.zero);
  bindChatControllers(context: context);
  return user;
}