Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
ResourceCenterEquipmentResource
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 1
 toArray
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3namespace Domain\CostCenter\Resources;
4
5use App\Models\CostCenter\CostCenter;
6use App\Models\CostCenter\ResourceCenter;
7use Domain\Integration\Resources\IntegrationResource;
8
9use Illuminate\Http\Request;
10use Illuminate\Http\Resources\Json\JsonResource;
11
12/**
13 * @property integer $id
14 * @property string $description
15 * @property string $acronym
16 * @property IntegrationResource $integration
17 * @property string $created_at
18 * @property string $updated_at
19 */
20class ResourceCenterEquipmentResource extends JsonResource
21{
22    public function toArray(Request $request): array
23    {
24        $equipment = is_string($this->equipment)
25            ? json_decode($this->equipment, true)
26            : $this->equipment;
27
28        $equipment = is_array($equipment) ? $equipment : [];
29
30        $cost_center = CostCenter::find($this->cost_center_id);
31        $resource_center = ResourceCenter::find($this->resource_center_id);
32
33        return [
34            'equipment_code'        => $equipment['equipment_code'] ?? null,
35            'equipment_description' => $equipment['equipment_description'] ?? null,
36            'cost_center'           => CostCenterResource::make($cost_center),
37            'resource_center'       => ResourceCenterResource::make($resource_center),
38        ];
39    }
40}