swap ModeratedModel for CanModerate trait

This commit is contained in:
IsWaffle 2024-12-09 15:58:11 -05:00
parent 04ea8b9ccb
commit 570742dcba
4 changed files with 18 additions and 28 deletions

View File

@ -4,6 +4,7 @@ namespace App\Models;
use App\Http\Filters\V1\QueryFilter; use App\Http\Filters\V1\QueryFilter;
use App\Models\Scopes\PublishedScope; use App\Models\Scopes\PublishedScope;
use App\Traits\CanModerate;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
@ -18,8 +19,9 @@ use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Laravel\Scout\Searchable; use Laravel\Scout\Searchable;
class Mod extends ModeratedModel class Mod extends Model
{ {
use CanModerate;
use HasFactory; use HasFactory;
use Searchable; use Searchable;
use SoftDeletes; use SoftDeletes;
@ -257,9 +259,4 @@ class Mod extends ModeratedModel
set: fn (string $value) => Str::slug($value), set: fn (string $value) => Str::slug($value),
); );
} }
public function getFriendlyName(): string
{
return $this->name;
}
} }

View File

@ -5,6 +5,7 @@ namespace App\Models;
use App\Exceptions\InvalidVersionNumberException; use App\Exceptions\InvalidVersionNumberException;
use App\Models\Scopes\PublishedScope; use App\Models\Scopes\PublishedScope;
use App\Support\Version; use App\Support\Version;
use App\Traits\CanModerate;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
@ -13,8 +14,9 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOneThrough; use Illuminate\Database\Eloquent\Relations\HasOneThrough;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class ModVersion extends ModeratedModel class ModVersion extends Model
{ {
use CanModerate;
use HasFactory; use HasFactory;
use SoftDeletes; use SoftDeletes;
@ -168,9 +170,4 @@ class ModVersion extends ModeratedModel
'published_at' => 'datetime', 'published_at' => 'datetime',
]; ];
} }
public function getFriendlyName(): string
{
return $this->version;
}
} }

View File

@ -1,16 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
abstract class ModeratedModel extends Model
{
abstract public function getFriendlyName(): string;
public function toggleDisabled(): void
{
$this->disabled = ! $this->disabled;
$this->save();
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Traits;
trait CanModerate
{
public function toggleDisabled(): void
{
$this->disabled = ! $this->disabled;
$this->save();
}
}