<?php

namespace App\Http\Controllers\Frontend;

use App\Http\Controllers\Controller;
use App\Http\Resources\PageResource;
use App\Models\Backoffice\Page;

class PagesController extends Controller
{
    public function show($slug)
    {
        $query = Page::full()
            ->select('*')
            ->where('status', 'published')
            ->where('slug', $slug)
            ->orderBy('website_objects.website_object_id', 'desc');

        $query->with([
            'blocks' => function ($query) {
                $query
                    ->full()
                    ->orderBy('page_block.position', 'asc');
            }
        ]);

        $page = $query->first();

        if ($page) {
            return new PageResource($page);
        }
        return response()->json([], 404);
    }
}
