<?php

namespace App\Models\Supplier;

use App\Interfaces\SupplierItem;
use App\Models\Product\Domain as ProductDomain;
use App\Models\TLD;

final class Domain extends Type implements SupplierItem
{
	protected $table = 'supplier_domain';

	/* INTERFACES */

	public function getBillingIntervalAttribute(): int
	{
		return 4;	// Yearly
	}

	public function getNameAttribute(): string
	{
		return sprintf('%s: %s',$this->product_id,$this->tld->name);
	}

	public function types()
	{
		return $this->belongsToMany(ProductDomain::class,$this->table,'id','id','id','supplier_item_id');
	}

	/* RELATIONS */

	public function tld()
	{
		return $this->belongsTo(TLD::class);
	}
}