loginWithAPlusChat static method

dynamic loginWithAPlusChat({
  1. required String userId,
  2. required String secretKey,
  3. required String fcmToken,
  4. required dynamic onSuccess(
    1. dynamic success
    )?,
  5. required dynamic onError(
    1. dynamic error
    )?,
  6. required dynamic onConnectionFailed(
    1. dynamic connectionFail
    )?,
})

Implementation

static loginWithAPlusChat({
  required String userId,
  required String secretKey,
  required String fcmToken,
  required Function(dynamic success)? onSuccess,
  required Function(dynamic error)? onError,
  required Function(dynamic connectionFail)? onConnectionFailed,
}) async {
  socket.connect();
  socket.onDisconnect((_) {
    debugPrint('disconnect');
    socket.io
      ..disconnect()
      ..connect();
  });

  var param = {"userId": userId, "secretKey": secretKey};
  socket.emit("get-profile", param);
  socket.on("profile-res", (data) {
    if (data['userId'] != null) {
      AppStorages.isSomethingWrong.value = false;
      AppStorages.myUserId = userId;
      AppStorages.secKey = secretKey;

      AppStorages.setChatUserId(userId);
      AppStorages.setSecKey(secretKey);
      AppStorages.setChatUserData(fcmToken, setKey: SessionKeys.chatFcmToken);
      AppStorages.setChatUserData(data['mobile_email'], setKey: SessionKeys.chatUserEmail);
      AppStorages.setChatUserData(data['name'], setKey: SessionKeys.chatUserName);

      AppStorages.myEmail.value = data['mobile_email'];
      AppStorages.myUserName.value = data['name'];
      AppStorages.myProfilePicture.value = data['profilePicture'];

      onSuccess?.call(data);
    } else {
      AppStorages.isSomethingWrong.value = true;
      onError?.call("Profile not found");
    }
  });
}