| | |
| | | */ |
| | | abstract class Integrations |
| | | { |
| | | //Flag to allow for custom settings (defaults, etc) for an integration in the dashboard |
| | | public static bool $hasExtraOptions = false; |
| | | /** |
| | | * Queue types |
| | | * These types match with IntegrationExecutor |
| | |
| | | * Used for UI rendering in admin interfaces |
| | | */ |
| | | public string $title; // Human-readable service name (e.g., 'Google My Business') |
| | | public string $icon; // Phosphoricons icon slug |
| | | public string $icon = ''; // Phosphoricons icon slug |
| | | |
| | | /** |
| | | * Credentials & State |
| | |
| | | return $this->title; |
| | | } |
| | | |
| | | public static function title():string |
| | | { |
| | | return (new static())->getTitle(); |
| | | } |
| | | public static function icon():string |
| | | { |
| | | return (new static())->getIcon(); |
| | | } |
| | | |
| | | public static function hasExtraOptions():bool |
| | | { |
| | | return (new static())::$hasExtraOptions; |
| | | } |
| | | |
| | | /********************************************************************* |
| | | RENDERING |
| | | *********************************************************************/ |
| | |
| | | { |
| | | return []; |
| | | } |
| | | |
| | | public function getIcon():string |
| | | { |
| | | return $this->icon; |
| | | } |
| | | } |