app('tenant')->name]); return $inertiaProvider->render(); } public function doVerification(Request $request) : JsonResponse { $user = $this->users->findByUsername($request->get('email')); if ($user === null) { return response()->json([ 'error_types' => [ 'email' => 'Die E-Mail-Adresse konnte nicht zugeordnet werden.', ], ]); } if (new DateTime() > DateTime::createFromFormat('Y-m-d H:i:s', $user->activation_token_expires_at)) { return response()->json([ 'error_types' => [ 'verificationToken' => 'Der Sicherheitsschlüssel ist abgelaufen.', ], ]); } if (!$this->users->checkVerificationToken($user, $request->get('verificationToken'))) { return response()->json([ 'error_types' => [ 'verificationToken' => 'Der Sicherheitsschlüssel ist nicht korrekt', ], ]); } $userActivationRequest = new UserActivationRequest($user); $userActivationCommand = new UserActivationCommand($userActivationRequest); $activationResult = $userActivationCommand->execute(); if (!$activationResult->success) { return response()->json([ 'error_types' => [ 'verificationToken' => 'Ein allgemeiner Fehler ist aufgetreten. Bitte versuche es später noch einmal.', ], ]); } $userPasswordResetRequest = new UserChangePasswordRequest($user, $request->get('password')); $userPasswordResetCommand = new UserChangePasswordCommand($userPasswordResetRequest); $userPasswordResetCommand->execute(); return response()->json([ 'status' => 'success', 'message' => 'Dein Account wurde aktiviert.Du kannst dich nun mit deinem neuen Passwort einloggen.' ]); } }