Revived API /api/v1/captcha.
Now a new captcha is created to check for a bot.
This commit is contained in:
28
app/Services/Captcha/CaptchaHandler.php
Normal file
28
app/Services/Captcha/CaptchaHandler.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace App\Services\Captcha;
|
||||
|
||||
use App\Dto\HttpUserData;
|
||||
use App\Enums\CaptchaLogType;
|
||||
use App\Models\Captcha;
|
||||
use App\Models\CaptchaToken;
|
||||
use App\Services\CaptchaLog\CaptchaLogHandler;
|
||||
use App\Services\GenerateTokenCommand\GenerateTokenUuidCommand;
|
||||
|
||||
final readonly class CaptchaHandler
|
||||
{
|
||||
public function __construct(
|
||||
private GenerateTokenUuidCommand $uuidCommand,
|
||||
private CaptchaLogHandler $captchaLogHandler
|
||||
) { }
|
||||
|
||||
public function handleStore(CaptchaToken $captchaToken, HttpUserData $httpUserData): Captcha
|
||||
{
|
||||
$captcha = $captchaToken->captchas()->create([
|
||||
'uuid' => $this->uuidCommand->unique($captchaToken->captchas()->getQuery(), 'uuid')
|
||||
]);
|
||||
$this->captchaLogHandler->handleStore($captcha, CaptchaLogType::Created, $httpUserData);
|
||||
|
||||
return $captcha;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user