Files
RecruIT/app/Http/Controllers/AIAnalysisController.php

38 lines
921 B
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Candidate;
use App\Services\AIAnalysisService;
use Illuminate\Http\Request;
class AIAnalysisController extends Controller
{
protected $aiService;
public function __construct(AIAnalysisService $aiService)
{
$this->aiService = $aiService;
}
public function analyze(Request $request, Candidate $candidate)
{
if (!auth()->user()->isAdmin()) {
abort(403);
}
try {
$analysis = $this->aiService->analyze($candidate, $request->provider);
// Persist the analysis on the candidate profile
$candidate->update([
'ai_analysis' => $analysis
]);
return response()->json($analysis);
} catch (\Exception $e) {
return response()->json(['error' => $e->getMessage()], 500);
}
}
}