<?php

namespace App\Notifications\Channels;

use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Log;

use App\Models\Echomail;

class EchomailChannel
{
	private const LOGKEY = 'CNE';

	/**
	 * @var Echomail
	 */
	protected Echomail $echomail;

	/**
	 * Create a new Echomail channel instance.
	 *
	 * @param Echomail $o
	 */
	public function __construct(Echomail $o)
	{
		$this->echomail = $o;
	}

	/**
	 * Send the given notification.
	 *
	 * @param mixed $notifiable
	 * @param \Illuminate\Notifications\Notification $notification
	 * @return \Psr\Http\Message\ResponseInterface|void
	 */
	public function send($notifiable,Notification $notification)
	{
		if (! $echoarea = $notifiable->routeNotificationFor('echomail',$notification))
			return;

		$o = $notification->toEchomail($notifiable);

		Log::info(sprintf('%s:= Posted echomail (%d) [%s] to [%s]',self::LOGKEY,$o->id,$o->msgid,$echoarea->name));
	}
}