feat(admin): 增加玩家密码管理与角色边界
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\V1\Player;
|
||||
|
||||
use App\Support\ApiResponse;
|
||||
use App\Services\AuditLogger;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Services\Player\PlayerPasswordService;
|
||||
use App\Http\Requests\Player\PlayerPasswordUpdateRequest;
|
||||
|
||||
/** PUT /api/v1/player/password — 彩票端账号自助修改密码 */
|
||||
final class PlayerPasswordUpdateController extends Controller
|
||||
{
|
||||
public function __invoke(
|
||||
PlayerPasswordUpdateRequest $request,
|
||||
PlayerPasswordService $passwords,
|
||||
): JsonResponse {
|
||||
$player = $request->lotteryPlayer();
|
||||
abort_if($player === null, 500, 'lottery_player missing');
|
||||
|
||||
$updated = $passwords->change(
|
||||
$player,
|
||||
(string) $request->validated('current_password'),
|
||||
(string) $request->validated('password'),
|
||||
);
|
||||
|
||||
AuditLogger::recordForPlayer(
|
||||
$updated,
|
||||
$request,
|
||||
'player_account',
|
||||
'change_password',
|
||||
'player',
|
||||
(string) $updated->id,
|
||||
null,
|
||||
['native_token_version' => (int) $updated->native_token_version],
|
||||
);
|
||||
|
||||
return ApiResponse::success(['password_changed' => true], request: $request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user