 <?php
/*
namespace App\Listeners;

use App\Events\NuovaSegnalazione;
use App\Models\ConfigNotifiche;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Notification;
use App\Notifications\NuovaSegnalazioneAdmin;
use App\Notifications\NuovaSegnalazioneUser;
use App\Notifications\NuovaSegnalazioneReparto;

class InviaNotificaSegnalazione
{
    public function __construct()
    {
        //
    }

    public function handle(NuovaSegnalazione $event): void
    {
      // Invio all'admin la notifica di nuova segnalazione
      $configNotifiche = ConfigNotifiche::where('event', ConfigNotifiche::NUOVA_SEGNALAZIONE_ADMIN)->first();
      if($configNotifiche != null && $configNotifiche->is_attivo == true && count($configNotifiche->utenti) > 0){
        Notification::send($configNotifiche->utenti, new NuovaSegnalazioneAdmin($event->segnalazione));
      }

      // Se è già stata assegnata, invio anche la notifica all'utente assegnato
      if($event->segnalazione->user_id != null){
        $configNotifiche = ConfigNotifiche::where('event', ConfigNotifiche::NUOVA_SEGNALAZIONE_ASSEGNATA)->first();
        if($configNotifiche != null && $configNotifiche->is_attivo == true){
          Notification::send($event->segnalazione->user, new NuovaSegnalazioneUser($event->segnalazione));
        }
      }

      // Invio anche la notifica al reparto, se la mail è presente
      if($event->segnalazione->reparto_id != null){
        $configNotifiche = ConfigNotifiche::where('event', ConfigNotifiche::NUOVA_SEGNALAZIONE_REPARTO)->first();
        if($configNotifiche != null && $configNotifiche->is_attivo == true){
          Notification::route('mail', $event->segnalazione->email)->notify(new NuovaSegnalazioneReparto($event->segnalazione));
        }
      }
    }
} */
