D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
ghanempharmacy.com
/
app
/
Http
/
Controllers
/
Filename :
FirebaseController.php
back
Copy
<?php namespace App\Http\Controllers; use App\Http\Requests\Request; use App\Utils\Helpers; use App\Models\BusinessSetting; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\Session; class FirebaseController extends Controller { protected mixed $messaging; public function __construct() { $this->messaging = app('firebase.messaging'); } public function subscribeToTopic(Request $request): JsonResponse { $request->validate([ 'token' => 'required|string', 'topic' => 'required|string', ]); $token = $request->input('token'); $topic = $request->input('topic'); try { if ($this->messaging) { $this->messaging->subscribeToTopic($topic, $token); if (auth('customer')->check()) { $user = auth('customer')->user(); $user->cm_firebase_token = $token; $user->save(); } elseif (auth('seller')->check()) { $seller = auth('seller')->user(); $seller->cm_firebase_token = $token; $seller->save(); } elseif (auth('delivery_man')->check()) { $dm = auth('delivery_man')->user(); $dm->fcm_token = $token; $dm->save(); } return response()->json(['message' => 'Successfully subscribed to topic'], 200); } return response()->json(['message' => 'Unauthorized'], 401); } catch (\Exception $e) { return response()->json(['error' => $e->getMessage()], 500); } } }