<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Models\Route;
use App\Http\Resources\RoutesCollection;

class RouteController extends Controller
{
    public function index()
    {
        $routes = Route::select('*')->full()
            ->where('status', 'published')
            ->whereHas('waypoints')
            ->with([
                'waypoints' => function ($query) {
                    $query->select('*')->full()->orderBy('property_route.position', 'asc');
                },
                'icon'
            ])
            ->orderBy('website_objects.position', 'asc')
            ->get();

        return new RoutesCollection($routes);
    }
}
