migrate to gtea from bistbucket
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Auth;
|
||||
|
||||
use App\Models\User;
|
||||
use App\Mail\PasswordReset;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
||||
class AcnooForgotPasswordController extends Controller
|
||||
{
|
||||
public function sendResetCode(Request $request) : JsonResponse
|
||||
{
|
||||
$request->validate([
|
||||
'email' => 'required|email|exists:users,email'
|
||||
]);
|
||||
|
||||
$expire = now()->addHour();
|
||||
$code = random_int(100000,999999);
|
||||
$user = User::where('email',$request->email)->first();
|
||||
$user->update(['remember_token' => $code, 'email_verified_at' => $expire]);
|
||||
|
||||
$data = [
|
||||
'code' => $code
|
||||
];
|
||||
|
||||
try {
|
||||
if (env('QUEUE_MAIL')) {
|
||||
Mail::to($request->email)->queue(new PasswordReset($data));
|
||||
} else {
|
||||
Mail::to($request->email)->send(new PasswordReset($data));
|
||||
}
|
||||
return response()->json([
|
||||
'message' => 'Password reset code has been sent to your email.',
|
||||
]);
|
||||
|
||||
} catch (\Exception $exception){
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], 422);
|
||||
}
|
||||
}
|
||||
|
||||
public function verifyResetCode(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'code' => 'required|integer',
|
||||
'email' => 'required|exists:users,email',
|
||||
]);
|
||||
|
||||
$user = User::where('email', $request->email)->first();
|
||||
|
||||
if ($user->remember_token == $request->code) {
|
||||
if ($user->email_verified_at > now()) {
|
||||
return response()->json([
|
||||
'message' => __('The code has been verified.')
|
||||
]);
|
||||
} else {
|
||||
return response()->json([
|
||||
'error' => __('The verification code has expired.')
|
||||
], 400);
|
||||
}
|
||||
} else {
|
||||
return response()->json([
|
||||
'error' => __('Invalid Code.')
|
||||
], 404);
|
||||
}
|
||||
}
|
||||
|
||||
public function resetPassword(Request $request) : JsonResponse
|
||||
{
|
||||
$request->validate([
|
||||
'email' => 'required|exists:users,email',
|
||||
'password' => ['required', 'min:4'],
|
||||
]);
|
||||
|
||||
$user = User::where('email', $request->email)->first();
|
||||
|
||||
$user->update([
|
||||
'password' => bcrypt($request->password),
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Your password has been changed!',
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user