<?php namespace App\Models\Product; use Illuminate\Support\Collection; use App\Interfaces\ProductItem; use App\Models\Service\Email as ServiceEmail; use App\Models\Supplier\Email as SupplierEmail; final class Email extends Type implements ProductItem { protected $table = 'product_email'; // The model that is referenced when this product is ordered protected string $order_model = ServiceEmail::class; /* RELATIONS */ /** * The offering supplied with this product * * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function supplied() { return $this->hasOne(SupplierEmail::class,'id','supplier_item_id'); } /* INTERFACES */ public function allowance(): Collection { // N/A return collect(); } public function allowance_string(): string { // N/A return ''; } public function getContractTermAttribute(): int { return 12; } public function getCostAttribute(): float { // N/A return 0; } public function getSupplierAttribute() { return ''; } public function getTypeAttribute() { return 'Domain Name'; } public function hasUsage(): bool { return FALSE; } }