HEX
Server: LiteSpeed
System: Linux srv1.dhviews.com 5.14.0-570.23.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 24 11:27:16 EDT 2025 x86_64
User: bdedition (1723)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/bdedition/public_html/core/vendor/vonage/client-core/src/Verify2/Webhook/Factory.php
<?php

namespace Vonage\Verify2\Webhook;

use Vonage\Verify2\VerifyObjects\VerifyEvent;
use Vonage\Verify2\VerifyObjects\VerifySilentAuthEvent;
use Vonage\Verify2\VerifyObjects\VerifyStatusUpdate;
use Vonage\Verify2\VerifyObjects\VerifyWhatsAppInteractiveEvent;

class Factory extends \Vonage\Webhook\Factory
{
    /**
     * Warning: This logic is fairly brittle, since there are no current better ways of determining
     * the type of event or update.
     */
    public static function createFromArray(array $data)
    {
        if ($data['type'] === 'event') {
            if ($data['channel'] === 'silent_auth') {
                return new VerifySilentAuthEvent($data);
            }
            if ($data['channel'] === 'whatsapp_interactive') {
                return new VerifyWhatsAppInteractiveEvent($data);
            }
            return new VerifyEvent($data);
        }

        if ($data['type'] === 'summary') {
            return new VerifyStatusUpdate($data);
        }

        throw new \OutOfBoundsException('Could not create Verify2 Object from payload');
    }
}