⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.14
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
Server Software:
Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.25
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
taxi.dev-unit.com
/
app
/
Models
/
Admin
/
View File Name :
VehicleType.php
<?php namespace App\Models\Admin; use Storage; use Carbon\Carbon; use App\Models\User; use App\Base\Uuid\UuidModel; use App\Models\Traits\HasActive; use App\Models\Traits\DeleteOldFiles; use Illuminate\Database\Eloquent\Model; use App\Models\Traits\HasActiveCompanyKey; use Illuminate\Database\Eloquent\SoftDeletes; use Nicolaslopezj\Searchable\SearchableTrait; class VehicleType extends Model { use HasActive, UuidModel,DeleteOldFiles,SoftDeletes,SearchableTrait,HasActiveCompanyKey; /** * The table associated with the model. * * @var string */ protected $table = 'vehicle_types'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'icon', 'capacity','is_accept_share_ride','active','company_key','description','supported_vehicles','short_description','size','is_taxi', 'icon_types_for','trip_dispatch_type' ]; /** * The accessors to append to the model's array form. * * @var array */ protected $appends = [ ]; /** * The attributes that have files that should be auto deleted on updating or deleting. * * @var array */ public $deletableFiles = [ 'icon' ]; /** * The relationships that can be loaded with query string filtering includes. * * @var array */ public $includes = [ ]; /** * Searchable rules. * * @var array */ protected $searchable = [ /** * Columns and their priority in search results. * Columns with higher values are more important. * Columns with equal values have equal importance. * * @var array */ 'columns' => [ 'vehicle_types.name' => 20, ], ]; /** * The admin that the uploaded image belongs to. * @tested * * @return \Illuminate\Database\Eloquent\Relations\belongsTo */ public function serviceLocation() { return $this->belongsTo(ServiceLocation::class, 'service_location_id', 'id'); } /** * Get the Profile image full file path. * * @param string $value * @return string */ public function getIconAttribute($value) { if (empty($value)) { return null; } // return asset(file_path('storage/'.$this->uploadPath(), $value)); return Storage::disk(env('FILESYSTEM_DRIVER'))->url(file_path($this->uploadPath(), $value)); } /** * The default file upload path. * * @return string|null */ public function uploadPath() { // if (!$this->serviceLocation()->exists()) { // return null; // } // return folder_merge(config('base.types.upload.images.path'), $this->service_location_id); return config('base.types.upload.images.path'); } /** * The Zone has many Types. * @tested * * @return \Illuminate\Database\Eloquent\Relations\hasMany */ public function zoneType() { return $this->hasMany(ZoneType::class, 'type_id', 'id'); } /** * Get formated and converted timezone of user's created at. * * @param string $value * @return string */ public function getConvertedCreatedAtAttribute() { if ($this->created_at==null||!auth()->user()->exists()) { return null; } $timezone = auth()->user()->timezone?:env('SYSTEM_DEFAULT_TIMEZONE'); return Carbon::parse($this->created_at)->setTimezone($timezone)->format('jS M h:i A'); } /** * Get formated and converted timezone of user's created at. * * @param string $value * @return string */ public function getConvertedUpdatedAtAttribute() { if ($this->updated_at==null||!auth()->user()->exists()) { return null; } $timezone = auth()->user()->timezone?:env('SYSTEM_DEFAULT_TIMEZONE'); return Carbon::parse($this->updated_at)->setTimezone($timezone)->format('jS M h:i A'); } }