src/Service/Xero/SettingService.php line 15

Open in your IDE?
  1. <?php
  2. // src/Service/UserService.php
  3. namespace App\Service\Xero;
  4. use App\Authenticator\XeroAuthenticator;
  5. use App\Exception\ServiceException;
  6. use App\Serializer\XeroObjectConverter;
  7. use App\Service\Xero\XeroService;
  8. use XeroAPI\XeroPHP\Models\Accounting\TrackingOption;
  9. class SettingService extends XeroService
  10. {
  11.     public function __construct(XeroAuthenticator $xeroAuthenticator)
  12.     {        
  13.         parent::__construct($xeroAuthenticator);
  14.     }
  15.     /**
  16.     * Create tracking option
  17.     *
  18.     * @param string $trackingCategoryID
  19.     * @param string $optionName
  20.     * @return string|null
  21.     */
  22.     public function createTrackingOption(string $trackingCategoryIDstring $optionName): string
  23.     {
  24.         $trackingOption = (new TrackingOption())
  25.             ->setName($optionName)
  26.         ;
  27.         $apiResponse $this->xeroAccountingManager->createTrackingOptions($this->xeroTenantId$trackingCategoryID$trackingOption);
  28.         if ($apiResponse[0]['has_validation_errors']) {
  29.             throw new ServiceException($apiResponse[0]['validation_errors'][0]['message']);
  30.         }
  31.         
  32.         return $apiResponse[0]['tracking_option_id'];
  33.     }
  34. }