Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
20 / 20
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
TransactionStockOutputRequestResource
100.00% covered (success)
100.00%
20 / 20
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 toArray
100.00% covered (success)
100.00%
20 / 20
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3namespace Domain\Transaction\Resources;
4
5use Domain\CostCenter\Resources\CostCenterResource;
6use Domain\CostCenter\Resources\ResourceCenterResource;
7use Domain\Integration\Resources\IntegrationResource;
8use Domain\User\Resources\UserResource;
9use Illuminate\Http\Request;
10use Illuminate\Http\Resources\Json\JsonResource;
11
12class TransactionStockOutputRequestResource extends JsonResource
13{
14    public function toArray(Request $request): array
15    {
16        $requestModel = $this->request;
17        $costCenter = $requestModel?->costCenter;
18        $resourceCenter = $requestModel?->resourceCenter;
19
20        return [
21            'id' => $this->id,
22            'transferable_id' => $this->transferable?->getKey(),
23            'urgent' => $this->urgent,
24            'observation' => $this->observation,
25            'status' => $this->status->value,
26            'type' => $this->type->value,
27            'reason' => $this->reason,
28            'sector' => $this->sector->value,
29            'created_at' => (string) $this->created_at,
30            'integration' => IntegrationResource::make($this->whenLoaded('integration')),
31            'requester' => UserResource::make($requestModel?->requester),
32            'applicant' => json_decode($requestModel?->applicant),
33            'cost_center' => $costCenter ? CostCenterResource::make($costCenter->loadMissing(['integration'])) : null,
34            'resource_center' => $resourceCenter ? ResourceCenterResource::make($resourceCenter->loadMissing(['integration'])) : null,
35            'resource' => json_decode($requestModel?->resource),
36        ];
37    }
38}