Files
kulakpos_web/public/restaurant/routes/api.php

35 lines
1.4 KiB
PHP

<?php
use App\Http\Controllers\WebsiteController;
use Illuminate\Support\Facades\Route;
use Kreait\Firebase\Factory;
use Kreait\Firebase\Messaging\CloudMessage;
use Kreait\Firebase\Messaging\Notification;
// Firebase test route
Route::get('/v1/test-firebase', function () {
$messaging = (new Factory)
->withServiceAccount(storage_path('firebase/firebase_credentials.json'))
->createMessaging();
// Replace with your actual FCM device token
$deviceToken = 'dUYkBkPmRN11Z15hlHLE4c:APA91bG1SHwTBPpkLDbtlRYqu4UHSzdfxIMsmRrcXwqT1ULfxVNqMarMmr8pSNqQEg-bs2LXPag3N3APgAJOVaYsEzYOmFck2GH_tYhoiCzNwHZYKN99V0k';
$message = CloudMessage::withTarget('token', $deviceToken)
->withNotification(Notification::create('Test Title', 'Test Body'));
try {
$messaging->send($message);
return response()->json(['status' => 'SUCCESS', 'message' => 'Notification sent!']);
} catch (\Kreait\Firebase\Exception\MessagingException $e) {
return response()->json(['status' => 'ERROR', 'message' => $e->getMessage()]);
} catch (\Throwable $e) {
return response()->json(['status' => 'ERROR', 'message' => $e->getMessage()]);
}
});
Route::middleware('auth:api')->group(function () {
Route::post('v1/save-fcm-token', [WebsiteController::class, 'saveFcmToken']);
Route::get('v1/sent-notification', [WebsiteController::class, 'sentNotification']);
});