mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
* Create PHP CS Fixer config and add to CI workflow * Run php cs fixer on project * Add newline at end of file * Update to use PHP CS Fixer v3 * Run v3 config on project * Run seperate config in CI
63 lines
1.2 KiB
PHP
63 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Crater\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Spatie\MediaLibrary\HasMedia;
|
|
use Spatie\MediaLibrary\InteractsWithMedia;
|
|
|
|
class Company extends Model implements HasMedia
|
|
{
|
|
use InteractsWithMedia;
|
|
|
|
use HasFactory;
|
|
|
|
protected $fillable = ['name', 'logo', 'unique_hash'];
|
|
|
|
protected $appends = ['logo', 'logo_path'];
|
|
|
|
public function getLogoPathAttribute()
|
|
{
|
|
$logo = $this->getMedia('logo')->first();
|
|
|
|
$isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem();
|
|
|
|
if ($logo) {
|
|
if ($isSystem) {
|
|
return $logo->getPath();
|
|
} else {
|
|
return $logo->getFullUrl();
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public function getLogoAttribute()
|
|
{
|
|
$logo = $this->getMedia('logo')->first();
|
|
|
|
if ($logo) {
|
|
return $logo->getFullUrl();
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public function user()
|
|
{
|
|
return $this->hasOne(User::class);
|
|
}
|
|
|
|
public function settings()
|
|
{
|
|
return $this->hasMany(CompanySetting::class);
|
|
}
|
|
|
|
public function address()
|
|
{
|
|
return $this->hasOne(Address::class);
|
|
}
|
|
}
|