Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
InvoiceDetailsResource
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 toArray
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Domain\Invoice\Resources;
4
5use Illuminate\Http\Request;
6use Illuminate\Http\Resources\Json\JsonResource;
7
8use Domain\Supplier\Resources\SupplierResource;
9use Domain\PurchaseOrder\Resources\PurchaseOrderResource;
10
11class InvoiceDetailsResource extends JsonResource
12{
13    /**
14     * @property int $id
15     * @property string $key
16     * @property InvoiceStatusEnum $status
17     * @property Supplier $suppliers
18     * @property InvoicePurchaseOrderStatusEnum $purchase_order_status
19     * @property VerificationStatusInvoiceEnum $verification_status
20     * @property InvoiceItem $invoice_items
21     * @property InvoiceVerification $invoice_verification
22     * @property PurchaseOrderResource $purchase_order
23     */
24    public function toArray(Request $request): array
25    {
26        return [
27            'key'                           => $this->key,
28            'issue_date'                    => (string) $this->issue_date,
29            'status'                        => $this->status->value,
30            'invoice_verification_status'   => $this->verification_status->value,
31            'invoice_purchase_order_status' => $this->purchase_order_status->value,
32            'suppliers'                     => SupplierResource::make($this->whenLoaded('supplier')),
33            'invoice_activety_log'          => InvoiceActivetyLogResource::collection($this->whenLoaded('invoiceActivetyLog')),
34            'invoice_items'                 => InvoiceItemDetailsResource::collection($this->whenLoaded('invoiceItem')),
35            'invoice_verification'          => InvoiceVerificationResource::collection($this->whenLoaded('invoiceVerification')),
36        ];
37    }
38}