login static method

Future<TPUser?> login(
  1. TPLoginParams params, {
  2. dynamic errorCallback(
    1. int? errorCode,
    2. String? errorMessage
    )?,
})

Implementation

static Future<TPUser?> login(
    TPLoginParams params,
    {
      Function(int? errorCode, String? errorMessage)? errorCallback
    }) async
{
  var sessionData = await HttpUtil.initSessionData(params.userId);
  if(sessionData.isNotEmpty) {
    TPUser? tpUser;
    if(params.profileImage != null) {
      tpUser = await updateUserProfileWithFile(params.userName,
          params.profileImage,
          params.metaData,
          errorCallback: errorCallback
      );
    } else {
      tpUser = await updateUserProfile(params.userName,
          params.profileImageUrl,
          params.metaData,
          errorCallback: errorCallback
      );
    }
    if(tpUser != null) {
      _mTimestampInMillis = 0;
      _startNotificationWebSocket();
      return tpUser;
    }
  }

  // Anonymous Login
  if(params.loginType == TPLoginType.TPLoginAnonymous) {
    if(params.profileImage != null){
      return await loginAnonymousWithFile(
          params.userId,
          params.userName ?? "",
          params.profileImage,
          params.metaData ?? {},
          translationLanguage: params.translationLanguage ?? "",
          errorCallback: errorCallback
      );
    } else {
      return await loginAnonymous(
          params.userId,
          params.userName ?? "",
          params.profileImageUrl ?? "",
          params.metaData ?? {},
          translationLanguage: params.translationLanguage ?? "",
          errorCallback: errorCallback
      );
    }
  } else {
    // Token Login
    if(params.profileImage != null) {
      return await loginTokenWithFile(
          params.userId,
          params.loginToken ?? "",
          params.userName ?? "",
          params.profileImage,
          params.metaData ?? {},
          translationLanguage: params.translationLanguage ?? "",
          errorCallback: errorCallback
      );
    } else {
      return await loginToken(
          params.userId,
          params.loginToken ?? "",
          params.userName ?? "",
          params.profileImageUrl ?? "",
          params.metaData ?? {},
          translationLanguage: params.translationLanguage ?? "",
          errorCallback: errorCallback
      );
    }
  }
}