<?php
// src/Service/UserService.php
namespace App\Service\Xero;
use App\Authenticator\XeroAuthenticator;
use App\Exception\ServiceException;
use App\Serializer\XeroObjectConverter;
use App\Service\Xero\XeroService;
use XeroAPI\XeroPHP\Models\Accounting\TrackingOption;
class SettingService extends XeroService
{
public function __construct(XeroAuthenticator $xeroAuthenticator)
{
parent::__construct($xeroAuthenticator);
}
/**
* Create tracking option
*
* @param string $trackingCategoryID
* @param string $optionName
* @return string|null
*/
public function createTrackingOption(string $trackingCategoryID, string $optionName): string
{
$trackingOption = (new TrackingOption())
->setName($optionName)
;
$apiResponse = $this->xeroAccountingManager->createTrackingOptions($this->xeroTenantId, $trackingCategoryID, $trackingOption);
if ($apiResponse[0]['has_validation_errors']) {
throw new ServiceException($apiResponse[0]['validation_errors'][0]['message']);
}
return $apiResponse[0]['tracking_option_id'];
}
}