Jake Vanderwerf
5 days ago 0dfe1d8afafc59c4a5559c498342668d5a58d6ef
inc/registrar/config/Integration.php
@@ -2,7 +2,7 @@
namespace JVBase\registrar\config;
use JVBase\registrar\Registrar;
use JVBase\utility\Features;
use JVBase\base\Site;
if (!defined('ABSPATH')) {
   exit;
@@ -13,7 +13,7 @@
    * @var string Must match as defined in the JVBase\integrations namespace
    */
   protected string $service_name;
   protected string $content_type;
   protected ?string $content_type = null;
   /**
    * @var bool Whether to send to the integration on publish
    */
@@ -27,29 +27,40 @@
    * @var bool whether this is a customer role, used if this is a user-based Registrar
    */
   protected bool $isCustomer;
   protected ?string $category = null;
   public function __construct(string $service) {
      if (!Features::hasIntegration($service)) {
      if (!Site::hasIntegration($service)) {
         error_log('Could not link with integration, as it is not enabled: '.$service);
         return;
      }
      $this->service_name = $service;
   }
   public function getService_name():string
   {
      return $this->service_name;
   }
   /**
    * @param string $content must match what integration expects
    * @param ?string $content must match what integration expects
    * @return self
    */
   public function setContent_type(string $content):self
   public function setContentType(?string $content):self
   {
      $allowed = JVB()->connect($this->service_name)->allowedContent();
      if (is_null($content)) {
         return $this;
      }
      $connection = JVB()->connect($this->service_name);
      if (!$connection){
         error_log('[Integration]::setContentType Service is not setup. '.$this->service_name);
         return $this;
      }
      $allowed = $connection->getAllowedContent();
      if (!in_array($content, $allowed)) {
         error_log($this->service_name.' Connection does not support this content: '.$content);
         return $this;
@@ -58,11 +69,19 @@
      return $this;
   }
   public function getContentType():string
   public function getContentType():?string
   {
      return $this->content_type;
   }
   public function setCategory(string $category):void
   {
      $check = Registrar::getInstance($category);
      if ($check) {
         $this->category = $check->getBased();
      }
   }
   public function setInitial(bool $set):self
   {
      $this->initial = $set;
@@ -86,6 +105,8 @@
   public function setCustomer(bool $set):self
   {
      $this->isCustomer = $set;
//    JVB()->connect($this->service_name)->addCustomerFields();
      return $this;
   }
   public function isCustomer():bool