feat: ship creator journey v2 and profile updates
This commit is contained in:
@@ -5,14 +5,17 @@ declare(strict_types=1);
|
||||
namespace App\Services\Sitemaps\Builders;
|
||||
|
||||
use App\Models\Category;
|
||||
use App\Models\ContentType;
|
||||
use App\Services\ContentTypes\ContentTypeSlugResolver;
|
||||
use App\Services\Sitemaps\AbstractSitemapBuilder;
|
||||
use App\Services\Sitemaps\SitemapUrlBuilder;
|
||||
use DateTimeInterface;
|
||||
|
||||
final class CategoriesSitemapBuilder extends AbstractSitemapBuilder
|
||||
{
|
||||
public function __construct(private readonly SitemapUrlBuilder $urls)
|
||||
public function __construct(
|
||||
private readonly SitemapUrlBuilder $urls,
|
||||
private readonly ContentTypeSlugResolver $contentTypeResolver,
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -25,19 +28,18 @@ final class CategoriesSitemapBuilder extends AbstractSitemapBuilder
|
||||
{
|
||||
$items = [$this->urls->categoryDirectory()];
|
||||
|
||||
$contentTypes = ContentType::query()
|
||||
->whereIn('slug', $this->contentTypeSlugs())
|
||||
->ordered()
|
||||
->get();
|
||||
$contentTypes = $this->contentTypeResolver->dynamicSitemapContentTypes();
|
||||
|
||||
foreach ($contentTypes as $contentType) {
|
||||
$items[] = $this->urls->contentType($contentType);
|
||||
}
|
||||
|
||||
$contentTypeIds = $contentTypes->pluck('id')->filter()->values();
|
||||
|
||||
$categories = Category::query()
|
||||
->with('contentType')
|
||||
->active()
|
||||
->whereHas('contentType', fn ($query) => $query->whereIn('slug', $this->contentTypeSlugs()))
|
||||
->when($contentTypeIds->isNotEmpty(), fn ($query) => $query->whereIn('content_type_id', $contentTypeIds->all()))
|
||||
->orderBy('content_type_id')
|
||||
->orderBy('parent_id')
|
||||
->orderBy('sort_order')
|
||||
|
||||
Reference in New Issue
Block a user