Files
radicall/app/Http/Resources/Client/CaseResource.php
T

42 lines
1.1 KiB
PHP

<?php
namespace App\Http\Resources\Client;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class CaseResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'code' => $this->code,
'status' => $this->status,
'modality' => $this->modality,
'requester' => optional($this->requester)->fullname,
'submitted_at' => $this->submitted_at ? verta($this->submitted_at)->format('%Y/%m/%d - H:i') : null,
'processing_deadline' => $this->deadlineLabel(),
];
}
protected function deadlineLabel(): ?string
{
if (!$this->processing_deadline) {
return null;
}
if (now()->greaterThanOrEqualTo($this->processing_deadline)) {
return 'اتمام فرصت رسیدگی';
}
$minutes = (int) now()->diffInMinutes($this->processing_deadline, true);
if ($minutes < 60) {
return $minutes . ' دقیقه';
}
return 'کمتر از ' . (int) ceil($minutes / 60) . ' ساعت';
}
}