<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;

/**
 * Gemini API Controller
 *
 * Google Gemini Live API 연동을 위한 API 키 제공 컨트롤러
 * SAM AI 음성 어시스턴트에서 사용
 */
class GeminiController extends Controller
{
    /**
     * Gemini API 키 조회
     *
     * 인증된 사용자에게만 API 키를 제공합니다.
     * .env 파일의 GEMINI_API_KEY 환경변수를 사용합니다.
     */
    public function getApiKey(Request $request): JsonResponse
    {
        // 환경변수에서 API 키 조회
        $apiKey = config('services.gemini.api_key');

        if (empty($apiKey)) {
            return response()->json([
                'success' => false,
                'error' => 'Gemini API 키가 설정되지 않았습니다. .env 파일에 GEMINI_API_KEY를 설정해주세요.',
            ], 500);
        }

        // API 키 유효성 검사 (최소 길이)
        if (strlen($apiKey) < 20) {
            return response()->json([
                'success' => false,
                'error' => '유효하지 않은 Gemini API 키입니다.',
            ], 500);
        }

        return response()->json([
            'success' => true,
            'apiKey' => $apiKey,
            'projectId' => config('services.gemini.project_id', 'codebridge-chatbot'),
        ]);
    }
}
