107 lines
4.1 KiB
PHP
107 lines
4.1 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\AdminBackgroundGenerationController;
|
|
use App\Http\Controllers\AdminDashboardController;
|
|
use App\Http\Controllers\AdminDuplicateController;
|
|
use App\Http\Controllers\FrontHomeController;
|
|
use App\Http\Controllers\FrontMemeController;
|
|
use App\Http\Controllers\FrontPagesController;
|
|
use App\Http\Controllers\SocialAuthController;
|
|
use App\Http\Controllers\UserDashboardController;
|
|
use App\Http\Controllers\UserPurchaseController;
|
|
use App\Http\Middleware\AdminMiddleware;
|
|
use App\Http\Middleware\BasicAuthMiddleware;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
if (App::environment('local')) {
|
|
|
|
Route::prefix('auth')->group(function () {
|
|
|
|
Route::prefix('google')->group(function () {
|
|
|
|
Route::get('redirect', [SocialAuthController::class, 'redirectToGoogle'])->name('auth.google.redirect');
|
|
|
|
Route::get('callback', [SocialAuthController::class, 'handleGoogleCallback'])->name('auth.google.callback');
|
|
});
|
|
});
|
|
|
|
Route::middleware(['auth', 'verified'])->group(function () {
|
|
|
|
Route::get('dashboard', [UserDashboardController::class, 'index'])->name('dashboard');
|
|
|
|
Route::prefix('subscribe')->group(function () {
|
|
|
|
Route::get('success', [UserPurchaseController::class, 'subscribeSuccess'])->name('subscribe.success');
|
|
|
|
Route::get('cancelled', [UserPurchaseController::class, 'subscribeCancelled'])->name('subscribe.cancelled');
|
|
});
|
|
|
|
Route::prefix('purchase')->group(function () {
|
|
|
|
Route::get('success', [UserPurchaseController::class, 'purchaseSuccess'])->name('purchase.success');
|
|
|
|
Route::get('cancelled', [UserPurchaseController::class, 'purchaseCancelled'])->name('purchase.cancelled');
|
|
});
|
|
|
|
Route::prefix('admin')->middleware([AdminMiddleware::class])->group(function () {
|
|
Route::get('/', [AdminDashboardController::class, 'index'])->name('admin.dashboard');
|
|
|
|
Route::prefix('background-generation')->group(function () {
|
|
Route::get('/', [AdminBackgroundGenerationController::class, 'index'])->name('admin.background-generation');
|
|
|
|
Route::post('generate', [AdminBackgroundGenerationController::class, 'generate'])
|
|
->name('admin.background-generation.generate');
|
|
|
|
Route::post('save', [AdminBackgroundGenerationController::class, 'save'])
|
|
->name('admin.background-generation.save');
|
|
|
|
Route::post('delete/{id}', [AdminBackgroundGenerationController::class, 'delete'])
|
|
->name('admin.background-generation.delete');
|
|
});
|
|
});
|
|
});
|
|
|
|
require __DIR__.'/settings.php';
|
|
require __DIR__.'/auth.php';
|
|
}
|
|
|
|
Route::get('/', [FrontHomeController::class, 'index'])
|
|
->middleware('cacheResponse')
|
|
->name('home');
|
|
|
|
Route::get('/privacy', [FrontPagesController::class, 'privacy'])
|
|
->middleware('cacheResponse')
|
|
->name('privacy');
|
|
Route::get('/terms', [FrontPagesController::class, 'terms'])
|
|
->middleware('cacheResponse')
|
|
->name('terms');
|
|
Route::get('/dmca-copyright', [FrontPagesController::class, 'dmcaCopyright'])
|
|
->middleware('cacheResponse')
|
|
->name('dmca-copyright');
|
|
|
|
Route::get('/meme-library', [FrontMemeController::class, 'index'])
|
|
->middleware('cacheResponse')
|
|
->name('memes.index');
|
|
|
|
Route::get('/meme-library/{search}', [FrontMemeController::class, 'search'])
|
|
->middleware('cacheResponse')
|
|
->name('memes.search');
|
|
|
|
Route::get('/meme/{slug}', [FrontMemeController::class, 'show'])
|
|
->middleware('cacheResponse')
|
|
->name('memes.show');
|
|
|
|
// Admin Tools with Basic Auth
|
|
Route::prefix('duplicates')->middleware([BasicAuthMiddleware::class])->group(function () {
|
|
Route::get('/', [AdminDuplicateController::class, 'index'])->name('admin.duplicates');
|
|
|
|
Route::post('scan', [AdminDuplicateController::class, 'scan'])
|
|
->name('admin.duplicates.scan');
|
|
|
|
Route::post('delete', [AdminDuplicateController::class, 'delete'])
|
|
->name('admin.duplicates.delete');
|
|
|
|
Route::post('regenerate-hash', [AdminDuplicateController::class, 'regenerateHash'])
|
|
->name('admin.duplicates.regenerate-hash');
|
|
});
|