<?php

/**
 * Add MsgID to new models
 */
namespace App\Traits;

use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Log;

use App\Classes\FTN\Message;

trait MsgID
{
	public function save(array $options = [])
	{
		// Only create a MSGID for locally generated content
		if ((! $this->exists) && ($this->flags & Message::FLAG_LOCAL) && (is_null(Arr::get($this->attributes,'msgid')))) {
			$ftn = our_address($this->fftn);
			$this->attributes['msgid'] = sprintf('%s %08x',$ftn->ftn4d,timew());

			Log::debug(sprintf('%s:- Auto setting msgid to [%s]',self::LOGKEY,$this->attributes['msgid']));
		}

		return parent::save($options);
	}
}