| | |
| | | namespace SIPL\UCRM\wFirma; |
| | | |
| | | class UcrmHelper { |
| | | protected $rootDirectory; |
| | | protected $api = NULL; |
| | | protected $attributes = NULL; |
| | | protected $paymentMethods = NULL; |
| | | protected string $rootDirectory; |
| | | protected ?\Ubnt\UcrmPluginSdk\Service\UcrmApi $api = NULL; |
| | | protected ?UcrmAttributes $attributes = NULL; |
| | | protected ?UcrmPaymentMethods $paymentMethods = NULL; |
| | | protected $config = NULL; |
| | | protected $event = NULL; |
| | | |
| | |
| | | $this->rootDirectory = $rootDirectory; |
| | | } |
| | | |
| | | function getRootDirectory() { |
| | | function getRootDirectory(): string { |
| | | return $this->rootDirectory; |
| | | } |
| | | |
| | | function getApi() { |
| | | function getApi(): \Ubnt\UcrmPluginSdk\Service\UcrmApi { |
| | | if ($this->api === NULL) { |
| | | $this->api = \Ubnt\UcrmPluginSdk\Service\UcrmApi::create($this->rootDirectory); |
| | | } |
| | | return $this->api; |
| | | } |
| | | |
| | | function getAttributes() { |
| | | function getAttributes(): UcrmAttributes { |
| | | if ($this->attributes === NULL) { |
| | | $this->attributes = new UcrmAttributes($this); |
| | | } |
| | | return $this->attributes; |
| | | } |
| | | |
| | | function getPaymentMethods() { |
| | | function getPaymentMethods(): UcrmPaymentMethods { |
| | | if ($this->paymentMethods === NULL) { |
| | | $this->paymentMethods = new UcrmPaymentMethods($this); |
| | | } |
| | | return $this->paymentMethods; |
| | | } |
| | | |
| | | function getConfig() { |
| | | function getConfig(): array { |
| | | if ($this->config === NULL) { |
| | | $configManager = \Ubnt\UcrmPluginSdk\Service\PluginConfigManager::create($this->rootDirectory); |
| | | $this->config = $configManager->loadConfig(); |
| | |
| | | return $this->config; |
| | | } |
| | | |
| | | function getCurrentEvent() { |
| | | function getVersion(): string { |
| | | $response = $this->getApi()->get('/version'); |
| | | return $response['version']; |
| | | } |
| | | |
| | | function getCurrentEvent(): array { |
| | | if ($this->event === NULL) { |
| | | try { |
| | | if (($_SERVER['REQUEST_METHOD'] ?? '') !== 'POST') { |
| | |
| | | throw new \RuntimeException('Failed to process event - event not found'); |
| | | } |
| | | |
| | | if (!is_int($event['entityId'])) { |
| | | if (!ctype_digit($event['entityId'])) { |
| | | throw new \RuntimeException('Failed to process event - invalid entity ID'); |
| | | } |
| | | |