*/ public function toArray($request): array { return [ 'data' => $this->collection->map(function ($document) { return [ 'id' => $document->id, 'deceased_id' => $document->deceased_id, 'doc_type' => $document->doc_type, 'file_id' => $document->file_id, 'generated_at' => $document->generated_at?->format('Y-m-d H:i:s'), 'created_at' => $document->created_at?->format('Y-m-d H:i:s'), 'updated_at' => $document->updated_at?->format('Y-m-d H:i:s'), // Relations 'deceased' => $document->deceased ? [ 'id' => $document->deceased->id, 'first_name' => $document->deceased->first_name, 'last_name' => $document->deceased->last_name, 'full_name' => $document->deceased->first_name . ' ' . $document->deceased->last_name, 'date_of_birth' => $document->deceased->date_of_birth?->format('Y-m-d'), 'date_of_death' => $document->deceased->date_of_death?->format('Y-m-d'), ] : null, 'file' => $document->file ? [ 'id' => $document->file->id, 'filename' => $document->file->filename ?? null, 'path' => $document->file->path ?? null, 'mime_type' => $document->file->mime_type ?? null, 'size' => $document->file->size ?? null, ] : null, ]; }), ]; } }