$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(), ]; } }