feat: [additional] Notion 검색 기능 추가

- NotionService: Notion API 검색 + Gemini AI 답변
- AiConfig에 notion provider 추가
- 추가기능 > Notion 검색 채팅 UI
This commit is contained in:
김보곤
2026-02-22 23:04:16 +09:00
parent f8b0843763
commit aa3c9f4c3b
6 changed files with 600 additions and 33 deletions

View File

@@ -1,11 +1,10 @@
<?php
use App\Http\Controllers\Additional\KioskController;
use App\Http\Controllers\Additional\NotionSearchController;
use App\Http\Controllers\Api\BusinessCardOcrController;
use App\Http\Controllers\ApiLogController;
use App\Http\Controllers\AppVersionController;
use App\Http\Controllers\ESign\EsignApiController;
use App\Http\Controllers\ESign\EsignController;
use App\Http\Controllers\ESign\EsignPublicController;
use App\Http\Controllers\ArchivedRecordController;
use App\Http\Controllers\AuditLogController;
use App\Http\Controllers\Auth\LoginController;
@@ -21,25 +20,27 @@
use App\Http\Controllers\DevTools\FlowTesterController;
use App\Http\Controllers\DocumentController;
use App\Http\Controllers\DocumentTemplateController;
use App\Http\Controllers\ESign\EsignApiController;
use App\Http\Controllers\ESign\EsignController;
use App\Http\Controllers\ESign\EsignPublicController;
use App\Http\Controllers\FcmController;
use App\Http\Controllers\ItemFieldController;
use App\Http\Controllers\ItemManagementController;
use App\Http\Controllers\Additional\KioskController;
use App\Http\Controllers\Juil\ConstructionSitePhotoController;
use App\Http\Controllers\Juil\MeetingMinuteController;
use App\Http\Controllers\Juil\PlanningController;
use App\Http\Controllers\Lab\StrategyController;
use App\Http\Controllers\MenuController;
use App\Http\Controllers\MenuSyncController;
use App\Http\Controllers\NumberingRuleController;
use App\Http\Controllers\PermissionController;
use App\Http\Controllers\PostController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\ProjectManagementController;
use App\Http\Controllers\NumberingRuleController;
use App\Http\Controllers\QuoteFormulaController;
use App\Http\Controllers\RoleController;
use App\Http\Controllers\RolePermissionController;
use App\Http\Controllers\Sales\SalesProductController;
use App\Http\Controllers\Juil\ConstructionSitePhotoController;
use App\Http\Controllers\Juil\MeetingMinuteController;
use App\Http\Controllers\Juil\PlanningController;
use App\Http\Controllers\Stats\StatDashboardController;
use App\Http\Controllers\System\AiConfigController;
use App\Http\Controllers\System\AiTokenUsageController;
@@ -654,6 +655,7 @@
if (request()->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('dashboard'));
}
return view('dashboard.index');
})->name('dashboard');
@@ -707,6 +709,11 @@
Route::get('/showroom', [KioskController::class, 'showroom'])->name('showroom');
Route::get('/factory', [KioskController::class, 'factory'])->name('factory');
});
Route::prefix('notion-search')->name('notion-search.')->group(function () {
Route::get('/', [NotionSearchController::class, 'index'])->name('index');
Route::post('/search', [NotionSearchController::class, 'search'])->name('search');
});
});
/*