Files
Omair Saleh 6317736643 large commit
2019-10-05 14:30:00 +08:00

47 lines
1.8 KiB
PHP

<?php
namespace App\Http\Resources;
use App\Classes\Constants;
use App\Classes\Modules\Documents\ListDocuments;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Models\AddressBook;
use Illuminate\Support\Facades\DB;
class Company extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
$billing = $this->addressBook()->where('reference_id', $this->id)->where('type', 1)
->where('billing', true)->first();
$reports = \App\Models\Order::select(DB::raw('count(*) total'), DB::raw('SUM(CASE WHEN complete = 0 THEN 0 ELSE 1 END) active'))->where('company_id', $this->id)->first();
return [
'id' => $this->id,
'name' => $this->name,
'marking' => $this->marking,
'email' => $this->email,
'registration_no' => $this->registration_no,
'tax_no' => $this->tax_no,
'street_one' => $billing ? $billing->street_one : null,
'street_two' => $billing ? $billing->street_two : null,
'city' => $billing ? $billing->city : null,
'state' => $billing ? $billing->state : null,
'post_code' => $billing ? $billing->post_code : null,
'country' => $billing ? $billing->country : null,
'registration_certificate' => (new ListDocuments(Constants::MODULE_TYPES['company'], $this->id, 'registration_certificate'))->execute(),
'logo' => (new ListDocuments(Constants::MODULE_TYPES['company'], $this->id, 'logo'))->execute(),
'order_reports' => [
'total' => (int) $reports->total,
'active' => (int) $reports->active
]
];
}
}