Laravel AT Protocol Client (alpha & unstable)
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add Arrayable interface to Chat Convo response classes

+65 -5
+13 -1
src/Data/Responses/Chat/Convo/GetLogResponse.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Data\Responses\Chat\Convo; 4 4 5 + use Illuminate\Contracts\Support\Arrayable; 5 6 use Illuminate\Support\Collection; 6 7 7 - class GetLogResponse 8 + /** 9 + * @implements Arrayable<string, mixed> 10 + */ 11 + class GetLogResponse implements Arrayable 8 12 { 9 13 /** 10 14 * @param Collection<int, mixed> $logs Collection of log event objects (LogBeginConvo, LogCreateMessage, etc.) ··· 20 24 logs: collect($data['logs'] ?? []), 21 25 cursor: $data['cursor'] ?? null, 22 26 ); 27 + } 28 + 29 + public function toArray(): array 30 + { 31 + return [ 32 + 'logs' => $this->logs->all(), 33 + 'cursor' => $this->cursor, 34 + ]; 23 35 } 24 36 }
+13 -1
src/Data/Responses/Chat/Convo/GetMessagesResponse.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Data\Responses\Chat\Convo; 4 4 5 + use Illuminate\Contracts\Support\Arrayable; 5 6 use Illuminate\Support\Collection; 6 7 use SocialDept\AtpSchema\Generated\Chat\Bsky\Convo\Defs\DeletedMessageView; 7 8 use SocialDept\AtpSchema\Generated\Chat\Bsky\Convo\Defs\MessageView; 8 9 9 - class GetMessagesResponse 10 + /** 11 + * @implements Arrayable<string, mixed> 12 + */ 13 + class GetMessagesResponse implements Arrayable 10 14 { 11 15 /** 12 16 * @param Collection<int, MessageView|DeletedMessageView> $messages ··· 30 34 ), 31 35 cursor: $data['cursor'] ?? null, 32 36 ); 37 + } 38 + 39 + public function toArray(): array 40 + { 41 + return [ 42 + 'messages' => $this->messages->map(fn (MessageView|DeletedMessageView $m) => $m->toArray())->all(), 43 + 'cursor' => $this->cursor, 44 + ]; 33 45 } 34 46 }
+14 -1
src/Data/Responses/Chat/Convo/LeaveConvoResponse.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Data\Responses\Chat\Convo; 4 4 5 - class LeaveConvoResponse 5 + use Illuminate\Contracts\Support\Arrayable; 6 + 7 + /** 8 + * @implements Arrayable<string, mixed> 9 + */ 10 + class LeaveConvoResponse implements Arrayable 6 11 { 7 12 public function __construct( 8 13 public readonly string $convoId, ··· 15 20 convoId: $data['convoId'], 16 21 rev: $data['rev'], 17 22 ); 23 + } 24 + 25 + public function toArray(): array 26 + { 27 + return [ 28 + 'convoId' => $this->convoId, 29 + 'rev' => $this->rev, 30 + ]; 18 31 } 19 32 }
+13 -1
src/Data/Responses/Chat/Convo/ListConvosResponse.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Data\Responses\Chat\Convo; 4 4 5 + use Illuminate\Contracts\Support\Arrayable; 5 6 use Illuminate\Support\Collection; 6 7 use SocialDept\AtpSchema\Generated\Chat\Bsky\Convo\Defs\ConvoView; 7 8 8 - class ListConvosResponse 9 + /** 10 + * @implements Arrayable<string, mixed> 11 + */ 12 + class ListConvosResponse implements Arrayable 9 13 { 10 14 /** 11 15 * @param Collection<int, ConvoView> $convos ··· 23 27 ), 24 28 cursor: $data['cursor'] ?? null, 25 29 ); 30 + } 31 + 32 + public function toArray(): array 33 + { 34 + return [ 35 + 'convos' => $this->convos->map(fn (ConvoView $c) => $c->toArray())->all(), 36 + 'cursor' => $this->cursor, 37 + ]; 26 38 } 27 39 }
+12 -1
src/Data/Responses/Chat/Convo/SendMessageBatchResponse.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Data\Responses\Chat\Convo; 4 4 5 + use Illuminate\Contracts\Support\Arrayable; 5 6 use Illuminate\Support\Collection; 6 7 use SocialDept\AtpSchema\Generated\Chat\Bsky\Convo\Defs\MessageView; 7 8 8 - class SendMessageBatchResponse 9 + /** 10 + * @implements Arrayable<string, mixed> 11 + */ 12 + class SendMessageBatchResponse implements Arrayable 9 13 { 10 14 /** 11 15 * @param Collection<int, MessageView> $items ··· 21 25 fn (array $item) => MessageView::fromArray($item) 22 26 ), 23 27 ); 28 + } 29 + 30 + public function toArray(): array 31 + { 32 + return [ 33 + 'items' => $this->items->map(fn (MessageView $m) => $m->toArray())->all(), 34 + ]; 24 35 } 25 36 }