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()); + } +}