Skip to content

Commit fb2f95a

Browse files
authored
Merge pull request #6 from carandclassic/add-lastmessage-support-to-conversation-model
Add lastmessage support to conversation model
2 parents a4d6957 + f206de2 commit fb2f95a

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/Models/Conversation.php

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace CarAndClassic\TalkJS\Models;
66

7+
use CarAndClassic\TalkJS\Models\Message;
8+
79
class Conversation
810
{
911
public string $id;
@@ -18,6 +20,8 @@ class Conversation
1820

1921
public array $custom;
2022

23+
public ?Message $lastMessage;
24+
2125
public array $participants;
2226

2327
public int $createdAt;
@@ -30,6 +34,7 @@ public function __construct(array $data)
3034
$this->photoUrl = $data['photoUrl'] ?? null;
3135
$this->welcomeMessages = $data['welcomeMessages'] ?? [];
3236
$this->custom = $data['custom'] ?? [];
37+
$this->lastMessage = isset($data['lastMessage']) ? new Message($data['lastMessage']) : null;
3338
$this->participants = $data['participants'] ?? [];
3439
$this->createdAt = $data['createdAt'];
3540
}

tests/Feature/ConversationTest.php

+17
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use CarAndClassic\TalkJS\Events\ConversationRead;
1414
use CarAndClassic\TalkJS\Events\ParticipationUpdated;
1515
use CarAndClassic\TalkJS\Models\Conversation;
16+
use CarAndClassic\TalkJS\Models\Message;
1617
use Symfony\Component\HttpClient\Response\MockResponse;
1718

1819
final class ConversationTest extends TestCase
@@ -37,6 +38,21 @@ public function setUp(): void
3738
'photoUrl' => null,
3839
'welcomeMessages' => ['Test Welcome Message'],
3940
'custom' => ['test' => 'test'],
41+
'lastMessage' => new Message([
42+
'id' => "test",
43+
'type' => "UserMessage",
44+
'conversationId' => "dev_test",
45+
'senderId' => $this->userIds[1],
46+
'text' => "This is the message copy",
47+
'readBy' => [
48+
$this->userIds[0],
49+
],
50+
'origin' => "rest",
51+
'location' => null,
52+
'custom' => [],
53+
'attachment' => null,
54+
'createdAt' => $createdAt,
55+
]),
4056
'participants' => [
4157
$this->userIds[0] => [
4258
'access' => 'ReadWrite',
@@ -56,6 +72,7 @@ public function setUp(): void
5672
'photoUrl' => null,
5773
'welcomeMessages' => ['Test Welcome Message'],
5874
'custom' => ['test' => 'test'],
75+
'lastMessage' => null,
5976
'participants' => [
6077
$this->userIds[0] => [
6178
'access' => 'ReadWrite',

0 commit comments

Comments
 (0)