From a4251ae532f0d10a3509cdff83875a79a85f3524 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Sat, 31 Jan 2026 18:00:36 +0530 Subject: [PATCH] Add print PDF route and update WebPushSubscription logic for user subscriptions --- routes/api.php | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/routes/api.php b/routes/api.php index b17c1ff..2250049 100644 --- a/routes/api.php +++ b/routes/api.php @@ -25,12 +25,15 @@ use App\Http\Controllers\ObdController; use App\Http\Controllers\PalletController; use App\Http\Controllers\PdfController; use App\Http\Controllers\PlantController; +use App\Http\Controllers\PrintController; use App\Http\Controllers\ProductionStickerReprintController; use App\Http\Controllers\SapFileController; use App\Http\Controllers\StickerMasterController; // use App\Http\Controllers\TelegramController; use App\Http\Controllers\TestingPanelController; use App\Http\Controllers\UserController; +use App\Models\WebPushSubscription; +use Filament\Facades\Filament; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; @@ -185,3 +188,46 @@ Route::post('file/store', [SapFileController::class, 'store'])->name('file.store // Route::post('send-telegram', [TelegramController::class, 'sendMessage']); // Route::post('invoice-exit', [InvoiceValidationController::class, 'handle']); + + +Route::post('/print-pdf', [PrintController::class, 'print']); + + + Route::post('/push/subscribe', function (Request $request) { + + $user = Filament::auth()->user(); + abort_if(!$user, 401); + + $request->validate([ + 'endpoint' => 'required|string', + 'keys.p256dh' => 'required|string', + 'keys.auth' => 'required|string', + ]); + + // WebPushSubscription::updateOrCreate( + // ['endpoint' => $request->endpoint], + // [ + // 'subscribable_type' => get_class($user), + // 'subscribable_id' => $user->id, + // 'public_key' => $request->keys['p256dh'], + // 'auth_token' => $request->keys['auth'], + // 'content_encoding' => $request->contentEncoding ?? 'aesgcm', + // ] + // ); + + WebPushSubscription::updateOrCreate( + [ + 'endpoint' => $request->endpoint, + 'subscribable_type' => get_class($user), + 'subscribable_id' => $user->id, + ], + [ + 'public_key' => $request->keys['p256dh'], + 'auth_token' => $request->keys['auth'], + 'content_encoding' => $request->contentEncoding ?? 'aesgcm', + ] + ); + + + return response()->json(['success' => true]); +});