|
@@ -7,6 +7,15 @@ use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
|
|
|
class AssetResource extends JsonResource
|
|
|
{
|
|
|
+ protected int $level = 1;
|
|
|
+
|
|
|
+ public function __construct($resource, int $level = 0)
|
|
|
+ {
|
|
|
+ parent::__construct($resource);
|
|
|
+
|
|
|
+ $this->level = $level + 1;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Transform the resource into an array.
|
|
|
*
|
|
@@ -30,10 +39,10 @@ class AssetResource extends JsonResource
|
|
|
'latitude' => $this->latitude,
|
|
|
'longitude' => $this->longitude,
|
|
|
'parent_id' => $this->parent_id,
|
|
|
-// 'children' => $this->parent_id == 0 ? AssetResource::collection($this->children) : [],
|
|
|
+ 'level' => $this->level,
|
|
|
'children' => $this->when($this->children->isNotEmpty(), function () {
|
|
|
return $this->children->map(function ($child) {
|
|
|
- return new AssetResource($child);
|
|
|
+ return new AssetResource($child, $this->level);
|
|
|
})->all();
|
|
|
}),
|
|
|
];
|