osb/app/Models/Service/Phone.php

71 lines
1.3 KiB
PHP

<?php
namespace App\Models\Service;
/**
* Class Phone (Service)
* Services that are Voice Telephony
*/
class Phone extends Type
{
protected $dates = [
'connect_at',
'expire_at',
];
protected $table = 'service_phone';
/* INTERFACES */
/**
* Return the service address
*
* @return string
*/
public function getServiceDescriptionAttribute(): string
{
return strtoupper($this->service_address) ?: '-';
}
/**
* Return the service number
*
* @return string
*/
public function getServiceNameAttribute(): string
{
return $this->service_number ?: ($this->service_address ?: '-');
}
/* ATTRIBUTES */
/**
* The type of technology used to provide this Internet Service
*
* @param $value
* @return null|string
*/
public function getTechnologyAttribute($value): ?string
{
return $value ?: $this->supplied()->technology;
}
/* OVERRIDES */
/**
* Service update validation
*
* @return array
*/
public function validation(): array
{
return [
'service_number' => 'nullable|string|min:10|max:10',
'service_address' => 'nullable|string|min:3',
'service_username' => 'nullable|string',
'service_password' => 'nullable|string',
'connect_at' => 'nullable|date',
'start_at' => 'nullable|date',
'expire_at' => 'nullable|date|after:start_at',
];
}
}