Spaces:
No application file
No application file
| namespace MauticPlugin\MauticCloudStorageBundle\Integration; | |
| use Gaufrette\Adapter; | |
| use Mautic\PluginBundle\Integration\AbstractIntegration; | |
| use MauticPlugin\MauticCloudStorageBundle\Exception\NoFormNeededException; | |
| abstract class CloudStorageIntegration extends AbstractIntegration | |
| { | |
| /** | |
| * @var Adapter | |
| */ | |
| protected $adapter; | |
| public function appendToForm(&$builder, $data, $formArea): void | |
| { | |
| if ('features' !== $formArea) { | |
| return; | |
| } | |
| try { | |
| $builder->add( | |
| 'provider', | |
| $this->getForm(), | |
| [ | |
| 'label' => 'mautic.integration.form.provider.settings', | |
| 'required' => false, | |
| 'data' => $data['provider'] ?? [], | |
| ] | |
| ); | |
| } catch (NoFormNeededException) { | |
| } | |
| } | |
| public function getAuthenticationType() | |
| { | |
| return 'api'; | |
| } | |
| /** | |
| * Retrieves an Adapter object for this integration. | |
| * | |
| * @return Adapter | |
| */ | |
| abstract public function getAdapter(); | |
| /** | |
| * Retrieves FQCN form type class name. | |
| * | |
| * @throws NoFormNeededException | |
| */ | |
| abstract public function getForm(): string; | |
| /** | |
| * Retrieves the public URL for a given key. | |
| * | |
| * @param string $key | |
| * | |
| * @return string | |
| */ | |
| abstract public function getPublicUrl($key); | |
| public function getSupportedFeatures() | |
| { | |
| return ['cloud_storage']; | |
| } | |
| } | |