<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Notification;

use App\Models\{Address,User};
use App\Notifications\Netmails\AddressLink;

class UserCodeSend extends Command
{
	protected $signature = 'user:code:send'
		.' {ftn : FTN to send link code to}'
		.' {email : User to send the link to}';

	protected $description = 'Send a link to a user';

	/**
	 * Execute the console command.
	 *
	 * @return int
	 * @throws \Exception
	 */
	public function handle(): int
	{
		$ao = Address::findFTN($this->argument('ftn'));
		$uo = User::where('email',$this->argument('email'))->singleOrFail();

		Notification::route('netmail',$ao->uplink())->notify(new AddressLink($uo));

		return self::SUCCESS;
	}
}