From f04fbab5c6e3f8877acbdd74d0da31274592bf65 Mon Sep 17 00:00:00 2001 From: "waffle.lord" Date: Fri, 26 Jul 2024 09:35:09 -0400 Subject: [PATCH] add published scope --- app/Models/Mod.php | 3 +++ app/Models/ModVersion.php | 2 ++ app/Models/Scopes/PublishedScope.php | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 app/Models/Scopes/PublishedScope.php diff --git a/app/Models/Mod.php b/app/Models/Mod.php index 6a15f0c..07172de 100644 --- a/app/Models/Mod.php +++ b/app/Models/Mod.php @@ -3,6 +3,7 @@ namespace App\Models; use App\Models\Scopes\DisabledScope; +use App\Models\Scopes\PublishedScope; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -26,6 +27,8 @@ class Mod extends Model { // Apply the global scope to exclude disabled mods. static::addGlobalScope(new DisabledScope); + // Apply the global scope to exclude non-published mods. + static::addGlobalScope(new PublishedScope); } /** diff --git a/app/Models/ModVersion.php b/app/Models/ModVersion.php index a167039..79b5d13 100644 --- a/app/Models/ModVersion.php +++ b/app/Models/ModVersion.php @@ -3,6 +3,7 @@ namespace App\Models; use App\Models\Scopes\DisabledScope; +use App\Models\Scopes\PublishedScope; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -15,6 +16,7 @@ class ModVersion extends Model protected static function booted(): void { static::addGlobalScope(new DisabledScope); + static::addGlobalScope(new PublishedScope); } public function mod(): BelongsTo diff --git a/app/Models/Scopes/PublishedScope.php b/app/Models/Scopes/PublishedScope.php new file mode 100644 index 0000000..e8b65b3 --- /dev/null +++ b/app/Models/Scopes/PublishedScope.php @@ -0,0 +1,19 @@ +where($model->getTable().'.published_at', "<=", now()); + } +}