2024-09-13 13:50:50 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Socialbox\Enums;
|
|
|
|
|
|
|
|
use Socialbox\Classes\StandardMethods\CreateSession;
|
2024-12-10 13:30:08 -05:00
|
|
|
use Socialbox\Classes\StandardMethods\Identify;
|
2024-10-31 19:13:05 -04:00
|
|
|
use Socialbox\Classes\StandardMethods\VerificationAnswerImageCaptcha;
|
|
|
|
use Socialbox\Classes\StandardMethods\VerificationGetImageCaptcha;
|
2024-10-30 15:27:46 -04:00
|
|
|
use Socialbox\Classes\StandardMethods\GetMe;
|
2024-09-13 13:50:50 -04:00
|
|
|
use Socialbox\Classes\StandardMethods\Ping;
|
2024-10-30 15:27:46 -04:00
|
|
|
use Socialbox\Classes\StandardMethods\Register;
|
2024-09-24 15:02:02 -04:00
|
|
|
use Socialbox\Exceptions\StandardException;
|
2024-09-13 13:50:50 -04:00
|
|
|
use Socialbox\Interfaces\SerializableInterface;
|
|
|
|
use Socialbox\Objects\ClientRequest;
|
|
|
|
use Socialbox\Objects\RpcRequest;
|
|
|
|
|
|
|
|
enum StandardMethods : string
|
|
|
|
{
|
|
|
|
case PING = 'ping';
|
2024-10-30 15:27:46 -04:00
|
|
|
case CREATE_SESSION = 'createSession';
|
|
|
|
case REGISTER = 'register';
|
2024-12-10 13:30:08 -05:00
|
|
|
case IDENTIFY = 'identify';
|
2024-10-30 15:27:46 -04:00
|
|
|
case GET_ME = 'getMe';
|
2024-10-31 19:13:05 -04:00
|
|
|
case VERIFICATION_GET_IMAGE_CAPTCHA = 'verificationGetImageCaptcha';
|
|
|
|
case VERIFICATION_ANSWER_IMAGE_CAPTCHA = 'verificationAnswerImageCaptcha';
|
2024-09-13 13:50:50 -04:00
|
|
|
|
2024-09-24 15:02:02 -04:00
|
|
|
/**
|
|
|
|
* @param ClientRequest $request
|
|
|
|
* @param RpcRequest $rpcRequest
|
|
|
|
* @return SerializableInterface|null
|
|
|
|
* @throws StandardException
|
|
|
|
*/
|
2024-09-13 13:50:50 -04:00
|
|
|
public function execute(ClientRequest $request, RpcRequest $rpcRequest): ?SerializableInterface
|
|
|
|
{
|
|
|
|
return match ($this)
|
|
|
|
{
|
|
|
|
self::PING => Ping::execute($request, $rpcRequest),
|
|
|
|
self::CREATE_SESSION => CreateSession::execute($request, $rpcRequest),
|
2024-10-30 15:27:46 -04:00
|
|
|
self::REGISTER => Register::execute($request, $rpcRequest),
|
2024-12-10 13:30:08 -05:00
|
|
|
self::IDENTIFY => Identify::execute($request, $rpcRequest),
|
2024-10-30 15:27:46 -04:00
|
|
|
self::GET_ME => GetMe::execute($request, $rpcRequest),
|
2024-10-31 19:13:05 -04:00
|
|
|
self::VERIFICATION_GET_IMAGE_CAPTCHA => VerificationGetImageCaptcha::execute($request, $rpcRequest),
|
|
|
|
self::VERIFICATION_ANSWER_IMAGE_CAPTCHA => VerificationAnswerImageCaptcha::execute($request, $rpcRequest),
|
2024-09-13 13:50:50 -04:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|