/**
  * {@inheritdoc}
  */
 protected function getConfig(array $config) : array
 {
     if (!array_key_exists('database', $config)) {
         throw new InvalidArgumentException('The gridfs connector requires database configuration.');
     }
     return Arr::only($config, ['database']);
 }
 /**
  * {@inheritdoc}
  */
 protected function getConfig(array $config) : array
 {
     if (!array_key_exists('prefix', $config)) {
         $config['prefix'] = null;
     }
     return Arr::only($config, ['prefix']);
 }
Beispiel #3
0
 /**
  * Sanitize a dataset using rules.
  *
  * @param array $rules
  * @param array $data
  *
  * @return array
  */
 public function sanitize(array $rules, array $data) : array
 {
     list($data, $rules) = $this->runGlobalSanitizers($rules, $data);
     $availableRules = Arr::only($rules, array_keys($data));
     foreach ($availableRules as $field => $ruleset) {
         $data[$field] = $this->sanitizeField($data, $field, $ruleset);
     }
     return $data;
 }
 /**
  * {@inheritdoc}
  */
 protected function getClient(array $config)
 {
     if (!array_key_exists('baseUri', $config)) {
         throw new InvalidArgumentException('The WebDav connector requires baseUri configuration.');
     }
     if (!array_key_exists('prefix', $config)) {
         $config['prefix'] = null;
     }
     return new Client(Arr::only($config, ['prefix', 'baseUri']));
 }
Beispiel #5
0
 /**
  * Get the configuration.
  *
  * @param string[] $config
  *
  * @throws \InvalidArgumentException
  *
  * @return string[]
  */
 protected function getConfig(array $config) : array
 {
     if (!array_key_exists('path', $config)) {
         throw new InvalidArgumentException('The zip connector requires path configuration.');
     }
     if (!array_key_exists('archive', $config)) {
         $config['archive'] = new ZipArchive();
     }
     if (!array_key_exists('prefix', $config)) {
         $config['prefix'] = null;
     }
     return Arr::only($config, ['path', 'archive', 'prefix']);
 }
 /**
  * {@inheritdoc}
  */
 protected function getConfig(array $config) : array
 {
     if (!array_key_exists('prefix', $config)) {
         $config['prefix'] = null;
     }
     if (!array_key_exists('bucket', $config)) {
         throw new InvalidArgumentException('The awss3 connector requires a bucket configuration.');
     }
     if (!array_key_exists('options', $config)) {
         $config['options'] = [];
     }
     return Arr::only($config, ['bucket', 'prefix', 'options']);
 }
Beispiel #7
0
 /**
  * {@inheritdoc}
  */
 protected function getConfig(array $config)
 {
     if (!array_key_exists('host', $config)) {
         throw new InvalidArgumentException('The sftp connector requires host configuration.');
     }
     if (!array_key_exists('port', $config)) {
         throw new InvalidArgumentException('The sftp connector requires port configuration.');
     }
     if (!array_key_exists('username', $config)) {
         throw new InvalidArgumentException('The sftp connector requires username configuration.');
     }
     if (!array_key_exists('password', $config)) {
         throw new InvalidArgumentException('The sftp connector requires password configuration.');
     }
     return Arr::only($config, ['host', 'port', 'username', 'password']);
 }
 /**
  * {@inheritdoc}
  */
 protected function getAuth(array $config) : array
 {
     if (!array_key_exists('username', $config) || !array_key_exists('apiKey', $config)) {
         throw new InvalidArgumentException('The rackspace connector requires authentication.');
     }
     if (!array_key_exists('endpoint', $config)) {
         throw new InvalidArgumentException('The rackspace connector requires endpoint configuration.');
     }
     if (!array_key_exists('region', $config)) {
         throw new InvalidArgumentException('The rackspace connector requires region configuration.');
     }
     if (!array_key_exists('container', $config)) {
         throw new InvalidArgumentException('The rackspace connector requires container configuration.');
     }
     return Arr::only($config, ['username', 'apiKey', 'endpoint', 'region', 'container', 'internal']);
 }
 /**
  * Get the configuration.
  *
  * @param array $config
  *
  * @throws \InvalidArgumentException
  *
  * @return string[]
  */
 protected function getConfig(array $config) : array
 {
     if (!array_key_exists('path', $config)) {
         throw new InvalidArgumentException('The local connector requires path configuration.');
     }
     if (!array_key_exists('write_flags', $config)) {
         $config['write_flags'] = LOCK_EX;
     }
     if (!array_key_exists('link_handling', $config)) {
         $config['link_handling'] = Local::DISALLOW_LINKS;
     }
     if (!array_key_exists('permissions', $config)) {
         $config['permissions'] = [];
     }
     return Arr::only($config, ['path', 'write_flags', 'link_handling', 'permissions']);
 }
 /**
  * Create an instance of the Amazon SES Swift Transport driver.
  *
  * @param array $config
  *
  * @return \Viserio\Mail\Transport\Ses
  */
 protected function createSesDriver(array $config) : SesTransport
 {
     $config += ['version' => 'latest', 'service' => 'email'];
     if ($config['key'] && $config['secret']) {
         $config['credentials'] = Arr::only($config, ['key', 'secret']);
     }
     return new SesTransport(new SesClient($config));
 }
Beispiel #11
0
 /**
  * Create Sqs connection.
  *
  * @return \Viserio\Queue\Connectors\SqsQueue
  */
 protected function createSqsConnection(array $config) : SqsQueue
 {
     $config = array_merge(['version' => 'latest', 'http' => ['timeout' => 60, 'connect_timeout' => 60]], $config);
     if ($config['key'] && $config['secret']) {
         $config['credentials'] = Arr::only($config, ['key', 'secret']);
     }
     return new SqsQueue(new SqsClient($config), $config['queue'], Arr::get($config, 'prefix', ''));
 }
Beispiel #12
0
 /**
  * Get the items with the specified keys.
  *
  * @param mixed $keys
  *
  * @return static
  */
 public function only($keys) : Collection
 {
     $keys = is_array($keys) ? $keys : func_get_args();
     return new static(Arr::only($this->items, $keys));
 }