first commit
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Vanguard\Http\Controllers\Api\Auth\Password;
|
||||
|
||||
use Password;
|
||||
use Vanguard\Events\User\RequestedPasswordResetEmail;
|
||||
use Vanguard\Http\Controllers\Api\ApiController;
|
||||
use Vanguard\Http\Requests\Auth\PasswordRemindRequest;
|
||||
use Vanguard\Mail\ResetPassword;
|
||||
use Vanguard\Repositories\User\UserRepository;
|
||||
|
||||
class RemindController extends ApiController
|
||||
{
|
||||
/**
|
||||
* Send a reset link to the given user.
|
||||
*
|
||||
* @param PasswordRemindRequest $request
|
||||
* @param UserRepository $users
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function index(PasswordRemindRequest $request, UserRepository $users)
|
||||
{
|
||||
$user = $users->findByEmail($request->email);
|
||||
|
||||
$token = Password::getRepository()->create($user);
|
||||
|
||||
\Mail::to($user)->send(new ResetPassword($token));
|
||||
|
||||
event(new RequestedPasswordResetEmail($user));
|
||||
|
||||
return $this->respondWithSuccess();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace Vanguard\Http\Controllers\Api\Auth\Password;
|
||||
|
||||
use Illuminate\Auth\Events\PasswordReset;
|
||||
use Password;
|
||||
use Vanguard\Http\Controllers\Api\ApiController;
|
||||
use Vanguard\Http\Requests\Auth\PasswordResetRequest;
|
||||
|
||||
class ResetController extends ApiController
|
||||
{
|
||||
/**
|
||||
* Reset the given user's password.
|
||||
*
|
||||
* @param PasswordResetRequest $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function index(PasswordResetRequest $request)
|
||||
{
|
||||
$response = Password::reset($request->credentials(), function ($user, $password) {
|
||||
$this->resetPassword($user, $password);
|
||||
});
|
||||
|
||||
switch ($response) {
|
||||
case Password::PASSWORD_RESET:
|
||||
return $this->respondWithSuccess();
|
||||
|
||||
default:
|
||||
return $this->setStatusCode(400)
|
||||
->respondWithError(trans($response));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the given user's password.
|
||||
*
|
||||
* @param \Illuminate\Contracts\Auth\CanResetPassword $user
|
||||
* @param string $password
|
||||
* @return void
|
||||
*/
|
||||
protected function resetPassword($user, $password)
|
||||
{
|
||||
$user->password = $password;
|
||||
$user->save();
|
||||
|
||||
event(new PasswordReset($user));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user