BskyFeed::Like->value, 'subject' => $subject->toArray(), 'createdAt' => ($createdAt ?? now())->format('c'), ]; return $this->atp->atproto->repo->createRecord( collection: BskyFeed::Like, record: $record ); } /** * Unlike a post (delete like record) * * @requires transition:generic OR (rpc:com.atproto.repo.deleteRecord AND repo:app.bsky.feed.like?action=delete) */ #[ScopedEndpoint(Scope::TransitionGeneric, granular: 'rpc:com.atproto.repo.deleteRecord')] #[ScopedEndpoint(Scope::TransitionGeneric, granular: 'repo:app.bsky.feed.like?action=delete')] public function delete(string $rkey): DeleteRecordResponse { return $this->atp->atproto->repo->deleteRecord( collection: BskyFeed::Like, rkey: $rkey ); } /** * Get a like record * * @requires transition:generic (rpc:com.atproto.repo.getRecord) */ #[ScopedEndpoint(Scope::TransitionGeneric, granular: 'rpc:com.atproto.repo.getRecord')] public function get(string $rkey, ?string $cid = null): Record { $response = $this->atp->atproto->repo->getRecord( repo: $this->atp->client->session()->did(), collection: BskyFeed::Like, rkey: $rkey, cid: $cid ); return Record::fromArrayRaw($response->toArray()); } }