attachments->map(fn ($attachment) => [ 'id' => $attachment->id, 'file_name' => $attachment->file_name, 'file_path' => $attachment->file_path, 'file_size' => $attachment->file_size, 'mime_type' => $attachment->mime_type, ])->toArray(); return new self( id: $ticket->id, ticketId: $ticket->ticket_id, userId: $ticket->user_id, userName: $ticket->user->name, connectedAppId: $ticket->connected_app_id, appName: $ticket->connectedApp?->name, issueCategory: $ticket->issue_category, description: $ticket->description, statusId: $ticket->status_id, statusName: $ticket->status->name, statusSlug: $ticket->status->slug, notifiedRoleNames: $ticket->notifiedRoles->pluck('name')->toArray(), notifiedUserNames: $ticket->notifiedUsers->pluck('name')->toArray(), createdAt: $ticket->created_at->toDateTimeString(), attachments: $attachments, ); } }