mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-11-04 06:23:17 -05: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);
 | 
						|
    }
 | 
						|
}
 |