Начальный коммит: рабочая версия с исправленной авторизацией

This commit is contained in:
root
2026-01-11 19:15:02 +00:00
commit 2d98209ce1
206 changed files with 20957 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
<?php
namespace App\Http\Controllers;
use App\Services\AiSuggestorService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class AiController extends Controller
{
protected $aiService;
// ✅ Используем DI — Laravel сам передаст сервис
public function __construct(AiSuggestorService $aiService)
{
$this->aiService = $aiService;
}
public function suggest(Request $request)
{
$validated = $request->validate([
'task_id' => 'nullable|string',
'custom_prompt' => 'nullable|string',
'budget' => 'nullable|numeric|min:0',
]);
try {
// ✅ Вызываем через DI
$result = $this->aiService->suggest(
$request->input('task_id'),
$request->input('custom_prompt'),
$request->input('budget')
);
// ✅ Возвращаем ТОЛЬКО ID — быстро и безопасно
return response()->json([
'message' => 'Сборка успешно сгенерирована ИИ.',
'build_id' => $result['build']->id,
], 201);
} catch (\Exception $e) {
Log::error('Ошибка в AI-сервисе', [
'user_id' => auth()->id(),
'message' => $e->getMessage(),
'trace' => $e->getTraceAsString()
]);
return response()->json([
'message' => 'Не удалось сгенерировать сборку.',
'error' => $e->getMessage()
], 500);
}
}
}