HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/be.naniguide.com/app/Http/Controllers/Refactor/Admin/HttpConfigController.php
<?php

namespace App\Http\Controllers\Refactor\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Model\HttpConfig;
use App\Model\HttpRequest as HttpRequestModel;

class HttpConfigController extends Controller
{
    public function index(Request $request)
    {
        $stats = [
            'total' => HttpConfig::count(),
        ];

        return view('refactor.pages.admin.http-config.index', compact('stats'));
    }

    public function listing(Request $request)
    {
        $query = HttpConfig::query();

        if ($request->keyword) {
            $query->where('name', 'like', '%' . $request->keyword . '%');
        }

        $items = $query->orderBy(
            $request->sort_order ?? 'created_at',
            $request->sort_direction ?? 'desc'
        )->paginate($request->per_page ?? 15);

        return view('refactor.pages.admin.http-config._list', compact('items'));
    }

    public function httpRequests(Request $request, $uid)
    {
        $httpConfig = HttpConfig::findByUid($uid);

        if (!$httpConfig) {
            return response()->json(['status' => 'error', 'message' => 'Not found'], 404);
        }

        return view('refactor.pages.admin.http-config.requests', compact('httpConfig'));
    }

    public function httpRequestsList(Request $request, $uid)
    {
        $httpConfig = HttpConfig::findByUid($uid);

        if (!$httpConfig) {
            return response()->json(['status' => 'error', 'message' => 'Not found'], 404);
        }

        $httpRequests = $httpConfig->httpRequests()
            ->orderBy($request->sort_order ?? 'created_at', $request->sort_direction ?? 'desc')
            ->paginate($request->per_page ?? 15);

        return view('refactor.pages.admin.http-config._requests_list', compact('httpConfig', 'httpRequests'));
    }

    public function httpRequestLogs(Request $request, $uid)
    {
        $httpRequest = HttpRequestModel::findByUid($uid);

        if (!$httpRequest) {
            return response()->json(['status' => 'error', 'message' => 'Not found'], 404);
        }

        $httpRequestLogs = $httpRequest->httpRequestLogs()
            ->orderBy('created_at', 'desc')
            ->paginate($request->per_page ?? 15);

        return view('refactor.pages.admin.http-config.logs', compact('httpRequest', 'httpRequestLogs'));
    }

    public function test(Request $request, $uid)
    {
        $httpConfig = \App\Model\HttpConfig::findByUid($uid);

        if (!$httpConfig) {
            return response()->json(['status' => 'error', 'message' => 'Not found'], 404);
        }

        if ($request->isMethod('post')) {
            $httpRequestLog = $httpConfig->test([], $request->webhook);

            return view('refactor.pages.admin.http-config._test_result', compact('httpRequestLog'));
        }

        return view('refactor.pages.admin.http-config.test', compact('httpConfig'));
    }
}