// ✅ GOOGLE WALLET - FIXED (No Duplicates) Route::get('/google-wallet', function() { $passes = DB::table('google_wallet_passes') ->where('user_id', auth()->id()) ->orderBy('created_at', 'desc') ->get(); return view('user.google-wallet.index', compact('passes')); })->name('google-wallet.index'); Route::get('/google-wallet/create', function (Request $request) { $type = $request->query('type', 'generic'); return match($type) { 'event_ticket' => redirect()->route('user.google-wallet.event-ticket'), 'flight' => redirect()->route('user.google-wallet.flight'), 'gift_card' => redirect()->route('user.google-wallet.gift-card'), 'offer' => redirect()->route('user.google-wallet.offer'), 'generic' => redirect()->route('user.google-wallet.generic-pass'), 'loyalty' => redirect()->route('user.google-wallet.loyalty-card'), default => redirect()->route('user.google-wallet.generic-pass'), }; })->name('google-wallet.create'); Route::get('/google-wallet/event-ticket', function () { return view('user.google-wallet.event-ticket'); })->name('google-wallet.event-ticket'); Route::get('/google-wallet/flight', function () { return view('user.google-wallet.flight'); })->name('google-wallet.flight'); Route::get('/google-wallet/gift-card', function () { return view('user.google-wallet.gift-card'); })->name('google-wallet.gift-card'); Route::get('/google-wallet/offer', function () { return view('user.google-wallet.offer'); })->name('google-wallet.offer'); Route::get('/google-wallet/generic-pass', function () { return view('user.google-wallet.generic-pass'); })->name('google-wallet.generic-pass'); Route::get('/google-wallet/loyalty-card', function () { return view('user.google-wallet.loyalty-card'); })->name('google-wallet.loyalty-card'); Route::post('/google-wallet/store', function (Request $request) { try { $validated = $request->validate([ 'type' => 'required|in:event_ticket,flight,gift_card,offer,generic,loyalty', 'issuer_name' => 'required|string|max:255', 'title' => 'required|string|max:255', ]); $walletId = DB::table('google_wallet_passes')->insertGetId([ 'user_id' => auth()->id(), 'type' => $validated['type'], 'issuer_name' => $validated['issuer_name'], 'title' => $validated['title'], 'data' => json_encode($request->except(['_token', 'type', 'issuer_name', 'title'])), 'created_at' => now(), 'updated_at' => now(), ]); return redirect()->route('user.google-wallet.index')->with('success', 'Wallet pass created successfully!'); } catch (\Exception $e) { return back()->with('error', 'Failed to create pass: ' . $e->getMessage()); } })->name('google-wallet.store'); Route::get('/google-wallet/{id}/edit', function ($id) { $pass = DB::table('google_wallet_passes') ->where('id', $id) ->where('user_id', auth()->id()) ->first(); if (!$pass) { return redirect()->route('user.google-wallet.index')->with('error', 'Pass not found'); } return view('user.google-wallet.edit', compact('pass')); })->name('google-wallet.edit'); Route::put('/google-wallet/{id}', function (Request $request, $id) { try { $validated = $request->validate([ 'issuer_name' => 'required|string|max:255', 'title' => 'required|string|max:255', ]); DB::table('google_wallet_passes') ->where('id', $id) ->where('user_id', auth()->id()) ->update([ 'issuer_name' => $validated['issuer_name'], 'title' => $validated['title'], 'data' => json_encode($request->except(['_token', 'issuer_name', 'title'])), 'updated_at' => now(), ]); return redirect()->route('user.google-wallet.index')->with('success', 'Pass updated successfully!'); } catch (\Exception $e) { return back()->with('error', 'Failed to update pass: ' . $e->getMessage()); } })->name('google-wallet.update'); Route::delete('/google-wallet/{id}', function ($id) { try { DB::table('google_wallet_passes') ->where('id', $id) ->where('user_id', auth()->id()) ->delete(); return redirect()->route('user.google-wallet.index')->with('success', 'Pass deleted successfully!'); } catch (\Exception $e) { return back()->with('error', 'Failed to delete pass: ' . $e->getMessage()); } })->name('google-wallet.destroy');
View [errors.404] not found.
Illuminate\View\FileViewFinder->findInPaths()Illuminate\View\FileViewFinder->findInPaths()Illuminate\View\FileViewFinder->find()Illuminate\View\Factory->make()Illuminate\Routing\ResponseFactory->view()34 return response()->json([
35 'success' => false,
36 'message' => 'Resource not found'
37 ], 404);
38 }
39 return response()->view('errors.404', [], 404);
40 });
41
42 // 403 - Access Denied
43 $exceptions->render(function (AccessDeniedHttpException $e, $request) {
44 if ($request->expectsJson()) {
45 return response()->json([
46 'success' => false,
47 'message' => 'Access denied'
48 ], 403);
49 }
50 return response()->view('errors.403', [], 403);
51{closure}()Illuminate\Foundation\Exceptions\Handler->renderViaCallbacks()Illuminate\Foundation\Exceptions\Handler->render()Illuminate\Routing\Pipeline->handleException()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()Illuminate\Foundation\Http\Middleware\TrimStrings->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Http\Middleware\ValidatePostSize->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Http\Middleware\HandleCors->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Http\Middleware\TrustProxies->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\InvokeDeferredCallbacks->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Http\Middleware\ValidatePathEncoding->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Pipeline\Pipeline->then()Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()Illuminate\Foundation\Http\Kernel->handle()Illuminate\Foundation\Application->handleRequest()1516// Bootstrap Laravel and handle the request...17/** @var Application $app */18$app = require_once __DIR__.'/../bootstrap/app.php';1920$app->handleRequest(Request::capture());21