diff --git a/app/Classes/General/Abstracts/AbstractControllerLogic.php b/app/Classes/General/Abstracts/AbstractControllerLogic.php index 4706572e..b18668b5 100644 --- a/app/Classes/General/Abstracts/AbstractControllerLogic.php +++ b/app/Classes/General/Abstracts/AbstractControllerLogic.php @@ -4,7 +4,8 @@ namespace App\Classes\General\Abstracts; use App\Classes\Exceptions\ErrorException; -use App\Classes\Exceptions\InternalServerErrorException; +use App\Classes\Jobs\UserRiskAnalysis; +use App\Classes\Modules\Segments\Processors\RiskAnalysisProcessor; use App\Classes\ValueObjects\Constants\Notifications; use App\Classes\ValueObjects\Constants\HttpStatus; use App\Classes\ValueObjects\Response\ApiResponseObject; @@ -13,9 +14,8 @@ use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Http\Resources\Json\ResourceCollection; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Log; -use TimeHunter\LaravelGoogleReCaptchaV3\Facades\GoogleReCaptchaV3; abstract class AbstractControllerLogic { @@ -51,9 +51,10 @@ abstract class AbstractControllerLogic * @return JsonResponse */ public function execute(Request $request) : JsonResponse { - Log::info(serialize(GoogleReCaptchaV3::verifyResponse($request->header('captcha-token')))); try { + if(Auth::user() === 2) UserRiskAnalysis::dispatch(Auth::user(), $request->header('captcha-token')); + DB::beginTransaction(); $response = $this->logic($request); diff --git a/app/Classes/Jobs/UserRiskAnalysis.php b/app/Classes/Jobs/UserRiskAnalysis.php new file mode 100644 index 00000000..705acf15 --- /dev/null +++ b/app/Classes/Jobs/UserRiskAnalysis.php @@ -0,0 +1,40 @@ +user = $user; + $this->captchaToken = $captchaToken; + } + + + public function handle() + { + (app()->make(RiskAnalysisProcessor::class))->execute($this->user, $this->captchaToken); + } +} diff --git a/app/Classes/Modules/Segments/Processors/RiskAnalysisProcessor.php b/app/Classes/Modules/Segments/Processors/RiskAnalysisProcessor.php new file mode 100644 index 00000000..66cf3a93 --- /dev/null +++ b/app/Classes/Modules/Segments/Processors/RiskAnalysisProcessor.php @@ -0,0 +1,37 @@ +assignSegmentProcessor = $assignSegmentProcessor; + } + + + function execute(User $user, string $token){ + $captchaToken = GoogleReCaptchaV3::verifyResponse($token); + + if($captchaToken->getScore() < 0.6 && !in_array('timeout-or-duplicate', $captchaToken->getErrorCodes())){ + $this->assignSegmentProcessor->execute($user->company()->first(), 18); + } + } + +} \ No newline at end of file