Source — /var/www/goseek/routes/web.php

/var/www/goseek/routes/web.php

<?php
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return redirect('/admin');
});

Route::get('/chat', function () {
    if (!auth()->check()) {
        return redirect('/admin/login');
    }
    return view('chat');
});

Route::get('/links', function () {
    return view('links');
});

// Chat API routes - use web session auth
Route::middleware('auth')->prefix('chat-api')->group(function () {
    Route::get('/providers', [\App\Http\Controllers\Api\ChatController::class, 'providers']);
    Route::get('/providers/{slug}/models', [\App\Http\Controllers\Api\ChatController::class, 'models']);
    Route::get('/conversations', [\App\Http\Controllers\Api\ChatController::class, 'conversations']);
    Route::post('/conversations', [\App\Http\Controllers\Api\ChatController::class, 'newConversation']);
    Route::get('/conversations/{conversation}/messages', [\App\Http\Controllers\Api\ChatController::class, 'messages']);
    Route::post('/conversations/{conversation}/chat', [\App\Http\Controllers\Api\ChatController::class, 'chat']);
    Route::post('/conversations/{conversation}/chat-async', [\App\Http\Controllers\Api\ChatController::class, 'chatAsync']);
    Route::get('/runs/{run}', [\App\Http\Controllers\Api\ChatController::class, 'runStatus']);
    Route::patch('/conversations/{conversation}/title', [\App\Http\Controllers\Api\ChatController::class, 'updateTitle']);
    Route::delete('/conversations/{conversation}', [\App\Http\Controllers\Api\ChatController::class, 'deleteConversation']);

    Route::get('/projects', [\App\Http\Controllers\Api\ProjectController::class, 'index']);
    Route::post('/projects', [\App\Http\Controllers\Api\ProjectController::class, 'store']);
    Route::patch('/projects/{project}', [\App\Http\Controllers\Api\ProjectController::class, 'update']);
    Route::delete('/projects/{project}', [\App\Http\Controllers\Api\ProjectController::class, 'destroy']);
});