Files
Verde-Web/app/Http/Resources/RouteStopResource.php
admin de77503cdd feat(backend): complete Module 8 (routes)
routes + route_stops tables. Admin CRUD with stops submitted as an
ordered array (drag-reorder is client-side; sequence is array-index).
Cloning produces an inactive copy with -COPY-XXXX suffix. RouteCalculator
recomputes total_distance_km via ST_Distance_Sphere across stop
coordinates + dumpsite, and estimated_duration_minutes from dwell time
+ travel time at config-driven avg speed (default 25 km/h).
default_team_id stays nullable bigint until Module 9 adds the FK.

139 feature tests passing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 02:25:04 +08:00

20 lines
515 B
PHP

<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class RouteStopResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'sequence' => $this->sequence,
'estimated_duration_minutes' => $this->estimated_duration_at_stop_minutes,
'drop_off_point' => DropOffPointResource::make($this->whenLoaded('dropOffPoint')),
];
}
}