Files
SkinbaseNova/.deploy/artwork-evolution-release/app/Services/CollectionPlacementService.php
2026-04-18 17:02:56 +02:00

25 lines
692 B
PHP

<?php
namespace App\Services;
use App\Models\CollectionSurfacePlacement;
use Carbon\Carbon;
class CollectionPlacementService
{
public function activePlacementsForSurface(string $surfaceKey)
{
$now = Carbon::now();
return CollectionSurfacePlacement::where('surface_key', $surfaceKey)
->where('is_active', true)
->where(function ($q) use ($now) {
$q->whereNull('starts_at')->orWhere('starts_at', '<=', $now);
})
->where(function ($q) use ($now) {
$q->whereNull('ends_at')->orWhere('ends_at', '>=', $now);
})
->orderByDesc('priority')
->get();
}
}