diff --git a/src/Data/Responses/Atproto/Repo/CreateRecordResponse.php b/src/Data/Responses/Atproto/Repo/CreateRecordResponse.php index 8afe4b9..4b827c3 100644 --- a/src/Data/Responses/Atproto/Repo/CreateRecordResponse.php +++ b/src/Data/Responses/Atproto/Repo/CreateRecordResponse.php @@ -2,9 +2,13 @@ namespace SocialDept\AtpClient\Data\Responses\Atproto\Repo; +use Illuminate\Contracts\Support\Arrayable; use SocialDept\AtpSchema\Generated\Com\Atproto\Repo\Defs\CommitMeta; -class CreateRecordResponse +/** + * @implements Arrayable + */ +class CreateRecordResponse implements Arrayable { public function __construct( public readonly string $uri, @@ -22,4 +26,14 @@ class CreateRecordResponse validationStatus: $data['validationStatus'] ?? null, ); } + + public function toArray(): array + { + return [ + 'uri' => $this->uri, + 'cid' => $this->cid, + 'commit' => $this->commit?->toArray(), + 'validationStatus' => $this->validationStatus, + ]; + } } diff --git a/src/Data/Responses/Atproto/Repo/DeleteRecordResponse.php b/src/Data/Responses/Atproto/Repo/DeleteRecordResponse.php index b681727..4571cd5 100644 --- a/src/Data/Responses/Atproto/Repo/DeleteRecordResponse.php +++ b/src/Data/Responses/Atproto/Repo/DeleteRecordResponse.php @@ -2,9 +2,13 @@ namespace SocialDept\AtpClient\Data\Responses\Atproto\Repo; +use Illuminate\Contracts\Support\Arrayable; use SocialDept\AtpSchema\Generated\Com\Atproto\Repo\Defs\CommitMeta; -class DeleteRecordResponse +/** + * @implements Arrayable + */ +class DeleteRecordResponse implements Arrayable { public function __construct( public readonly ?CommitMeta $commit = null, @@ -16,4 +20,11 @@ class DeleteRecordResponse commit: isset($data['commit']) ? CommitMeta::fromArray($data['commit']) : null, ); } + + public function toArray(): array + { + return [ + 'commit' => $this->commit?->toArray(), + ]; + } } diff --git a/src/Data/Responses/Atproto/Repo/DescribeRepoResponse.php b/src/Data/Responses/Atproto/Repo/DescribeRepoResponse.php index 8fd1484..006b786 100644 --- a/src/Data/Responses/Atproto/Repo/DescribeRepoResponse.php +++ b/src/Data/Responses/Atproto/Repo/DescribeRepoResponse.php @@ -2,7 +2,12 @@ namespace SocialDept\AtpClient\Data\Responses\Atproto\Repo; -class DescribeRepoResponse +use Illuminate\Contracts\Support\Arrayable; + +/** + * @implements Arrayable + */ +class DescribeRepoResponse implements Arrayable { /** * @param array $collections @@ -25,4 +30,15 @@ class DescribeRepoResponse handleIsCorrect: $data['handleIsCorrect'], ); } + + public function toArray(): array + { + return [ + 'handle' => $this->handle, + 'did' => $this->did, + 'didDoc' => $this->didDoc, + 'collections' => $this->collections, + 'handleIsCorrect' => $this->handleIsCorrect, + ]; + } } diff --git a/src/Data/Responses/Atproto/Repo/GetRecordResponse.php b/src/Data/Responses/Atproto/Repo/GetRecordResponse.php index ecabc6e..e903f17 100644 --- a/src/Data/Responses/Atproto/Repo/GetRecordResponse.php +++ b/src/Data/Responses/Atproto/Repo/GetRecordResponse.php @@ -2,7 +2,12 @@ namespace SocialDept\AtpClient\Data\Responses\Atproto\Repo; -class GetRecordResponse +use Illuminate\Contracts\Support\Arrayable; + +/** + * @implements Arrayable + */ +class GetRecordResponse implements Arrayable { public function __construct( public readonly string $uri, @@ -18,4 +23,13 @@ class GetRecordResponse cid: $data['cid'] ?? null, ); } + + public function toArray(): array + { + return [ + 'uri' => $this->uri, + 'value' => $this->value, + 'cid' => $this->cid, + ]; + } } diff --git a/src/Data/Responses/Atproto/Repo/ListRecordsResponse.php b/src/Data/Responses/Atproto/Repo/ListRecordsResponse.php index 1d00b57..e894548 100644 --- a/src/Data/Responses/Atproto/Repo/ListRecordsResponse.php +++ b/src/Data/Responses/Atproto/Repo/ListRecordsResponse.php @@ -2,9 +2,13 @@ namespace SocialDept\AtpClient\Data\Responses\Atproto\Repo; +use Illuminate\Contracts\Support\Arrayable; use Illuminate\Support\Collection; -class ListRecordsResponse +/** + * @implements Arrayable + */ +class ListRecordsResponse implements Arrayable { /** * @param Collection $records @@ -21,4 +25,12 @@ class ListRecordsResponse cursor: $data['cursor'] ?? null, ); } + + public function toArray(): array + { + return [ + 'records' => $this->records->all(), + 'cursor' => $this->cursor, + ]; + } } diff --git a/src/Data/Responses/Atproto/Repo/PutRecordResponse.php b/src/Data/Responses/Atproto/Repo/PutRecordResponse.php index 3703169..07178a7 100644 --- a/src/Data/Responses/Atproto/Repo/PutRecordResponse.php +++ b/src/Data/Responses/Atproto/Repo/PutRecordResponse.php @@ -2,9 +2,13 @@ namespace SocialDept\AtpClient\Data\Responses\Atproto\Repo; +use Illuminate\Contracts\Support\Arrayable; use SocialDept\AtpSchema\Generated\Com\Atproto\Repo\Defs\CommitMeta; -class PutRecordResponse +/** + * @implements Arrayable + */ +class PutRecordResponse implements Arrayable { public function __construct( public readonly string $uri, @@ -22,4 +26,14 @@ class PutRecordResponse validationStatus: $data['validationStatus'] ?? null, ); } + + public function toArray(): array + { + return [ + 'uri' => $this->uri, + 'cid' => $this->cid, + 'commit' => $this->commit?->toArray(), + 'validationStatus' => $this->validationStatus, + ]; + } }