ldc-gen-game-web/routes/web.php

61 lines
3.7 KiB
PHP

<?php
use App\Http\Controllers\Fo\CustomerController;
use App\Http\Controllers\Fo\EndPageController;
use App\Http\Controllers\Fo\EnterCodeController;
use App\Http\Controllers\Fo\FAQController;
use App\Http\Controllers\Fo\GainsController;
use App\Http\Controllers\Fo\HomeController;
use App\Http\Controllers\Fo\HowToPlayController;
use App\Http\Controllers\Fo\LoginController;
use App\Http\Controllers\Fo\ProduitsController;
use App\Http\Controllers\Fo\RegisterController;
use App\Http\Controllers\Fo\TeaserController;
use App\Http\Controllers\Fo\ViewContentController;
use App\Http\Controllers\Fo\WinningProofController;
use Illuminate\Support\Facades\Route;
Route::group(['middleware' => ['game-date']], function () {
// Front.
Route::get('/', [HomeController::class, 'home'])->name('home');
Route::get('/reglement', [ViewContentController::class, 'reglement'])->name('reglement');
Route::get('/charte', [ViewContentController::class, 'charte'])->name('charte');
Route::get('/mentions-legales', [ViewContentController::class, 'legals'])->name('legals');
Route::get('/faq', [FAQController::class, 'index'])->name('faq');
Route::get('/comment-jouer', [HowToPlayController::class, 'index'])->name('comment-jouer');
Route::get('/les-gains', [GainsController::class, 'index'])->name('les-gains');
Route::get('/produits-porteurs', [ProduitsController::class, 'index'])->name('produits-porteurs');
Route::get('/confirmation-email/{verifyToken}', [LoginController::class, 'confirmEmail'])->name('confirm-email');
Route::get('/mot-de-passe-oublie', [LoginController::class, 'forgotPassword'])->name('forgot-password');
Route::post('/mot-de-passe-oublie', [LoginController::class, 'forgotPasswordSubmit'])
->name('forgot-passwordSubmit');
Route::get('/mot-de-passe-oublie/reset/{token}', [LoginController::class, 'forgotPasswordReset'])
->name('forgot-password-reset');
Route::put('/mot-de-passe-oublie/reset/{token}', [LoginController::class, 'forgotPasswordResetSubmit'])
->name('forgot-password-resetSubmit');
// Front nécessitant d'être connecté.
Route::middleware(['auth:customer', 'crmInfosMustBeComplete'])->group(function () {
Route::get('/saisir-code', [EnterCodeController::class, 'index'])->name('saisir-code');
Route::post('/saisir-code', [EnterCodeController::class, 'participate'])->name('participate');
Route::put('/saisir-code', [EnterCodeController::class, 'formWinningProof'])->name('winning-proof');
Route::put('/rejouer', [WinningProofController::class, 'sendWinningProof'])->name('send-winning-proof');
Route::post('/logout', [LoginController::class, 'logout'])->name('logout');
Route::get('/complete-infos', [CustomerController::class, 'completeInfos'])
->withoutMiddleware('crmInfosMustBeComplete')->name('completeInfos');
Route::put('/complete-infos', [CustomerController::class, 'completeInfosSubmit'])
->withoutMiddleware('crmInfosMustBeComplete')->name('completeInfosSubmit');
});
// Authentification.
Route::middleware('guest:customer')->group(function () {
Route::get('/inscription', [RegisterController::class, 'register'])->name('inscription');
Route::post('/inscription', [RegisterController::class, 'registerSubmit'])->name('register');
});
});
// Login sans middleware pour la connexion admin, teaser et end pour ne pas redirigé en boucle.
Route::get('/login', [LoginController::class, 'loginForm'])->name('login');
Route::post('/login', [LoginController::class, 'loginFormSubmit'])->name('authenticate');
Route::get('/teaser', [TeaserController::class, 'index'])->name('teaser');
Route::get('/fin-du-jeu', [EndPageController::class, 'index'])->name('end');