lotteryAdmin(); abort_if($admin === null, 401); if ($denied = AdminSiteScope::denyUnlessPlayerAccessible($admin, $player)) { return $denied; } $hasWallets = Player::query() ->whereKey($player->getKey()) ->whereHas('wallets', static fn (Builder $q) => $q->where('balance', '!=', 0)) ->exists(); if ($hasWallets) { return ApiMessage::errorResponse($request, 'admin.player_wallet_balance_blocks_delete', ErrorCode::ValidationFailed->value, null, 422); } $hasTickets = TicketOrder::query() ->where('player_id', $player->getKey()) ->exists(); if ($hasTickets) { return ApiMessage::errorResponse($request, 'admin.player_has_tickets_blocks_delete', ErrorCode::ValidationFailed->value, null, 422); } $player->wallets()->delete(); $player->delete(); return ApiResponse::success(['deleted' => true]); } }