getOperatorUser method

Future<NIMUserInfo?> getOperatorUser()

Implementation

Future<NIMUserInfo?> getOperatorUser() async {
  if (operatorAccountId == null) {
    return null;
  } else {
    var accountId = operatorAccountId;
    if (operatorAccountId == getIt<IMLoginService>().userInfo?.accountId) {
      return IMKitClient.getUserInfo();
    }

    if (accountId != null) {
      var userResult =
          await NimCore.instance.userService.getUserList([accountId]);
      if (userResult.isSuccess &&
          userResult.data != null &&
          userResult.data!.isNotEmpty) {
        return userResult.data!.first;
      } else {
        final userCloudResult = await NimCore.instance.userService
            .getUserListFromCloud([accountId]);
        if (userCloudResult.isSuccess &&
            userCloudResult.data != null &&
            userCloudResult.data!.isNotEmpty) {
          return userCloudResult.data!.first;
        }
      }
    }
  }
  return null;
}