store/app/Models/SystemConfiguration.php

36 lines
948 B
PHP

<?php
namespace App\Models;
use App\Models\Concerns\HasModuleMedia;
use App\Models\Concerns\InteractsWithActivityLog;
use Illuminate\Database\Eloquent\Attributes\Guarded;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
#[Guarded(['id'])]
class SystemConfiguration extends Model implements HasMedia
{
// 1. Use Trait
use HasFactory, HasModuleMedia, InteractsWithActivityLog;
// 2. Other Methods
public static function instance(): self
{
return static::query()->firstOrCreate(['id' => 1]);
}
public static function mediaModuleName(): string
{
return 'setting';
}
public function registerMediaCollections(): void
{
$this->addMediaCollection('favicon')->singleFile();
$this->addMediaCollection('login_cover')->singleFile();
$this->addMediaCollection('logo')->singleFile();
}
}