<?php

namespace App\Http\Controllers;

use App\Traits\Api;
use Inertia\Inertia;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Log;

class DashboardController extends Controller
{
    use Api;
    public function index()
    {
        return Inertia::render('Dashboard');
    }

    public function vehicleRequestCount(): JsonResponse
    {

        $response = $this->get(config('services.kedebah.pim_service_url') . "/dashboard-data/vehicle-requests-count", []);

        return new JsonResponse($response->object(), $response->status());
    }

    public function leaveRequestCount(): JsonResponse
    {
        $response = $this->get(config('services.kedebah.pim_service_url') . "/dashboard-data/leave-requests-count", []);

        return new JsonResponse($response->object(), $response->status());
    }

    public function helpdeskRequestCount(): JsonResponse
    {

        $response = $this->get(config('services.kedebah.pim_service_url') . "/dashboard-data/help-desk-requests-count", []);
        // dd($response->object());
        return new JsonResponse($response->object(), $response->status());
    }

    public function topRequests(): JsonResponse
    {
        Log::info('Fetching vehicle requests count from external service');

        $response = $this->get(config('services.kedebah.pim_service_url') . "/dashboard-data/top-requests", []);

        Log::info('Response status from external service:', ['status' => $response->status()]);
        Log::info('Response data from external service:', ['data' => $response->object()]);

        return new JsonResponse($response->object(), $response->status());
    }

}
