111 lines
5.1 KiB
PHP
Executable File
111 lines
5.1 KiB
PHP
Executable File
<?php
|
|
|
|
use App\Http\Controllers\AiAgentController;
|
|
use App\Http\Controllers\ChatController;
|
|
use App\Http\Controllers\AiProvider\AiProviderController;
|
|
use App\Http\Controllers\Auth\CaptchaController;
|
|
use App\Http\Controllers\DashboardController;
|
|
use App\Http\Controllers\HomeController;
|
|
use App\Http\Controllers\ProfileController;
|
|
use App\Http\Controllers\PromptGeneration\PromptGenerationController;
|
|
use App\Http\Controllers\PromptTemplate\PromptTemplateController;
|
|
use App\Http\Controllers\PromptProject\PromptProjectController;
|
|
use App\Http\Controllers\Tutorial\TutorialController;
|
|
use App\Http\Controllers\UserController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', [HomeController::class, 'index'])->name('welcome');
|
|
|
|
Route::get('/dashboard', [DashboardController::class, 'index'])
|
|
->middleware(['auth', 'verified', 'user.approved'])
|
|
->name('dashboard');
|
|
|
|
Route::get('/profile', [ProfileController::class, 'index'])
|
|
->middleware(['auth', 'verified', 'user.approved'])
|
|
->name('profile.index');
|
|
Route::get('/profile/edit', [ProfileController::class, 'edit'])
|
|
->middleware(['auth', 'verified', 'user.approved'])
|
|
->name('profile.edit');
|
|
Route::put('/profile', [ProfileController::class, 'update'])
|
|
->middleware(['auth', 'verified', 'user.approved'])
|
|
->name('profile.update');
|
|
|
|
Route::get('/tutorial', [TutorialController::class, 'index'])
|
|
->middleware(['auth', 'user.approved'])
|
|
->name('tutorial.index');
|
|
|
|
Route::get('/tutorial/lesson/{id}', [TutorialController::class, 'lesson'])
|
|
->middleware(['auth', 'user.approved'])
|
|
->name('tutorial.lesson');
|
|
|
|
Route::get('/tutorial/quiz', [TutorialController::class, 'quiz'])
|
|
->middleware(['auth', 'user.approved'])
|
|
->name('tutorial.quiz');
|
|
|
|
Route::post('/tutorial/quiz/submit', [TutorialController::class, 'submitQuiz'])
|
|
->middleware(['auth', 'user.approved'])
|
|
->name('tutorial.quiz.submit');
|
|
|
|
Route::get('/tutorial/certificate', [TutorialController::class, 'certificate'])
|
|
->middleware(['auth', 'user.approved'])
|
|
->name('tutorial.certificate');
|
|
|
|
Route::get('/captcha', [CaptchaController::class, 'generate'])->name('captcha.generate');
|
|
|
|
Route::middleware(['auth', 'verified', 'user.approved', 'documents.accepted'])->group(function () {
|
|
Route::resource('prompt-projects', PromptProjectController::class);
|
|
Route::post('prompt-projects/{promptProject}/generate', [PromptProjectController::class, 'generate'])
|
|
->name('prompt-projects.generate');
|
|
Route::get('prompt-projects/{promptProject}/prompt', [PromptProjectController::class, 'getPrompt'])
|
|
->name('prompt-projects.prompt');
|
|
Route::resource('prompt-generations', PromptGenerationController::class)->only(['index']);
|
|
Route::delete('prompt-generations/{generation}', [PromptGenerationController::class, 'destroy'])
|
|
->name('prompt-generations.destroy');
|
|
Route::resource('ai-providers', AiProviderController::class);
|
|
Route::resource('users', UserController::class)->only(['index', 'edit', 'update', 'destroy']);
|
|
Route::get('prompt-templates/api', [PromptTemplateController::class, 'api'])
|
|
->name('prompt-templates.api');
|
|
Route::resource('prompt-templates', PromptTemplateController::class);
|
|
Route::delete('users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
|
|
|
|
Route::get('ai-agent', [AiAgentController::class, 'index'])
|
|
->name('ai-agent.index');
|
|
Route::post('ai-agent/execute', [AiAgentController::class, 'execute'])
|
|
->name('ai-agent.execute');
|
|
Route::get('ai-agent/models', [AiAgentController::class, 'getModels'])
|
|
->name('ai-agent.models');
|
|
|
|
Route::get('chat', [ChatController::class, 'index'])
|
|
->name('chat.index');
|
|
Route::post('chat/send', [ChatController::class, 'send'])
|
|
->name('chat.send');
|
|
Route::post('chat/reset', [ChatController::class, 'reset'])
|
|
->name('chat.reset');
|
|
Route::get('chat/models', [ChatController::class, 'getModels'])
|
|
->name('chat.models');
|
|
});
|
|
|
|
Route::middleware(['auth', 'verified', 'user.approved', 'documents.accepted'])->prefix('legal')->name('legal.')->group(function () {
|
|
Route::get('documents', [App\Http\Controllers\Legal\LegalDocumentController::class, 'index'])->name('documents.index');
|
|
Route::get('documents/{type}/edit', [App\Http\Controllers\Legal\LegalDocumentController::class, 'edit'])->name('document.edit');
|
|
Route::put('documents/{type}', [App\Http\Controllers\Legal\LegalDocumentController::class, 'update'])->name('document.update');
|
|
});
|
|
|
|
Route::get('legal/documents/{type}', [App\Http\Controllers\Legal\LegalDocumentController::class, 'show'])
|
|
->where('type', 'terms-of-service|privacy-policy')
|
|
->name('legal.document.show');
|
|
|
|
Route::get('terms-of-service', function () {
|
|
return redirect()->route('legal.document.show', 'terms-of-service');
|
|
});
|
|
|
|
Route::get('privacy-policy', function () {
|
|
return redirect()->route('legal.document.show', 'privacy-policy');
|
|
});
|
|
|
|
Route::post('/cookie-consent', [App\Http\Controllers\Legal\CookieConsentController::class, 'store'])
|
|
->middleware(['web'])
|
|
->name('cookie.consent.store');
|
|
|
|
require __DIR__.'/auth.php';
|