36 lines
989 B
PHP
36 lines
989 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api\V1\Admin\Player;
|
|
|
|
use App\Models\Player;
|
|
use App\Support\ApiResponse;
|
|
use App\Support\PlayerApiPresenter;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Services\AuditLogger;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
/** POST /api/v1/admin/players/{player}/freeze */
|
|
final class AdminPlayerFreezeController extends Controller
|
|
{
|
|
public function __invoke(Request $request, Player $player): JsonResponse
|
|
{
|
|
$before = PlayerApiPresenter::listItem($player);
|
|
|
|
$player->forceFill(['status' => 1])->save();
|
|
|
|
AuditLogger::recordForAdmin(
|
|
$request->user(),
|
|
$request,
|
|
'player_manage',
|
|
'freeze',
|
|
'player',
|
|
(string) $player->id,
|
|
$before,
|
|
PlayerApiPresenter::listItem($player->fresh(['wallets'])),
|
|
);
|
|
|
|
return ApiResponse::success(PlayerApiPresenter::listItem($player->fresh(['wallets'])));
|
|
}
|
|
}
|