Laravel AT Protocol Client (alpha & unstable)
3
fork

Configure Feed

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

Add HasScopeHelpers trait to NSID enums

+73
+3
src/Enums/Nsid/AtprotoIdentity.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum AtprotoIdentity: string 6 8 { 9 + use HasScopeHelpers; 7 10 case ResolveHandle = 'com.atproto.identity.resolveHandle'; 8 11 case UpdateHandle = 'com.atproto.identity.updateHandle'; 9 12 }
+3
src/Enums/Nsid/AtprotoRepo.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum AtprotoRepo: string 6 8 { 9 + use HasScopeHelpers; 7 10 case CreateRecord = 'com.atproto.repo.createRecord'; 8 11 case DeleteRecord = 'com.atproto.repo.deleteRecord'; 9 12 case PutRecord = 'com.atproto.repo.putRecord';
+3
src/Enums/Nsid/AtprotoServer.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum AtprotoServer: string 6 8 { 9 + use HasScopeHelpers; 7 10 case CreateSession = 'com.atproto.server.createSession'; 8 11 case RefreshSession = 'com.atproto.server.refreshSession'; 9 12 case GetSession = 'com.atproto.server.getSession';
+3
src/Enums/Nsid/AtprotoSync.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum AtprotoSync: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetBlob = 'com.atproto.sync.getBlob'; 8 11 case GetRepo = 'com.atproto.sync.getRepo'; 9 12 case ListRepos = 'com.atproto.sync.listRepos';
+3
src/Enums/Nsid/BskyActor.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum BskyActor: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetProfile = 'app.bsky.actor.getProfile'; 8 11 case GetProfiles = 'app.bsky.actor.getProfiles'; 9 12 case GetSuggestions = 'app.bsky.actor.getSuggestions';
+3
src/Enums/Nsid/BskyFeed.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum BskyFeed: string 6 8 { 9 + use HasScopeHelpers; 7 10 case DescribeFeedGenerator = 'app.bsky.feed.describeFeedGenerator'; 8 11 case GetAuthorFeed = 'app.bsky.feed.getAuthorFeed'; 9 12 case GetActorFeeds = 'app.bsky.feed.getActorFeeds';
+3
src/Enums/Nsid/BskyGraph.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum BskyGraph: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetFollowers = 'app.bsky.graph.getFollowers'; 8 11 case GetFollows = 'app.bsky.graph.getFollows'; 9 12 case GetKnownFollowers = 'app.bsky.graph.getKnownFollowers';
+3
src/Enums/Nsid/BskyLabeler.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum BskyLabeler: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetServices = 'app.bsky.labeler.getServices'; 8 11 }
+3
src/Enums/Nsid/ChatActor.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum ChatActor: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetActorMetadata = 'chat.bsky.actor.getActorMetadata'; 8 11 case ExportAccountData = 'chat.bsky.actor.exportAccountData'; 9 12 case DeleteAccount = 'chat.bsky.actor.deleteAccount';
+3
src/Enums/Nsid/ChatConvo.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum ChatConvo: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetConvo = 'chat.bsky.convo.getConvo'; 8 11 case GetConvoForMembers = 'chat.bsky.convo.getConvoForMembers'; 9 12 case ListConvos = 'chat.bsky.convo.listConvos';
+34
src/Enums/Nsid/Concerns/HasScopeHelpers.php
··· 1 + <?php 2 + 3 + namespace SocialDept\AtpClient\Enums\Nsid\Concerns; 4 + 5 + trait HasScopeHelpers 6 + { 7 + /** 8 + * Get the RPC scope format for this NSID. 9 + * 10 + * @example BskyActor::GetProfile->rpc() // "rpc:app.bsky.actor.getProfile" 11 + */ 12 + public function rpc(): string 13 + { 14 + return 'rpc:' . $this->value; 15 + } 16 + 17 + /** 18 + * Get the repo scope format for this NSID. 19 + * 20 + * @example BskyGraph::Follow->repo(['create']) // "repo:app.bsky.graph.follow?action=create" 21 + * @example BskyFeed::Post->repo(['create', 'delete']) // "repo:app.bsky.feed.post?action=create&action=delete" 22 + * @example BskyFeed::Post->repo() // "repo:app.bsky.feed.post" 23 + */ 24 + public function repo(array $actions = []): string 25 + { 26 + $scope = 'repo:' . $this->value; 27 + 28 + if (! empty($actions)) { 29 + $scope .= '?' . implode('&', array_map(fn ($action) => "action={$action}", $actions)); 30 + } 31 + 32 + return $scope; 33 + } 34 + }
+3
src/Enums/Nsid/OzoneModeration.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum OzoneModeration: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetEvent = 'tools.ozone.moderation.getEvent'; 8 11 case GetEvents = 'tools.ozone.moderation.getEvents'; 9 12 case GetRecord = 'tools.ozone.moderation.getRecord';
+3
src/Enums/Nsid/OzoneServer.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum OzoneServer: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetBlob = 'tools.ozone.server.getBlob'; 8 11 case GetConfig = 'tools.ozone.server.getConfig'; 9 12 }
+3
src/Enums/Nsid/OzoneTeam.php
··· 2 2 3 3 namespace SocialDept\AtpClient\Enums\Nsid; 4 4 5 + use SocialDept\AtpClient\Enums\Nsid\Concerns\HasScopeHelpers; 6 + 5 7 enum OzoneTeam: string 6 8 { 9 + use HasScopeHelpers; 7 10 case GetMember = 'tools.ozone.team.getMember'; 8 11 case ListMembers = 'tools.ozone.team.listMembers'; 9 12 case AddMember = 'tools.ozone.team.addMember';