<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Resources\Products;
use App\Models\Product;

class ProductController extends Controller
{
    public function index()
    {
        $query = Product::full()
            ->select(
                'id',
                'language_id',
                'title',
                'thumbnail_id',
                'website_objects.website_object_id',
                'website_objects.parent_id'
            )
            ->with([
                'thumbnail'
            ])
            ->where('status', 'published')
            ->orderBy('website_objects.position', 'asc');

        $products = $query->get();

        return Products::collection($products);
    }

    public function show($id)
    {

        $product = Product::full()
            ->select(
                'id',
                'language_id',
                'title',
                'thumbnail_id',
                'website_objects.website_object_id',
                'website_objects.parent_id'
            )
            ->with([
                'thumbnail'
            ])
            ->where('status', 'published')
            ->findOrFail($id);

        return new Products($product);
    }
}
