Initial V2 commit 4\9

This commit is contained in:
Hamza-Ayed
2026-04-23 21:23:23 +03:00
parent 098aa9ad37
commit c4bf4ea679
8 changed files with 666 additions and 8 deletions

View File

@@ -55,4 +55,76 @@ class NotificationController extends Controller
return response()->json(['status' => 'success']);
}
/** POST /v2/notifications/token */
public function updateToken(Request $request): JsonResponse
{
$request->validate([
'token' => 'required|string',
'fingerPrint' => 'required|string',
]);
$userId = $request->input('_jwt_user_id') ?? $request->input('passengerID');
$userType = $request->input('_jwt_user_type') ?? 'passenger';
if (!$userId) {
return response()->json(['status' => 'failure', 'message' => 'User ID missing'], 400);
}
if ($userType === 'driver') {
DB::connection('primary')->table('captainToken')
->updateOrInsert(
['captain_id' => $userId],
[
'token' => $request->input('token'),
'fingerPrint' => $request->input('fingerPrint'),
'status' => 'active'
]
);
} else {
DB::connection('primary')->table('tokens')
->updateOrInsert(
['passengerID' => $userId],
[
'token' => $request->input('token'),
'fingerPrint' => $request->input('fingerPrint'),
'status' => 'active'
]
);
}
return response()->json(['status' => 'success']);
}
/** GET /v2/notifications/token */
public function getToken(Request $request): JsonResponse
{
$userId = $request->input('_jwt_user_id') ?? $request->input('passengerID');
$userType = $request->input('_jwt_user_type') ?? 'passenger';
if (!$userId) {
return response()->json(['status' => 'failure', 'message' => 'User ID missing'], 400);
}
if ($userType === 'driver') {
$data = DB::connection('primary')->table('captainToken')
->where('captain_id', $userId)
->first();
} else {
$data = DB::connection('primary')->table('tokens')
->where('passengerID', $userId)
->first();
}
if (!$data) {
return response()->json(['status' => 'failure', 'message' => 'No token found'], 404);
}
return response()->json([
'status' => 'success',
'data' => [
'token' => $data->token,
'fingerPrint' => $data->fingerPrint ?? null,
]
]);
}
}