First Commit

This commit is contained in:
marco
2026-09-01 09:22:30 -03:00
commit a43ae23eb4
407 changed files with 36138 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
<?php
use App\Http\Controllers\Auth\AuthenticatedSessionController;
use App\Http\Controllers\Auth\ConfirmablePasswordController;
use App\Http\Controllers\Auth\EmailVerificationNotificationController;
use App\Http\Controllers\Auth\EmailVerificationPromptController;
use App\Http\Controllers\Auth\NewPasswordController;
use App\Http\Controllers\Auth\PasswordController;
use App\Http\Controllers\Auth\PasswordResetLinkController;
use App\Http\Controllers\Auth\RegisteredUserController;
use App\Http\Controllers\Auth\VerifyEmailController;
use Illuminate\Support\Facades\Route;
Route::middleware('guest')->group(function () {
Route::get('register', [RegisteredUserController::class, 'create'])
->name('register');
Route::post('register', [RegisteredUserController::class, 'store']);
Route::get('login', [AuthenticatedSessionController::class, 'create'])
->name('login');
Route::post('login', [AuthenticatedSessionController::class, 'store']);
Route::get('forgot-password', [PasswordResetLinkController::class, 'create'])
->name('password.request');
Route::post('forgot-password', [PasswordResetLinkController::class, 'store'])
->name('password.email');
Route::get('reset-password/{token}', [NewPasswordController::class, 'create'])
->name('password.reset');
Route::post('reset-password', [NewPasswordController::class, 'store'])
->name('password.store');
});
Route::middleware('auth')->group(function () {
Route::get('verify-email', EmailVerificationPromptController::class)
->name('verification.notice');
Route::get('verify-email/{id}/{hash}', VerifyEmailController::class)
->middleware(['signed', 'throttle:6,1'])
->name('verification.verify');
Route::post('email/verification-notification', [EmailVerificationNotificationController::class, 'store'])
->middleware('throttle:6,1')
->name('verification.send');
Route::get('confirm-password', [ConfirmablePasswordController::class, 'show'])
->name('password.confirm');
Route::post('confirm-password', [ConfirmablePasswordController::class, 'store']);
Route::put('password', [PasswordController::class, 'update'])->name('password.update');
Route::post('logout', [AuthenticatedSessionController::class, 'destroy'])
->name('logout');
});
+8
View File
@@ -0,0 +1,8 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');
Executable
+110
View File
@@ -0,0 +1,110 @@
<?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';