Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/messageservice/lib/Providers/Edna/WhatsApp/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/messageservice/lib/Providers/Edna/WhatsApp/ConnectorLine.php

<?php

namespace Bitrix\MessageService\Providers\Edna\WhatsApp;

use Bitrix\ImConnector\Library;
use Bitrix\Main\Loader;
use Bitrix\Main\Result;
use Bitrix\MessageService\Providers\Edna\Constants\ChannelType;

class ConnectorLine
{
	protected \Bitrix\MessageService\Providers\Edna\EdnaRu $utils;

	public function __construct(\Bitrix\MessageService\Providers\Edna\EdnaRu $utils)
	{
		$this->utils = $utils;
	}

	public function getLineId(?int $subjectId = null): ?int
	{
		if (!Loader::includeModule('imconnector'))
		{
			return null;
		}

		$statuses = \Bitrix\ImConnector\Status::getInstanceAllLine(Library::ID_EDNA_WHATSAPP_CONNECTOR);
		foreach ($statuses as $status)
		{
			if ($status->isConfigured())
			{
				$data = $status->getData();
				if (isset($data['subjectId']) && $data['subjectId'] == $subjectId)
				{
					return (int)$status->getLine();
				}
				elseif (!isset($data['subjectId']))
				{
					$commonLine = (int)$status->getLine();
				}
			}
		}

		return $commonLine ?? null;
	}

	public function testConnection(): Result
	{
		return $this->utils->getChannelList(ChannelType::WHATSAPP);
	}

}