51 lines
1.3 KiB
PHP
51 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Requestes\RestPasswordRequest;
|
|
use App\Services\OperationLogService;
|
|
use App\Enums\OperationType;
|
|
use App\Models\AdminPermission;
|
|
|
|
class UserController extends Controller
|
|
{
|
|
public function info()
|
|
{
|
|
$user = auth('api')->user();
|
|
|
|
$permissionsQuery = AdminPermission::query();
|
|
if($user->id != 1){
|
|
$permissions = $permissionsQuery->whereIn('id', $user->permissionIds());
|
|
}
|
|
$permissions = $permissionsQuery->pluck('slug')->toArray();
|
|
|
|
return $this->json(['info' => $user, 'permissions' => $user->permissionIds(), 'permissions_slug'=>$permissions]);
|
|
}
|
|
|
|
public function resetPwd(RestPasswordRequest $request)
|
|
{
|
|
$input = $request->input();
|
|
$user = auth('api')->user();
|
|
|
|
$user->password = bcrypt($input['password']);
|
|
$user->save();
|
|
|
|
$statusMsg = '修改密码';
|
|
(new OperationLogService())->inLog(OperationType::Update, $statusMsg.'-用户【'.$user->name.'】');
|
|
|
|
//退出所有端
|
|
$user->tokens()->delete();
|
|
|
|
return $this->success('修改成功');
|
|
}
|
|
|
|
public function logout()
|
|
{
|
|
$user = auth('api')->user();
|
|
// $user->tokens()->delete();
|
|
$user->currentAccessToken()->delete();
|
|
|
|
return $this->success('退出成功');
|
|
}
|
|
}
|