Files
My-KOPKB/be/Modules/MembershipApplication/Transformers/MembershipApplicationListResource.php
T
ismailmasseran 421775d3ff
Build Docker Image / build-backend (push) Successful in 46s
Build Docker Image / build-frontend (push) Failing after 11s
Dev/v1.1 (#2)
Co-authored-by: ISMAIL MASSERAN <topaz@ISMAILs-Macbook.local>
Reviewed-on: #2
2026-07-02 10:09:08 +08:00

32 lines
1.2 KiB
PHP

<?php
namespace Modules\MembershipApplication\Transformers;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class MembershipApplicationListResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'application_number' => $this->application_number,
'status' => $this->status?->value ?? $this->status,
'board_result' => $this->board_result ?: null,
'submitted_at' => $this->submitted_at,
'has_result_letter' => ($this->result_letter_count ?? 0) > 0,
'result_letter_document' => $this->when(
($this->result_letter_count ?? 0) > 0 && $this->relationLoaded('resultLetterDocument') && $this->resultLetterDocument,
fn () => new MembershipApplicationDocumentResource($this->resultLetterDocument),
),
'applicant' => $this->whenLoaded('applicant', fn () => [
'name' => $this->applicant->name,
'email' => $this->applicant->email,
'ic_number' => $this->applicant->ic_number,
]),
'created_at' => $this->created_at?->toISOString(),
];
}
}