AI Analysis: enforce 7-day rate limit per candidate
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
||||
use App\Models\Candidate;
|
||||
use App\Services\AIAnalysisService;
|
||||
use Illuminate\Http\Request;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class AIAnalysisController extends Controller
|
||||
{
|
||||
@@ -21,6 +22,16 @@ class AIAnalysisController extends Controller
|
||||
abort(403);
|
||||
}
|
||||
|
||||
// Restriction: Une analyse tous les 7 jours maximum par candidat
|
||||
if ($candidate->ai_analysis && isset($candidate->ai_analysis['analyzed_at'])) {
|
||||
$lastAnalysis = Carbon::parse($candidate->ai_analysis['analyzed_at']);
|
||||
if ($lastAnalysis->diffInDays(now()) < 7) {
|
||||
return response()->json([
|
||||
'error' => "Une analyse a déjà été effectuée il y a moins de 7 jours. Merci de patienter avant de relancer l'IA."
|
||||
], 422);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$analysis = $this->aiService->analyze($candidate, $request->provider);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user