%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/klinisol/klinisol-api/app/Http/Controllers/Auth/
Upload File :
Create Path :
Current File : /var/www/html/klinisol/klinisol-api/app/Http/Controllers/Auth/ResetPasswordController.php

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Requests\Api\v1\Auth\ResetPasswordRequest;
use App\Models\ResetPassword;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Password;

class ResetPasswordController extends Controller
{
    /**
     * ResetPasswordController constructor.
     */
    public function __construct()
    {
        $this->middleware('guest');
    }

    /**
     * @param Request $request
     * @return \Illuminate\Http\JsonResponse
     */
    public function reset(ResetPasswordRequest $request)
    {
        $user = ResetPassword::getUserByToken($request->get('token'));
        if ($user && $user->email === $request->get('email')) {
            $user->password = $request->get('password');
            $user->save();
            ResetPassword::deleteByToken($request->get('token'));
            $accessToken = $user->createToken('api')->accessToken;
            return response()->json([
                'token' => $accessToken,
            ], 200);
        }
        return response()->json(['message' => 'Email does not match! Please try again!'], 400);
    }

    /**
     * @param $user
     * @param $password
     */
    protected function resetPassword($user, $password)
    {
        $user->password = $password;
        $user->save();
    }

    public function forgot(Request $request)
    {
        $email = $request->get('email');
        $user = User::query()->where('email', $email)->first();
        if ($user) {
            $token = ResetPassword::generateToken($email);
            $user->sendPasswordResetNotificationEmail($token, $request->header('department'));
            return response()->json([
                'ok' => 200,
            ], 200);
        }
        return response()->json(['message' => 'Email does not match! Please try again!'], 400);
    }

}

Zerion Mini Shell 1.0