HOME


Mini Shell 1.0
La Pieza.DO | Todo lo que buscas!

Bienvenido de nuevo!

Acceso Cuenta Delivery
DIR: /var/www/devs.lapieza.net/app/Notifications/
Upload File :
Current File : /var/www/devs.lapieza.net/app/Notifications/OrderNotification.php
<?php

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\BroadcastMessage;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Log;

class OrderNotification extends Notification implements ShouldQueue {
    use Queueable;

    protected $order_notification;

    public function __construct($order_notification) {
        $this->order_notification = $order_notification;
    }

    public function via($notifiable) {
        //Log::info('via method called');
        if($notifiable->user_type == 'seller'){
            return ['database', 'broadcast'];
        }else{
            return ['database'];
        }

    }

    public function toMail($notifiable) {
        return (new MailMessage)
            ->line('The introduction to the notification.')
            ->action('Notification Action', url('/'))
            ->line('Thank you for using our application!');
    }

    public function toArray($notifiable) {
        return [
            'order_id' => $this->order_notification['order_id'],
            'order_code' => $this->order_notification['order_code'],
            'user_id' => $this->order_notification['user_id'],
            'seller_id' => $this->order_notification['seller_id'],
            'status' => $this->order_notification['status']
        ];
    }

    public function toBroadcast($notifiable) {
        Log::info('toBroadcast method called', [
            'order_id' => $this->order_notification['order_id'],
            'order_code' => $this->order_notification['order_code'],
            'user_id' => $this->order_notification['user_id'],
            'seller_id' => $this->order_notification['seller_id'],
            'status' => $this->order_notification['status']
        ]);

        return new BroadcastMessage([
            'order_id' => $this->order_notification['order_id'],
            'order_code' => $this->order_notification['order_code'],
            'user_id' => $this->order_notification['user_id'],
            'seller_id' => $this->order_notification['seller_id'],
            'status' => $this->order_notification['status']
        ]);
    }
}