$session->owner_ref, 'session_id' => $session->id, 'sender_ref' => $senderRef, 'sender_name' => $senderName, 'type' => 'public', 'body' => $body, ]); } public function sendReaction( Session $session, string $senderName, string $emoji, ?string $participantRef = null, ): Reaction { return Reaction::create([ 'owner_ref' => $session->owner_ref, 'session_id' => $session->id, 'participant_ref' => $participantRef, 'sender_name' => $senderName, 'emoji' => $emoji, ]); } /** * @return \Illuminate\Database\Eloquent\Collection */ public function recentMessages(Session $session, int $limit = 100) { return $session->messages() ->where('type', 'public') ->orderByDesc('created_at') ->limit($limit) ->get() ->reverse() ->values(); } }