<?php

namespace App\Classes\FTN\Process\Netmail\Robot\Areafix;

use Illuminate\Support\Facades\Log;

use App\Models\Netmail;

// Our base areafix commands class
abstract class Base
{
	private const LOGKEY = 'AB-';

	protected Netmail $mo;
	protected array $arguments;

	public function __construct(Netmail $mo,array $arguments) {
		Log::debug(sprintf('%s:- Areafix [%s] command with arguments [%s] for [%s]',self::LOGKEY,get_class($this),implode('|',$arguments),$mo->fftn->ftn));

		$this->mo = $mo;
		$this->arguments = $arguments;
	}

	abstract public static function help(): array;
	abstract public function process(): string;
}