37 lines
936 B
PHP
37 lines
936 B
PHP
<?php
|
|
|
|
namespace App\Endpoint\Api\Http\Controllers\Account;
|
|
|
|
use App\Endpoint\Api\Http\Controllers\Controller;
|
|
use App\Exceptions\BizException;
|
|
use Illuminate\Http\Request;
|
|
|
|
class ChangePasswordController extends Controller
|
|
{
|
|
/**
|
|
* 修改密码
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function __invoke(Request $request)
|
|
{
|
|
$input = $request->validate([
|
|
'old_password' => ['bail', 'required', 'string', 'min:6', 'max:32'],
|
|
'new_password' => ['bail', 'required', 'string', 'min:6', 'max:32'],
|
|
]);
|
|
|
|
$user = $request->user();
|
|
|
|
if (! $user->verifyPassword($input['old_password'])) {
|
|
throw new BizException(__('Invalid old password'));
|
|
}
|
|
|
|
$user->update([
|
|
'password' => $input['new_password'],
|
|
]);
|
|
|
|
return response()->noContent();
|
|
}
|
|
}
|