CatchTokenFcmMiddleware.php 776 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Models\User;
  4. use Closure;
  5. use Illuminate\Http\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. class CatchTokenFcmMiddleware
  8. {
  9. /**
  10. * Handle an incoming request.
  11. *
  12. * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
  13. */
  14. public function handle(Request $request, Closure $next): Response
  15. {
  16. if (isset($request->app) && isset($request->token_fcm)) {
  17. $token = trim((string)$request->token_fcm);
  18. if ($token !== '' && auth()->check()) {
  19. User::assignUniqueFcmToken((int)auth()->id(), $token);
  20. }
  21. session(['token_fcm' => $token]);
  22. }
  23. return $next($request);
  24. }
  25. }