<?php

namespace App\Http\Controllers\Api\System;

use App\Http\Controllers\Api\Core\BaseApiController;
use App\Services\System\DatabaseHealthService;
use Illuminate\Http\JsonResponse;
use Symfony\Component\HttpFoundation\Response;

class DatabaseHealthController extends BaseApiController
{
    public function __construct(private DatabaseHealthService $healthService)
    {
        parent::__construct();
    }

    public function index(): JsonResponse
    {
        $result = $this->healthService->check();
        if (!$result['ok']) {
            return $this->error('Database connection failed.', Response::HTTP_SERVICE_UNAVAILABLE, [
                'error' => $result['error'],
            ]);
        }

        return $this->success([
            'ok' => true,
        ]);
    }
}
