Laravel AT Protocol Client (alpha & unstable)
at dev 1.4 kB view raw
1<?php 2 3namespace SocialDept\AtpClient\Client\Requests\Ozone; 4 5use SocialDept\AtpClient\Attributes\ScopedEndpoint; 6use SocialDept\AtpClient\Client\Requests\Request; 7use SocialDept\AtpClient\Data\Responses\Ozone\Server\GetConfigResponse; 8use SocialDept\AtpClient\Enums\Nsid\OzoneServer; 9use SocialDept\AtpClient\Enums\Scope; 10use SocialDept\AtpClient\Http\Response; 11 12class ServerRequestClient extends Request 13{ 14 /** 15 * Get blob (returns binary data) 16 * 17 * @requires transition:generic (rpc:tools.ozone.server.getBlob) 18 * 19 * @see https://docs.bsky.app/docs/api/tools-ozone-server-get-config 20 */ 21 #[ScopedEndpoint(Scope::TransitionGeneric, granular: 'rpc:tools.ozone.server.getBlob')] 22 public function getBlob(string $did, string $cid): Response 23 { 24 return $this->atp->client->get( 25 endpoint: OzoneServer::GetBlob, 26 params: compact('did', 'cid') 27 ); 28 } 29 30 /** 31 * Get config 32 * 33 * @requires transition:generic (rpc:tools.ozone.server.getConfig) 34 * 35 * @see https://docs.bsky.app/docs/api/tools-ozone-server-get-config 36 */ 37 #[ScopedEndpoint(Scope::TransitionGeneric, granular: 'rpc:tools.ozone.server.getConfig')] 38 public function getConfig(): GetConfigResponse 39 { 40 $response = $this->atp->client->get( 41 endpoint: OzoneServer::GetConfig 42 ); 43 44 return GetConfigResponse::fromArray($response->json()); 45 } 46}