Parse and validate AT Protocol Lexicons with DTO generation for Laravel
1
fork

Configure Feed

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

Add 234 pre-generated AT Protocol and Bluesky lexicon classes

+14047
+49
src/Generated/App/Bsky/Actor/Defs/AdultContentPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.adultContentPref 9 + * Type: object 10 + * 11 + * @property bool $enabled 12 + * 13 + * Constraints: 14 + * - Required: enabled 15 + */ 16 + class AdultContentPref extends Data 17 + { 18 + 19 + /** 20 + */ 21 + public function __construct( 22 + public readonly bool $enabled 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'app.bsky.actor.defs.adultContentPref'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + enabled: $data['enabled'] 46 + ); 47 + } 48 + 49 + }
+53
src/Generated/App/Bsky/Actor/Defs/BskyAppProgressGuide.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * If set, an active progress guide. Once completed, can be set to undefined. 9 + * Should have unspecced fields tracking progress. 10 + * 11 + * Lexicon: app.bsky.actor.defs.bskyAppProgressGuide 12 + * Type: object 13 + * 14 + * @property string $guide 15 + * 16 + * Constraints: 17 + * - Required: guide 18 + * - guide: Max length: 100 19 + */ 20 + class BskyAppProgressGuide extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly string $guide 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.actor.defs.bskyAppProgressGuide'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + guide: $data['guide'] 50 + ); 51 + } 52 + 53 + }
+63
src/Generated/App/Bsky/Actor/Defs/BskyAppStatePref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\BskyAppStatePref\BskyAppProgressGuide; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\Nux; 8 + 9 + /** 10 + * A grab bag of state that's specific to the bsky.app program. Third-party apps 11 + * shouldn't use this. 12 + * 13 + * Lexicon: app.bsky.actor.defs.bskyAppStatePref 14 + * Type: object 15 + * 16 + * @property mixed $activeProgressGuide 17 + * @property array<string>|null $queuedNudges An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user. 18 + * @property array<Nux>|null $nuxs Storage for NUXs the user has encountered. 19 + * 20 + * Constraints: 21 + * - queuedNudges: Max length: 1000 22 + * - nuxs: Max length: 100 23 + */ 24 + class BskyAppStatePref extends Data 25 + { 26 + 27 + /** 28 + * @param array<string>|null $queuedNudges An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user. 29 + * @param array<Nux>|null $nuxs Storage for NUXs the user has encountered. 30 + */ 31 + public function __construct( 32 + public readonly mixed $activeProgressGuide = null, 33 + public readonly ?array $queuedNudges = null, 34 + public readonly ?array $nuxs = null 35 + ) {} 36 + 37 + /** 38 + * Get the lexicon NSID for this data type. 39 + * 40 + * @return string 41 + */ 42 + public static function getLexicon(): string 43 + { 44 + return 'app.bsky.actor.defs.bskyAppStatePref'; 45 + } 46 + 47 + 48 + /** 49 + * Create an instance from an array. 50 + * 51 + * @param array $data The data array 52 + * @return static 53 + */ 54 + public static function fromArray(array $data): static 55 + { 56 + return new static( 57 + activeProgressGuide: $data['activeProgressGuide'] ?? null, 58 + queuedNudges: $data['queuedNudges'] ?? null, 59 + nuxs: isset($data['nuxs']) ? array_map(fn ($item) => Defs::fromArray($item), $data['nuxs']) : [] 60 + ); 61 + } 62 + 63 + }
+57
src/Generated/App/Bsky/Actor/Defs/ContentLabelPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.contentLabelPref 9 + * Type: object 10 + * 11 + * @property string|null $labelerDid Which labeler does this preference apply to? If undefined, applies globally. 12 + * @property string $label 13 + * @property string $visibility 14 + * 15 + * Constraints: 16 + * - Required: label, visibility 17 + * - labelerDid: Format: did 18 + */ 19 + class ContentLabelPref extends Data 20 + { 21 + 22 + /** 23 + * @param string|null $labelerDid Which labeler does this preference apply to? If undefined, applies globally. 24 + */ 25 + public function __construct( 26 + public readonly string $label, 27 + public readonly string $visibility, 28 + public readonly ?string $labelerDid = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'app.bsky.actor.defs.contentLabelPref'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + label: $data['label'], 52 + visibility: $data['visibility'], 53 + labelerDid: $data['labelerDid'] ?? null 54 + ); 55 + } 56 + 57 + }
+70
src/Generated/App/Bsky/Actor/Defs/FeedViewPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.feedViewPref 9 + * Type: object 10 + * 11 + * @property string $feed The URI of the feed, or an identifier which describes the feed. 12 + * @property bool|null $hideReplies Hide replies in the feed. 13 + * @property bool|null $hideRepliesByUnfollowed Hide replies in the feed if they are not by followed users. 14 + * @property int|null $hideRepliesByLikeCount Hide replies in the feed if they do not have this number of likes. 15 + * @property bool|null $hideReposts Hide reposts in the feed. 16 + * @property bool|null $hideQuotePosts Hide quote posts in the feed. 17 + * 18 + * Constraints: 19 + * - Required: feed 20 + */ 21 + class FeedViewPref extends Data 22 + { 23 + 24 + /** 25 + * @param string $feed The URI of the feed, or an identifier which describes the feed. 26 + * @param bool|null $hideReplies Hide replies in the feed. 27 + * @param bool|null $hideRepliesByUnfollowed Hide replies in the feed if they are not by followed users. 28 + * @param int|null $hideRepliesByLikeCount Hide replies in the feed if they do not have this number of likes. 29 + * @param bool|null $hideReposts Hide reposts in the feed. 30 + * @param bool|null $hideQuotePosts Hide quote posts in the feed. 31 + */ 32 + public function __construct( 33 + public readonly string $feed, 34 + public readonly ?bool $hideReplies = null, 35 + public readonly ?bool $hideRepliesByUnfollowed = null, 36 + public readonly ?int $hideRepliesByLikeCount = null, 37 + public readonly ?bool $hideReposts = null, 38 + public readonly ?bool $hideQuotePosts = null 39 + ) {} 40 + 41 + /** 42 + * Get the lexicon NSID for this data type. 43 + * 44 + * @return string 45 + */ 46 + public static function getLexicon(): string 47 + { 48 + return 'app.bsky.actor.defs.feedViewPref'; 49 + } 50 + 51 + 52 + /** 53 + * Create an instance from an array. 54 + * 55 + * @param array $data The data array 56 + * @return static 57 + */ 58 + public static function fromArray(array $data): static 59 + { 60 + return new static( 61 + feed: $data['feed'], 62 + hideReplies: $data['hideReplies'] ?? null, 63 + hideRepliesByUnfollowed: $data['hideRepliesByUnfollowed'] ?? null, 64 + hideRepliesByLikeCount: $data['hideRepliesByLikeCount'] ?? null, 65 + hideReposts: $data['hideReposts'] ?? null, 66 + hideQuotePosts: $data['hideQuotePosts'] ?? null 67 + ); 68 + } 69 + 70 + }
+50
src/Generated/App/Bsky/Actor/Defs/HiddenPostsPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.hiddenPostsPref 9 + * Type: object 10 + * 11 + * @property array<string> $items A list of URIs of posts the account owner has hidden. 12 + * 13 + * Constraints: 14 + * - Required: items 15 + */ 16 + class HiddenPostsPref extends Data 17 + { 18 + 19 + /** 20 + * @param array<string> $items A list of URIs of posts the account owner has hidden. 21 + */ 22 + public function __construct( 23 + public readonly array $items 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.actor.defs.hiddenPostsPref'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + items: $data['items'] 47 + ); 48 + } 49 + 50 + }
+51
src/Generated/App/Bsky/Actor/Defs/InterestsPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.interestsPref 9 + * Type: object 10 + * 11 + * @property array<string> $tags A list of tags which describe the account owner's interests gathered during onboarding. 12 + * 13 + * Constraints: 14 + * - Required: tags 15 + * - tags: Max length: 100 16 + */ 17 + class InterestsPref extends Data 18 + { 19 + 20 + /** 21 + * @param array<string> $tags A list of tags which describe the account owner's interests gathered during onboarding. 22 + */ 23 + public function __construct( 24 + public readonly array $tags 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.actor.defs.interestsPref'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + tags: $data['tags'] 48 + ); 49 + } 50 + 51 + }
+57
src/Generated/App/Bsky/Actor/Defs/KnownFollowers.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\KnownFollowers\ProfileViewBasic; 7 + 8 + /** 9 + * The subject's followers whom you also follow 10 + * 11 + * Lexicon: app.bsky.actor.defs.knownFollowers 12 + * Type: object 13 + * 14 + * @property int $count 15 + * @property array $followers 16 + * 17 + * Constraints: 18 + * - Required: count, followers 19 + * - followers: Max length: 5 20 + * - followers: Min length: 0 21 + */ 22 + class KnownFollowers extends Data 23 + { 24 + 25 + /** 26 + */ 27 + public function __construct( 28 + public readonly int $count, 29 + public readonly array $followers 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.actor.defs.knownFollowers'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + count: $data['count'], 53 + followers: $data['followers'] ?? [] 54 + ); 55 + } 56 + 57 + }
+50
src/Generated/App/Bsky/Actor/Defs/LabelerPrefItem.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.labelerPrefItem 9 + * Type: object 10 + * 11 + * @property string $did 12 + * 13 + * Constraints: 14 + * - Required: did 15 + * - did: Format: did 16 + */ 17 + class LabelerPrefItem extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $did 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.actor.defs.labelerPrefItem'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + did: $data['did'] 47 + ); 48 + } 49 + 50 + }
+50
src/Generated/App/Bsky/Actor/Defs/LabelersPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\LabelersPref\LabelerPrefItem; 7 + 8 + /** 9 + * Lexicon: app.bsky.actor.defs.labelersPref 10 + * Type: object 11 + * 12 + * @property array $labelers 13 + * 14 + * Constraints: 15 + * - Required: labelers 16 + */ 17 + class LabelersPref extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly array $labelers 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.actor.defs.labelersPref'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + labelers: $data['labelers'] ?? [] 47 + ); 48 + } 49 + 50 + }
+72
src/Generated/App/Bsky/Actor/Defs/MutedWord.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\MutedWordTarget; 8 + 9 + /** 10 + * A word that the account owner has muted. 11 + * 12 + * Lexicon: app.bsky.actor.defs.mutedWord 13 + * Type: object 14 + * 15 + * @property string|null $id 16 + * @property string $value The muted word itself. 17 + * @property array<MutedWordTarget> $targets The intended targets of the muted word. 18 + * @property string|null $actorTarget Groups of users to apply the muted word to. If undefined, applies to all users. 19 + * @property Carbon|null $expiresAt The date and time at which the muted word will expire and no longer be applied. 20 + * 21 + * Constraints: 22 + * - Required: value, targets 23 + * - value: Max length: 10000 24 + * - value: Max graphemes: 1000 25 + * - expiresAt: Format: datetime 26 + */ 27 + class MutedWord extends Data 28 + { 29 + 30 + /** 31 + * @param string $value The muted word itself. 32 + * @param array<MutedWordTarget> $targets The intended targets of the muted word. 33 + * @param string|null $actorTarget Groups of users to apply the muted word to. If undefined, applies to all users. 34 + * @param Carbon|null $expiresAt The date and time at which the muted word will expire and no longer be applied. 35 + */ 36 + public function __construct( 37 + public readonly string $value, 38 + public readonly array $targets, 39 + public readonly ?string $id = null, 40 + public readonly ?string $actorTarget = null, 41 + public readonly ?Carbon $expiresAt = null 42 + ) {} 43 + 44 + /** 45 + * Get the lexicon NSID for this data type. 46 + * 47 + * @return string 48 + */ 49 + public static function getLexicon(): string 50 + { 51 + return 'app.bsky.actor.defs.mutedWord'; 52 + } 53 + 54 + 55 + /** 56 + * Create an instance from an array. 57 + * 58 + * @param array $data The data array 59 + * @return static 60 + */ 61 + public static function fromArray(array $data): static 62 + { 63 + return new static( 64 + value: $data['value'], 65 + targets: isset($data['targets']) ? array_map(fn ($item) => Defs::fromArray($item), $data['targets']) : [], 66 + id: $data['id'] ?? null, 67 + actorTarget: $data['actorTarget'] ?? null, 68 + expiresAt: isset($data['expiresAt']) ? Carbon::parse($data['expiresAt']) : null 69 + ); 70 + } 71 + 72 + }
+51
src/Generated/App/Bsky/Actor/Defs/MutedWordsPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\MutedWord; 7 + 8 + /** 9 + * Lexicon: app.bsky.actor.defs.mutedWordsPref 10 + * Type: object 11 + * 12 + * @property array<MutedWord> $items A list of words the account owner has muted. 13 + * 14 + * Constraints: 15 + * - Required: items 16 + */ 17 + class MutedWordsPref extends Data 18 + { 19 + 20 + /** 21 + * @param array<MutedWord> $items A list of words the account owner has muted. 22 + */ 23 + public function __construct( 24 + public readonly array $items 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.actor.defs.mutedWordsPref'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + items: isset($data['items']) ? array_map(fn ($item) => Defs::fromArray($item), $data['items']) : [] 48 + ); 49 + } 50 + 51 + }
+67
src/Generated/App/Bsky/Actor/Defs/Nux.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * A new user experiences (NUX) storage object 10 + * 11 + * Lexicon: app.bsky.actor.defs.nux 12 + * Type: object 13 + * 14 + * @property string $id 15 + * @property bool $completed 16 + * @property string|null $data Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters. 17 + * @property Carbon|null $expiresAt The date and time at which the NUX will expire and should be considered completed. 18 + * 19 + * Constraints: 20 + * - Required: id, completed 21 + * - id: Max length: 100 22 + * - data: Max length: 3000 23 + * - data: Max graphemes: 300 24 + * - expiresAt: Format: datetime 25 + */ 26 + class Nux extends Data 27 + { 28 + 29 + /** 30 + * @param string|null $data Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters. 31 + * @param Carbon|null $expiresAt The date and time at which the NUX will expire and should be considered completed. 32 + */ 33 + public function __construct( 34 + public readonly string $id, 35 + public readonly bool $completed, 36 + public readonly ?string $data = null, 37 + public readonly ?Carbon $expiresAt = null 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'app.bsky.actor.defs.nux'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + id: $data['id'], 61 + completed: $data['completed'], 62 + data: $data['data'] ?? null, 63 + expiresAt: isset($data['expiresAt']) ? Carbon::parse($data['expiresAt']) : null 64 + ); 65 + } 66 + 67 + }
+51
src/Generated/App/Bsky/Actor/Defs/PersonalDetailsPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: app.bsky.actor.defs.personalDetailsPref 10 + * Type: object 11 + * 12 + * @property Carbon|null $birthDate The birth date of account owner. 13 + * 14 + * Constraints: 15 + * - birthDate: Format: datetime 16 + */ 17 + class PersonalDetailsPref extends Data 18 + { 19 + 20 + /** 21 + * @param Carbon|null $birthDate The birth date of account owner. 22 + */ 23 + public function __construct( 24 + public readonly ?Carbon $birthDate = null 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.actor.defs.personalDetailsPref'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + birthDate: isset($data['birthDate']) ? Carbon::parse($data['birthDate']) : null 48 + ); 49 + } 50 + 51 + }
+59
src/Generated/App/Bsky/Actor/Defs/PostInteractionSettingsPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Default post interaction settings for the account. These values should be 9 + * applied as default values when creating new posts. These refs should mirror 10 + * the threadgate and postgate records exactly. 11 + * 12 + * Lexicon: app.bsky.actor.defs.postInteractionSettingsPref 13 + * Type: object 14 + * 15 + * @property array|null $threadgateAllowRules Matches threadgate record. List of rules defining who can reply to this users posts. If value is an empty array, no one can reply. If value is undefined, anyone can reply. 16 + * @property array|null $postgateEmbeddingRules Matches postgate record. List of rules defining who can embed this users posts. If value is an empty array or is undefined, no particular rules apply and anyone can embed. 17 + * 18 + * Constraints: 19 + * - threadgateAllowRules: Max length: 5 20 + * - postgateEmbeddingRules: Max length: 5 21 + */ 22 + class PostInteractionSettingsPref extends Data 23 + { 24 + 25 + /** 26 + * @param array|null $threadgateAllowRules Matches threadgate record. List of rules defining who can reply to this users posts. If value is an empty array, no one can reply. If value is undefined, anyone can reply. 27 + * @param array|null $postgateEmbeddingRules Matches postgate record. List of rules defining who can embed this users posts. If value is an empty array or is undefined, no particular rules apply and anyone can embed. 28 + */ 29 + public function __construct( 30 + public readonly ?array $threadgateAllowRules = null, 31 + public readonly ?array $postgateEmbeddingRules = null 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'app.bsky.actor.defs.postInteractionSettingsPref'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + threadgateAllowRules: $data['threadgateAllowRules'] ?? null, 55 + postgateEmbeddingRules: $data['postgateEmbeddingRules'] ?? null 56 + ); 57 + } 58 + 59 + }
+63
src/Generated/App/Bsky/Actor/Defs/ProfileAssociated.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileAssociated\ProfileAssociatedActivitySubscription; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileAssociated\ProfileAssociatedChat; 8 + 9 + /** 10 + * Lexicon: app.bsky.actor.defs.profileAssociated 11 + * Type: object 12 + * 13 + * @property int|null $lists 14 + * @property int|null $feedgens 15 + * @property int|null $starterPacks 16 + * @property bool|null $labeler 17 + * @property mixed $chat 18 + * @property mixed $activitySubscription 19 + */ 20 + class ProfileAssociated extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly ?int $lists = null, 27 + public readonly ?int $feedgens = null, 28 + public readonly ?int $starterPacks = null, 29 + public readonly ?bool $labeler = null, 30 + public readonly mixed $chat = null, 31 + public readonly mixed $activitySubscription = null 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'app.bsky.actor.defs.profileAssociated'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + lists: $data['lists'] ?? null, 55 + feedgens: $data['feedgens'] ?? null, 56 + starterPacks: $data['starterPacks'] ?? null, 57 + labeler: $data['labeler'] ?? null, 58 + chat: $data['chat'] ?? null, 59 + activitySubscription: $data['activitySubscription'] ?? null 60 + ); 61 + } 62 + 63 + }
+49
src/Generated/App/Bsky/Actor/Defs/ProfileAssociatedActivitySubscription.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.profileAssociatedActivitySubscription 9 + * Type: object 10 + * 11 + * @property string $allowSubscriptions 12 + * 13 + * Constraints: 14 + * - Required: allowSubscriptions 15 + */ 16 + class ProfileAssociatedActivitySubscription extends Data 17 + { 18 + 19 + /** 20 + */ 21 + public function __construct( 22 + public readonly string $allowSubscriptions 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'app.bsky.actor.defs.profileAssociatedActivitySubscription'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + allowSubscriptions: $data['allowSubscriptions'] 46 + ); 47 + } 48 + 49 + }
+49
src/Generated/App/Bsky/Actor/Defs/ProfileAssociatedChat.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.profileAssociatedChat 9 + * Type: object 10 + * 11 + * @property string $allowIncoming 12 + * 13 + * Constraints: 14 + * - Required: allowIncoming 15 + */ 16 + class ProfileAssociatedChat extends Data 17 + { 18 + 19 + /** 20 + */ 21 + public function __construct( 22 + public readonly string $allowIncoming 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'app.bsky.actor.defs.profileAssociatedChat'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + allowIncoming: $data['allowIncoming'] 46 + ); 47 + } 48 + 49 + }
+104
src/Generated/App/Bsky/Actor/Defs/ProfileView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileView\ProfileAssociated; 8 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileView\StatusView; 9 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileView\VerificationState; 10 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileView\ViewerState; 11 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 12 + 13 + /** 14 + * Lexicon: app.bsky.actor.defs.profileView 15 + * Type: object 16 + * 17 + * @property string $did 18 + * @property string $handle 19 + * @property string|null $displayName 20 + * @property string|null $pronouns 21 + * @property string|null $description 22 + * @property string|null $avatar 23 + * @property mixed $associated 24 + * @property Carbon|null $indexedAt 25 + * @property Carbon|null $createdAt 26 + * @property mixed $viewer 27 + * @property array<Label>|null $labels 28 + * @property mixed $verification 29 + * @property mixed $status 30 + * @property mixed $debug Debug information for internal development 31 + * 32 + * Constraints: 33 + * - Required: did, handle 34 + * - did: Format: did 35 + * - handle: Format: handle 36 + * - displayName: Max length: 640 37 + * - displayName: Max graphemes: 64 38 + * - description: Max length: 2560 39 + * - description: Max graphemes: 256 40 + * - avatar: Format: uri 41 + * - indexedAt: Format: datetime 42 + * - createdAt: Format: datetime 43 + */ 44 + class ProfileView extends Data 45 + { 46 + 47 + /** 48 + * @param mixed $debug Debug information for internal development 49 + */ 50 + public function __construct( 51 + public readonly string $did, 52 + public readonly string $handle, 53 + public readonly ?string $displayName = null, 54 + public readonly ?string $pronouns = null, 55 + public readonly ?string $description = null, 56 + public readonly ?string $avatar = null, 57 + public readonly mixed $associated = null, 58 + public readonly ?Carbon $indexedAt = null, 59 + public readonly ?Carbon $createdAt = null, 60 + public readonly mixed $viewer = null, 61 + public readonly ?array $labels = null, 62 + public readonly mixed $verification = null, 63 + public readonly mixed $status = null, 64 + public readonly mixed $debug = null 65 + ) {} 66 + 67 + /** 68 + * Get the lexicon NSID for this data type. 69 + * 70 + * @return string 71 + */ 72 + public static function getLexicon(): string 73 + { 74 + return 'app.bsky.actor.defs.profileView'; 75 + } 76 + 77 + 78 + /** 79 + * Create an instance from an array. 80 + * 81 + * @param array $data The data array 82 + * @return static 83 + */ 84 + public static function fromArray(array $data): static 85 + { 86 + return new static( 87 + did: $data['did'], 88 + handle: $data['handle'], 89 + displayName: $data['displayName'] ?? null, 90 + pronouns: $data['pronouns'] ?? null, 91 + description: $data['description'] ?? null, 92 + avatar: $data['avatar'] ?? null, 93 + associated: $data['associated'] ?? null, 94 + indexedAt: isset($data['indexedAt']) ? Carbon::parse($data['indexedAt']) : null, 95 + createdAt: isset($data['createdAt']) ? Carbon::parse($data['createdAt']) : null, 96 + viewer: $data['viewer'] ?? null, 97 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 98 + verification: $data['verification'] ?? null, 99 + status: $data['status'] ?? null, 100 + debug: $data['debug'] ?? null 101 + ); 102 + } 103 + 104 + }
+95
src/Generated/App/Bsky/Actor/Defs/ProfileViewBasic.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileViewBasic\ProfileAssociated; 8 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileViewBasic\StatusView; 9 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileViewBasic\VerificationState; 10 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileViewBasic\ViewerState; 11 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 12 + 13 + /** 14 + * Lexicon: app.bsky.actor.defs.profileViewBasic 15 + * Type: object 16 + * 17 + * @property string $did 18 + * @property string $handle 19 + * @property string|null $displayName 20 + * @property string|null $pronouns 21 + * @property string|null $avatar 22 + * @property mixed $associated 23 + * @property mixed $viewer 24 + * @property array<Label>|null $labels 25 + * @property Carbon|null $createdAt 26 + * @property mixed $verification 27 + * @property mixed $status 28 + * @property mixed $debug Debug information for internal development 29 + * 30 + * Constraints: 31 + * - Required: did, handle 32 + * - did: Format: did 33 + * - handle: Format: handle 34 + * - displayName: Max length: 640 35 + * - displayName: Max graphemes: 64 36 + * - avatar: Format: uri 37 + * - createdAt: Format: datetime 38 + */ 39 + class ProfileViewBasic extends Data 40 + { 41 + 42 + /** 43 + * @param mixed $debug Debug information for internal development 44 + */ 45 + public function __construct( 46 + public readonly string $did, 47 + public readonly string $handle, 48 + public readonly ?string $displayName = null, 49 + public readonly ?string $pronouns = null, 50 + public readonly ?string $avatar = null, 51 + public readonly mixed $associated = null, 52 + public readonly mixed $viewer = null, 53 + public readonly ?array $labels = null, 54 + public readonly ?Carbon $createdAt = null, 55 + public readonly mixed $verification = null, 56 + public readonly mixed $status = null, 57 + public readonly mixed $debug = null 58 + ) {} 59 + 60 + /** 61 + * Get the lexicon NSID for this data type. 62 + * 63 + * @return string 64 + */ 65 + public static function getLexicon(): string 66 + { 67 + return 'app.bsky.actor.defs.profileViewBasic'; 68 + } 69 + 70 + 71 + /** 72 + * Create an instance from an array. 73 + * 74 + * @param array $data The data array 75 + * @return static 76 + */ 77 + public static function fromArray(array $data): static 78 + { 79 + return new static( 80 + did: $data['did'], 81 + handle: $data['handle'], 82 + displayName: $data['displayName'] ?? null, 83 + pronouns: $data['pronouns'] ?? null, 84 + avatar: $data['avatar'] ?? null, 85 + associated: $data['associated'] ?? null, 86 + viewer: $data['viewer'] ?? null, 87 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 88 + createdAt: isset($data['createdAt']) ? Carbon::parse($data['createdAt']) : null, 89 + verification: $data['verification'] ?? null, 90 + status: $data['status'] ?? null, 91 + debug: $data['debug'] ?? null 92 + ); 93 + } 94 + 95 + }
+129
src/Generated/App/Bsky/Actor/Defs/ProfileViewDetailed.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileViewDetailed\ProfileAssociated; 8 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileViewDetailed\StatusView; 9 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileViewDetailed\VerificationState; 10 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ProfileViewDetailed\ViewerState; 11 + use SocialDept\Schema\Generated\App\Bsky\Graph\StarterPackViewBasic; 12 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 13 + use SocialDept\Schema\Generated\Com\Atproto\Repo\StrongRef; 14 + 15 + /** 16 + * Lexicon: app.bsky.actor.defs.profileViewDetailed 17 + * Type: object 18 + * 19 + * @property string $did 20 + * @property string $handle 21 + * @property string|null $displayName 22 + * @property string|null $description 23 + * @property string|null $pronouns 24 + * @property string|null $website 25 + * @property string|null $avatar 26 + * @property string|null $banner 27 + * @property int|null $followersCount 28 + * @property int|null $followsCount 29 + * @property int|null $postsCount 30 + * @property mixed $associated 31 + * @property StarterPackViewBasic|null $joinedViaStarterPack 32 + * @property Carbon|null $indexedAt 33 + * @property Carbon|null $createdAt 34 + * @property mixed $viewer 35 + * @property array<Label>|null $labels 36 + * @property StrongRef|null $pinnedPost 37 + * @property mixed $verification 38 + * @property mixed $status 39 + * @property mixed $debug Debug information for internal development 40 + * 41 + * Constraints: 42 + * - Required: did, handle 43 + * - did: Format: did 44 + * - handle: Format: handle 45 + * - displayName: Max length: 640 46 + * - displayName: Max graphemes: 64 47 + * - description: Max length: 2560 48 + * - description: Max graphemes: 256 49 + * - website: Format: uri 50 + * - avatar: Format: uri 51 + * - banner: Format: uri 52 + * - indexedAt: Format: datetime 53 + * - createdAt: Format: datetime 54 + */ 55 + class ProfileViewDetailed extends Data 56 + { 57 + 58 + /** 59 + * @param mixed $debug Debug information for internal development 60 + */ 61 + public function __construct( 62 + public readonly string $did, 63 + public readonly string $handle, 64 + public readonly ?string $displayName = null, 65 + public readonly ?string $description = null, 66 + public readonly ?string $pronouns = null, 67 + public readonly ?string $website = null, 68 + public readonly ?string $avatar = null, 69 + public readonly ?string $banner = null, 70 + public readonly ?int $followersCount = null, 71 + public readonly ?int $followsCount = null, 72 + public readonly ?int $postsCount = null, 73 + public readonly mixed $associated = null, 74 + public readonly ?StarterPackViewBasic $joinedViaStarterPack = null, 75 + public readonly ?Carbon $indexedAt = null, 76 + public readonly ?Carbon $createdAt = null, 77 + public readonly mixed $viewer = null, 78 + public readonly ?array $labels = null, 79 + public readonly ?StrongRef $pinnedPost = null, 80 + public readonly mixed $verification = null, 81 + public readonly mixed $status = null, 82 + public readonly mixed $debug = null 83 + ) {} 84 + 85 + /** 86 + * Get the lexicon NSID for this data type. 87 + * 88 + * @return string 89 + */ 90 + public static function getLexicon(): string 91 + { 92 + return 'app.bsky.actor.defs.profileViewDetailed'; 93 + } 94 + 95 + 96 + /** 97 + * Create an instance from an array. 98 + * 99 + * @param array $data The data array 100 + * @return static 101 + */ 102 + public static function fromArray(array $data): static 103 + { 104 + return new static( 105 + did: $data['did'], 106 + handle: $data['handle'], 107 + displayName: $data['displayName'] ?? null, 108 + description: $data['description'] ?? null, 109 + pronouns: $data['pronouns'] ?? null, 110 + website: $data['website'] ?? null, 111 + avatar: $data['avatar'] ?? null, 112 + banner: $data['banner'] ?? null, 113 + followersCount: $data['followersCount'] ?? null, 114 + followsCount: $data['followsCount'] ?? null, 115 + postsCount: $data['postsCount'] ?? null, 116 + associated: $data['associated'] ?? null, 117 + joinedViaStarterPack: isset($data['joinedViaStarterPack']) ? Defs::fromArray($data['joinedViaStarterPack']) : null, 118 + indexedAt: isset($data['indexedAt']) ? Carbon::parse($data['indexedAt']) : null, 119 + createdAt: isset($data['createdAt']) ? Carbon::parse($data['createdAt']) : null, 120 + viewer: $data['viewer'] ?? null, 121 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 122 + pinnedPost: isset($data['pinnedPost']) ? StrongRef::fromArray($data['pinnedPost']) : null, 123 + verification: $data['verification'] ?? null, 124 + status: $data['status'] ?? null, 125 + debug: $data['debug'] ?? null 126 + ); 127 + } 128 + 129 + }
+58
src/Generated/App/Bsky/Actor/Defs/SavedFeed.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.savedFeed 9 + * Type: object 10 + * 11 + * @property string $id 12 + * @property string $type 13 + * @property string $value 14 + * @property bool $pinned 15 + * 16 + * Constraints: 17 + * - Required: id, type, value, pinned 18 + */ 19 + class SavedFeed extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $id, 26 + public readonly string $type, 27 + public readonly string $value, 28 + public readonly bool $pinned 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'app.bsky.actor.defs.savedFeed'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + id: $data['id'], 52 + type: $data['type'], 53 + value: $data['value'], 54 + pinned: $data['pinned'] 55 + ); 56 + } 57 + 58 + }
+55
src/Generated/App/Bsky/Actor/Defs/SavedFeedsPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.savedFeedsPref 9 + * Type: object 10 + * 11 + * @property array<string> $pinned 12 + * @property array<string> $saved 13 + * @property int|null $timelineIndex 14 + * 15 + * Constraints: 16 + * - Required: pinned, saved 17 + */ 18 + class SavedFeedsPref extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly array $pinned, 25 + public readonly array $saved, 26 + public readonly ?int $timelineIndex = null 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.actor.defs.savedFeedsPref'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + pinned: $data['pinned'], 50 + saved: $data['saved'], 51 + timelineIndex: $data['timelineIndex'] ?? null 52 + ); 53 + } 54 + 55 + }
+50
src/Generated/App/Bsky/Actor/Defs/SavedFeedsPrefV2.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\SavedFeed; 7 + 8 + /** 9 + * Lexicon: app.bsky.actor.defs.savedFeedsPrefV2 10 + * Type: object 11 + * 12 + * @property array<SavedFeed> $items 13 + * 14 + * Constraints: 15 + * - Required: items 16 + */ 17 + class SavedFeedsPrefV2 extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly array $items 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.actor.defs.savedFeedsPrefV2'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + items: isset($data['items']) ? array_map(fn ($item) => Defs::fromArray($item), $data['items']) : [] 47 + ); 48 + } 49 + 50 + }
+68
src/Generated/App/Bsky/Actor/Defs/StatusView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Support\UnionHelper; 8 + 9 + /** 10 + * Lexicon: app.bsky.actor.defs.statusView 11 + * Type: object 12 + * 13 + * @property string $status The status for the account. 14 + * @property mixed $record 15 + * @property mixed $embed An optional embed associated with the status. 16 + * @property Carbon|null $expiresAt The date when this status will expire. The application might choose to no longer return the status after expiration. 17 + * @property bool|null $isActive True if the status is not expired, false if it is expired. Only present if expiration was set. 18 + * 19 + * Constraints: 20 + * - Required: status, record 21 + * - expiresAt: Format: datetime 22 + */ 23 + class StatusView extends Data 24 + { 25 + 26 + /** 27 + * @param string $status The status for the account. 28 + * @param mixed $embed An optional embed associated with the status. 29 + * @param Carbon|null $expiresAt The date when this status will expire. The application might choose to no longer return the status after expiration. 30 + * @param bool|null $isActive True if the status is not expired, false if it is expired. Only present if expiration was set. 31 + */ 32 + public function __construct( 33 + public readonly string $status, 34 + public readonly mixed $record, 35 + public readonly mixed $embed = null, 36 + public readonly ?Carbon $expiresAt = null, 37 + public readonly ?bool $isActive = null 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'app.bsky.actor.defs.statusView'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + status: $data['status'], 61 + record: $data['record'], 62 + embed: isset($data['embed']) ? UnionHelper::validateOpenUnion($data['embed']) : null, 63 + expiresAt: isset($data['expiresAt']) ? Carbon::parse($data['expiresAt']) : null, 64 + isActive: $data['isActive'] ?? null 65 + ); 66 + } 67 + 68 + }
+47
src/Generated/App/Bsky/Actor/Defs/ThreadViewPref.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.actor.defs.threadViewPref 9 + * Type: object 10 + * 11 + * @property string|null $sort Sorting mode for threads. 12 + */ 13 + class ThreadViewPref extends Data 14 + { 15 + 16 + /** 17 + * @param string|null $sort Sorting mode for threads. 18 + */ 19 + public function __construct( 20 + public readonly ?string $sort = null 21 + ) {} 22 + 23 + /** 24 + * Get the lexicon NSID for this data type. 25 + * 26 + * @return string 27 + */ 28 + public static function getLexicon(): string 29 + { 30 + return 'app.bsky.actor.defs.threadViewPref'; 31 + } 32 + 33 + 34 + /** 35 + * Create an instance from an array. 36 + * 37 + * @param array $data The data array 38 + * @return static 39 + */ 40 + public static function fromArray(array $data): static 41 + { 42 + return new static( 43 + sort: $data['sort'] ?? null 44 + ); 45 + } 46 + 47 + }
+49
src/Generated/App/Bsky/Actor/Defs/VerificationPrefs.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Preferences for how verified accounts appear in the app. 9 + * 10 + * Lexicon: app.bsky.actor.defs.verificationPrefs 11 + * Type: object 12 + * 13 + * @property bool|null $hideBadges Hide the blue check badges for verified accounts and trusted verifiers. 14 + */ 15 + class VerificationPrefs extends Data 16 + { 17 + 18 + /** 19 + * @param bool|null $hideBadges Hide the blue check badges for verified accounts and trusted verifiers. 20 + */ 21 + public function __construct( 22 + public readonly ?bool $hideBadges = null 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'app.bsky.actor.defs.verificationPrefs'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + hideBadges: $data['hideBadges'] ?? null 46 + ); 47 + } 48 + 49 + }
+62
src/Generated/App/Bsky/Actor/Defs/VerificationState.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\VerificationState\VerificationView; 7 + 8 + /** 9 + * Represents the verification information about the user this object is 10 + * attached to. 11 + * 12 + * Lexicon: app.bsky.actor.defs.verificationState 13 + * Type: object 14 + * 15 + * @property array $verifications All verifications issued by trusted verifiers on behalf of this user. Verifications by untrusted verifiers are not included. 16 + * @property string $verifiedStatus The user's status as a verified account. 17 + * @property string $trustedVerifierStatus The user's status as a trusted verifier. 18 + * 19 + * Constraints: 20 + * - Required: verifications, verifiedStatus, trustedVerifierStatus 21 + */ 22 + class VerificationState extends Data 23 + { 24 + 25 + /** 26 + * @param array $verifications All verifications issued by trusted verifiers on behalf of this user. Verifications by untrusted verifiers are not included. 27 + * @param string $verifiedStatus The user's status as a verified account. 28 + * @param string $trustedVerifierStatus The user's status as a trusted verifier. 29 + */ 30 + public function __construct( 31 + public readonly array $verifications, 32 + public readonly string $verifiedStatus, 33 + public readonly string $trustedVerifierStatus 34 + ) {} 35 + 36 + /** 37 + * Get the lexicon NSID for this data type. 38 + * 39 + * @return string 40 + */ 41 + public static function getLexicon(): string 42 + { 43 + return 'app.bsky.actor.defs.verificationState'; 44 + } 45 + 46 + 47 + /** 48 + * Create an instance from an array. 49 + * 50 + * @param array $data The data array 51 + * @return static 52 + */ 53 + public static function fromArray(array $data): static 54 + { 55 + return new static( 56 + verifications: $data['verifications'] ?? [], 57 + verifiedStatus: $data['verifiedStatus'], 58 + trustedVerifierStatus: $data['trustedVerifierStatus'] 59 + ); 60 + } 61 + 62 + }
+68
src/Generated/App/Bsky/Actor/Defs/VerificationView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * An individual verification for an associated subject. 10 + * 11 + * Lexicon: app.bsky.actor.defs.verificationView 12 + * Type: object 13 + * 14 + * @property string $issuer The user who issued this verification. 15 + * @property string $uri The AT-URI of the verification record. 16 + * @property bool $isValid True if the verification passes validation, otherwise false. 17 + * @property Carbon $createdAt Timestamp when the verification was created. 18 + * 19 + * Constraints: 20 + * - Required: issuer, uri, isValid, createdAt 21 + * - issuer: Format: did 22 + * - uri: Format: at-uri 23 + * - createdAt: Format: datetime 24 + */ 25 + class VerificationView extends Data 26 + { 27 + 28 + /** 29 + * @param string $issuer The user who issued this verification. 30 + * @param string $uri The AT-URI of the verification record. 31 + * @param bool $isValid True if the verification passes validation, otherwise false. 32 + * @param Carbon $createdAt Timestamp when the verification was created. 33 + */ 34 + public function __construct( 35 + public readonly string $issuer, 36 + public readonly string $uri, 37 + public readonly bool $isValid, 38 + public readonly Carbon $createdAt 39 + ) {} 40 + 41 + /** 42 + * Get the lexicon NSID for this data type. 43 + * 44 + * @return string 45 + */ 46 + public static function getLexicon(): string 47 + { 48 + return 'app.bsky.actor.defs.verificationView'; 49 + } 50 + 51 + 52 + /** 53 + * Create an instance from an array. 54 + * 55 + * @param array $data The data array 56 + * @return static 57 + */ 58 + public static function fromArray(array $data): static 59 + { 60 + return new static( 61 + issuer: $data['issuer'], 62 + uri: $data['uri'], 63 + isValid: $data['isValid'], 64 + createdAt: Carbon::parse($data['createdAt']) 65 + ); 66 + } 67 + 68 + }
+83
src/Generated/App/Bsky/Actor/Defs/ViewerState.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\Defs\ViewerState\KnownFollowers; 7 + use SocialDept\Schema\Generated\App\Bsky\Graph\ListViewBasic; 8 + use SocialDept\Schema\Generated\App\Bsky\Notification\ActivitySubscription; 9 + 10 + /** 11 + * Metadata about the requesting account's relationship with the subject 12 + * account. Only has meaningful content for authed requests. 13 + * 14 + * Lexicon: app.bsky.actor.defs.viewerState 15 + * Type: object 16 + * 17 + * @property bool|null $muted 18 + * @property ListViewBasic|null $mutedByList 19 + * @property bool|null $blockedBy 20 + * @property string|null $blocking 21 + * @property ListViewBasic|null $blockingByList 22 + * @property string|null $following 23 + * @property string|null $followedBy 24 + * @property mixed $knownFollowers This property is present only in selected cases, as an optimization. 25 + * @property ActivitySubscription|null $activitySubscription This property is present only in selected cases, as an optimization. 26 + * 27 + * Constraints: 28 + * - blocking: Format: at-uri 29 + * - following: Format: at-uri 30 + * - followedBy: Format: at-uri 31 + */ 32 + class ViewerState extends Data 33 + { 34 + 35 + /** 36 + * @param mixed $knownFollowers This property is present only in selected cases, as an optimization. 37 + * @param ActivitySubscription|null $activitySubscription This property is present only in selected cases, as an optimization. 38 + */ 39 + public function __construct( 40 + public readonly ?bool $muted = null, 41 + public readonly ?ListViewBasic $mutedByList = null, 42 + public readonly ?bool $blockedBy = null, 43 + public readonly ?string $blocking = null, 44 + public readonly ?ListViewBasic $blockingByList = null, 45 + public readonly ?string $following = null, 46 + public readonly ?string $followedBy = null, 47 + public readonly mixed $knownFollowers = null, 48 + public readonly ?ActivitySubscription $activitySubscription = null 49 + ) {} 50 + 51 + /** 52 + * Get the lexicon NSID for this data type. 53 + * 54 + * @return string 55 + */ 56 + public static function getLexicon(): string 57 + { 58 + return 'app.bsky.actor.defs.viewerState'; 59 + } 60 + 61 + 62 + /** 63 + * Create an instance from an array. 64 + * 65 + * @param array $data The data array 66 + * @return static 67 + */ 68 + public static function fromArray(array $data): static 69 + { 70 + return new static( 71 + muted: $data['muted'] ?? null, 72 + mutedByList: isset($data['mutedByList']) ? Defs::fromArray($data['mutedByList']) : null, 73 + blockedBy: $data['blockedBy'] ?? null, 74 + blocking: $data['blocking'] ?? null, 75 + blockingByList: isset($data['blockingByList']) ? Defs::fromArray($data['blockingByList']) : null, 76 + following: $data['following'] ?? null, 77 + followedBy: $data['followedBy'] ?? null, 78 + knownFollowers: $data['knownFollowers'] ?? null, 79 + activitySubscription: isset($data['activitySubscription']) ? Defs::fromArray($data['activitySubscription']) : null 80 + ); 81 + } 82 + 83 + }
+9
src/Generated/App/Bsky/Actor/MutedWordTarget.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Actor; 4 + 5 + enum MutedWordTarget: string 6 + { 7 + case Content = 'content'; 8 + case Tag = 'tag'; 9 + }
+57
src/Generated/App/Bsky/Embed/Defs/AspectRatio.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * width:height represents an aspect ratio. It may be approximate, and may not 9 + * correspond to absolute dimensions in any given unit. 10 + * 11 + * Lexicon: app.bsky.embed.defs.aspectRatio 12 + * Type: object 13 + * 14 + * @property int $width 15 + * @property int $height 16 + * 17 + * Constraints: 18 + * - Required: width, height 19 + * - width: Minimum: 1 20 + * - height: Minimum: 1 21 + */ 22 + class AspectRatio extends Data 23 + { 24 + 25 + /** 26 + */ 27 + public function __construct( 28 + public readonly int $width, 29 + public readonly int $height 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.embed.defs.aspectRatio'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + width: $data['width'], 53 + height: $data['height'] 54 + ); 55 + } 56 + 57 + }
+50
src/Generated/App/Bsky/Embed/External.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Embed\External\External; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.external 10 + * Type: object 11 + * 12 + * @property External $external 13 + * 14 + * Constraints: 15 + * - Required: external 16 + */ 17 + class External extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly External $external 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.embed.external'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + external: $data['external'] 47 + ); 48 + } 49 + 50 + }
+60
src/Generated/App/Bsky/Embed/External/External.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\External; 4 + 5 + use SocialDept\Schema\Data\BlobReference; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.external.external 10 + * Type: object 11 + * 12 + * @property string $uri 13 + * @property string $title 14 + * @property string $description 15 + * @property BlobReference|null $thumb 16 + * 17 + * Constraints: 18 + * - Required: uri, title, description 19 + * - uri: Format: uri 20 + */ 21 + class External extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $uri, 28 + public readonly string $title, 29 + public readonly string $description, 30 + public readonly ?BlobReference $thumb = null 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'app.bsky.embed.external.external'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + uri: $data['uri'], 54 + title: $data['title'], 55 + description: $data['description'], 56 + thumb: $data['thumb'] ?? null 57 + ); 58 + } 59 + 60 + }
+50
src/Generated/App/Bsky/Embed/External/View.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\External; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Embed\External\View\ViewExternal; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.external.view 10 + * Type: object 11 + * 12 + * @property mixed $external 13 + * 14 + * Constraints: 15 + * - Required: external 16 + */ 17 + class View extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly mixed $external 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.embed.external.view'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + external: $data['external'] 47 + ); 48 + } 49 + 50 + }
+60
src/Generated/App/Bsky/Embed/External/ViewExternal.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\External; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.embed.external.viewExternal 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * @property string $title 13 + * @property string $description 14 + * @property string|null $thumb 15 + * 16 + * Constraints: 17 + * - Required: uri, title, description 18 + * - uri: Format: uri 19 + * - thumb: Format: uri 20 + */ 21 + class ViewExternal extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $uri, 28 + public readonly string $title, 29 + public readonly string $description, 30 + public readonly ?string $thumb = null 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'app.bsky.embed.external.viewExternal'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + uri: $data['uri'], 54 + title: $data['title'], 55 + description: $data['description'], 56 + thumb: $data['thumb'] ?? null 57 + ); 58 + } 59 + 60 + }
+53
src/Generated/App/Bsky/Embed/Images.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Embed\Images\Image; 7 + 8 + /** 9 + * A set of images embedded in a Bluesky record (eg, a post). 10 + * 11 + * Lexicon: app.bsky.embed.images 12 + * Type: object 13 + * 14 + * @property array<Image> $images 15 + * 16 + * Constraints: 17 + * - Required: images 18 + * - images: Max length: 4 19 + */ 20 + class Images extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly array $images 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.embed.images'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + images: $data['images'] ?? [] 50 + ); 51 + } 52 + 53 + }
+58
src/Generated/App/Bsky/Embed/Images/Image.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Images; 4 + 5 + use SocialDept\Schema\Data\BlobReference; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Embed\AspectRatio; 8 + 9 + /** 10 + * Lexicon: app.bsky.embed.images.image 11 + * Type: object 12 + * 13 + * @property BlobReference $image 14 + * @property string $alt Alt text description of the image, for accessibility. 15 + * @property AspectRatio|null $aspectRatio 16 + * 17 + * Constraints: 18 + * - Required: image, alt 19 + */ 20 + class Image extends Data 21 + { 22 + 23 + /** 24 + * @param string $alt Alt text description of the image, for accessibility. 25 + */ 26 + public function __construct( 27 + public readonly BlobReference $image, 28 + public readonly string $alt, 29 + public readonly ?AspectRatio $aspectRatio = null 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.embed.images.image'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + image: $data['image'], 53 + alt: $data['alt'], 54 + aspectRatio: isset($data['aspectRatio']) ? Defs::fromArray($data['aspectRatio']) : null 55 + ); 56 + } 57 + 58 + }
+51
src/Generated/App/Bsky/Embed/Images/View.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Images; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Embed\Images\View\ViewImage; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.images.view 10 + * Type: object 11 + * 12 + * @property array $images 13 + * 14 + * Constraints: 15 + * - Required: images 16 + * - images: Max length: 4 17 + */ 18 + class View extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly array $images 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.embed.images.view'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + images: $data['images'] ?? [] 48 + ); 49 + } 50 + 51 + }
+64
src/Generated/App/Bsky/Embed/Images/ViewImage.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Images; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Embed\AspectRatio; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.images.viewImage 10 + * Type: object 11 + * 12 + * @property string $thumb Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View. 13 + * @property string $fullsize Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View. 14 + * @property string $alt Alt text description of the image, for accessibility. 15 + * @property AspectRatio|null $aspectRatio 16 + * 17 + * Constraints: 18 + * - Required: thumb, fullsize, alt 19 + * - thumb: Format: uri 20 + * - fullsize: Format: uri 21 + */ 22 + class ViewImage extends Data 23 + { 24 + 25 + /** 26 + * @param string $thumb Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View. 27 + * @param string $fullsize Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View. 28 + * @param string $alt Alt text description of the image, for accessibility. 29 + */ 30 + public function __construct( 31 + public readonly string $thumb, 32 + public readonly string $fullsize, 33 + public readonly string $alt, 34 + public readonly ?AspectRatio $aspectRatio = null 35 + ) {} 36 + 37 + /** 38 + * Get the lexicon NSID for this data type. 39 + * 40 + * @return string 41 + */ 42 + public static function getLexicon(): string 43 + { 44 + return 'app.bsky.embed.images.viewImage'; 45 + } 46 + 47 + 48 + /** 49 + * Create an instance from an array. 50 + * 51 + * @param array $data The data array 52 + * @return static 53 + */ 54 + public static function fromArray(array $data): static 55 + { 56 + return new static( 57 + thumb: $data['thumb'], 58 + fullsize: $data['fullsize'], 59 + alt: $data['alt'], 60 + aspectRatio: isset($data['aspectRatio']) ? Defs::fromArray($data['aspectRatio']) : null 61 + ); 62 + } 63 + 64 + }
+53
src/Generated/App/Bsky/Embed/Record.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Repo\StrongRef; 7 + 8 + /** 9 + * A representation of a record embedded in a Bluesky record (eg, a post). For 10 + * example, a quote-post, or sharing a feed generator record. 11 + * 12 + * Lexicon: app.bsky.embed.record 13 + * Type: object 14 + * 15 + * @property StrongRef $record 16 + * 17 + * Constraints: 18 + * - Required: record 19 + */ 20 + class Record extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly StrongRef $record 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.embed.record'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + record: StrongRef::fromArray($data['record']) 50 + ); 51 + } 52 + 53 + }
+50
src/Generated/App/Bsky/Embed/Record/View.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Record; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Support\UnionHelper; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.record.view 10 + * Type: object 11 + * 12 + * @property mixed $record 13 + * 14 + * Constraints: 15 + * - Required: record 16 + */ 17 + class View extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly mixed $record 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.embed.record.view'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + record: UnionHelper::validateOpenUnion($data['record']) 47 + ); 48 + } 49 + 50 + }
+58
src/Generated/App/Bsky/Embed/Record/ViewBlocked.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Record; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Feed\BlockedAuthor; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.record.viewBlocked 10 + * Type: object 11 + * 12 + * @property string $uri 13 + * @property bool $blocked 14 + * @property BlockedAuthor $author 15 + * 16 + * Constraints: 17 + * - Required: uri, blocked, author 18 + * - uri: Format: at-uri 19 + * - blocked: Const: true 20 + */ 21 + class ViewBlocked extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $uri, 28 + public readonly bool $blocked, 29 + public readonly BlockedAuthor $author 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.embed.record.viewBlocked'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + uri: $data['uri'], 53 + blocked: $data['blocked'], 54 + author: Defs::fromArray($data['author']) 55 + ); 56 + } 57 + 58 + }
+54
src/Generated/App/Bsky/Embed/Record/ViewDetached.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Record; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.embed.record.viewDetached 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * @property bool $detached 13 + * 14 + * Constraints: 15 + * - Required: uri, detached 16 + * - uri: Format: at-uri 17 + * - detached: Const: true 18 + */ 19 + class ViewDetached extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $uri, 26 + public readonly bool $detached 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.embed.record.viewDetached'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + uri: $data['uri'], 50 + detached: $data['detached'] 51 + ); 52 + } 53 + 54 + }
+54
src/Generated/App/Bsky/Embed/Record/ViewNotFound.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Record; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.embed.record.viewNotFound 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * @property bool $notFound 13 + * 14 + * Constraints: 15 + * - Required: uri, notFound 16 + * - uri: Format: at-uri 17 + * - notFound: Const: true 18 + */ 19 + class ViewNotFound extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $uri, 26 + public readonly bool $notFound 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.embed.record.viewNotFound'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + uri: $data['uri'], 50 + notFound: $data['notFound'] 51 + ); 52 + } 53 + 54 + }
+86
src/Generated/App/Bsky/Embed/Record/ViewRecord.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Record; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileViewBasic; 8 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 9 + 10 + /** 11 + * Lexicon: app.bsky.embed.record.viewRecord 12 + * Type: object 13 + * 14 + * @property string $uri 15 + * @property string $cid 16 + * @property ProfileViewBasic $author 17 + * @property mixed $value The record data itself. 18 + * @property array<Label>|null $labels 19 + * @property int|null $replyCount 20 + * @property int|null $repostCount 21 + * @property int|null $likeCount 22 + * @property int|null $quoteCount 23 + * @property array|null $embeds 24 + * @property Carbon $indexedAt 25 + * 26 + * Constraints: 27 + * - Required: uri, cid, author, value, indexedAt 28 + * - uri: Format: at-uri 29 + * - cid: Format: cid 30 + * - indexedAt: Format: datetime 31 + */ 32 + class ViewRecord extends Data 33 + { 34 + 35 + /** 36 + * @param mixed $value The record data itself. 37 + */ 38 + public function __construct( 39 + public readonly string $uri, 40 + public readonly string $cid, 41 + public readonly ProfileViewBasic $author, 42 + public readonly mixed $value, 43 + public readonly Carbon $indexedAt, 44 + public readonly ?array $labels = null, 45 + public readonly ?int $replyCount = null, 46 + public readonly ?int $repostCount = null, 47 + public readonly ?int $likeCount = null, 48 + public readonly ?int $quoteCount = null, 49 + public readonly ?array $embeds = null 50 + ) {} 51 + 52 + /** 53 + * Get the lexicon NSID for this data type. 54 + * 55 + * @return string 56 + */ 57 + public static function getLexicon(): string 58 + { 59 + return 'app.bsky.embed.record.viewRecord'; 60 + } 61 + 62 + 63 + /** 64 + * Create an instance from an array. 65 + * 66 + * @param array $data The data array 67 + * @return static 68 + */ 69 + public static function fromArray(array $data): static 70 + { 71 + return new static( 72 + uri: $data['uri'], 73 + cid: $data['cid'], 74 + author: Defs::fromArray($data['author']), 75 + value: $data['value'], 76 + indexedAt: Carbon::parse($data['indexedAt']), 77 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 78 + replyCount: $data['replyCount'] ?? null, 79 + repostCount: $data['repostCount'] ?? null, 80 + likeCount: $data['likeCount'] ?? null, 81 + quoteCount: $data['quoteCount'] ?? null, 82 + embeds: $data['embeds'] ?? null 83 + ); 84 + } 85 + 86 + }
+57
src/Generated/App/Bsky/Embed/RecordWithMedia.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Support\UnionHelper; 7 + 8 + /** 9 + * A representation of a record embedded in a Bluesky record (eg, a post), 10 + * alongside other compatible embeds. For example, a quote post and image, or a 11 + * quote post and external URL card. 12 + * 13 + * Lexicon: app.bsky.embed.recordWithMedia 14 + * Type: object 15 + * 16 + * @property Record $record 17 + * @property mixed $media 18 + * 19 + * Constraints: 20 + * - Required: record, media 21 + */ 22 + class RecordWithMedia extends Data 23 + { 24 + 25 + /** 26 + */ 27 + public function __construct( 28 + public readonly Record $record, 29 + public readonly mixed $media 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.embed.recordWithMedia'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + record: Record::fromArray($data['record']), 53 + media: UnionHelper::validateOpenUnion($data['media']) 54 + ); 55 + } 56 + 57 + }
+54
src/Generated/App/Bsky/Embed/RecordWithMedia/View.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\RecordWithMedia; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Embed\View; 7 + use SocialDept\Schema\Support\UnionHelper; 8 + 9 + /** 10 + * Lexicon: app.bsky.embed.recordWithMedia.view 11 + * Type: object 12 + * 13 + * @property View $record 14 + * @property mixed $media 15 + * 16 + * Constraints: 17 + * - Required: record, media 18 + */ 19 + class View extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly View $record, 26 + public readonly mixed $media 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.embed.recordWithMedia.view'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + record: Record::fromArray($data['record']), 50 + media: UnionHelper::validateOpenUnion($data['media']) 51 + ); 52 + } 53 + 54 + }
+67
src/Generated/App/Bsky/Embed/Video.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed; 4 + 5 + use SocialDept\Schema\Data\BlobReference; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Embed\Video\Caption; 8 + 9 + /** 10 + * A video embedded in a Bluesky record (eg, a post). 11 + * 12 + * Lexicon: app.bsky.embed.video 13 + * Type: object 14 + * 15 + * @property BlobReference $video The mp4 video file. May be up to 100mb, formerly limited to 50mb. 16 + * @property array<Caption>|null $captions 17 + * @property string|null $alt Alt text description of the video, for accessibility. 18 + * @property AspectRatio|null $aspectRatio 19 + * 20 + * Constraints: 21 + * - Required: video 22 + * - captions: Max length: 20 23 + * - alt: Max length: 10000 24 + * - alt: Max graphemes: 1000 25 + */ 26 + class Video extends Data 27 + { 28 + 29 + /** 30 + * @param BlobReference $video The mp4 video file. May be up to 100mb, formerly limited to 50mb. 31 + * @param string|null $alt Alt text description of the video, for accessibility. 32 + */ 33 + public function __construct( 34 + public readonly BlobReference $video, 35 + public readonly ?array $captions = null, 36 + public readonly ?string $alt = null, 37 + public readonly ?AspectRatio $aspectRatio = null 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'app.bsky.embed.video'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + video: $data['video'], 61 + captions: $data['captions'] ?? [], 62 + alt: $data['alt'] ?? null, 63 + aspectRatio: isset($data['aspectRatio']) ? Defs::fromArray($data['aspectRatio']) : null 64 + ); 65 + } 66 + 67 + }
+54
src/Generated/App/Bsky/Embed/Video/Caption.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Video; 4 + 5 + use SocialDept\Schema\Data\BlobReference; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.video.caption 10 + * Type: object 11 + * 12 + * @property string $lang 13 + * @property BlobReference $file 14 + * 15 + * Constraints: 16 + * - Required: lang, file 17 + * - lang: Format: language 18 + */ 19 + class Caption extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $lang, 26 + public readonly BlobReference $file 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.embed.video.caption'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + lang: $data['lang'], 50 + file: $data['file'] 51 + ); 52 + } 53 + 54 + }
+67
src/Generated/App/Bsky/Embed/Video/View.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Embed\Video; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Embed\AspectRatio; 7 + 8 + /** 9 + * Lexicon: app.bsky.embed.video.view 10 + * Type: object 11 + * 12 + * @property string $cid 13 + * @property string $playlist 14 + * @property string|null $thumbnail 15 + * @property string|null $alt 16 + * @property AspectRatio|null $aspectRatio 17 + * 18 + * Constraints: 19 + * - Required: cid, playlist 20 + * - cid: Format: cid 21 + * - playlist: Format: uri 22 + * - thumbnail: Format: uri 23 + * - alt: Max length: 10000 24 + * - alt: Max graphemes: 1000 25 + */ 26 + class View extends Data 27 + { 28 + 29 + /** 30 + */ 31 + public function __construct( 32 + public readonly string $cid, 33 + public readonly string $playlist, 34 + public readonly ?string $thumbnail = null, 35 + public readonly ?string $alt = null, 36 + public readonly ?AspectRatio $aspectRatio = null 37 + ) {} 38 + 39 + /** 40 + * Get the lexicon NSID for this data type. 41 + * 42 + * @return string 43 + */ 44 + public static function getLexicon(): string 45 + { 46 + return 'app.bsky.embed.video.view'; 47 + } 48 + 49 + 50 + /** 51 + * Create an instance from an array. 52 + * 53 + * @param array $data The data array 54 + * @return static 55 + */ 56 + public static function fromArray(array $data): static 57 + { 58 + return new static( 59 + cid: $data['cid'], 60 + playlist: $data['playlist'], 61 + thumbnail: $data['thumbnail'] ?? null, 62 + alt: $data['alt'] ?? null, 63 + aspectRatio: isset($data['aspectRatio']) ? Defs::fromArray($data['aspectRatio']) : null 64 + ); 65 + } 66 + 67 + }
+54
src/Generated/App/Bsky/Feed/Defs/BlockedAuthor.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\ViewerState; 7 + 8 + /** 9 + * Lexicon: app.bsky.feed.defs.blockedAuthor 10 + * Type: object 11 + * 12 + * @property string $did 13 + * @property ViewerState|null $viewer 14 + * 15 + * Constraints: 16 + * - Required: did 17 + * - did: Format: did 18 + */ 19 + class BlockedAuthor extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $did, 26 + public readonly ?ViewerState $viewer = null 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.feed.defs.blockedAuthor'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + did: $data['did'], 50 + viewer: isset($data['viewer']) ? Defs::fromArray($data['viewer']) : null 51 + ); 52 + } 53 + 54 + }
+58
src/Generated/App/Bsky/Feed/Defs/BlockedPost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Feed\Defs\BlockedPost\BlockedAuthor; 7 + 8 + /** 9 + * Lexicon: app.bsky.feed.defs.blockedPost 10 + * Type: object 11 + * 12 + * @property string $uri 13 + * @property bool $blocked 14 + * @property mixed $author 15 + * 16 + * Constraints: 17 + * - Required: uri, blocked, author 18 + * - uri: Format: at-uri 19 + * - blocked: Const: true 20 + */ 21 + class BlockedPost extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $uri, 28 + public readonly bool $blocked, 29 + public readonly mixed $author 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.feed.defs.blockedPost'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + uri: $data['uri'], 53 + blocked: $data['blocked'], 54 + author: $data['author'] 55 + ); 56 + } 57 + 58 + }
+68
src/Generated/App/Bsky/Feed/Defs/FeedViewPost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Feed\Defs\FeedViewPost\PostView; 7 + use SocialDept\Schema\Generated\App\Bsky\Feed\Defs\FeedViewPost\ReplyRef; 8 + use SocialDept\Schema\Support\UnionHelper; 9 + 10 + /** 11 + * Lexicon: app.bsky.feed.defs.feedViewPost 12 + * Type: object 13 + * 14 + * @property mixed $post 15 + * @property mixed $reply 16 + * @property mixed $reason 17 + * @property string|null $feedContext Context provided by feed generator that may be passed back alongside interactions. 18 + * @property string|null $reqId Unique identifier per request that may be passed back alongside interactions. 19 + * 20 + * Constraints: 21 + * - Required: post 22 + * - feedContext: Max length: 2000 23 + * - reqId: Max length: 100 24 + */ 25 + class FeedViewPost extends Data 26 + { 27 + 28 + /** 29 + * @param string|null $feedContext Context provided by feed generator that may be passed back alongside interactions. 30 + * @param string|null $reqId Unique identifier per request that may be passed back alongside interactions. 31 + */ 32 + public function __construct( 33 + public readonly mixed $post, 34 + public readonly mixed $reply = null, 35 + public readonly mixed $reason = null, 36 + public readonly ?string $feedContext = null, 37 + public readonly ?string $reqId = null 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'app.bsky.feed.defs.feedViewPost'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + post: $data['post'], 61 + reply: $data['reply'] ?? null, 62 + reason: isset($data['reason']) ? UnionHelper::validateOpenUnion($data['reason']) : null, 63 + feedContext: $data['feedContext'] ?? null, 64 + reqId: $data['reqId'] ?? null 65 + ); 66 + } 67 + 68 + }
+101
src/Generated/App/Bsky/Feed/Defs/GeneratorView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileView; 8 + use SocialDept\Schema\Generated\App\Bsky\Feed\Defs\GeneratorView\GeneratorViewerState; 9 + use SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 10 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 11 + 12 + /** 13 + * Lexicon: app.bsky.feed.defs.generatorView 14 + * Type: object 15 + * 16 + * @property string $uri 17 + * @property string $cid 18 + * @property string $did 19 + * @property ProfileView $creator 20 + * @property string $displayName 21 + * @property string|null $description 22 + * @property array<Facet>|null $descriptionFacets 23 + * @property string|null $avatar 24 + * @property int|null $likeCount 25 + * @property bool|null $acceptsInteractions 26 + * @property array<Label>|null $labels 27 + * @property mixed $viewer 28 + * @property string|null $contentMode 29 + * @property Carbon $indexedAt 30 + * 31 + * Constraints: 32 + * - Required: uri, cid, did, creator, displayName, indexedAt 33 + * - uri: Format: at-uri 34 + * - cid: Format: cid 35 + * - did: Format: did 36 + * - description: Max length: 3000 37 + * - description: Max graphemes: 300 38 + * - avatar: Format: uri 39 + * - likeCount: Minimum: 0 40 + * - indexedAt: Format: datetime 41 + */ 42 + class GeneratorView extends Data 43 + { 44 + 45 + /** 46 + */ 47 + public function __construct( 48 + public readonly string $uri, 49 + public readonly string $cid, 50 + public readonly string $did, 51 + public readonly ProfileView $creator, 52 + public readonly string $displayName, 53 + public readonly Carbon $indexedAt, 54 + public readonly ?string $description = null, 55 + public readonly ?array $descriptionFacets = null, 56 + public readonly ?string $avatar = null, 57 + public readonly ?int $likeCount = null, 58 + public readonly ?bool $acceptsInteractions = null, 59 + public readonly ?array $labels = null, 60 + public readonly mixed $viewer = null, 61 + public readonly ?string $contentMode = null 62 + ) {} 63 + 64 + /** 65 + * Get the lexicon NSID for this data type. 66 + * 67 + * @return string 68 + */ 69 + public static function getLexicon(): string 70 + { 71 + return 'app.bsky.feed.defs.generatorView'; 72 + } 73 + 74 + 75 + /** 76 + * Create an instance from an array. 77 + * 78 + * @param array $data The data array 79 + * @return static 80 + */ 81 + public static function fromArray(array $data): static 82 + { 83 + return new static( 84 + uri: $data['uri'], 85 + cid: $data['cid'], 86 + did: $data['did'], 87 + creator: Defs::fromArray($data['creator']), 88 + displayName: $data['displayName'], 89 + indexedAt: Carbon::parse($data['indexedAt']), 90 + description: $data['description'] ?? null, 91 + descriptionFacets: isset($data['descriptionFacets']) ? array_map(fn ($item) => Facet::fromArray($item), $data['descriptionFacets']) : [], 92 + avatar: $data['avatar'] ?? null, 93 + likeCount: $data['likeCount'] ?? null, 94 + acceptsInteractions: $data['acceptsInteractions'] ?? null, 95 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 96 + viewer: $data['viewer'] ?? null, 97 + contentMode: $data['contentMode'] ?? null 98 + ); 99 + } 100 + 101 + }
+49
src/Generated/App/Bsky/Feed/Defs/GeneratorViewerState.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.feed.defs.generatorViewerState 9 + * Type: object 10 + * 11 + * @property string|null $like 12 + * 13 + * Constraints: 14 + * - like: Format: at-uri 15 + */ 16 + class GeneratorViewerState extends Data 17 + { 18 + 19 + /** 20 + */ 21 + public function __construct( 22 + public readonly ?string $like = null 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'app.bsky.feed.defs.generatorViewerState'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + like: $data['like'] ?? null 46 + ); 47 + } 48 + 49 + }
+62
src/Generated/App/Bsky/Feed/Defs/Interaction.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.feed.defs.interaction 9 + * Type: object 10 + * 11 + * @property string|null $item 12 + * @property string|null $event 13 + * @property string|null $feedContext Context on a feed item that was originally supplied by the feed generator on getFeedSkeleton. 14 + * @property string|null $reqId Unique identifier per request that may be passed back alongside interactions. 15 + * 16 + * Constraints: 17 + * - item: Format: at-uri 18 + * - feedContext: Max length: 2000 19 + * - reqId: Max length: 100 20 + */ 21 + class Interaction extends Data 22 + { 23 + 24 + /** 25 + * @param string|null $feedContext Context on a feed item that was originally supplied by the feed generator on getFeedSkeleton. 26 + * @param string|null $reqId Unique identifier per request that may be passed back alongside interactions. 27 + */ 28 + public function __construct( 29 + public readonly ?string $item = null, 30 + public readonly ?string $event = null, 31 + public readonly ?string $feedContext = null, 32 + public readonly ?string $reqId = null 33 + ) {} 34 + 35 + /** 36 + * Get the lexicon NSID for this data type. 37 + * 38 + * @return string 39 + */ 40 + public static function getLexicon(): string 41 + { 42 + return 'app.bsky.feed.defs.interaction'; 43 + } 44 + 45 + 46 + /** 47 + * Create an instance from an array. 48 + * 49 + * @param array $data The data array 50 + * @return static 51 + */ 52 + public static function fromArray(array $data): static 53 + { 54 + return new static( 55 + item: $data['item'] ?? null, 56 + event: $data['event'] ?? null, 57 + feedContext: $data['feedContext'] ?? null, 58 + reqId: $data['reqId'] ?? null 59 + ); 60 + } 61 + 62 + }
+54
src/Generated/App/Bsky/Feed/Defs/NotFoundPost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.feed.defs.notFoundPost 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * @property bool $notFound 13 + * 14 + * Constraints: 15 + * - Required: uri, notFound 16 + * - uri: Format: at-uri 17 + * - notFound: Const: true 18 + */ 19 + class NotFoundPost extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $uri, 26 + public readonly bool $notFound 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.feed.defs.notFoundPost'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + uri: $data['uri'], 50 + notFound: $data['notFound'] 51 + ); 52 + } 53 + 54 + }
+101
src/Generated/App/Bsky/Feed/Defs/PostView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileViewBasic; 8 + use SocialDept\Schema\Generated\App\Bsky\Feed\Defs\PostView\ThreadgateView; 9 + use SocialDept\Schema\Generated\App\Bsky\Feed\Defs\PostView\ViewerState; 10 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 11 + use SocialDept\Schema\Support\UnionHelper; 12 + 13 + /** 14 + * Lexicon: app.bsky.feed.defs.postView 15 + * Type: object 16 + * 17 + * @property string $uri 18 + * @property string $cid 19 + * @property ProfileViewBasic $author 20 + * @property mixed $record 21 + * @property mixed $embed 22 + * @property int|null $bookmarkCount 23 + * @property int|null $replyCount 24 + * @property int|null $repostCount 25 + * @property int|null $likeCount 26 + * @property int|null $quoteCount 27 + * @property Carbon $indexedAt 28 + * @property mixed $viewer 29 + * @property array<Label>|null $labels 30 + * @property mixed $threadgate 31 + * @property mixed $debug Debug information for internal development 32 + * 33 + * Constraints: 34 + * - Required: uri, cid, author, record, indexedAt 35 + * - uri: Format: at-uri 36 + * - cid: Format: cid 37 + * - indexedAt: Format: datetime 38 + */ 39 + class PostView extends Data 40 + { 41 + 42 + /** 43 + * @param mixed $debug Debug information for internal development 44 + */ 45 + public function __construct( 46 + public readonly string $uri, 47 + public readonly string $cid, 48 + public readonly ProfileViewBasic $author, 49 + public readonly mixed $record, 50 + public readonly Carbon $indexedAt, 51 + public readonly mixed $embed = null, 52 + public readonly ?int $bookmarkCount = null, 53 + public readonly ?int $replyCount = null, 54 + public readonly ?int $repostCount = null, 55 + public readonly ?int $likeCount = null, 56 + public readonly ?int $quoteCount = null, 57 + public readonly mixed $viewer = null, 58 + public readonly ?array $labels = null, 59 + public readonly mixed $threadgate = null, 60 + public readonly mixed $debug = null 61 + ) {} 62 + 63 + /** 64 + * Get the lexicon NSID for this data type. 65 + * 66 + * @return string 67 + */ 68 + public static function getLexicon(): string 69 + { 70 + return 'app.bsky.feed.defs.postView'; 71 + } 72 + 73 + 74 + /** 75 + * Create an instance from an array. 76 + * 77 + * @param array $data The data array 78 + * @return static 79 + */ 80 + public static function fromArray(array $data): static 81 + { 82 + return new static( 83 + uri: $data['uri'], 84 + cid: $data['cid'], 85 + author: Defs::fromArray($data['author']), 86 + record: $data['record'], 87 + indexedAt: Carbon::parse($data['indexedAt']), 88 + embed: isset($data['embed']) ? UnionHelper::validateOpenUnion($data['embed']) : null, 89 + bookmarkCount: $data['bookmarkCount'] ?? null, 90 + replyCount: $data['replyCount'] ?? null, 91 + repostCount: $data['repostCount'] ?? null, 92 + likeCount: $data['likeCount'] ?? null, 93 + quoteCount: $data['quoteCount'] ?? null, 94 + viewer: $data['viewer'] ?? null, 95 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 96 + threadgate: $data['threadgate'] ?? null, 97 + debug: $data['debug'] ?? null 98 + ); 99 + } 100 + 101 + }
+37
src/Generated/App/Bsky/Feed/Defs/ReasonPin.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.feed.defs.reasonPin 9 + * Type: object 10 + */ 11 + class ReasonPin extends Data 12 + { 13 + 14 + 15 + /** 16 + * Get the lexicon NSID for this data type. 17 + * 18 + * @return string 19 + */ 20 + public static function getLexicon(): string 21 + { 22 + return 'app.bsky.feed.defs.reasonPin'; 23 + } 24 + 25 + 26 + /** 27 + * Create an instance from an array. 28 + * 29 + * @param array $data The data array 30 + * @return static 31 + */ 32 + public static function fromArray(array $data): static 33 + { 34 + return new static(); 35 + } 36 + 37 + }
+63
src/Generated/App/Bsky/Feed/Defs/ReasonRepost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileViewBasic; 8 + 9 + /** 10 + * Lexicon: app.bsky.feed.defs.reasonRepost 11 + * Type: object 12 + * 13 + * @property ProfileViewBasic $by 14 + * @property string|null $uri 15 + * @property string|null $cid 16 + * @property Carbon $indexedAt 17 + * 18 + * Constraints: 19 + * - Required: by, indexedAt 20 + * - uri: Format: at-uri 21 + * - cid: Format: cid 22 + * - indexedAt: Format: datetime 23 + */ 24 + class ReasonRepost extends Data 25 + { 26 + 27 + /** 28 + */ 29 + public function __construct( 30 + public readonly ProfileViewBasic $by, 31 + public readonly Carbon $indexedAt, 32 + public readonly ?string $uri = null, 33 + public readonly ?string $cid = null 34 + ) {} 35 + 36 + /** 37 + * Get the lexicon NSID for this data type. 38 + * 39 + * @return string 40 + */ 41 + public static function getLexicon(): string 42 + { 43 + return 'app.bsky.feed.defs.reasonRepost'; 44 + } 45 + 46 + 47 + /** 48 + * Create an instance from an array. 49 + * 50 + * @param array $data The data array 51 + * @return static 52 + */ 53 + public static function fromArray(array $data): static 54 + { 55 + return new static( 56 + by: Defs::fromArray($data['by']), 57 + indexedAt: Carbon::parse($data['indexedAt']), 58 + uri: $data['uri'] ?? null, 59 + cid: $data['cid'] ?? null 60 + ); 61 + } 62 + 63 + }
+58
src/Generated/App/Bsky/Feed/Defs/ReplyRef.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileViewBasic; 7 + use SocialDept\Schema\Support\UnionHelper; 8 + 9 + /** 10 + * Lexicon: app.bsky.feed.defs.replyRef 11 + * Type: object 12 + * 13 + * @property mixed $root 14 + * @property mixed $parent 15 + * @property ProfileViewBasic|null $grandparentAuthor When parent is a reply to another post, this is the author of that post. 16 + * 17 + * Constraints: 18 + * - Required: root, parent 19 + */ 20 + class ReplyRef extends Data 21 + { 22 + 23 + /** 24 + * @param ProfileViewBasic|null $grandparentAuthor When parent is a reply to another post, this is the author of that post. 25 + */ 26 + public function __construct( 27 + public readonly mixed $root, 28 + public readonly mixed $parent, 29 + public readonly ?ProfileViewBasic $grandparentAuthor = null 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.feed.defs.replyRef'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + root: UnionHelper::validateOpenUnion($data['root']), 53 + parent: UnionHelper::validateOpenUnion($data['parent']), 54 + grandparentAuthor: isset($data['grandparentAuthor']) ? Defs::fromArray($data['grandparentAuthor']) : null 55 + ); 56 + } 57 + 58 + }
+59
src/Generated/App/Bsky/Feed/Defs/SkeletonFeedPost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Support\UnionHelper; 7 + 8 + /** 9 + * Lexicon: app.bsky.feed.defs.skeletonFeedPost 10 + * Type: object 11 + * 12 + * @property string $post 13 + * @property mixed $reason 14 + * @property string|null $feedContext Context that will be passed through to client and may be passed to feed generator back alongside interactions. 15 + * 16 + * Constraints: 17 + * - Required: post 18 + * - post: Format: at-uri 19 + * - feedContext: Max length: 2000 20 + */ 21 + class SkeletonFeedPost extends Data 22 + { 23 + 24 + /** 25 + * @param string|null $feedContext Context that will be passed through to client and may be passed to feed generator back alongside interactions. 26 + */ 27 + public function __construct( 28 + public readonly string $post, 29 + public readonly mixed $reason = null, 30 + public readonly ?string $feedContext = null 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'app.bsky.feed.defs.skeletonFeedPost'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + post: $data['post'], 54 + reason: isset($data['reason']) ? UnionHelper::validateOpenUnion($data['reason']) : null, 55 + feedContext: $data['feedContext'] ?? null 56 + ); 57 + } 58 + 59 + }
+37
src/Generated/App/Bsky/Feed/Defs/SkeletonReasonPin.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.feed.defs.skeletonReasonPin 9 + * Type: object 10 + */ 11 + class SkeletonReasonPin extends Data 12 + { 13 + 14 + 15 + /** 16 + * Get the lexicon NSID for this data type. 17 + * 18 + * @return string 19 + */ 20 + public static function getLexicon(): string 21 + { 22 + return 'app.bsky.feed.defs.skeletonReasonPin'; 23 + } 24 + 25 + 26 + /** 27 + * Create an instance from an array. 28 + * 29 + * @param array $data The data array 30 + * @return static 31 + */ 32 + public static function fromArray(array $data): static 33 + { 34 + return new static(); 35 + } 36 + 37 + }
+50
src/Generated/App/Bsky/Feed/Defs/SkeletonReasonRepost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.feed.defs.skeletonReasonRepost 9 + * Type: object 10 + * 11 + * @property string $repost 12 + * 13 + * Constraints: 14 + * - Required: repost 15 + * - repost: Format: at-uri 16 + */ 17 + class SkeletonReasonRepost extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $repost 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.feed.defs.skeletonReasonRepost'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + repost: $data['repost'] 47 + ); 48 + } 49 + 50 + }
+51
src/Generated/App/Bsky/Feed/Defs/ThreadContext.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Metadata about this post within the context of the thread it is in. 9 + * 10 + * Lexicon: app.bsky.feed.defs.threadContext 11 + * Type: object 12 + * 13 + * @property string|null $rootAuthorLike 14 + * 15 + * Constraints: 16 + * - rootAuthorLike: Format: at-uri 17 + */ 18 + class ThreadContext extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly ?string $rootAuthorLike = null 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.feed.defs.threadContext'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + rootAuthorLike: $data['rootAuthorLike'] ?? null 48 + ); 49 + } 50 + 51 + }
+61
src/Generated/App/Bsky/Feed/Defs/ThreadViewPost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Feed\Defs\ThreadViewPost\PostView; 7 + use SocialDept\Schema\Generated\App\Bsky\Feed\Defs\ThreadViewPost\ThreadContext; 8 + use SocialDept\Schema\Support\UnionHelper; 9 + 10 + /** 11 + * Lexicon: app.bsky.feed.defs.threadViewPost 12 + * Type: object 13 + * 14 + * @property mixed $post 15 + * @property mixed $parent 16 + * @property array|null $replies 17 + * @property mixed $threadContext 18 + * 19 + * Constraints: 20 + * - Required: post 21 + */ 22 + class ThreadViewPost extends Data 23 + { 24 + 25 + /** 26 + */ 27 + public function __construct( 28 + public readonly mixed $post, 29 + public readonly mixed $parent = null, 30 + public readonly ?array $replies = null, 31 + public readonly mixed $threadContext = null 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'app.bsky.feed.defs.threadViewPost'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + post: $data['post'], 55 + parent: isset($data['parent']) ? UnionHelper::validateOpenUnion($data['parent']) : null, 56 + replies: $data['replies'] ?? null, 57 + threadContext: $data['threadContext'] ?? null 58 + ); 59 + } 60 + 61 + }
+60
src/Generated/App/Bsky/Feed/Defs/ThreadgateView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Graph\ListViewBasic; 7 + 8 + /** 9 + * Lexicon: app.bsky.feed.defs.threadgateView 10 + * Type: object 11 + * 12 + * @property string|null $uri 13 + * @property string|null $cid 14 + * @property mixed $record 15 + * @property array<ListViewBasic>|null $lists 16 + * 17 + * Constraints: 18 + * - uri: Format: at-uri 19 + * - cid: Format: cid 20 + */ 21 + class ThreadgateView extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly ?string $uri = null, 28 + public readonly ?string $cid = null, 29 + public readonly mixed $record = null, 30 + public readonly ?array $lists = null 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'app.bsky.feed.defs.threadgateView'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + uri: $data['uri'] ?? null, 54 + cid: $data['cid'] ?? null, 55 + record: $data['record'] ?? null, 56 + lists: isset($data['lists']) ? array_map(fn ($item) => Defs::fromArray($item), $data['lists']) : [] 57 + ); 58 + } 59 + 60 + }
+71
src/Generated/App/Bsky/Feed/Defs/ViewerState.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Metadata about the requesting account's relationship with the subject 9 + * content. Only has meaningful content for authed requests. 10 + * 11 + * Lexicon: app.bsky.feed.defs.viewerState 12 + * Type: object 13 + * 14 + * @property string|null $repost 15 + * @property string|null $like 16 + * @property bool|null $bookmarked 17 + * @property bool|null $threadMuted 18 + * @property bool|null $replyDisabled 19 + * @property bool|null $embeddingDisabled 20 + * @property bool|null $pinned 21 + * 22 + * Constraints: 23 + * - repost: Format: at-uri 24 + * - like: Format: at-uri 25 + */ 26 + class ViewerState extends Data 27 + { 28 + 29 + /** 30 + */ 31 + public function __construct( 32 + public readonly ?string $repost = null, 33 + public readonly ?string $like = null, 34 + public readonly ?bool $bookmarked = null, 35 + public readonly ?bool $threadMuted = null, 36 + public readonly ?bool $replyDisabled = null, 37 + public readonly ?bool $embeddingDisabled = null, 38 + public readonly ?bool $pinned = null 39 + ) {} 40 + 41 + /** 42 + * Get the lexicon NSID for this data type. 43 + * 44 + * @return string 45 + */ 46 + public static function getLexicon(): string 47 + { 48 + return 'app.bsky.feed.defs.viewerState'; 49 + } 50 + 51 + 52 + /** 53 + * Create an instance from an array. 54 + * 55 + * @param array $data The data array 56 + * @return static 57 + */ 58 + public static function fromArray(array $data): static 59 + { 60 + return new static( 61 + repost: $data['repost'] ?? null, 62 + like: $data['like'] ?? null, 63 + bookmarked: $data['bookmarked'] ?? null, 64 + threadMuted: $data['threadMuted'] ?? null, 65 + replyDisabled: $data['replyDisabled'] ?? null, 66 + embeddingDisabled: $data['embeddingDisabled'] ?? null, 67 + pinned: $data['pinned'] ?? null 68 + ); 69 + } 70 + 71 + }
+59
src/Generated/App/Bsky/Feed/GetLikes/Like.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\GetLikes; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileView; 8 + 9 + /** 10 + * Lexicon: app.bsky.feed.getLikes.like 11 + * Type: object 12 + * 13 + * @property Carbon $indexedAt 14 + * @property Carbon $createdAt 15 + * @property ProfileView $actor 16 + * 17 + * Constraints: 18 + * - Required: indexedAt, createdAt, actor 19 + * - indexedAt: Format: datetime 20 + * - createdAt: Format: datetime 21 + */ 22 + class Like extends Data 23 + { 24 + 25 + /** 26 + */ 27 + public function __construct( 28 + public readonly Carbon $indexedAt, 29 + public readonly Carbon $createdAt, 30 + public readonly ProfileView $actor 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'app.bsky.feed.getLikes.like'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + indexedAt: Carbon::parse($data['indexedAt']), 54 + createdAt: Carbon::parse($data['createdAt']), 55 + actor: Defs::fromArray($data['actor']) 56 + ); 57 + } 58 + 59 + }
+50
src/Generated/App/Bsky/Feed/Like.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Repo\StrongRef; 8 + 9 + /** 10 + * Lexicon: app.bsky.feed.like 11 + * Type: record 12 + */ 13 + class Like extends Data 14 + { 15 + 16 + /** 17 + */ 18 + public function __construct( 19 + public readonly StrongRef $subject, 20 + public readonly Carbon $createdAt, 21 + public readonly ?StrongRef $via = null 22 + ) {} 23 + 24 + /** 25 + * Get the lexicon NSID for this data type. 26 + * 27 + * @return string 28 + */ 29 + public static function getLexicon(): string 30 + { 31 + return 'app.bsky.feed.like'; 32 + } 33 + 34 + 35 + /** 36 + * Create an instance from an array. 37 + * 38 + * @param array $data The data array 39 + * @return static 40 + */ 41 + public static function fromArray(array $data): static 42 + { 43 + return new static( 44 + subject: StrongRef::fromArray($data['subject']), 45 + createdAt: Carbon::parse($data['createdAt']), 46 + via: isset($data['via']) ? StrongRef::fromArray($data['via']) : null 47 + ); 48 + } 49 + 50 + }
+72
src/Generated/App/Bsky/Feed/Post.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Feed\Post\Entity; 8 + use SocialDept\Schema\Generated\App\Bsky\Feed\Post\ReplyRef; 9 + use SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 10 + use SocialDept\Schema\Support\UnionHelper; 11 + 12 + /** 13 + * Lexicon: app.bsky.feed.post 14 + * Type: record 15 + */ 16 + class Post extends Data 17 + { 18 + 19 + /** 20 + * @param string $text The primary post content. May be an empty string, if there are embeds. 21 + * @param Carbon $createdAt Client-declared timestamp when this post was originally created. 22 + * @param array<Entity>|null $entities DEPRECATED: replaced by app.bsky.richtext.facet. 23 + * @param array<Facet>|null $facets Annotations of text (mentions, URLs, hashtags, etc) 24 + * @param array<string>|null $langs Indicates human language of post primary text content. 25 + * @param mixed $labels Self-label values for this post. Effectively content warnings. 26 + * @param array<string>|null $tags Additional hashtags, in addition to any included in post text and facets. 27 + */ 28 + public function __construct( 29 + public readonly string $text, 30 + public readonly Carbon $createdAt, 31 + public readonly ?array $entities = null, 32 + public readonly ?array $facets = null, 33 + public readonly ?ReplyRef $reply = null, 34 + public readonly mixed $embed = null, 35 + public readonly ?array $langs = null, 36 + public readonly mixed $labels = null, 37 + public readonly ?array $tags = null 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'app.bsky.feed.post'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + text: $data['text'], 61 + createdAt: Carbon::parse($data['createdAt']), 62 + entities: $data['entities'] ?? [], 63 + facets: isset($data['facets']) ? array_map(fn ($item) => Facet::fromArray($item), $data['facets']) : [], 64 + reply: $data['reply'] ?? null, 65 + embed: isset($data['embed']) ? UnionHelper::validateOpenUnion($data['embed']) : null, 66 + langs: $data['langs'] ?? null, 67 + labels: isset($data['labels']) ? UnionHelper::validateOpenUnion($data['labels']) : null, 68 + tags: $data['tags'] ?? null 69 + ); 70 + } 71 + 72 + }
+59
src/Generated/App/Bsky/Feed/Post/Entity.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Post; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Feed\Post\Entity\TextSlice; 7 + 8 + /** 9 + * Deprecated: use facets instead. 10 + * 11 + * Lexicon: app.bsky.feed.post.entity 12 + * Type: object 13 + * 14 + * @property mixed $index 15 + * @property string $type Expected values are 'mention' and 'link'. 16 + * @property string $value 17 + * 18 + * Constraints: 19 + * - Required: index, type, value 20 + */ 21 + class Entity extends Data 22 + { 23 + 24 + /** 25 + * @param string $type Expected values are 'mention' and 'link'. 26 + */ 27 + public function __construct( 28 + public readonly mixed $index, 29 + public readonly string $type, 30 + public readonly string $value 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'app.bsky.feed.post.entity'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + index: $data['index'], 54 + type: $data['type'], 55 + value: $data['value'] 56 + ); 57 + } 58 + 59 + }
+53
src/Generated/App/Bsky/Feed/Post/ReplyRef.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Post; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Repo\StrongRef; 7 + 8 + /** 9 + * Lexicon: app.bsky.feed.post.replyRef 10 + * Type: object 11 + * 12 + * @property StrongRef $root 13 + * @property StrongRef $parent 14 + * 15 + * Constraints: 16 + * - Required: root, parent 17 + */ 18 + class ReplyRef extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly StrongRef $root, 25 + public readonly StrongRef $parent 26 + ) {} 27 + 28 + /** 29 + * Get the lexicon NSID for this data type. 30 + * 31 + * @return string 32 + */ 33 + public static function getLexicon(): string 34 + { 35 + return 'app.bsky.feed.post.replyRef'; 36 + } 37 + 38 + 39 + /** 40 + * Create an instance from an array. 41 + * 42 + * @param array $data The data array 43 + * @return static 44 + */ 45 + public static function fromArray(array $data): static 46 + { 47 + return new static( 48 + root: StrongRef::fromArray($data['root']), 49 + parent: StrongRef::fromArray($data['parent']) 50 + ); 51 + } 52 + 53 + }
+57
src/Generated/App/Bsky/Feed/Post/TextSlice.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed\Post; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Deprecated. Use app.bsky.richtext instead -- A text segment. Start is 9 + * inclusive, end is exclusive. Indices are for utf16-encoded strings. 10 + * 11 + * Lexicon: app.bsky.feed.post.textSlice 12 + * Type: object 13 + * 14 + * @property int $start 15 + * @property int $end 16 + * 17 + * Constraints: 18 + * - Required: start, end 19 + * - start: Minimum: 0 20 + * - end: Minimum: 0 21 + */ 22 + class TextSlice extends Data 23 + { 24 + 25 + /** 26 + */ 27 + public function __construct( 28 + public readonly int $start, 29 + public readonly int $end 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.feed.post.textSlice'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + start: $data['start'], 53 + end: $data['end'] 54 + ); 55 + } 56 + 57 + }
+50
src/Generated/App/Bsky/Feed/Repost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Feed; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Repo\StrongRef; 8 + 9 + /** 10 + * Lexicon: app.bsky.feed.repost 11 + * Type: record 12 + */ 13 + class Repost extends Data 14 + { 15 + 16 + /** 17 + */ 18 + public function __construct( 19 + public readonly StrongRef $subject, 20 + public readonly Carbon $createdAt, 21 + public readonly ?StrongRef $via = null 22 + ) {} 23 + 24 + /** 25 + * Get the lexicon NSID for this data type. 26 + * 27 + * @return string 28 + */ 29 + public static function getLexicon(): string 30 + { 31 + return 'app.bsky.feed.repost'; 32 + } 33 + 34 + 35 + /** 36 + * Create an instance from an array. 37 + * 38 + * @param array $data The data array 39 + * @return static 40 + */ 41 + public static function fromArray(array $data): static 42 + { 43 + return new static( 44 + subject: StrongRef::fromArray($data['subject']), 45 + createdAt: Carbon::parse($data['createdAt']), 46 + via: isset($data['via']) ? StrongRef::fromArray($data['via']) : null 47 + ); 48 + } 49 + 50 + }
+48
src/Generated/App/Bsky/Graph/Block.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: app.bsky.graph.block 10 + * Type: record 11 + */ 12 + class Block extends Data 13 + { 14 + 15 + /** 16 + * @param string $subject DID of the account to be blocked. 17 + */ 18 + public function __construct( 19 + public readonly string $subject, 20 + public readonly Carbon $createdAt 21 + ) {} 22 + 23 + /** 24 + * Get the lexicon NSID for this data type. 25 + * 26 + * @return string 27 + */ 28 + public static function getLexicon(): string 29 + { 30 + return 'app.bsky.graph.block'; 31 + } 32 + 33 + 34 + /** 35 + * Create an instance from an array. 36 + * 37 + * @param array $data The data array 38 + * @return static 39 + */ 40 + public static function fromArray(array $data): static 41 + { 42 + return new static( 43 + subject: $data['subject'], 44 + createdAt: Carbon::parse($data['createdAt']) 45 + ); 46 + } 47 + 48 + }
+54
src/Generated/App/Bsky/Graph/Defs/ListItemView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileView; 7 + 8 + /** 9 + * Lexicon: app.bsky.graph.defs.listItemView 10 + * Type: object 11 + * 12 + * @property string $uri 13 + * @property ProfileView $subject 14 + * 15 + * Constraints: 16 + * - Required: uri, subject 17 + * - uri: Format: at-uri 18 + */ 19 + class ListItemView extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $uri, 26 + public readonly ProfileView $subject 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.graph.defs.listItemView'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + uri: $data['uri'], 50 + subject: Defs::fromArray($data['subject']) 51 + ); 52 + } 53 + 54 + }
+97
src/Generated/App/Bsky/Graph/Defs/ListView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileView; 8 + use SocialDept\Schema\Generated\App\Bsky\Graph\Defs\ListView\ListPurpose; 9 + use SocialDept\Schema\Generated\App\Bsky\Graph\Defs\ListView\ListViewerState; 10 + use SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 11 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 12 + 13 + /** 14 + * Lexicon: app.bsky.graph.defs.listView 15 + * Type: object 16 + * 17 + * @property string $uri 18 + * @property string $cid 19 + * @property ProfileView $creator 20 + * @property string $name 21 + * @property mixed $purpose 22 + * @property string|null $description 23 + * @property array<Facet>|null $descriptionFacets 24 + * @property string|null $avatar 25 + * @property int|null $listItemCount 26 + * @property array<Label>|null $labels 27 + * @property mixed $viewer 28 + * @property Carbon $indexedAt 29 + * 30 + * Constraints: 31 + * - Required: uri, cid, creator, name, purpose, indexedAt 32 + * - uri: Format: at-uri 33 + * - cid: Format: cid 34 + * - name: Max length: 64 35 + * - name: Min length: 1 36 + * - description: Max length: 3000 37 + * - description: Max graphemes: 300 38 + * - avatar: Format: uri 39 + * - listItemCount: Minimum: 0 40 + * - indexedAt: Format: datetime 41 + */ 42 + class ListView extends Data 43 + { 44 + 45 + /** 46 + */ 47 + public function __construct( 48 + public readonly string $uri, 49 + public readonly string $cid, 50 + public readonly ProfileView $creator, 51 + public readonly string $name, 52 + public readonly mixed $purpose, 53 + public readonly Carbon $indexedAt, 54 + public readonly ?string $description = null, 55 + public readonly ?array $descriptionFacets = null, 56 + public readonly ?string $avatar = null, 57 + public readonly ?int $listItemCount = null, 58 + public readonly ?array $labels = null, 59 + public readonly mixed $viewer = null 60 + ) {} 61 + 62 + /** 63 + * Get the lexicon NSID for this data type. 64 + * 65 + * @return string 66 + */ 67 + public static function getLexicon(): string 68 + { 69 + return 'app.bsky.graph.defs.listView'; 70 + } 71 + 72 + 73 + /** 74 + * Create an instance from an array. 75 + * 76 + * @param array $data The data array 77 + * @return static 78 + */ 79 + public static function fromArray(array $data): static 80 + { 81 + return new static( 82 + uri: $data['uri'], 83 + cid: $data['cid'], 84 + creator: Defs::fromArray($data['creator']), 85 + name: $data['name'], 86 + purpose: $data['purpose'], 87 + indexedAt: Carbon::parse($data['indexedAt']), 88 + description: $data['description'] ?? null, 89 + descriptionFacets: isset($data['descriptionFacets']) ? array_map(fn ($item) => Facet::fromArray($item), $data['descriptionFacets']) : [], 90 + avatar: $data['avatar'] ?? null, 91 + listItemCount: $data['listItemCount'] ?? null, 92 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 93 + viewer: $data['viewer'] ?? null 94 + ); 95 + } 96 + 97 + }
+84
src/Generated/App/Bsky/Graph/Defs/ListViewBasic.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Graph\Defs\ListViewBasic\ListPurpose; 8 + use SocialDept\Schema\Generated\App\Bsky\Graph\Defs\ListViewBasic\ListViewerState; 9 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 10 + 11 + /** 12 + * Lexicon: app.bsky.graph.defs.listViewBasic 13 + * Type: object 14 + * 15 + * @property string $uri 16 + * @property string $cid 17 + * @property string $name 18 + * @property mixed $purpose 19 + * @property string|null $avatar 20 + * @property int|null $listItemCount 21 + * @property array<Label>|null $labels 22 + * @property mixed $viewer 23 + * @property Carbon|null $indexedAt 24 + * 25 + * Constraints: 26 + * - Required: uri, cid, name, purpose 27 + * - uri: Format: at-uri 28 + * - cid: Format: cid 29 + * - name: Max length: 64 30 + * - name: Min length: 1 31 + * - avatar: Format: uri 32 + * - listItemCount: Minimum: 0 33 + * - indexedAt: Format: datetime 34 + */ 35 + class ListViewBasic extends Data 36 + { 37 + 38 + /** 39 + */ 40 + public function __construct( 41 + public readonly string $uri, 42 + public readonly string $cid, 43 + public readonly string $name, 44 + public readonly mixed $purpose, 45 + public readonly ?string $avatar = null, 46 + public readonly ?int $listItemCount = null, 47 + public readonly ?array $labels = null, 48 + public readonly mixed $viewer = null, 49 + public readonly ?Carbon $indexedAt = null 50 + ) {} 51 + 52 + /** 53 + * Get the lexicon NSID for this data type. 54 + * 55 + * @return string 56 + */ 57 + public static function getLexicon(): string 58 + { 59 + return 'app.bsky.graph.defs.listViewBasic'; 60 + } 61 + 62 + 63 + /** 64 + * Create an instance from an array. 65 + * 66 + * @param array $data The data array 67 + * @return static 68 + */ 69 + public static function fromArray(array $data): static 70 + { 71 + return new static( 72 + uri: $data['uri'], 73 + cid: $data['cid'], 74 + name: $data['name'], 75 + purpose: $data['purpose'], 76 + avatar: $data['avatar'] ?? null, 77 + listItemCount: $data['listItemCount'] ?? null, 78 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 79 + viewer: $data['viewer'] ?? null, 80 + indexedAt: isset($data['indexedAt']) ? Carbon::parse($data['indexedAt']) : null 81 + ); 82 + } 83 + 84 + }
+52
src/Generated/App/Bsky/Graph/Defs/ListViewerState.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.graph.defs.listViewerState 9 + * Type: object 10 + * 11 + * @property bool|null $muted 12 + * @property string|null $blocked 13 + * 14 + * Constraints: 15 + * - blocked: Format: at-uri 16 + */ 17 + class ListViewerState extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly ?bool $muted = null, 24 + public readonly ?string $blocked = null 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.graph.defs.listViewerState'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + muted: $data['muted'] ?? null, 48 + blocked: $data['blocked'] ?? null 49 + ); 50 + } 51 + 52 + }
+56
src/Generated/App/Bsky/Graph/Defs/NotFoundActor.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * indicates that a handle or DID could not be resolved 9 + * 10 + * Lexicon: app.bsky.graph.defs.notFoundActor 11 + * Type: object 12 + * 13 + * @property string $actor 14 + * @property bool $notFound 15 + * 16 + * Constraints: 17 + * - Required: actor, notFound 18 + * - actor: Format: at-identifier 19 + * - notFound: Const: true 20 + */ 21 + class NotFoundActor extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $actor, 28 + public readonly bool $notFound 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'app.bsky.graph.defs.notFoundActor'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + actor: $data['actor'], 52 + notFound: $data['notFound'] 53 + ); 54 + } 55 + 56 + }
+63
src/Generated/App/Bsky/Graph/Defs/Relationship.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * lists the bi-directional graph relationships between one actor (not indicated 9 + * in the object), and the target actors (the DID included in the object) 10 + * 11 + * Lexicon: app.bsky.graph.defs.relationship 12 + * Type: object 13 + * 14 + * @property string $did 15 + * @property string|null $following if the actor follows this DID, this is the AT-URI of the follow record 16 + * @property string|null $followedBy if the actor is followed by this DID, contains the AT-URI of the follow record 17 + * 18 + * Constraints: 19 + * - Required: did 20 + * - did: Format: did 21 + * - following: Format: at-uri 22 + * - followedBy: Format: at-uri 23 + */ 24 + class Relationship extends Data 25 + { 26 + 27 + /** 28 + * @param string|null $following if the actor follows this DID, this is the AT-URI of the follow record 29 + * @param string|null $followedBy if the actor is followed by this DID, contains the AT-URI of the follow record 30 + */ 31 + public function __construct( 32 + public readonly string $did, 33 + public readonly ?string $following = null, 34 + public readonly ?string $followedBy = null 35 + ) {} 36 + 37 + /** 38 + * Get the lexicon NSID for this data type. 39 + * 40 + * @return string 41 + */ 42 + public static function getLexicon(): string 43 + { 44 + return 'app.bsky.graph.defs.relationship'; 45 + } 46 + 47 + 48 + /** 49 + * Create an instance from an array. 50 + * 51 + * @param array $data The data array 52 + * @return static 53 + */ 54 + public static function fromArray(array $data): static 55 + { 56 + return new static( 57 + did: $data['did'], 58 + following: $data['following'] ?? null, 59 + followedBy: $data['followedBy'] ?? null 60 + ); 61 + } 62 + 63 + }
+92
src/Generated/App/Bsky/Graph/Defs/StarterPackView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileViewBasic; 8 + use SocialDept\Schema\Generated\App\Bsky\Feed\GeneratorView; 9 + use SocialDept\Schema\Generated\App\Bsky\Graph\Defs\StarterPackView\ListItemView; 10 + use SocialDept\Schema\Generated\App\Bsky\Graph\Defs\StarterPackView\ListViewBasic; 11 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 12 + 13 + /** 14 + * Lexicon: app.bsky.graph.defs.starterPackView 15 + * Type: object 16 + * 17 + * @property string $uri 18 + * @property string $cid 19 + * @property mixed $record 20 + * @property ProfileViewBasic $creator 21 + * @property mixed $list 22 + * @property array|null $listItemsSample 23 + * @property array<GeneratorView>|null $feeds 24 + * @property int|null $joinedWeekCount 25 + * @property int|null $joinedAllTimeCount 26 + * @property array<Label>|null $labels 27 + * @property Carbon $indexedAt 28 + * 29 + * Constraints: 30 + * - Required: uri, cid, record, creator, indexedAt 31 + * - uri: Format: at-uri 32 + * - cid: Format: cid 33 + * - listItemsSample: Max length: 12 34 + * - feeds: Max length: 3 35 + * - joinedWeekCount: Minimum: 0 36 + * - joinedAllTimeCount: Minimum: 0 37 + * - indexedAt: Format: datetime 38 + */ 39 + class StarterPackView extends Data 40 + { 41 + 42 + /** 43 + */ 44 + public function __construct( 45 + public readonly string $uri, 46 + public readonly string $cid, 47 + public readonly mixed $record, 48 + public readonly ProfileViewBasic $creator, 49 + public readonly Carbon $indexedAt, 50 + public readonly mixed $list = null, 51 + public readonly ?array $listItemsSample = null, 52 + public readonly ?array $feeds = null, 53 + public readonly ?int $joinedWeekCount = null, 54 + public readonly ?int $joinedAllTimeCount = null, 55 + public readonly ?array $labels = null 56 + ) {} 57 + 58 + /** 59 + * Get the lexicon NSID for this data type. 60 + * 61 + * @return string 62 + */ 63 + public static function getLexicon(): string 64 + { 65 + return 'app.bsky.graph.defs.starterPackView'; 66 + } 67 + 68 + 69 + /** 70 + * Create an instance from an array. 71 + * 72 + * @param array $data The data array 73 + * @return static 74 + */ 75 + public static function fromArray(array $data): static 76 + { 77 + return new static( 78 + uri: $data['uri'], 79 + cid: $data['cid'], 80 + record: $data['record'], 81 + creator: Defs::fromArray($data['creator']), 82 + indexedAt: Carbon::parse($data['indexedAt']), 83 + list: $data['list'] ?? null, 84 + listItemsSample: $data['listItemsSample'] ?? [], 85 + feeds: isset($data['feeds']) ? array_map(fn ($item) => Defs::fromArray($item), $data['feeds']) : [], 86 + joinedWeekCount: $data['joinedWeekCount'] ?? null, 87 + joinedAllTimeCount: $data['joinedAllTimeCount'] ?? null, 88 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [] 89 + ); 90 + } 91 + 92 + }
+82
src/Generated/App/Bsky/Graph/Defs/StarterPackViewBasic.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileViewBasic; 8 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 9 + 10 + /** 11 + * Lexicon: app.bsky.graph.defs.starterPackViewBasic 12 + * Type: object 13 + * 14 + * @property string $uri 15 + * @property string $cid 16 + * @property mixed $record 17 + * @property ProfileViewBasic $creator 18 + * @property int|null $listItemCount 19 + * @property int|null $joinedWeekCount 20 + * @property int|null $joinedAllTimeCount 21 + * @property array<Label>|null $labels 22 + * @property Carbon $indexedAt 23 + * 24 + * Constraints: 25 + * - Required: uri, cid, record, creator, indexedAt 26 + * - uri: Format: at-uri 27 + * - cid: Format: cid 28 + * - listItemCount: Minimum: 0 29 + * - joinedWeekCount: Minimum: 0 30 + * - joinedAllTimeCount: Minimum: 0 31 + * - indexedAt: Format: datetime 32 + */ 33 + class StarterPackViewBasic extends Data 34 + { 35 + 36 + /** 37 + */ 38 + public function __construct( 39 + public readonly string $uri, 40 + public readonly string $cid, 41 + public readonly mixed $record, 42 + public readonly ProfileViewBasic $creator, 43 + public readonly Carbon $indexedAt, 44 + public readonly ?int $listItemCount = null, 45 + public readonly ?int $joinedWeekCount = null, 46 + public readonly ?int $joinedAllTimeCount = null, 47 + public readonly ?array $labels = null 48 + ) {} 49 + 50 + /** 51 + * Get the lexicon NSID for this data type. 52 + * 53 + * @return string 54 + */ 55 + public static function getLexicon(): string 56 + { 57 + return 'app.bsky.graph.defs.starterPackViewBasic'; 58 + } 59 + 60 + 61 + /** 62 + * Create an instance from an array. 63 + * 64 + * @param array $data The data array 65 + * @return static 66 + */ 67 + public static function fromArray(array $data): static 68 + { 69 + return new static( 70 + uri: $data['uri'], 71 + cid: $data['cid'], 72 + record: $data['record'], 73 + creator: Defs::fromArray($data['creator']), 74 + indexedAt: Carbon::parse($data['indexedAt']), 75 + listItemCount: $data['listItemCount'] ?? null, 76 + joinedWeekCount: $data['joinedWeekCount'] ?? null, 77 + joinedAllTimeCount: $data['joinedAllTimeCount'] ?? null, 78 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [] 79 + ); 80 + } 81 + 82 + }
+50
src/Generated/App/Bsky/Graph/Follow.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Repo\StrongRef; 8 + 9 + /** 10 + * Lexicon: app.bsky.graph.follow 11 + * Type: record 12 + */ 13 + class Follow extends Data 14 + { 15 + 16 + /** 17 + */ 18 + public function __construct( 19 + public readonly string $subject, 20 + public readonly Carbon $createdAt, 21 + public readonly ?StrongRef $via = null 22 + ) {} 23 + 24 + /** 25 + * Get the lexicon NSID for this data type. 26 + * 27 + * @return string 28 + */ 29 + public static function getLexicon(): string 30 + { 31 + return 'app.bsky.graph.follow'; 32 + } 33 + 34 + 35 + /** 36 + * Create an instance from an array. 37 + * 38 + * @param array $data The data array 39 + * @return static 40 + */ 41 + public static function fromArray(array $data): static 42 + { 43 + return new static( 44 + subject: $data['subject'], 45 + createdAt: Carbon::parse($data['createdAt']), 46 + via: isset($data['via']) ? StrongRef::fromArray($data['via']) : null 47 + ); 48 + } 49 + 50 + }
+62
src/Generated/App/Bsky/Graph/List.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\BlobReference; 7 + use SocialDept\Schema\Data\Data; 8 + use SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 9 + use SocialDept\Schema\Support\UnionHelper; 10 + 11 + /** 12 + * Lexicon: app.bsky.graph.list 13 + * Type: record 14 + */ 15 + class List extends Data 16 + { 17 + 18 + /** 19 + * @param ListPurpose $purpose Defines the purpose of the list (aka, moderation-oriented or curration-oriented) 20 + * @param string $name Display name for list; can not be empty. 21 + */ 22 + public function __construct( 23 + public readonly ListPurpose $purpose, 24 + public readonly string $name, 25 + public readonly Carbon $createdAt, 26 + public readonly ?string $description = null, 27 + public readonly ?array $descriptionFacets = null, 28 + public readonly ?BlobReference $avatar = null, 29 + public readonly mixed $labels = null 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.graph.list'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + purpose: Defs::fromArray($data['purpose']), 53 + name: $data['name'], 54 + createdAt: Carbon::parse($data['createdAt']), 55 + description: $data['description'] ?? null, 56 + descriptionFacets: isset($data['descriptionFacets']) ? array_map(fn ($item) => Facet::fromArray($item), $data['descriptionFacets']) : [], 57 + avatar: $data['avatar'] ?? null, 58 + labels: isset($data['labels']) ? UnionHelper::validateOpenUnion($data['labels']) : null 59 + ); 60 + } 61 + 62 + }
+10
src/Generated/App/Bsky/Graph/ListPurpose.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph; 4 + 5 + enum ListPurpose: string 6 + { 7 + case Modlist = 'app.bsky.graph.defs#modlist'; 8 + case Curatelist = 'app.bsky.graph.defs#curatelist'; 9 + case Referencelist = 'app.bsky.graph.defs#referencelist'; 10 + }
+51
src/Generated/App/Bsky/Graph/Listitem.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Graph; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: app.bsky.graph.listitem 10 + * Type: record 11 + */ 12 + class Listitem extends Data 13 + { 14 + 15 + /** 16 + * @param string $subject The account which is included on the list. 17 + * @param string $list Reference (AT-URI) to the list record (app.bsky.graph.list). 18 + */ 19 + public function __construct( 20 + public readonly string $subject, 21 + public readonly string $list, 22 + public readonly Carbon $createdAt 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'app.bsky.graph.listitem'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + subject: $data['subject'], 46 + list: $data['list'], 47 + createdAt: Carbon::parse($data['createdAt']) 48 + ); 49 + } 50 + 51 + }
+56
src/Generated/App/Bsky/Labeler/Defs/LabelerPolicies.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Labeler\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Label\LabelValue; 7 + use SocialDept\Schema\Generated\Com\Atproto\Label\LabelValueDefinition; 8 + 9 + /** 10 + * Lexicon: app.bsky.labeler.defs.labelerPolicies 11 + * Type: object 12 + * 13 + * @property array<LabelValue> $labelValues The label values which this labeler publishes. May include global or custom labels. 14 + * @property array<LabelValueDefinition>|null $labelValueDefinitions Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler. 15 + * 16 + * Constraints: 17 + * - Required: labelValues 18 + */ 19 + class LabelerPolicies extends Data 20 + { 21 + 22 + /** 23 + * @param array<LabelValue> $labelValues The label values which this labeler publishes. May include global or custom labels. 24 + * @param array<LabelValueDefinition>|null $labelValueDefinitions Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler. 25 + */ 26 + public function __construct( 27 + public readonly array $labelValues, 28 + public readonly ?array $labelValueDefinitions = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'app.bsky.labeler.defs.labelerPolicies'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + labelValues: isset($data['labelValues']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labelValues']) : [], 52 + labelValueDefinitions: isset($data['labelValueDefinitions']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labelValueDefinitions']) : [] 53 + ); 54 + } 55 + 56 + }
+75
src/Generated/App/Bsky/Labeler/Defs/LabelerView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Labeler\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileView; 8 + use SocialDept\Schema\Generated\App\Bsky\Labeler\Defs\LabelerView\LabelerViewerState; 9 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 10 + 11 + /** 12 + * Lexicon: app.bsky.labeler.defs.labelerView 13 + * Type: object 14 + * 15 + * @property string $uri 16 + * @property string $cid 17 + * @property ProfileView $creator 18 + * @property int|null $likeCount 19 + * @property mixed $viewer 20 + * @property Carbon $indexedAt 21 + * @property array<Label>|null $labels 22 + * 23 + * Constraints: 24 + * - Required: uri, cid, creator, indexedAt 25 + * - uri: Format: at-uri 26 + * - cid: Format: cid 27 + * - likeCount: Minimum: 0 28 + * - indexedAt: Format: datetime 29 + */ 30 + class LabelerView extends Data 31 + { 32 + 33 + /** 34 + */ 35 + public function __construct( 36 + public readonly string $uri, 37 + public readonly string $cid, 38 + public readonly ProfileView $creator, 39 + public readonly Carbon $indexedAt, 40 + public readonly ?int $likeCount = null, 41 + public readonly mixed $viewer = null, 42 + public readonly ?array $labels = null 43 + ) {} 44 + 45 + /** 46 + * Get the lexicon NSID for this data type. 47 + * 48 + * @return string 49 + */ 50 + public static function getLexicon(): string 51 + { 52 + return 'app.bsky.labeler.defs.labelerView'; 53 + } 54 + 55 + 56 + /** 57 + * Create an instance from an array. 58 + * 59 + * @param array $data The data array 60 + * @return static 61 + */ 62 + public static function fromArray(array $data): static 63 + { 64 + return new static( 65 + uri: $data['uri'], 66 + cid: $data['cid'], 67 + creator: Defs::fromArray($data['creator']), 68 + indexedAt: Carbon::parse($data['indexedAt']), 69 + likeCount: $data['likeCount'] ?? null, 70 + viewer: $data['viewer'] ?? null, 71 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [] 72 + ); 73 + } 74 + 75 + }
+93
src/Generated/App/Bsky/Labeler/Defs/LabelerViewDetailed.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Labeler\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileView; 8 + use SocialDept\Schema\Generated\App\Bsky\Labeler\Defs\LabelerViewDetailed\LabelerViewerState; 9 + use SocialDept\Schema\Generated\App\Bsky\Labeler\LabelerPolicies; 10 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 11 + use SocialDept\Schema\Generated\Com\Atproto\Moderation\ReasonType; 12 + use SocialDept\Schema\Generated\Com\Atproto\Moderation\SubjectType; 13 + 14 + /** 15 + * Lexicon: app.bsky.labeler.defs.labelerViewDetailed 16 + * Type: object 17 + * 18 + * @property string $uri 19 + * @property string $cid 20 + * @property ProfileView $creator 21 + * @property LabelerPolicies $policies 22 + * @property int|null $likeCount 23 + * @property mixed $viewer 24 + * @property Carbon $indexedAt 25 + * @property array<Label>|null $labels 26 + * @property array<ReasonType>|null $reasonTypes The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed. 27 + * @property array<SubjectType>|null $subjectTypes The set of subject types (account, record, etc) this service accepts reports on. 28 + * @property array<string>|null $subjectCollections Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type. 29 + * 30 + * Constraints: 31 + * - Required: uri, cid, creator, policies, indexedAt 32 + * - uri: Format: at-uri 33 + * - cid: Format: cid 34 + * - likeCount: Minimum: 0 35 + * - indexedAt: Format: datetime 36 + */ 37 + class LabelerViewDetailed extends Data 38 + { 39 + 40 + /** 41 + * @param array<ReasonType>|null $reasonTypes The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed. 42 + * @param array<SubjectType>|null $subjectTypes The set of subject types (account, record, etc) this service accepts reports on. 43 + * @param array<string>|null $subjectCollections Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type. 44 + */ 45 + public function __construct( 46 + public readonly string $uri, 47 + public readonly string $cid, 48 + public readonly ProfileView $creator, 49 + public readonly LabelerPolicies $policies, 50 + public readonly Carbon $indexedAt, 51 + public readonly ?int $likeCount = null, 52 + public readonly mixed $viewer = null, 53 + public readonly ?array $labels = null, 54 + public readonly ?array $reasonTypes = null, 55 + public readonly ?array $subjectTypes = null, 56 + public readonly ?array $subjectCollections = null 57 + ) {} 58 + 59 + /** 60 + * Get the lexicon NSID for this data type. 61 + * 62 + * @return string 63 + */ 64 + public static function getLexicon(): string 65 + { 66 + return 'app.bsky.labeler.defs.labelerViewDetailed'; 67 + } 68 + 69 + 70 + /** 71 + * Create an instance from an array. 72 + * 73 + * @param array $data The data array 74 + * @return static 75 + */ 76 + public static function fromArray(array $data): static 77 + { 78 + return new static( 79 + uri: $data['uri'], 80 + cid: $data['cid'], 81 + creator: Defs::fromArray($data['creator']), 82 + policies: Defs::fromArray($data['policies']), 83 + indexedAt: Carbon::parse($data['indexedAt']), 84 + likeCount: $data['likeCount'] ?? null, 85 + viewer: $data['viewer'] ?? null, 86 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 87 + reasonTypes: isset($data['reasonTypes']) ? array_map(fn ($item) => Defs::fromArray($item), $data['reasonTypes']) : [], 88 + subjectTypes: isset($data['subjectTypes']) ? array_map(fn ($item) => Defs::fromArray($item), $data['subjectTypes']) : [], 89 + subjectCollections: $data['subjectCollections'] ?? null 90 + ); 91 + } 92 + 93 + }
+49
src/Generated/App/Bsky/Labeler/Defs/LabelerViewerState.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Labeler\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.labeler.defs.labelerViewerState 9 + * Type: object 10 + * 11 + * @property string|null $like 12 + * 13 + * Constraints: 14 + * - like: Format: at-uri 15 + */ 16 + class LabelerViewerState extends Data 17 + { 18 + 19 + /** 20 + */ 21 + public function __construct( 22 + public readonly ?string $like = null 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'app.bsky.labeler.defs.labelerViewerState'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + like: $data['like'] ?? null 46 + ); 47 + } 48 + 49 + }
+61
src/Generated/App/Bsky/Labeler/Service.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Labeler; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Moderation\ReasonType; 8 + use SocialDept\Schema\Generated\Com\Atproto\Moderation\SubjectType; 9 + use SocialDept\Schema\Support\UnionHelper; 10 + 11 + /** 12 + * Lexicon: app.bsky.labeler.service 13 + * Type: record 14 + */ 15 + class Service extends Data 16 + { 17 + 18 + /** 19 + * @param array<ReasonType>|null $reasonTypes The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed. 20 + * @param array<SubjectType>|null $subjectTypes The set of subject types (account, record, etc) this service accepts reports on. 21 + * @param array<string>|null $subjectCollections Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type. 22 + */ 23 + public function __construct( 24 + public readonly LabelerPolicies $policies, 25 + public readonly Carbon $createdAt, 26 + public readonly mixed $labels = null, 27 + public readonly ?array $reasonTypes = null, 28 + public readonly ?array $subjectTypes = null, 29 + public readonly ?array $subjectCollections = null 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'app.bsky.labeler.service'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + policies: Defs::fromArray($data['policies']), 53 + createdAt: Carbon::parse($data['createdAt']), 54 + labels: isset($data['labels']) ? UnionHelper::validateOpenUnion($data['labels']) : null, 55 + reasonTypes: isset($data['reasonTypes']) ? array_map(fn ($item) => Defs::fromArray($item), $data['reasonTypes']) : [], 56 + subjectTypes: isset($data['subjectTypes']) ? array_map(fn ($item) => Defs::fromArray($item), $data['subjectTypes']) : [], 57 + subjectCollections: $data['subjectCollections'] ?? null 58 + ); 59 + } 60 + 61 + }
+52
src/Generated/App/Bsky/Notification/Defs/ActivitySubscription.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Notification\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.notification.defs.activitySubscription 9 + * Type: object 10 + * 11 + * @property bool $post 12 + * @property bool $reply 13 + * 14 + * Constraints: 15 + * - Required: post, reply 16 + */ 17 + class ActivitySubscription extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly bool $post, 24 + public readonly bool $reply 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.notification.defs.activitySubscription'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + post: $data['post'], 48 + reply: $data['reply'] 49 + ); 50 + } 51 + 52 + }
+52
src/Generated/App/Bsky/Notification/Defs/ChatPreference.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Notification\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.notification.defs.chatPreference 9 + * Type: object 10 + * 11 + * @property string $include 12 + * @property bool $push 13 + * 14 + * Constraints: 15 + * - Required: include, push 16 + */ 17 + class ChatPreference extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $include, 24 + public readonly bool $push 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.notification.defs.chatPreference'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + include: $data['include'], 48 + push: $data['push'] 49 + ); 50 + } 51 + 52 + }
+55
src/Generated/App/Bsky/Notification/Defs/FilterablePreference.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Notification\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.notification.defs.filterablePreference 9 + * Type: object 10 + * 11 + * @property string $include 12 + * @property bool $list 13 + * @property bool $push 14 + * 15 + * Constraints: 16 + * - Required: include, list, push 17 + */ 18 + class FilterablePreference extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly string $include, 25 + public readonly bool $list, 26 + public readonly bool $push 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.notification.defs.filterablePreference'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + include: $data['include'], 50 + list: $data['list'], 51 + push: $data['push'] 52 + ); 53 + } 54 + 55 + }
+52
src/Generated/App/Bsky/Notification/Defs/Preference.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Notification\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.notification.defs.preference 9 + * Type: object 10 + * 11 + * @property bool $list 12 + * @property bool $push 13 + * 14 + * Constraints: 15 + * - Required: list, push 16 + */ 17 + class Preference extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly bool $list, 24 + public readonly bool $push 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'app.bsky.notification.defs.preference'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + list: $data['list'], 48 + push: $data['push'] 49 + ); 50 + } 51 + 52 + }
+88
src/Generated/App/Bsky/Notification/Defs/Preferences.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Notification\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Notification\Defs\Preferences\ChatPreference; 7 + use SocialDept\Schema\Generated\App\Bsky\Notification\Defs\Preferences\FilterablePreference; 8 + use SocialDept\Schema\Generated\App\Bsky\Notification\Defs\Preferences\Preference; 9 + 10 + /** 11 + * Lexicon: app.bsky.notification.defs.preferences 12 + * Type: object 13 + * 14 + * @property mixed $chat 15 + * @property mixed $follow 16 + * @property mixed $like 17 + * @property mixed $likeViaRepost 18 + * @property mixed $mention 19 + * @property mixed $quote 20 + * @property mixed $reply 21 + * @property mixed $repost 22 + * @property mixed $repostViaRepost 23 + * @property mixed $starterpackJoined 24 + * @property mixed $subscribedPost 25 + * @property mixed $unverified 26 + * @property mixed $verified 27 + * 28 + * Constraints: 29 + * - Required: chat, follow, like, likeViaRepost, mention, quote, reply, repost, repostViaRepost, starterpackJoined, subscribedPost, unverified, verified 30 + */ 31 + class Preferences extends Data 32 + { 33 + 34 + /** 35 + */ 36 + public function __construct( 37 + public readonly mixed $chat, 38 + public readonly mixed $follow, 39 + public readonly mixed $like, 40 + public readonly mixed $likeViaRepost, 41 + public readonly mixed $mention, 42 + public readonly mixed $quote, 43 + public readonly mixed $reply, 44 + public readonly mixed $repost, 45 + public readonly mixed $repostViaRepost, 46 + public readonly mixed $starterpackJoined, 47 + public readonly mixed $subscribedPost, 48 + public readonly mixed $unverified, 49 + public readonly mixed $verified 50 + ) {} 51 + 52 + /** 53 + * Get the lexicon NSID for this data type. 54 + * 55 + * @return string 56 + */ 57 + public static function getLexicon(): string 58 + { 59 + return 'app.bsky.notification.defs.preferences'; 60 + } 61 + 62 + 63 + /** 64 + * Create an instance from an array. 65 + * 66 + * @param array $data The data array 67 + * @return static 68 + */ 69 + public static function fromArray(array $data): static 70 + { 71 + return new static( 72 + chat: $data['chat'], 73 + follow: $data['follow'], 74 + like: $data['like'], 75 + likeViaRepost: $data['likeViaRepost'], 76 + mention: $data['mention'], 77 + quote: $data['quote'], 78 + reply: $data['reply'], 79 + repost: $data['repost'], 80 + repostViaRepost: $data['repostViaRepost'], 81 + starterpackJoined: $data['starterpackJoined'], 82 + subscribedPost: $data['subscribedPost'], 83 + unverified: $data['unverified'], 84 + verified: $data['verified'] 85 + ); 86 + } 87 + 88 + }
+37
src/Generated/App/Bsky/Notification/Defs/RecordDeleted.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Notification\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.notification.defs.recordDeleted 9 + * Type: object 10 + */ 11 + class RecordDeleted extends Data 12 + { 13 + 14 + 15 + /** 16 + * Get the lexicon NSID for this data type. 17 + * 18 + * @return string 19 + */ 20 + public static function getLexicon(): string 21 + { 22 + return 'app.bsky.notification.defs.recordDeleted'; 23 + } 24 + 25 + 26 + /** 27 + * Create an instance from an array. 28 + * 29 + * @param array $data The data array 30 + * @return static 31 + */ 32 + public static function fromArray(array $data): static 33 + { 34 + return new static(); 35 + } 36 + 37 + }
+56
src/Generated/App/Bsky/Notification/Defs/SubjectActivitySubscription.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Notification\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Notification\Defs\SubjectActivitySubscription\ActivitySubscription; 7 + 8 + /** 9 + * Object used to store activity subscription data in stash. 10 + * 11 + * Lexicon: app.bsky.notification.defs.subjectActivitySubscription 12 + * Type: object 13 + * 14 + * @property string $subject 15 + * @property mixed $activitySubscription 16 + * 17 + * Constraints: 18 + * - Required: subject, activitySubscription 19 + * - subject: Format: did 20 + */ 21 + class SubjectActivitySubscription extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $subject, 28 + public readonly mixed $activitySubscription 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'app.bsky.notification.defs.subjectActivitySubscription'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + subject: $data['subject'], 52 + activitySubscription: $data['activitySubscription'] 53 + ); 54 + } 55 + 56 + }
+81
src/Generated/App/Bsky/Notification/ListNotifications/Notification.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Notification\ListNotifications; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileView; 8 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 9 + 10 + /** 11 + * Lexicon: app.bsky.notification.listNotifications.notification 12 + * Type: object 13 + * 14 + * @property string $uri 15 + * @property string $cid 16 + * @property ProfileView $author 17 + * @property string $reason The reason why this notification was delivered - e.g. your post was liked, or you received a new follower. 18 + * @property string|null $reasonSubject 19 + * @property mixed $record 20 + * @property bool $isRead 21 + * @property Carbon $indexedAt 22 + * @property array<Label>|null $labels 23 + * 24 + * Constraints: 25 + * - Required: uri, cid, author, reason, record, isRead, indexedAt 26 + * - uri: Format: at-uri 27 + * - cid: Format: cid 28 + * - reasonSubject: Format: at-uri 29 + * - indexedAt: Format: datetime 30 + */ 31 + class Notification extends Data 32 + { 33 + 34 + /** 35 + * @param string $reason The reason why this notification was delivered - e.g. your post was liked, or you received a new follower. 36 + */ 37 + public function __construct( 38 + public readonly string $uri, 39 + public readonly string $cid, 40 + public readonly ProfileView $author, 41 + public readonly string $reason, 42 + public readonly mixed $record, 43 + public readonly bool $isRead, 44 + public readonly Carbon $indexedAt, 45 + public readonly ?string $reasonSubject = null, 46 + public readonly ?array $labels = null 47 + ) {} 48 + 49 + /** 50 + * Get the lexicon NSID for this data type. 51 + * 52 + * @return string 53 + */ 54 + public static function getLexicon(): string 55 + { 56 + return 'app.bsky.notification.listNotifications.notification'; 57 + } 58 + 59 + 60 + /** 61 + * Create an instance from an array. 62 + * 63 + * @param array $data The data array 64 + * @return static 65 + */ 66 + public static function fromArray(array $data): static 67 + { 68 + return new static( 69 + uri: $data['uri'], 70 + cid: $data['cid'], 71 + author: Defs::fromArray($data['author']), 72 + reason: $data['reason'], 73 + record: $data['record'], 74 + isRead: $data['isRead'], 75 + indexedAt: Carbon::parse($data['indexedAt']), 76 + reasonSubject: $data['reasonSubject'] ?? null, 77 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [] 78 + ); 79 + } 80 + 81 + }
+53
src/Generated/App/Bsky/Richtext/Facet.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Richtext; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Richtext\Facet\ByteSlice; 7 + 8 + /** 9 + * Lexicon: app.bsky.richtext.facet 10 + * Type: object 11 + * 12 + * @property ByteSlice $index 13 + * @property array $features 14 + * 15 + * Constraints: 16 + * - Required: index, features 17 + */ 18 + class Facet extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly ByteSlice $index, 25 + public readonly array $features 26 + ) {} 27 + 28 + /** 29 + * Get the lexicon NSID for this data type. 30 + * 31 + * @return string 32 + */ 33 + public static function getLexicon(): string 34 + { 35 + return 'app.bsky.richtext.facet'; 36 + } 37 + 38 + 39 + /** 40 + * Create an instance from an array. 41 + * 42 + * @param array $data The data array 43 + * @return static 44 + */ 45 + public static function fromArray(array $data): static 46 + { 47 + return new static( 48 + index: $data['index'], 49 + features: $data['features'] 50 + ); 51 + } 52 + 53 + }
+60
src/Generated/App/Bsky/Richtext/Facet/ByteSlice.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Specifies the sub-string range a facet feature applies to. Start index is 9 + * inclusive, end index is exclusive. Indices are zero-indexed, counting bytes 10 + * of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 11 + * or Unicode codepoints for string slice indexing; in these languages, convert 12 + * to byte arrays before working with facets. 13 + * 14 + * Lexicon: app.bsky.richtext.facet.byteSlice 15 + * Type: object 16 + * 17 + * @property int $byteStart 18 + * @property int $byteEnd 19 + * 20 + * Constraints: 21 + * - Required: byteStart, byteEnd 22 + * - byteStart: Minimum: 0 23 + * - byteEnd: Minimum: 0 24 + */ 25 + class ByteSlice extends Data 26 + { 27 + 28 + /** 29 + */ 30 + public function __construct( 31 + public readonly int $byteStart, 32 + public readonly int $byteEnd 33 + ) {} 34 + 35 + /** 36 + * Get the lexicon NSID for this data type. 37 + * 38 + * @return string 39 + */ 40 + public static function getLexicon(): string 41 + { 42 + return 'app.bsky.richtext.facet.byteSlice'; 43 + } 44 + 45 + 46 + /** 47 + * Create an instance from an array. 48 + * 49 + * @param array $data The data array 50 + * @return static 51 + */ 52 + public static function fromArray(array $data): static 53 + { 54 + return new static( 55 + byteStart: $data['byteStart'], 56 + byteEnd: $data['byteEnd'] 57 + ); 58 + } 59 + 60 + }
+53
src/Generated/App/Bsky/Richtext/Facet/Link.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Facet feature for a URL. The text URL may have been simplified or truncated, 9 + * but the facet reference should be a complete URL. 10 + * 11 + * Lexicon: app.bsky.richtext.facet.link 12 + * Type: object 13 + * 14 + * @property string $uri 15 + * 16 + * Constraints: 17 + * - Required: uri 18 + * - uri: Format: uri 19 + */ 20 + class Link extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly string $uri 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.richtext.facet.link'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + uri: $data['uri'] 50 + ); 51 + } 52 + 53 + }
+53
src/Generated/App/Bsky/Richtext/Facet/Mention.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Facet feature for mention of another account. The text is usually a handle, 9 + * including a '@' prefix, but the facet reference is a DID. 10 + * 11 + * Lexicon: app.bsky.richtext.facet.mention 12 + * Type: object 13 + * 14 + * @property string $did 15 + * 16 + * Constraints: 17 + * - Required: did 18 + * - did: Format: did 19 + */ 20 + class Mention extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly string $did 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'app.bsky.richtext.facet.mention'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + did: $data['did'] 50 + ); 51 + } 52 + 53 + }
+54
src/Generated/App/Bsky/Richtext/Facet/Tag.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Facet feature for a hashtag. The text usually includes a '#' prefix, but the 9 + * facet reference should not (except in the case of 'double hash tags'). 10 + * 11 + * Lexicon: app.bsky.richtext.facet.tag 12 + * Type: object 13 + * 14 + * @property string $tag 15 + * 16 + * Constraints: 17 + * - Required: tag 18 + * - tag: Max length: 640 19 + * - tag: Max graphemes: 64 20 + */ 21 + class Tag extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $tag 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'app.bsky.richtext.facet.tag'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + tag: $data['tag'] 51 + ); 52 + } 53 + 54 + }
+82
src/Generated/App/Bsky/Unspecced/Defs/AgeAssuranceEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Object used to store age assurance data in stash. 10 + * 11 + * Lexicon: app.bsky.unspecced.defs.ageAssuranceEvent 12 + * Type: object 13 + * 14 + * @property Carbon $createdAt The date and time of this write operation. 15 + * @property string $status The status of the age assurance process. 16 + * @property string $attemptId The unique identifier for this instance of the age assurance flow, in UUID format. 17 + * @property string|null $email The email used for AA. 18 + * @property string|null $initIp The IP address used when initiating the AA flow. 19 + * @property string|null $initUa The user agent used when initiating the AA flow. 20 + * @property string|null $completeIp The IP address used when completing the AA flow. 21 + * @property string|null $completeUa The user agent used when completing the AA flow. 22 + * 23 + * Constraints: 24 + * - Required: createdAt, status, attemptId 25 + * - createdAt: Format: datetime 26 + */ 27 + class AgeAssuranceEvent extends Data 28 + { 29 + 30 + /** 31 + * @param Carbon $createdAt The date and time of this write operation. 32 + * @param string $status The status of the age assurance process. 33 + * @param string $attemptId The unique identifier for this instance of the age assurance flow, in UUID format. 34 + * @param string|null $email The email used for AA. 35 + * @param string|null $initIp The IP address used when initiating the AA flow. 36 + * @param string|null $initUa The user agent used when initiating the AA flow. 37 + * @param string|null $completeIp The IP address used when completing the AA flow. 38 + * @param string|null $completeUa The user agent used when completing the AA flow. 39 + */ 40 + public function __construct( 41 + public readonly Carbon $createdAt, 42 + public readonly string $status, 43 + public readonly string $attemptId, 44 + public readonly ?string $email = null, 45 + public readonly ?string $initIp = null, 46 + public readonly ?string $initUa = null, 47 + public readonly ?string $completeIp = null, 48 + public readonly ?string $completeUa = null 49 + ) {} 50 + 51 + /** 52 + * Get the lexicon NSID for this data type. 53 + * 54 + * @return string 55 + */ 56 + public static function getLexicon(): string 57 + { 58 + return 'app.bsky.unspecced.defs.ageAssuranceEvent'; 59 + } 60 + 61 + 62 + /** 63 + * Create an instance from an array. 64 + * 65 + * @param array $data The data array 66 + * @return static 67 + */ 68 + public static function fromArray(array $data): static 69 + { 70 + return new static( 71 + createdAt: Carbon::parse($data['createdAt']), 72 + status: $data['status'], 73 + attemptId: $data['attemptId'], 74 + email: $data['email'] ?? null, 75 + initIp: $data['initIp'] ?? null, 76 + initUa: $data['initUa'] ?? null, 77 + completeIp: $data['completeIp'] ?? null, 78 + completeUa: $data['completeUa'] ?? null 79 + ); 80 + } 81 + 82 + }
+59
src/Generated/App/Bsky/Unspecced/Defs/AgeAssuranceState.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * The computed state of the age assurance process, returned to the user in 10 + * question on certain authenticated requests. 11 + * 12 + * Lexicon: app.bsky.unspecced.defs.ageAssuranceState 13 + * Type: object 14 + * 15 + * @property Carbon|null $lastInitiatedAt The timestamp when this state was last updated. 16 + * @property string $status The status of the age assurance process. 17 + * 18 + * Constraints: 19 + * - Required: status 20 + * - lastInitiatedAt: Format: datetime 21 + */ 22 + class AgeAssuranceState extends Data 23 + { 24 + 25 + /** 26 + * @param string $status The status of the age assurance process. 27 + * @param Carbon|null $lastInitiatedAt The timestamp when this state was last updated. 28 + */ 29 + public function __construct( 30 + public readonly string $status, 31 + public readonly ?Carbon $lastInitiatedAt = null 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'app.bsky.unspecced.defs.ageAssuranceState'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + status: $data['status'], 55 + lastInitiatedAt: isset($data['lastInitiatedAt']) ? Carbon::parse($data['lastInitiatedAt']) : null 56 + ); 57 + } 58 + 59 + }
+50
src/Generated/App/Bsky/Unspecced/Defs/SkeletonSearchActor.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.unspecced.defs.skeletonSearchActor 9 + * Type: object 10 + * 11 + * @property string $did 12 + * 13 + * Constraints: 14 + * - Required: did 15 + * - did: Format: did 16 + */ 17 + class SkeletonSearchActor extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $did 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.unspecced.defs.skeletonSearchActor'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + did: $data['did'] 47 + ); 48 + } 49 + 50 + }
+50
src/Generated/App/Bsky/Unspecced/Defs/SkeletonSearchPost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.unspecced.defs.skeletonSearchPost 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * 13 + * Constraints: 14 + * - Required: uri 15 + * - uri: Format: at-uri 16 + */ 17 + class SkeletonSearchPost extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $uri 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.unspecced.defs.skeletonSearchPost'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + uri: $data['uri'] 47 + ); 48 + } 49 + 50 + }
+50
src/Generated/App/Bsky/Unspecced/Defs/SkeletonSearchStarterPack.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.unspecced.defs.skeletonSearchStarterPack 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * 13 + * Constraints: 14 + * - Required: uri 15 + * - uri: Format: at-uri 16 + */ 17 + class SkeletonSearchStarterPack extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $uri 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.unspecced.defs.skeletonSearchStarterPack'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + uri: $data['uri'] 47 + ); 48 + } 49 + 50 + }
+72
src/Generated/App/Bsky/Unspecced/Defs/SkeletonTrend.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: app.bsky.unspecced.defs.skeletonTrend 10 + * Type: object 11 + * 12 + * @property string $topic 13 + * @property string $displayName 14 + * @property string $link 15 + * @property Carbon $startedAt 16 + * @property int $postCount 17 + * @property string|null $status 18 + * @property string|null $category 19 + * @property array<string> $dids 20 + * 21 + * Constraints: 22 + * - Required: topic, displayName, link, startedAt, postCount, dids 23 + * - startedAt: Format: datetime 24 + */ 25 + class SkeletonTrend extends Data 26 + { 27 + 28 + /** 29 + */ 30 + public function __construct( 31 + public readonly string $topic, 32 + public readonly string $displayName, 33 + public readonly string $link, 34 + public readonly Carbon $startedAt, 35 + public readonly int $postCount, 36 + public readonly array $dids, 37 + public readonly ?string $status = null, 38 + public readonly ?string $category = null 39 + ) {} 40 + 41 + /** 42 + * Get the lexicon NSID for this data type. 43 + * 44 + * @return string 45 + */ 46 + public static function getLexicon(): string 47 + { 48 + return 'app.bsky.unspecced.defs.skeletonTrend'; 49 + } 50 + 51 + 52 + /** 53 + * Create an instance from an array. 54 + * 55 + * @param array $data The data array 56 + * @return static 57 + */ 58 + public static function fromArray(array $data): static 59 + { 60 + return new static( 61 + topic: $data['topic'], 62 + displayName: $data['displayName'], 63 + link: $data['link'], 64 + startedAt: Carbon::parse($data['startedAt']), 65 + postCount: $data['postCount'], 66 + dids: $data['dids'], 67 + status: $data['status'] ?? null, 68 + category: $data['category'] ?? null 69 + ); 70 + } 71 + 72 + }
+50
src/Generated/App/Bsky/Unspecced/Defs/ThreadItemBlocked.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Feed\BlockedAuthor; 7 + 8 + /** 9 + * Lexicon: app.bsky.unspecced.defs.threadItemBlocked 10 + * Type: object 11 + * 12 + * @property BlockedAuthor $author 13 + * 14 + * Constraints: 15 + * - Required: author 16 + */ 17 + class ThreadItemBlocked extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly BlockedAuthor $author 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'app.bsky.unspecced.defs.threadItemBlocked'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + author: Defs::fromArray($data['author']) 47 + ); 48 + } 49 + 50 + }
+37
src/Generated/App/Bsky/Unspecced/Defs/ThreadItemNoUnauthenticated.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.unspecced.defs.threadItemNoUnauthenticated 9 + * Type: object 10 + */ 11 + class ThreadItemNoUnauthenticated extends Data 12 + { 13 + 14 + 15 + /** 16 + * Get the lexicon NSID for this data type. 17 + * 18 + * @return string 19 + */ 20 + public static function getLexicon(): string 21 + { 22 + return 'app.bsky.unspecced.defs.threadItemNoUnauthenticated'; 23 + } 24 + 25 + 26 + /** 27 + * Create an instance from an array. 28 + * 29 + * @param array $data The data array 30 + * @return static 31 + */ 32 + public static function fromArray(array $data): static 33 + { 34 + return new static(); 35 + } 36 + 37 + }
+37
src/Generated/App/Bsky/Unspecced/Defs/ThreadItemNotFound.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.unspecced.defs.threadItemNotFound 9 + * Type: object 10 + */ 11 + class ThreadItemNotFound extends Data 12 + { 13 + 14 + 15 + /** 16 + * Get the lexicon NSID for this data type. 17 + * 18 + * @return string 19 + */ 20 + public static function getLexicon(): string 21 + { 22 + return 'app.bsky.unspecced.defs.threadItemNotFound'; 23 + } 24 + 25 + 26 + /** 27 + * Create an instance from an array. 28 + * 29 + * @param array $data The data array 30 + * @return static 31 + */ 32 + public static function fromArray(array $data): static 33 + { 34 + return new static(); 35 + } 36 + 37 + }
+70
src/Generated/App/Bsky/Unspecced/Defs/ThreadItemPost.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Feed\PostView; 7 + 8 + /** 9 + * Lexicon: app.bsky.unspecced.defs.threadItemPost 10 + * Type: object 11 + * 12 + * @property PostView $post 13 + * @property bool $moreParents This post has more parents that were not present in the response. This is just a boolean, without the number of parents. 14 + * @property int $moreReplies This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate. 15 + * @property bool $opThread This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread. 16 + * @property bool $hiddenByThreadgate The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread. 17 + * @property bool $mutedByViewer This is by an account muted by the viewer requesting it. 18 + * 19 + * Constraints: 20 + * - Required: post, moreParents, moreReplies, opThread, hiddenByThreadgate, mutedByViewer 21 + */ 22 + class ThreadItemPost extends Data 23 + { 24 + 25 + /** 26 + * @param bool $moreParents This post has more parents that were not present in the response. This is just a boolean, without the number of parents. 27 + * @param int $moreReplies This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate. 28 + * @param bool $opThread This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread. 29 + * @param bool $hiddenByThreadgate The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread. 30 + * @param bool $mutedByViewer This is by an account muted by the viewer requesting it. 31 + */ 32 + public function __construct( 33 + public readonly PostView $post, 34 + public readonly bool $moreParents, 35 + public readonly int $moreReplies, 36 + public readonly bool $opThread, 37 + public readonly bool $hiddenByThreadgate, 38 + public readonly bool $mutedByViewer 39 + ) {} 40 + 41 + /** 42 + * Get the lexicon NSID for this data type. 43 + * 44 + * @return string 45 + */ 46 + public static function getLexicon(): string 47 + { 48 + return 'app.bsky.unspecced.defs.threadItemPost'; 49 + } 50 + 51 + 52 + /** 53 + * Create an instance from an array. 54 + * 55 + * @param array $data The data array 56 + * @return static 57 + */ 58 + public static function fromArray(array $data): static 59 + { 60 + return new static( 61 + post: Defs::fromArray($data['post']), 62 + moreParents: $data['moreParents'], 63 + moreReplies: $data['moreReplies'], 64 + opThread: $data['opThread'], 65 + hiddenByThreadgate: $data['hiddenByThreadgate'], 66 + mutedByViewer: $data['mutedByViewer'] 67 + ); 68 + } 69 + 70 + }
+73
src/Generated/App/Bsky/Unspecced/Defs/TrendView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Actor\ProfileViewBasic; 8 + 9 + /** 10 + * Lexicon: app.bsky.unspecced.defs.trendView 11 + * Type: object 12 + * 13 + * @property string $topic 14 + * @property string $displayName 15 + * @property string $link 16 + * @property Carbon $startedAt 17 + * @property int $postCount 18 + * @property string|null $status 19 + * @property string|null $category 20 + * @property array<ProfileViewBasic> $actors 21 + * 22 + * Constraints: 23 + * - Required: topic, displayName, link, startedAt, postCount, actors 24 + * - startedAt: Format: datetime 25 + */ 26 + class TrendView extends Data 27 + { 28 + 29 + /** 30 + */ 31 + public function __construct( 32 + public readonly string $topic, 33 + public readonly string $displayName, 34 + public readonly string $link, 35 + public readonly Carbon $startedAt, 36 + public readonly int $postCount, 37 + public readonly array $actors, 38 + public readonly ?string $status = null, 39 + public readonly ?string $category = null 40 + ) {} 41 + 42 + /** 43 + * Get the lexicon NSID for this data type. 44 + * 45 + * @return string 46 + */ 47 + public static function getLexicon(): string 48 + { 49 + return 'app.bsky.unspecced.defs.trendView'; 50 + } 51 + 52 + 53 + /** 54 + * Create an instance from an array. 55 + * 56 + * @param array $data The data array 57 + * @return static 58 + */ 59 + public static function fromArray(array $data): static 60 + { 61 + return new static( 62 + topic: $data['topic'], 63 + displayName: $data['displayName'], 64 + link: $data['link'], 65 + startedAt: Carbon::parse($data['startedAt']), 66 + postCount: $data['postCount'], 67 + actors: isset($data['actors']) ? array_map(fn ($item) => Defs::fromArray($item), $data['actors']) : [], 68 + status: $data['status'] ?? null, 69 + category: $data['category'] ?? null 70 + ); 71 + } 72 + 73 + }
+58
src/Generated/App/Bsky/Unspecced/Defs/TrendingTopic.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Unspecced\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: app.bsky.unspecced.defs.trendingTopic 9 + * Type: object 10 + * 11 + * @property string $topic 12 + * @property string|null $displayName 13 + * @property string|null $description 14 + * @property string $link 15 + * 16 + * Constraints: 17 + * - Required: topic, link 18 + */ 19 + class TrendingTopic extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $topic, 26 + public readonly string $link, 27 + public readonly ?string $displayName = null, 28 + public readonly ?string $description = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'app.bsky.unspecced.defs.trendingTopic'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + topic: $data['topic'], 52 + link: $data['link'], 53 + displayName: $data['displayName'] ?? null, 54 + description: $data['description'] ?? null 55 + ); 56 + } 57 + 58 + }
+73
src/Generated/App/Bsky/Video/Defs/JobStatus.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\App\Bsky\Video\Defs; 4 + 5 + use SocialDept\Schema\Data\BlobReference; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: app.bsky.video.defs.jobStatus 10 + * Type: object 11 + * 12 + * @property string $jobId 13 + * @property string $did 14 + * @property string $state The state of the video processing job. All values not listed as a known value indicate that the job is in process. 15 + * @property int|null $progress Progress within the current processing state. 16 + * @property BlobReference|null $blob 17 + * @property string|null $error 18 + * @property string|null $message 19 + * 20 + * Constraints: 21 + * - Required: jobId, did, state 22 + * - did: Format: did 23 + * - progress: Maximum: 100 24 + * - progress: Minimum: 0 25 + */ 26 + class JobStatus extends Data 27 + { 28 + 29 + /** 30 + * @param string $state The state of the video processing job. All values not listed as a known value indicate that the job is in process. 31 + * @param int|null $progress Progress within the current processing state. 32 + */ 33 + public function __construct( 34 + public readonly string $jobId, 35 + public readonly string $did, 36 + public readonly string $state, 37 + public readonly ?int $progress = null, 38 + public readonly ?BlobReference $blob = null, 39 + public readonly ?string $error = null, 40 + public readonly ?string $message = null 41 + ) {} 42 + 43 + /** 44 + * Get the lexicon NSID for this data type. 45 + * 46 + * @return string 47 + */ 48 + public static function getLexicon(): string 49 + { 50 + return 'app.bsky.video.defs.jobStatus'; 51 + } 52 + 53 + 54 + /** 55 + * Create an instance from an array. 56 + * 57 + * @param array $data The data array 58 + * @return static 59 + */ 60 + public static function fromArray(array $data): static 61 + { 62 + return new static( 63 + jobId: $data['jobId'], 64 + did: $data['did'], 65 + state: $data['state'], 66 + progress: $data['progress'] ?? null, 67 + blob: $data['blob'] ?? null, 68 + error: $data['error'] ?? null, 69 + message: $data['message'] ?? null 70 + ); 71 + } 72 + 73 + }
+72
src/Generated/Chat/Bsky/Convo/Defs/ConvoView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Chat\Bsky\Actor\ProfileViewBasic; 7 + use SocialDept\Schema\Support\UnionHelper; 8 + 9 + /** 10 + * Lexicon: chat.bsky.convo.defs.convoView 11 + * Type: object 12 + * 13 + * @property string $id 14 + * @property string $rev 15 + * @property array<ProfileViewBasic> $members 16 + * @property mixed $lastMessage 17 + * @property mixed $lastReaction 18 + * @property bool $muted 19 + * @property string|null $status 20 + * @property int $unreadCount 21 + * 22 + * Constraints: 23 + * - Required: id, rev, members, muted, unreadCount 24 + */ 25 + class ConvoView extends Data 26 + { 27 + 28 + /** 29 + */ 30 + public function __construct( 31 + public readonly string $id, 32 + public readonly string $rev, 33 + public readonly array $members, 34 + public readonly bool $muted, 35 + public readonly int $unreadCount, 36 + public readonly mixed $lastMessage = null, 37 + public readonly mixed $lastReaction = null, 38 + public readonly ?string $status = null 39 + ) {} 40 + 41 + /** 42 + * Get the lexicon NSID for this data type. 43 + * 44 + * @return string 45 + */ 46 + public static function getLexicon(): string 47 + { 48 + return 'chat.bsky.convo.defs.convoView'; 49 + } 50 + 51 + 52 + /** 53 + * Create an instance from an array. 54 + * 55 + * @param array $data The data array 56 + * @return static 57 + */ 58 + public static function fromArray(array $data): static 59 + { 60 + return new static( 61 + id: $data['id'], 62 + rev: $data['rev'], 63 + members: isset($data['members']) ? array_map(fn ($item) => Defs::fromArray($item), $data['members']) : [], 64 + muted: $data['muted'], 65 + unreadCount: $data['unreadCount'], 66 + lastMessage: isset($data['lastMessage']) ? UnionHelper::validateOpenUnion($data['lastMessage']) : null, 67 + lastReaction: isset($data['lastReaction']) ? UnionHelper::validateOpenUnion($data['lastReaction']) : null, 68 + status: $data['status'] ?? null 69 + ); 70 + } 71 + 72 + }
+61
src/Generated/Chat/Bsky/Convo/Defs/DeletedMessageView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs\DeletedMessageView\MessageViewSender; 8 + 9 + /** 10 + * Lexicon: chat.bsky.convo.defs.deletedMessageView 11 + * Type: object 12 + * 13 + * @property string $id 14 + * @property string $rev 15 + * @property mixed $sender 16 + * @property Carbon $sentAt 17 + * 18 + * Constraints: 19 + * - Required: id, rev, sender, sentAt 20 + * - sentAt: Format: datetime 21 + */ 22 + class DeletedMessageView extends Data 23 + { 24 + 25 + /** 26 + */ 27 + public function __construct( 28 + public readonly string $id, 29 + public readonly string $rev, 30 + public readonly mixed $sender, 31 + public readonly Carbon $sentAt 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'chat.bsky.convo.defs.deletedMessageView'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + id: $data['id'], 55 + rev: $data['rev'], 56 + sender: $data['sender'], 57 + sentAt: Carbon::parse($data['sentAt']) 58 + ); 59 + } 60 + 61 + }
+52
src/Generated/Chat/Bsky/Convo/Defs/LogAcceptConvo.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: chat.bsky.convo.defs.logAcceptConvo 9 + * Type: object 10 + * 11 + * @property string $rev 12 + * @property string $convoId 13 + * 14 + * Constraints: 15 + * - Required: rev, convoId 16 + */ 17 + class LogAcceptConvo extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $rev, 24 + public readonly string $convoId 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'chat.bsky.convo.defs.logAcceptConvo'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + rev: $data['rev'], 48 + convoId: $data['convoId'] 49 + ); 50 + } 51 + 52 + }
+60
src/Generated/Chat/Bsky/Convo/Defs/LogAddReaction.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs\LogAddReaction\ReactionView; 7 + use SocialDept\Schema\Support\UnionHelper; 8 + 9 + /** 10 + * Lexicon: chat.bsky.convo.defs.logAddReaction 11 + * Type: object 12 + * 13 + * @property string $rev 14 + * @property string $convoId 15 + * @property mixed $message 16 + * @property mixed $reaction 17 + * 18 + * Constraints: 19 + * - Required: rev, convoId, message, reaction 20 + */ 21 + class LogAddReaction extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $rev, 28 + public readonly string $convoId, 29 + public readonly mixed $message, 30 + public readonly mixed $reaction 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'chat.bsky.convo.defs.logAddReaction'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + rev: $data['rev'], 54 + convoId: $data['convoId'], 55 + message: UnionHelper::validateOpenUnion($data['message']), 56 + reaction: $data['reaction'] 57 + ); 58 + } 59 + 60 + }
+52
src/Generated/Chat/Bsky/Convo/Defs/LogBeginConvo.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: chat.bsky.convo.defs.logBeginConvo 9 + * Type: object 10 + * 11 + * @property string $rev 12 + * @property string $convoId 13 + * 14 + * Constraints: 15 + * - Required: rev, convoId 16 + */ 17 + class LogBeginConvo extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $rev, 24 + public readonly string $convoId 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'chat.bsky.convo.defs.logBeginConvo'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + rev: $data['rev'], 48 + convoId: $data['convoId'] 49 + ); 50 + } 51 + 52 + }
+56
src/Generated/Chat/Bsky/Convo/Defs/LogCreateMessage.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Support\UnionHelper; 7 + 8 + /** 9 + * Lexicon: chat.bsky.convo.defs.logCreateMessage 10 + * Type: object 11 + * 12 + * @property string $rev 13 + * @property string $convoId 14 + * @property mixed $message 15 + * 16 + * Constraints: 17 + * - Required: rev, convoId, message 18 + */ 19 + class LogCreateMessage extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $rev, 26 + public readonly string $convoId, 27 + public readonly mixed $message 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'chat.bsky.convo.defs.logCreateMessage'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + rev: $data['rev'], 51 + convoId: $data['convoId'], 52 + message: UnionHelper::validateOpenUnion($data['message']) 53 + ); 54 + } 55 + 56 + }
+56
src/Generated/Chat/Bsky/Convo/Defs/LogDeleteMessage.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Support\UnionHelper; 7 + 8 + /** 9 + * Lexicon: chat.bsky.convo.defs.logDeleteMessage 10 + * Type: object 11 + * 12 + * @property string $rev 13 + * @property string $convoId 14 + * @property mixed $message 15 + * 16 + * Constraints: 17 + * - Required: rev, convoId, message 18 + */ 19 + class LogDeleteMessage extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $rev, 26 + public readonly string $convoId, 27 + public readonly mixed $message 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'chat.bsky.convo.defs.logDeleteMessage'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + rev: $data['rev'], 51 + convoId: $data['convoId'], 52 + message: UnionHelper::validateOpenUnion($data['message']) 53 + ); 54 + } 55 + 56 + }
+52
src/Generated/Chat/Bsky/Convo/Defs/LogLeaveConvo.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: chat.bsky.convo.defs.logLeaveConvo 9 + * Type: object 10 + * 11 + * @property string $rev 12 + * @property string $convoId 13 + * 14 + * Constraints: 15 + * - Required: rev, convoId 16 + */ 17 + class LogLeaveConvo extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $rev, 24 + public readonly string $convoId 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'chat.bsky.convo.defs.logLeaveConvo'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + rev: $data['rev'], 48 + convoId: $data['convoId'] 49 + ); 50 + } 51 + 52 + }
+52
src/Generated/Chat/Bsky/Convo/Defs/LogMuteConvo.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: chat.bsky.convo.defs.logMuteConvo 9 + * Type: object 10 + * 11 + * @property string $rev 12 + * @property string $convoId 13 + * 14 + * Constraints: 15 + * - Required: rev, convoId 16 + */ 17 + class LogMuteConvo extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $rev, 24 + public readonly string $convoId 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'chat.bsky.convo.defs.logMuteConvo'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + rev: $data['rev'], 48 + convoId: $data['convoId'] 49 + ); 50 + } 51 + 52 + }
+56
src/Generated/Chat/Bsky/Convo/Defs/LogReadMessage.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Support\UnionHelper; 7 + 8 + /** 9 + * Lexicon: chat.bsky.convo.defs.logReadMessage 10 + * Type: object 11 + * 12 + * @property string $rev 13 + * @property string $convoId 14 + * @property mixed $message 15 + * 16 + * Constraints: 17 + * - Required: rev, convoId, message 18 + */ 19 + class LogReadMessage extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $rev, 26 + public readonly string $convoId, 27 + public readonly mixed $message 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'chat.bsky.convo.defs.logReadMessage'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + rev: $data['rev'], 51 + convoId: $data['convoId'], 52 + message: UnionHelper::validateOpenUnion($data['message']) 53 + ); 54 + } 55 + 56 + }
+60
src/Generated/Chat/Bsky/Convo/Defs/LogRemoveReaction.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs\LogRemoveReaction\ReactionView; 7 + use SocialDept\Schema\Support\UnionHelper; 8 + 9 + /** 10 + * Lexicon: chat.bsky.convo.defs.logRemoveReaction 11 + * Type: object 12 + * 13 + * @property string $rev 14 + * @property string $convoId 15 + * @property mixed $message 16 + * @property mixed $reaction 17 + * 18 + * Constraints: 19 + * - Required: rev, convoId, message, reaction 20 + */ 21 + class LogRemoveReaction extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $rev, 28 + public readonly string $convoId, 29 + public readonly mixed $message, 30 + public readonly mixed $reaction 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'chat.bsky.convo.defs.logRemoveReaction'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + rev: $data['rev'], 54 + convoId: $data['convoId'], 55 + message: UnionHelper::validateOpenUnion($data['message']), 56 + reaction: $data['reaction'] 57 + ); 58 + } 59 + 60 + }
+52
src/Generated/Chat/Bsky/Convo/Defs/LogUnmuteConvo.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: chat.bsky.convo.defs.logUnmuteConvo 9 + * Type: object 10 + * 11 + * @property string $rev 12 + * @property string $convoId 13 + * 14 + * Constraints: 15 + * - Required: rev, convoId 16 + */ 17 + class LogUnmuteConvo extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $rev, 24 + public readonly string $convoId 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'chat.bsky.convo.defs.logUnmuteConvo'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + rev: $data['rev'], 48 + convoId: $data['convoId'] 49 + ); 50 + } 51 + 52 + }
+54
src/Generated/Chat/Bsky/Convo/Defs/MessageAndReactionView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs\MessageAndReactionView\MessageView; 7 + use SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs\MessageAndReactionView\ReactionView; 8 + 9 + /** 10 + * Lexicon: chat.bsky.convo.defs.messageAndReactionView 11 + * Type: object 12 + * 13 + * @property mixed $message 14 + * @property mixed $reaction 15 + * 16 + * Constraints: 17 + * - Required: message, reaction 18 + */ 19 + class MessageAndReactionView extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly mixed $message, 26 + public readonly mixed $reaction 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'chat.bsky.convo.defs.messageAndReactionView'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + message: $data['message'], 50 + reaction: $data['reaction'] 51 + ); 52 + } 53 + 54 + }
+60
src/Generated/Chat/Bsky/Convo/Defs/MessageInput.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 7 + use SocialDept\Schema\Support\UnionHelper; 8 + 9 + /** 10 + * Lexicon: chat.bsky.convo.defs.messageInput 11 + * Type: object 12 + * 13 + * @property string $text 14 + * @property array<Facet>|null $facets Annotations of text (mentions, URLs, hashtags, etc) 15 + * @property mixed $embed 16 + * 17 + * Constraints: 18 + * - Required: text 19 + * - text: Max length: 10000 20 + * - text: Max graphemes: 1000 21 + */ 22 + class MessageInput extends Data 23 + { 24 + 25 + /** 26 + * @param array<Facet>|null $facets Annotations of text (mentions, URLs, hashtags, etc) 27 + */ 28 + public function __construct( 29 + public readonly string $text, 30 + public readonly ?array $facets = null, 31 + public readonly mixed $embed = null 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'chat.bsky.convo.defs.messageInput'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + text: $data['text'], 55 + facets: isset($data['facets']) ? array_map(fn ($item) => Facet::fromArray($item), $data['facets']) : [], 56 + embed: isset($data['embed']) ? UnionHelper::validateOpenUnion($data['embed']) : null 57 + ); 58 + } 59 + 60 + }
+56
src/Generated/Chat/Bsky/Convo/Defs/MessageRef.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: chat.bsky.convo.defs.messageRef 9 + * Type: object 10 + * 11 + * @property string $did 12 + * @property string $convoId 13 + * @property string $messageId 14 + * 15 + * Constraints: 16 + * - Required: did, messageId, convoId 17 + * - did: Format: did 18 + */ 19 + class MessageRef extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $did, 26 + public readonly string $convoId, 27 + public readonly string $messageId 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'chat.bsky.convo.defs.messageRef'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + did: $data['did'], 51 + convoId: $data['convoId'], 52 + messageId: $data['messageId'] 53 + ); 54 + } 55 + 56 + }
+80
src/Generated/Chat/Bsky/Convo/Defs/MessageView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\App\Bsky\Richtext\Facet; 8 + use SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs\MessageView\MessageViewSender; 9 + use SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs\MessageView\ReactionView; 10 + use SocialDept\Schema\Support\UnionHelper; 11 + 12 + /** 13 + * Lexicon: chat.bsky.convo.defs.messageView 14 + * Type: object 15 + * 16 + * @property string $id 17 + * @property string $rev 18 + * @property string $text 19 + * @property array<Facet>|null $facets Annotations of text (mentions, URLs, hashtags, etc) 20 + * @property mixed $embed 21 + * @property array|null $reactions Reactions to this message, in ascending order of creation time. 22 + * @property mixed $sender 23 + * @property Carbon $sentAt 24 + * 25 + * Constraints: 26 + * - Required: id, rev, text, sender, sentAt 27 + * - text: Max length: 10000 28 + * - text: Max graphemes: 1000 29 + * - sentAt: Format: datetime 30 + */ 31 + class MessageView extends Data 32 + { 33 + 34 + /** 35 + * @param array<Facet>|null $facets Annotations of text (mentions, URLs, hashtags, etc) 36 + * @param array|null $reactions Reactions to this message, in ascending order of creation time. 37 + */ 38 + public function __construct( 39 + public readonly string $id, 40 + public readonly string $rev, 41 + public readonly string $text, 42 + public readonly mixed $sender, 43 + public readonly Carbon $sentAt, 44 + public readonly ?array $facets = null, 45 + public readonly mixed $embed = null, 46 + public readonly ?array $reactions = null 47 + ) {} 48 + 49 + /** 50 + * Get the lexicon NSID for this data type. 51 + * 52 + * @return string 53 + */ 54 + public static function getLexicon(): string 55 + { 56 + return 'chat.bsky.convo.defs.messageView'; 57 + } 58 + 59 + 60 + /** 61 + * Create an instance from an array. 62 + * 63 + * @param array $data The data array 64 + * @return static 65 + */ 66 + public static function fromArray(array $data): static 67 + { 68 + return new static( 69 + id: $data['id'], 70 + rev: $data['rev'], 71 + text: $data['text'], 72 + sender: $data['sender'], 73 + sentAt: Carbon::parse($data['sentAt']), 74 + facets: isset($data['facets']) ? array_map(fn ($item) => Facet::fromArray($item), $data['facets']) : [], 75 + embed: isset($data['embed']) ? UnionHelper::validateOpenUnion($data['embed']) : null, 76 + reactions: $data['reactions'] ?? [] 77 + ); 78 + } 79 + 80 + }
+50
src/Generated/Chat/Bsky/Convo/Defs/MessageViewSender.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: chat.bsky.convo.defs.messageViewSender 9 + * Type: object 10 + * 11 + * @property string $did 12 + * 13 + * Constraints: 14 + * - Required: did 15 + * - did: Format: did 16 + */ 17 + class MessageViewSender extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $did 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'chat.bsky.convo.defs.messageViewSender'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + did: $data['did'] 47 + ); 48 + } 49 + 50 + }
+58
src/Generated/Chat/Bsky/Convo/Defs/ReactionView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs\ReactionView\ReactionViewSender; 8 + 9 + /** 10 + * Lexicon: chat.bsky.convo.defs.reactionView 11 + * Type: object 12 + * 13 + * @property string $value 14 + * @property mixed $sender 15 + * @property Carbon $createdAt 16 + * 17 + * Constraints: 18 + * - Required: value, sender, createdAt 19 + * - createdAt: Format: datetime 20 + */ 21 + class ReactionView extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $value, 28 + public readonly mixed $sender, 29 + public readonly Carbon $createdAt 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'chat.bsky.convo.defs.reactionView'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + value: $data['value'], 53 + sender: $data['sender'], 54 + createdAt: Carbon::parse($data['createdAt']) 55 + ); 56 + } 57 + 58 + }
+50
src/Generated/Chat/Bsky/Convo/Defs/ReactionViewSender.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Chat\Bsky\Convo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: chat.bsky.convo.defs.reactionViewSender 9 + * Type: object 10 + * 11 + * @property string $did 12 + * 13 + * Constraints: 14 + * - Required: did 15 + * - did: Format: did 16 + */ 17 + class ReactionViewSender extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $did 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'chat.bsky.convo.defs.reactionViewSender'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + did: $data['did'] 47 + ); 48 + } 49 + 50 + }
+90
src/Generated/Com/Atproto/Admin/Defs/AccountView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Admin\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Admin\Defs\AccountView\ThreatSignature; 8 + use SocialDept\Schema\Generated\Com\Atproto\Server\InviteCode; 9 + 10 + /** 11 + * Lexicon: com.atproto.admin.defs.accountView 12 + * Type: object 13 + * 14 + * @property string $did 15 + * @property string $handle 16 + * @property string|null $email 17 + * @property array|null $relatedRecords 18 + * @property Carbon $indexedAt 19 + * @property InviteCode|null $invitedBy 20 + * @property array<InviteCode>|null $invites 21 + * @property bool|null $invitesDisabled 22 + * @property Carbon|null $emailConfirmedAt 23 + * @property string|null $inviteNote 24 + * @property Carbon|null $deactivatedAt 25 + * @property array|null $threatSignatures 26 + * 27 + * Constraints: 28 + * - Required: did, handle, indexedAt 29 + * - did: Format: did 30 + * - handle: Format: handle 31 + * - indexedAt: Format: datetime 32 + * - emailConfirmedAt: Format: datetime 33 + * - deactivatedAt: Format: datetime 34 + */ 35 + class AccountView extends Data 36 + { 37 + 38 + /** 39 + */ 40 + public function __construct( 41 + public readonly string $did, 42 + public readonly string $handle, 43 + public readonly Carbon $indexedAt, 44 + public readonly ?string $email = null, 45 + public readonly ?array $relatedRecords = null, 46 + public readonly ?InviteCode $invitedBy = null, 47 + public readonly ?array $invites = null, 48 + public readonly ?bool $invitesDisabled = null, 49 + public readonly ?Carbon $emailConfirmedAt = null, 50 + public readonly ?string $inviteNote = null, 51 + public readonly ?Carbon $deactivatedAt = null, 52 + public readonly ?array $threatSignatures = null 53 + ) {} 54 + 55 + /** 56 + * Get the lexicon NSID for this data type. 57 + * 58 + * @return string 59 + */ 60 + public static function getLexicon(): string 61 + { 62 + return 'com.atproto.admin.defs.accountView'; 63 + } 64 + 65 + 66 + /** 67 + * Create an instance from an array. 68 + * 69 + * @param array $data The data array 70 + * @return static 71 + */ 72 + public static function fromArray(array $data): static 73 + { 74 + return new static( 75 + did: $data['did'], 76 + handle: $data['handle'], 77 + indexedAt: Carbon::parse($data['indexedAt']), 78 + email: $data['email'] ?? null, 79 + relatedRecords: $data['relatedRecords'] ?? null, 80 + invitedBy: isset($data['invitedBy']) ? Defs::fromArray($data['invitedBy']) : null, 81 + invites: isset($data['invites']) ? array_map(fn ($item) => Defs::fromArray($item), $data['invites']) : [], 82 + invitesDisabled: $data['invitesDisabled'] ?? null, 83 + emailConfirmedAt: isset($data['emailConfirmedAt']) ? Carbon::parse($data['emailConfirmedAt']) : null, 84 + inviteNote: $data['inviteNote'] ?? null, 85 + deactivatedAt: isset($data['deactivatedAt']) ? Carbon::parse($data['deactivatedAt']) : null, 86 + threatSignatures: $data['threatSignatures'] ?? [] 87 + ); 88 + } 89 + 90 + }
+58
src/Generated/Com/Atproto/Admin/Defs/RepoBlobRef.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Admin\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.admin.defs.repoBlobRef 9 + * Type: object 10 + * 11 + * @property string $did 12 + * @property string $cid 13 + * @property string|null $recordUri 14 + * 15 + * Constraints: 16 + * - Required: did, cid 17 + * - did: Format: did 18 + * - cid: Format: cid 19 + * - recordUri: Format: at-uri 20 + */ 21 + class RepoBlobRef extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $did, 28 + public readonly string $cid, 29 + public readonly ?string $recordUri = null 30 + ) {} 31 + 32 + /** 33 + * Get the lexicon NSID for this data type. 34 + * 35 + * @return string 36 + */ 37 + public static function getLexicon(): string 38 + { 39 + return 'com.atproto.admin.defs.repoBlobRef'; 40 + } 41 + 42 + 43 + /** 44 + * Create an instance from an array. 45 + * 46 + * @param array $data The data array 47 + * @return static 48 + */ 49 + public static function fromArray(array $data): static 50 + { 51 + return new static( 52 + did: $data['did'], 53 + cid: $data['cid'], 54 + recordUri: $data['recordUri'] ?? null 55 + ); 56 + } 57 + 58 + }
+50
src/Generated/Com/Atproto/Admin/Defs/RepoRef.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Admin\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.admin.defs.repoRef 9 + * Type: object 10 + * 11 + * @property string $did 12 + * 13 + * Constraints: 14 + * - Required: did 15 + * - did: Format: did 16 + */ 17 + class RepoRef extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $did 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'com.atproto.admin.defs.repoRef'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + did: $data['did'] 47 + ); 48 + } 49 + 50 + }
+52
src/Generated/Com/Atproto/Admin/Defs/StatusAttr.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Admin\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.admin.defs.statusAttr 9 + * Type: object 10 + * 11 + * @property bool $applied 12 + * @property string|null $ref 13 + * 14 + * Constraints: 15 + * - Required: applied 16 + */ 17 + class StatusAttr extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly bool $applied, 24 + public readonly ?string $ref = null 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'com.atproto.admin.defs.statusAttr'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + applied: $data['applied'], 48 + ref: $data['ref'] ?? null 49 + ); 50 + } 51 + 52 + }
+52
src/Generated/Com/Atproto/Admin/Defs/ThreatSignature.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Admin\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.admin.defs.threatSignature 9 + * Type: object 10 + * 11 + * @property string $property 12 + * @property string $value 13 + * 14 + * Constraints: 15 + * - Required: property, value 16 + */ 17 + class ThreatSignature extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $property, 24 + public readonly string $value 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'com.atproto.admin.defs.threatSignature'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + property: $data['property'], 48 + value: $data['value'] 49 + ); 50 + } 51 + 52 + }
+59
src/Generated/Com/Atproto/Identity/Defs/IdentityInfo.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Identity\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.identity.defs.identityInfo 9 + * Type: object 10 + * 11 + * @property string $did 12 + * @property string $handle The validated handle of the account; or 'handle.invalid' if the handle did not bi-directionally match the DID document. 13 + * @property mixed $didDoc The complete DID document for the identity. 14 + * 15 + * Constraints: 16 + * - Required: did, handle, didDoc 17 + * - did: Format: did 18 + * - handle: Format: handle 19 + */ 20 + class IdentityInfo extends Data 21 + { 22 + 23 + /** 24 + * @param string $handle The validated handle of the account; or 'handle.invalid' if the handle did not bi-directionally match the DID document. 25 + * @param mixed $didDoc The complete DID document for the identity. 26 + */ 27 + public function __construct( 28 + public readonly string $did, 29 + public readonly string $handle, 30 + public readonly mixed $didDoc 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'com.atproto.identity.defs.identityInfo'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + did: $data['did'], 54 + handle: $data['handle'], 55 + didDoc: $data['didDoc'] 56 + ); 57 + } 58 + 59 + }
+91
src/Generated/Com/Atproto/Label/Defs/Label.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Label\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Metadata tag on an atproto resource (eg, repo or record). 10 + * 11 + * Lexicon: com.atproto.label.defs.label 12 + * Type: object 13 + * 14 + * @property int|null $ver The AT Protocol version of the label object. 15 + * @property string $src DID of the actor who created this label. 16 + * @property string $uri AT URI of the record, repository (account), or other resource that this label applies to. 17 + * @property string|null $cid Optionally, CID specifying the specific version of 'uri' resource this label applies to. 18 + * @property string $val The short string name of the value or type of this label. 19 + * @property bool|null $neg If true, this is a negation label, overwriting a previous label. 20 + * @property Carbon $cts Timestamp when this label was created. 21 + * @property Carbon|null $exp Timestamp at which this label expires (no longer applies). 22 + * @property string|null $sig Signature of dag-cbor encoded label. 23 + * 24 + * Constraints: 25 + * - Required: src, uri, val, cts 26 + * - src: Format: did 27 + * - uri: Format: uri 28 + * - cid: Format: cid 29 + * - val: Max length: 128 30 + * - cts: Format: datetime 31 + * - exp: Format: datetime 32 + */ 33 + class Label extends Data 34 + { 35 + 36 + /** 37 + * @param string $src DID of the actor who created this label. 38 + * @param string $uri AT URI of the record, repository (account), or other resource that this label applies to. 39 + * @param string $val The short string name of the value or type of this label. 40 + * @param Carbon $cts Timestamp when this label was created. 41 + * @param int|null $ver The AT Protocol version of the label object. 42 + * @param string|null $cid Optionally, CID specifying the specific version of 'uri' resource this label applies to. 43 + * @param bool|null $neg If true, this is a negation label, overwriting a previous label. 44 + * @param Carbon|null $exp Timestamp at which this label expires (no longer applies). 45 + * @param string|null $sig Signature of dag-cbor encoded label. 46 + */ 47 + public function __construct( 48 + public readonly string $src, 49 + public readonly string $uri, 50 + public readonly string $val, 51 + public readonly Carbon $cts, 52 + public readonly ?int $ver = null, 53 + public readonly ?string $cid = null, 54 + public readonly ?bool $neg = null, 55 + public readonly ?Carbon $exp = null, 56 + public readonly ?string $sig = null 57 + ) {} 58 + 59 + /** 60 + * Get the lexicon NSID for this data type. 61 + * 62 + * @return string 63 + */ 64 + public static function getLexicon(): string 65 + { 66 + return 'com.atproto.label.defs.label'; 67 + } 68 + 69 + 70 + /** 71 + * Create an instance from an array. 72 + * 73 + * @param array $data The data array 74 + * @return static 75 + */ 76 + public static function fromArray(array $data): static 77 + { 78 + return new static( 79 + src: $data['src'], 80 + uri: $data['uri'], 81 + val: $data['val'], 82 + cts: Carbon::parse($data['cts']), 83 + ver: $data['ver'] ?? null, 84 + cid: $data['cid'] ?? null, 85 + neg: $data['neg'] ?? null, 86 + exp: isset($data['exp']) ? Carbon::parse($data['exp']) : null, 87 + sig: $data['sig'] ?? null 88 + ); 89 + } 90 + 91 + }
+74
src/Generated/Com/Atproto/Label/Defs/LabelValueDefinition.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Label\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Label\Defs\LabelValueDefinition\LabelValueDefinitionStrings; 7 + 8 + /** 9 + * Declares a label value and its expected interpretations and behaviors. 10 + * 11 + * Lexicon: com.atproto.label.defs.labelValueDefinition 12 + * Type: object 13 + * 14 + * @property string $identifier The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+). 15 + * @property string $severity How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing. 16 + * @property string $blurs What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing. 17 + * @property string|null $defaultSetting The default setting for this label. 18 + * @property bool|null $adultOnly Does the user need to have adult content enabled in order to configure this label? 19 + * @property array $locales 20 + * 21 + * Constraints: 22 + * - Required: identifier, severity, blurs, locales 23 + * - identifier: Max length: 100 24 + * - identifier: Max graphemes: 100 25 + */ 26 + class LabelValueDefinition extends Data 27 + { 28 + 29 + /** 30 + * @param string $identifier The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+). 31 + * @param string $severity How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing. 32 + * @param string $blurs What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing. 33 + * @param string|null $defaultSetting The default setting for this label. 34 + * @param bool|null $adultOnly Does the user need to have adult content enabled in order to configure this label? 35 + */ 36 + public function __construct( 37 + public readonly string $identifier, 38 + public readonly string $severity, 39 + public readonly string $blurs, 40 + public readonly array $locales, 41 + public readonly ?string $defaultSetting = null, 42 + public readonly ?bool $adultOnly = null 43 + ) {} 44 + 45 + /** 46 + * Get the lexicon NSID for this data type. 47 + * 48 + * @return string 49 + */ 50 + public static function getLexicon(): string 51 + { 52 + return 'com.atproto.label.defs.labelValueDefinition'; 53 + } 54 + 55 + 56 + /** 57 + * Create an instance from an array. 58 + * 59 + * @param array $data The data array 60 + * @return static 61 + */ 62 + public static function fromArray(array $data): static 63 + { 64 + return new static( 65 + identifier: $data['identifier'], 66 + severity: $data['severity'], 67 + blurs: $data['blurs'], 68 + locales: $data['locales'] ?? [], 69 + defaultSetting: $data['defaultSetting'] ?? null, 70 + adultOnly: $data['adultOnly'] ?? null 71 + ); 72 + } 73 + 74 + }
+66
src/Generated/Com/Atproto/Label/Defs/LabelValueDefinitionStrings.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Label\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Strings which describe the label in the UI, localized into a specific 9 + * language. 10 + * 11 + * Lexicon: com.atproto.label.defs.labelValueDefinitionStrings 12 + * Type: object 13 + * 14 + * @property string $lang The code of the language these strings are written in. 15 + * @property string $name A short human-readable name for the label. 16 + * @property string $description A longer description of what the label means and why it might be applied. 17 + * 18 + * Constraints: 19 + * - Required: lang, name, description 20 + * - lang: Format: language 21 + * - name: Max length: 640 22 + * - name: Max graphemes: 64 23 + * - description: Max length: 100000 24 + * - description: Max graphemes: 10000 25 + */ 26 + class LabelValueDefinitionStrings extends Data 27 + { 28 + 29 + /** 30 + * @param string $lang The code of the language these strings are written in. 31 + * @param string $name A short human-readable name for the label. 32 + * @param string $description A longer description of what the label means and why it might be applied. 33 + */ 34 + public function __construct( 35 + public readonly string $lang, 36 + public readonly string $name, 37 + public readonly string $description 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'com.atproto.label.defs.labelValueDefinitionStrings'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + lang: $data['lang'], 61 + name: $data['name'], 62 + description: $data['description'] 63 + ); 64 + } 65 + 66 + }
+54
src/Generated/Com/Atproto/Label/Defs/SelfLabel.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Label\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Metadata tag on an atproto record, published by the author within the record. 9 + * Note that schemas should use #selfLabels, not #selfLabel. 10 + * 11 + * Lexicon: com.atproto.label.defs.selfLabel 12 + * Type: object 13 + * 14 + * @property string $val The short string name of the value or type of this label. 15 + * 16 + * Constraints: 17 + * - Required: val 18 + * - val: Max length: 128 19 + */ 20 + class SelfLabel extends Data 21 + { 22 + 23 + /** 24 + * @param string $val The short string name of the value or type of this label. 25 + */ 26 + public function __construct( 27 + public readonly string $val 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'com.atproto.label.defs.selfLabel'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + val: $data['val'] 51 + ); 52 + } 53 + 54 + }
+54
src/Generated/Com/Atproto/Label/Defs/SelfLabels.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Label\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Label\Defs\SelfLabels\SelfLabel; 7 + 8 + /** 9 + * Metadata tags on an atproto record, published by the author within the 10 + * record. 11 + * 12 + * Lexicon: com.atproto.label.defs.selfLabels 13 + * Type: object 14 + * 15 + * @property array $values 16 + * 17 + * Constraints: 18 + * - Required: values 19 + * - values: Max length: 10 20 + */ 21 + class SelfLabels extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly array $values 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'com.atproto.label.defs.selfLabels'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + values: $data['values'] ?? [] 51 + ); 52 + } 53 + 54 + }
+18
src/Generated/Com/Atproto/Label/LabelValue.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Label; 4 + 5 + enum LabelValue: string 6 + { 7 + case Hide = '!hide'; 8 + case NoPromote = '!no-promote'; 9 + case Warn = '!warn'; 10 + case NoUnauthenticated = '!no-unauthenticated'; 11 + case DmcaViolation = 'dmca-violation'; 12 + case Doxxing = 'doxxing'; 13 + case Porn = 'porn'; 14 + case Sexual = 'sexual'; 15 + case Nudity = 'nudity'; 16 + case Nsfl = 'nsfl'; 17 + case Gore = 'gore'; 18 + }
+52
src/Generated/Com/Atproto/Label/SubscribeLabels/Info.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Label\SubscribeLabels; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.label.subscribeLabels.info 9 + * Type: object 10 + * 11 + * @property string $name 12 + * @property string|null $message 13 + * 14 + * Constraints: 15 + * - Required: name 16 + */ 17 + class Info extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $name, 24 + public readonly ?string $message = null 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'com.atproto.label.subscribeLabels.info'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + name: $data['name'], 48 + message: $data['message'] ?? null 49 + ); 50 + } 51 + 52 + }
+53
src/Generated/Com/Atproto/Label/SubscribeLabels/Labels.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Label\SubscribeLabels; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 7 + 8 + /** 9 + * Lexicon: com.atproto.label.subscribeLabels.labels 10 + * Type: object 11 + * 12 + * @property int $seq 13 + * @property array<Label> $labels 14 + * 15 + * Constraints: 16 + * - Required: seq, labels 17 + */ 18 + class Labels extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly int $seq, 25 + public readonly array $labels 26 + ) {} 27 + 28 + /** 29 + * Get the lexicon NSID for this data type. 30 + * 31 + * @return string 32 + */ 33 + public static function getLexicon(): string 34 + { 35 + return 'com.atproto.label.subscribeLabels.labels'; 36 + } 37 + 38 + 39 + /** 40 + * Create an instance from an array. 41 + * 42 + * @param array $data The data array 43 + * @return static 44 + */ 45 + public static function fromArray(array $data): static 46 + { 47 + return new static( 48 + seq: $data['seq'], 49 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [] 50 + ); 51 + } 52 + 53 + }
+56
src/Generated/Com/Atproto/Moderation/CreateReport/ModTool.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Moderation\CreateReport; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Moderation tool information for tracing the source of the action 9 + * 10 + * Lexicon: com.atproto.moderation.createReport.modTool 11 + * Type: object 12 + * 13 + * @property string $name Name/identifier of the source (e.g., 'bsky-app/android', 'bsky-web/chrome') 14 + * @property mixed $meta Additional arbitrary metadata about the source 15 + * 16 + * Constraints: 17 + * - Required: name 18 + */ 19 + class ModTool extends Data 20 + { 21 + 22 + /** 23 + * @param string $name Name/identifier of the source (e.g., 'bsky-app/android', 'bsky-web/chrome') 24 + * @param mixed $meta Additional arbitrary metadata about the source 25 + */ 26 + public function __construct( 27 + public readonly string $name, 28 + public readonly mixed $meta = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'com.atproto.moderation.createReport.modTool'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + name: $data['name'], 52 + meta: $data['meta'] ?? null 53 + ); 54 + } 55 + 56 + }
+54
src/Generated/Com/Atproto/Moderation/ReasonType.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Moderation; 4 + 5 + enum ReasonType: string 6 + { 7 + case ReasonSpam = 'com.atproto.moderation.defs#reasonSpam'; 8 + case ReasonViolation = 'com.atproto.moderation.defs#reasonViolation'; 9 + case ReasonMisleading = 'com.atproto.moderation.defs#reasonMisleading'; 10 + case ReasonSexual = 'com.atproto.moderation.defs#reasonSexual'; 11 + case ReasonRude = 'com.atproto.moderation.defs#reasonRude'; 12 + case ReasonOther = 'com.atproto.moderation.defs#reasonOther'; 13 + case ReasonAppeal = 'com.atproto.moderation.defs#reasonAppeal'; 14 + case ReportReasonAppeal = 'tools.ozone.report.defs#reasonAppeal'; 15 + case ReportReasonOther = 'tools.ozone.report.defs#reasonOther'; 16 + case ReasonViolenceAnimal = 'tools.ozone.report.defs#reasonViolenceAnimal'; 17 + case ReasonViolenceThreats = 'tools.ozone.report.defs#reasonViolenceThreats'; 18 + case ReasonViolenceGraphicContent = 'tools.ozone.report.defs#reasonViolenceGraphicContent'; 19 + case ReasonViolenceGlorification = 'tools.ozone.report.defs#reasonViolenceGlorification'; 20 + case ReasonViolenceExtremistContent = 'tools.ozone.report.defs#reasonViolenceExtremistContent'; 21 + case ReasonViolenceTrafficking = 'tools.ozone.report.defs#reasonViolenceTrafficking'; 22 + case ReasonViolenceOther = 'tools.ozone.report.defs#reasonViolenceOther'; 23 + case ReasonSexualAbuseContent = 'tools.ozone.report.defs#reasonSexualAbuseContent'; 24 + case ReasonSexualNCII = 'tools.ozone.report.defs#reasonSexualNCII'; 25 + case ReasonSexualDeepfake = 'tools.ozone.report.defs#reasonSexualDeepfake'; 26 + case ReasonSexualAnimal = 'tools.ozone.report.defs#reasonSexualAnimal'; 27 + case ReasonSexualUnlabeled = 'tools.ozone.report.defs#reasonSexualUnlabeled'; 28 + case ReasonSexualOther = 'tools.ozone.report.defs#reasonSexualOther'; 29 + case ReasonChildSafetyCSAM = 'tools.ozone.report.defs#reasonChildSafetyCSAM'; 30 + case ReasonChildSafetyGroom = 'tools.ozone.report.defs#reasonChildSafetyGroom'; 31 + case ReasonChildSafetyPrivacy = 'tools.ozone.report.defs#reasonChildSafetyPrivacy'; 32 + case ReasonChildSafetyHarassment = 'tools.ozone.report.defs#reasonChildSafetyHarassment'; 33 + case ReasonChildSafetyOther = 'tools.ozone.report.defs#reasonChildSafetyOther'; 34 + case ReasonHarassmentTroll = 'tools.ozone.report.defs#reasonHarassmentTroll'; 35 + case ReasonHarassmentTargeted = 'tools.ozone.report.defs#reasonHarassmentTargeted'; 36 + case ReasonHarassmentHateSpeech = 'tools.ozone.report.defs#reasonHarassmentHateSpeech'; 37 + case ReasonHarassmentDoxxing = 'tools.ozone.report.defs#reasonHarassmentDoxxing'; 38 + case ReasonHarassmentOther = 'tools.ozone.report.defs#reasonHarassmentOther'; 39 + case ReasonMisleadingBot = 'tools.ozone.report.defs#reasonMisleadingBot'; 40 + case ReasonMisleadingImpersonation = 'tools.ozone.report.defs#reasonMisleadingImpersonation'; 41 + case ReasonMisleadingSpam = 'tools.ozone.report.defs#reasonMisleadingSpam'; 42 + case ReasonMisleadingScam = 'tools.ozone.report.defs#reasonMisleadingScam'; 43 + case ReasonMisleadingElections = 'tools.ozone.report.defs#reasonMisleadingElections'; 44 + case ReasonMisleadingOther = 'tools.ozone.report.defs#reasonMisleadingOther'; 45 + case ReasonRuleSiteSecurity = 'tools.ozone.report.defs#reasonRuleSiteSecurity'; 46 + case ReasonRuleProhibitedSales = 'tools.ozone.report.defs#reasonRuleProhibitedSales'; 47 + case ReasonRuleBanEvasion = 'tools.ozone.report.defs#reasonRuleBanEvasion'; 48 + case ReasonRuleOther = 'tools.ozone.report.defs#reasonRuleOther'; 49 + case ReasonSelfHarmContent = 'tools.ozone.report.defs#reasonSelfHarmContent'; 50 + case ReasonSelfHarmED = 'tools.ozone.report.defs#reasonSelfHarmED'; 51 + case ReasonSelfHarmStunts = 'tools.ozone.report.defs#reasonSelfHarmStunts'; 52 + case ReasonSelfHarmSubstances = 'tools.ozone.report.defs#reasonSelfHarmSubstances'; 53 + case ReasonSelfHarmOther = 'tools.ozone.report.defs#reasonSelfHarmOther'; 54 + }
+13
src/Generated/Com/Atproto/Moderation/SubjectType.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Moderation; 4 + 5 + /** 6 + * Tag describing a type of subject that might be reported. 7 + */ 8 + enum SubjectType: string 9 + { 10 + case Account = 'account'; 11 + case Record = 'record'; 12 + case Chat = 'chat'; 13 + }
+61
src/Generated/Com/Atproto/Repo/ApplyWrites/Create.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\ApplyWrites; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Operation which creates a new record. 9 + * 10 + * Lexicon: com.atproto.repo.applyWrites.create 11 + * Type: object 12 + * 13 + * @property string $collection 14 + * @property string|null $rkey NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility. 15 + * @property mixed $value 16 + * 17 + * Constraints: 18 + * - Required: collection, value 19 + * - collection: Format: nsid 20 + * - rkey: Max length: 512 21 + * - rkey: Format: record-key 22 + */ 23 + class Create extends Data 24 + { 25 + 26 + /** 27 + * @param string|null $rkey NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility. 28 + */ 29 + public function __construct( 30 + public readonly string $collection, 31 + public readonly mixed $value, 32 + public readonly ?string $rkey = null 33 + ) {} 34 + 35 + /** 36 + * Get the lexicon NSID for this data type. 37 + * 38 + * @return string 39 + */ 40 + public static function getLexicon(): string 41 + { 42 + return 'com.atproto.repo.applyWrites.create'; 43 + } 44 + 45 + 46 + /** 47 + * Create an instance from an array. 48 + * 49 + * @param array $data The data array 50 + * @return static 51 + */ 52 + public static function fromArray(array $data): static 53 + { 54 + return new static( 55 + collection: $data['collection'], 56 + value: $data['value'], 57 + rkey: $data['rkey'] ?? null 58 + ); 59 + } 60 + 61 + }
+57
src/Generated/Com/Atproto/Repo/ApplyWrites/CreateResult.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\ApplyWrites; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.repo.applyWrites.createResult 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * @property string $cid 13 + * @property string|null $validationStatus 14 + * 15 + * Constraints: 16 + * - Required: uri, cid 17 + * - uri: Format: at-uri 18 + * - cid: Format: cid 19 + */ 20 + class CreateResult extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly string $uri, 27 + public readonly string $cid, 28 + public readonly ?string $validationStatus = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'com.atproto.repo.applyWrites.createResult'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + uri: $data['uri'], 52 + cid: $data['cid'], 53 + validationStatus: $data['validationStatus'] ?? null 54 + ); 55 + } 56 + 57 + }
+56
src/Generated/Com/Atproto/Repo/ApplyWrites/Delete.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\ApplyWrites; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Operation which deletes an existing record. 9 + * 10 + * Lexicon: com.atproto.repo.applyWrites.delete 11 + * Type: object 12 + * 13 + * @property string $collection 14 + * @property string $rkey 15 + * 16 + * Constraints: 17 + * - Required: collection, rkey 18 + * - collection: Format: nsid 19 + * - rkey: Format: record-key 20 + */ 21 + class Delete extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $collection, 28 + public readonly string $rkey 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'com.atproto.repo.applyWrites.delete'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + collection: $data['collection'], 52 + rkey: $data['rkey'] 53 + ); 54 + } 55 + 56 + }
+37
src/Generated/Com/Atproto/Repo/ApplyWrites/DeleteResult.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\ApplyWrites; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.repo.applyWrites.deleteResult 9 + * Type: object 10 + */ 11 + class DeleteResult extends Data 12 + { 13 + 14 + 15 + /** 16 + * Get the lexicon NSID for this data type. 17 + * 18 + * @return string 19 + */ 20 + public static function getLexicon(): string 21 + { 22 + return 'com.atproto.repo.applyWrites.deleteResult'; 23 + } 24 + 25 + 26 + /** 27 + * Create an instance from an array. 28 + * 29 + * @param array $data The data array 30 + * @return static 31 + */ 32 + public static function fromArray(array $data): static 33 + { 34 + return new static(); 35 + } 36 + 37 + }
+59
src/Generated/Com/Atproto/Repo/ApplyWrites/Update.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\ApplyWrites; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Operation which updates an existing record. 9 + * 10 + * Lexicon: com.atproto.repo.applyWrites.update 11 + * Type: object 12 + * 13 + * @property string $collection 14 + * @property string $rkey 15 + * @property mixed $value 16 + * 17 + * Constraints: 18 + * - Required: collection, rkey, value 19 + * - collection: Format: nsid 20 + * - rkey: Format: record-key 21 + */ 22 + class Update extends Data 23 + { 24 + 25 + /** 26 + */ 27 + public function __construct( 28 + public readonly string $collection, 29 + public readonly string $rkey, 30 + public readonly mixed $value 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'com.atproto.repo.applyWrites.update'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + collection: $data['collection'], 54 + rkey: $data['rkey'], 55 + value: $data['value'] 56 + ); 57 + } 58 + 59 + }
+57
src/Generated/Com/Atproto/Repo/ApplyWrites/UpdateResult.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\ApplyWrites; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.repo.applyWrites.updateResult 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * @property string $cid 13 + * @property string|null $validationStatus 14 + * 15 + * Constraints: 16 + * - Required: uri, cid 17 + * - uri: Format: at-uri 18 + * - cid: Format: cid 19 + */ 20 + class UpdateResult extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly string $uri, 27 + public readonly string $cid, 28 + public readonly ?string $validationStatus = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'com.atproto.repo.applyWrites.updateResult'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + uri: $data['uri'], 52 + cid: $data['cid'], 53 + validationStatus: $data['validationStatus'] ?? null 54 + ); 55 + } 56 + 57 + }
+54
src/Generated/Com/Atproto/Repo/Defs/CommitMeta.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.repo.defs.commitMeta 9 + * Type: object 10 + * 11 + * @property string $cid 12 + * @property string $rev 13 + * 14 + * Constraints: 15 + * - Required: cid, rev 16 + * - cid: Format: cid 17 + * - rev: Format: tid 18 + */ 19 + class CommitMeta extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $cid, 26 + public readonly string $rev 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'com.atproto.repo.defs.commitMeta'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + cid: $data['cid'], 50 + rev: $data['rev'] 51 + ); 52 + } 53 + 54 + }
+54
src/Generated/Com/Atproto/Repo/ListMissingBlobs/RecordBlob.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\ListMissingBlobs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.repo.listMissingBlobs.recordBlob 9 + * Type: object 10 + * 11 + * @property string $cid 12 + * @property string $recordUri 13 + * 14 + * Constraints: 15 + * - Required: cid, recordUri 16 + * - cid: Format: cid 17 + * - recordUri: Format: at-uri 18 + */ 19 + class RecordBlob extends Data 20 + { 21 + 22 + /** 23 + */ 24 + public function __construct( 25 + public readonly string $cid, 26 + public readonly string $recordUri 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'com.atproto.repo.listMissingBlobs.recordBlob'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + cid: $data['cid'], 50 + recordUri: $data['recordUri'] 51 + ); 52 + } 53 + 54 + }
+57
src/Generated/Com/Atproto/Repo/ListRecords/Record.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo\ListRecords; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.repo.listRecords.record 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * @property string $cid 13 + * @property mixed $value 14 + * 15 + * Constraints: 16 + * - Required: uri, cid, value 17 + * - uri: Format: at-uri 18 + * - cid: Format: cid 19 + */ 20 + class Record extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly string $uri, 27 + public readonly string $cid, 28 + public readonly mixed $value 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'com.atproto.repo.listRecords.record'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + uri: $data['uri'], 52 + cid: $data['cid'], 53 + value: $data['value'] 54 + ); 55 + } 56 + 57 + }
+56
src/Generated/Com/Atproto/Repo/StrongRef.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Repo; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * A URI with a content-hash fingerprint. 9 + * 10 + * Lexicon: com.atproto.repo.strongRef 11 + * Type: object 12 + * 13 + * @property string $uri 14 + * @property string $cid 15 + * 16 + * Constraints: 17 + * - Required: uri, cid 18 + * - uri: Format: at-uri 19 + * - cid: Format: cid 20 + */ 21 + class StrongRef extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $uri, 28 + public readonly string $cid 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'com.atproto.repo.strongRef'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + uri: $data['uri'], 52 + cid: $data['cid'] 53 + ); 54 + } 55 + 56 + }
+60
src/Generated/Com/Atproto/Server/CreateAppPassword/AppPassword.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Server\CreateAppPassword; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: com.atproto.server.createAppPassword.appPassword 10 + * Type: object 11 + * 12 + * @property string $name 13 + * @property string $password 14 + * @property Carbon $createdAt 15 + * @property bool|null $privileged 16 + * 17 + * Constraints: 18 + * - Required: name, password, createdAt 19 + * - createdAt: Format: datetime 20 + */ 21 + class AppPassword extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly string $name, 28 + public readonly string $password, 29 + public readonly Carbon $createdAt, 30 + public readonly ?bool $privileged = null 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'com.atproto.server.createAppPassword.appPassword'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + name: $data['name'], 54 + password: $data['password'], 55 + createdAt: Carbon::parse($data['createdAt']), 56 + privileged: $data['privileged'] ?? null 57 + ); 58 + } 59 + 60 + }
+52
src/Generated/Com/Atproto/Server/CreateInviteCodes/AccountCodes.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Server\CreateInviteCodes; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.server.createInviteCodes.accountCodes 9 + * Type: object 10 + * 11 + * @property string $account 12 + * @property array<string> $codes 13 + * 14 + * Constraints: 15 + * - Required: account, codes 16 + */ 17 + class AccountCodes extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $account, 24 + public readonly array $codes 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'com.atproto.server.createInviteCodes.accountCodes'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + account: $data['account'], 48 + codes: $data['codes'] 49 + ); 50 + } 51 + 52 + }
+70
src/Generated/Com/Atproto/Server/Defs/InviteCode.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Server\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Server\Defs\InviteCode\InviteCodeUse; 8 + 9 + /** 10 + * Lexicon: com.atproto.server.defs.inviteCode 11 + * Type: object 12 + * 13 + * @property string $code 14 + * @property int $available 15 + * @property bool $disabled 16 + * @property string $forAccount 17 + * @property string $createdBy 18 + * @property Carbon $createdAt 19 + * @property array $uses 20 + * 21 + * Constraints: 22 + * - Required: code, available, disabled, forAccount, createdBy, createdAt, uses 23 + * - createdAt: Format: datetime 24 + */ 25 + class InviteCode extends Data 26 + { 27 + 28 + /** 29 + */ 30 + public function __construct( 31 + public readonly string $code, 32 + public readonly int $available, 33 + public readonly bool $disabled, 34 + public readonly string $forAccount, 35 + public readonly string $createdBy, 36 + public readonly Carbon $createdAt, 37 + public readonly array $uses 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'com.atproto.server.defs.inviteCode'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + code: $data['code'], 61 + available: $data['available'], 62 + disabled: $data['disabled'], 63 + forAccount: $data['forAccount'], 64 + createdBy: $data['createdBy'], 65 + createdAt: Carbon::parse($data['createdAt']), 66 + uses: $data['uses'] ?? [] 67 + ); 68 + } 69 + 70 + }
+55
src/Generated/Com/Atproto/Server/Defs/InviteCodeUse.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Server\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: com.atproto.server.defs.inviteCodeUse 10 + * Type: object 11 + * 12 + * @property string $usedBy 13 + * @property Carbon $usedAt 14 + * 15 + * Constraints: 16 + * - Required: usedBy, usedAt 17 + * - usedBy: Format: did 18 + * - usedAt: Format: datetime 19 + */ 20 + class InviteCodeUse extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly string $usedBy, 27 + public readonly Carbon $usedAt 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'com.atproto.server.defs.inviteCodeUse'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + usedBy: $data['usedBy'], 51 + usedAt: Carbon::parse($data['usedAt']) 52 + ); 53 + } 54 + 55 + }
+46
src/Generated/Com/Atproto/Server/DescribeServer/Contact.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Server\DescribeServer; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.server.describeServer.contact 9 + * Type: object 10 + * 11 + * @property string|null $email 12 + */ 13 + class Contact extends Data 14 + { 15 + 16 + /** 17 + */ 18 + public function __construct( 19 + public readonly ?string $email = null 20 + ) {} 21 + 22 + /** 23 + * Get the lexicon NSID for this data type. 24 + * 25 + * @return string 26 + */ 27 + public static function getLexicon(): string 28 + { 29 + return 'com.atproto.server.describeServer.contact'; 30 + } 31 + 32 + 33 + /** 34 + * Create an instance from an array. 35 + * 36 + * @param array $data The data array 37 + * @return static 38 + */ 39 + public static function fromArray(array $data): static 40 + { 41 + return new static( 42 + email: $data['email'] ?? null 43 + ); 44 + } 45 + 46 + }
+53
src/Generated/Com/Atproto/Server/DescribeServer/Links.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Server\DescribeServer; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.server.describeServer.links 9 + * Type: object 10 + * 11 + * @property string|null $privacyPolicy 12 + * @property string|null $termsOfService 13 + * 14 + * Constraints: 15 + * - privacyPolicy: Format: uri 16 + * - termsOfService: Format: uri 17 + */ 18 + class Links extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly ?string $privacyPolicy = null, 25 + public readonly ?string $termsOfService = null 26 + ) {} 27 + 28 + /** 29 + * Get the lexicon NSID for this data type. 30 + * 31 + * @return string 32 + */ 33 + public static function getLexicon(): string 34 + { 35 + return 'com.atproto.server.describeServer.links'; 36 + } 37 + 38 + 39 + /** 40 + * Create an instance from an array. 41 + * 42 + * @param array $data The data array 43 + * @return static 44 + */ 45 + public static function fromArray(array $data): static 46 + { 47 + return new static( 48 + privacyPolicy: $data['privacyPolicy'] ?? null, 49 + termsOfService: $data['termsOfService'] ?? null 50 + ); 51 + } 52 + 53 + }
+57
src/Generated/Com/Atproto/Server/ListAppPasswords/AppPassword.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Server\ListAppPasswords; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: com.atproto.server.listAppPasswords.appPassword 10 + * Type: object 11 + * 12 + * @property string $name 13 + * @property Carbon $createdAt 14 + * @property bool|null $privileged 15 + * 16 + * Constraints: 17 + * - Required: name, createdAt 18 + * - createdAt: Format: datetime 19 + */ 20 + class AppPassword extends Data 21 + { 22 + 23 + /** 24 + */ 25 + public function __construct( 26 + public readonly string $name, 27 + public readonly Carbon $createdAt, 28 + public readonly ?bool $privileged = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'com.atproto.server.listAppPasswords.appPassword'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + name: $data['name'], 52 + createdAt: Carbon::parse($data['createdAt']), 53 + privileged: $data['privileged'] ?? null 54 + ); 55 + } 56 + 57 + }
+12
src/Generated/Com/Atproto/Sync/HostStatus.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync; 4 + 5 + enum HostStatus: string 6 + { 7 + case Active = 'active'; 8 + case Idle = 'idle'; 9 + case Offline = 'offline'; 10 + case Throttled = 'throttled'; 11 + case Banned = 'banned'; 12 + }
+61
src/Generated/Com/Atproto/Sync/ListHosts/Host.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\ListHosts; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Sync\HostStatus; 7 + 8 + /** 9 + * Lexicon: com.atproto.sync.listHosts.host 10 + * Type: object 11 + * 12 + * @property string $hostname hostname of server; not a URL (no scheme) 13 + * @property int|null $seq Recent repo stream event sequence number. May be delayed from actual stream processing (eg, persisted cursor not in-memory cursor). 14 + * @property int|null $accountCount 15 + * @property HostStatus|null $status 16 + * 17 + * Constraints: 18 + * - Required: hostname 19 + */ 20 + class Host extends Data 21 + { 22 + 23 + /** 24 + * @param string $hostname hostname of server; not a URL (no scheme) 25 + * @param int|null $seq Recent repo stream event sequence number. May be delayed from actual stream processing (eg, persisted cursor not in-memory cursor). 26 + */ 27 + public function __construct( 28 + public readonly string $hostname, 29 + public readonly ?int $seq = null, 30 + public readonly ?int $accountCount = null, 31 + public readonly ?HostStatus $status = null 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'com.atproto.sync.listHosts.host'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + hostname: $data['hostname'], 55 + seq: $data['seq'] ?? null, 56 + accountCount: $data['accountCount'] ?? null, 57 + status: isset($data['status']) ? Defs::fromArray($data['status']) : null 58 + ); 59 + } 60 + 61 + }
+66
src/Generated/Com/Atproto/Sync/ListRepos/Repo.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\ListRepos; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.sync.listRepos.repo 9 + * Type: object 10 + * 11 + * @property string $did 12 + * @property string $head Current repo commit CID 13 + * @property string $rev 14 + * @property bool|null $active 15 + * @property string|null $status If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted. 16 + * 17 + * Constraints: 18 + * - Required: did, head, rev 19 + * - did: Format: did 20 + * - head: Format: cid 21 + * - rev: Format: tid 22 + */ 23 + class Repo extends Data 24 + { 25 + 26 + /** 27 + * @param string $head Current repo commit CID 28 + * @param string|null $status If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted. 29 + */ 30 + public function __construct( 31 + public readonly string $did, 32 + public readonly string $head, 33 + public readonly string $rev, 34 + public readonly ?bool $active = null, 35 + public readonly ?string $status = null 36 + ) {} 37 + 38 + /** 39 + * Get the lexicon NSID for this data type. 40 + * 41 + * @return string 42 + */ 43 + public static function getLexicon(): string 44 + { 45 + return 'com.atproto.sync.listRepos.repo'; 46 + } 47 + 48 + 49 + /** 50 + * Create an instance from an array. 51 + * 52 + * @param array $data The data array 53 + * @return static 54 + */ 55 + public static function fromArray(array $data): static 56 + { 57 + return new static( 58 + did: $data['did'], 59 + head: $data['head'], 60 + rev: $data['rev'], 61 + active: $data['active'] ?? null, 62 + status: $data['status'] ?? null 63 + ); 64 + } 65 + 66 + }
+50
src/Generated/Com/Atproto/Sync/ListReposByCollection/Repo.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\ListReposByCollection; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.sync.listReposByCollection.repo 9 + * Type: object 10 + * 11 + * @property string $did 12 + * 13 + * Constraints: 14 + * - Required: did 15 + * - did: Format: did 16 + */ 17 + class Repo extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $did 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'com.atproto.sync.listReposByCollection.repo'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + did: $data['did'] 47 + ); 48 + } 49 + 50 + }
+71
src/Generated/Com/Atproto/Sync/SubscribeRepos/Account.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\SubscribeRepos; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Represents a change to an account's status on a host (eg, PDS or Relay). The 10 + * semantics of this event are that the status is at the host which emitted the 11 + * event, not necessarily that at the currently active PDS. Eg, a Relay takedown 12 + * would emit a takedown with active=false, even if the PDS is still active. 13 + * 14 + * Lexicon: com.atproto.sync.subscribeRepos.account 15 + * Type: object 16 + * 17 + * @property int $seq 18 + * @property string $did 19 + * @property Carbon $time 20 + * @property bool $active Indicates that the account has a repository which can be fetched from the host that emitted this event. 21 + * @property string|null $status If active=false, this optional field indicates a reason for why the account is not active. 22 + * 23 + * Constraints: 24 + * - Required: seq, did, time, active 25 + * - did: Format: did 26 + * - time: Format: datetime 27 + */ 28 + class Account extends Data 29 + { 30 + 31 + /** 32 + * @param bool $active Indicates that the account has a repository which can be fetched from the host that emitted this event. 33 + * @param string|null $status If active=false, this optional field indicates a reason for why the account is not active. 34 + */ 35 + public function __construct( 36 + public readonly int $seq, 37 + public readonly string $did, 38 + public readonly Carbon $time, 39 + public readonly bool $active, 40 + public readonly ?string $status = null 41 + ) {} 42 + 43 + /** 44 + * Get the lexicon NSID for this data type. 45 + * 46 + * @return string 47 + */ 48 + public static function getLexicon(): string 49 + { 50 + return 'com.atproto.sync.subscribeRepos.account'; 51 + } 52 + 53 + 54 + /** 55 + * Create an instance from an array. 56 + * 57 + * @param array $data The data array 58 + * @return static 59 + */ 60 + public static function fromArray(array $data): static 61 + { 62 + return new static( 63 + seq: $data['seq'], 64 + did: $data['did'], 65 + time: Carbon::parse($data['time']), 66 + active: $data['active'], 67 + status: $data['status'] ?? null 68 + ); 69 + } 70 + 71 + }
+104
src/Generated/Com/Atproto/Sync/SubscribeRepos/Commit.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\SubscribeRepos; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Sync\SubscribeRepos\Commit\RepoOp; 8 + 9 + /** 10 + * Represents an update of repository state. Note that empty commits are 11 + * allowed, which include no repo data changes, but an update to rev and 12 + * signature. 13 + * 14 + * Lexicon: com.atproto.sync.subscribeRepos.commit 15 + * Type: object 16 + * 17 + * @property int $seq The stream sequence number of this message. 18 + * @property bool $rebase DEPRECATED -- unused 19 + * @property bool $tooBig DEPRECATED -- replaced by #sync event and data limits. Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data. 20 + * @property string $repo The repo this event comes from. Note that all other message types name this field 'did'. 21 + * @property string $commit Repo commit object CID. 22 + * @property string $rev The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event. 23 + * @property string $since The rev of the last emitted commit from this repo (if any). 24 + * @property string $blocks CAR file containing relevant blocks, as a diff since the previous repo state. The commit must be included as a block, and the commit block CID must be the first entry in the CAR header 'roots' list. 25 + * @property array $ops 26 + * @property array<string> $blobs 27 + * @property string|null $prevData The root CID of the MST tree for the previous commit from this repo (indicated by the 'since' revision field in this message). Corresponds to the 'data' field in the repo commit object. NOTE: this field is effectively required for the 'inductive' version of firehose. 28 + * @property Carbon $time Timestamp of when this message was originally broadcast. 29 + * 30 + * Constraints: 31 + * - Required: seq, rebase, tooBig, repo, commit, rev, since, blocks, ops, blobs, time 32 + * - repo: Format: did 33 + * - rev: Format: tid 34 + * - since: Format: tid 35 + * - blocks: Max length: 2000000 36 + * - ops: Max length: 200 37 + * - time: Format: datetime 38 + */ 39 + class Commit extends Data 40 + { 41 + 42 + /** 43 + * @param int $seq The stream sequence number of this message. 44 + * @param bool $rebase DEPRECATED -- unused 45 + * @param bool $tooBig DEPRECATED -- replaced by #sync event and data limits. Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data. 46 + * @param string $repo The repo this event comes from. Note that all other message types name this field 'did'. 47 + * @param string $commit Repo commit object CID. 48 + * @param string $rev The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event. 49 + * @param string $since The rev of the last emitted commit from this repo (if any). 50 + * @param string $blocks CAR file containing relevant blocks, as a diff since the previous repo state. The commit must be included as a block, and the commit block CID must be the first entry in the CAR header 'roots' list. 51 + * @param Carbon $time Timestamp of when this message was originally broadcast. 52 + * @param string|null $prevData The root CID of the MST tree for the previous commit from this repo (indicated by the 'since' revision field in this message). Corresponds to the 'data' field in the repo commit object. NOTE: this field is effectively required for the 'inductive' version of firehose. 53 + */ 54 + public function __construct( 55 + public readonly int $seq, 56 + public readonly bool $rebase, 57 + public readonly bool $tooBig, 58 + public readonly string $repo, 59 + public readonly string $commit, 60 + public readonly string $rev, 61 + public readonly string $since, 62 + public readonly string $blocks, 63 + public readonly array $ops, 64 + public readonly array $blobs, 65 + public readonly Carbon $time, 66 + public readonly ?string $prevData = null 67 + ) {} 68 + 69 + /** 70 + * Get the lexicon NSID for this data type. 71 + * 72 + * @return string 73 + */ 74 + public static function getLexicon(): string 75 + { 76 + return 'com.atproto.sync.subscribeRepos.commit'; 77 + } 78 + 79 + 80 + /** 81 + * Create an instance from an array. 82 + * 83 + * @param array $data The data array 84 + * @return static 85 + */ 86 + public static function fromArray(array $data): static 87 + { 88 + return new static( 89 + seq: $data['seq'], 90 + rebase: $data['rebase'], 91 + tooBig: $data['tooBig'], 92 + repo: $data['repo'], 93 + commit: $data['commit'], 94 + rev: $data['rev'], 95 + since: $data['since'], 96 + blocks: $data['blocks'], 97 + ops: $data['ops'] ?? [], 98 + blobs: $data['blobs'], 99 + time: Carbon::parse($data['time']), 100 + prevData: $data['prevData'] ?? null 101 + ); 102 + } 103 + 104 + }
+67
src/Generated/Com/Atproto/Sync/SubscribeRepos/Identity.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\SubscribeRepos; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Represents a change to an account's identity. Could be an updated handle, 10 + * signing key, or pds hosting endpoint. Serves as a prod to all downstream 11 + * services to refresh their identity cache. 12 + * 13 + * Lexicon: com.atproto.sync.subscribeRepos.identity 14 + * Type: object 15 + * 16 + * @property int $seq 17 + * @property string $did 18 + * @property Carbon $time 19 + * @property string|null $handle The current handle for the account, or 'handle.invalid' if validation fails. This field is optional, might have been validated or passed-through from an upstream source. Semantics and behaviors for PDS vs Relay may evolve in the future; see atproto specs for more details. 20 + * 21 + * Constraints: 22 + * - Required: seq, did, time 23 + * - did: Format: did 24 + * - time: Format: datetime 25 + * - handle: Format: handle 26 + */ 27 + class Identity extends Data 28 + { 29 + 30 + /** 31 + * @param string|null $handle The current handle for the account, or 'handle.invalid' if validation fails. This field is optional, might have been validated or passed-through from an upstream source. Semantics and behaviors for PDS vs Relay may evolve in the future; see atproto specs for more details. 32 + */ 33 + public function __construct( 34 + public readonly int $seq, 35 + public readonly string $did, 36 + public readonly Carbon $time, 37 + public readonly ?string $handle = null 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'com.atproto.sync.subscribeRepos.identity'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + seq: $data['seq'], 61 + did: $data['did'], 62 + time: Carbon::parse($data['time']), 63 + handle: $data['handle'] ?? null 64 + ); 65 + } 66 + 67 + }
+52
src/Generated/Com/Atproto/Sync/SubscribeRepos/Info.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\SubscribeRepos; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: com.atproto.sync.subscribeRepos.info 9 + * Type: object 10 + * 11 + * @property string $name 12 + * @property string|null $message 13 + * 14 + * Constraints: 15 + * - Required: name 16 + */ 17 + class Info extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $name, 24 + public readonly ?string $message = null 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'com.atproto.sync.subscribeRepos.info'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + name: $data['name'], 48 + message: $data['message'] ?? null 49 + ); 50 + } 51 + 52 + }
+62
src/Generated/Com/Atproto/Sync/SubscribeRepos/RepoOp.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\SubscribeRepos; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * A repo operation, ie a mutation of a single record. 9 + * 10 + * Lexicon: com.atproto.sync.subscribeRepos.repoOp 11 + * Type: object 12 + * 13 + * @property string $action 14 + * @property string $path 15 + * @property string $cid For creates and updates, the new record CID. For deletions, null. 16 + * @property string|null $prev For updates and deletes, the previous record CID (required for inductive firehose). For creations, field should not be defined. 17 + * 18 + * Constraints: 19 + * - Required: action, path, cid 20 + */ 21 + class RepoOp extends Data 22 + { 23 + 24 + /** 25 + * @param string $cid For creates and updates, the new record CID. For deletions, null. 26 + * @param string|null $prev For updates and deletes, the previous record CID (required for inductive firehose). For creations, field should not be defined. 27 + */ 28 + public function __construct( 29 + public readonly string $action, 30 + public readonly string $path, 31 + public readonly string $cid, 32 + public readonly ?string $prev = null 33 + ) {} 34 + 35 + /** 36 + * Get the lexicon NSID for this data type. 37 + * 38 + * @return string 39 + */ 40 + public static function getLexicon(): string 41 + { 42 + return 'com.atproto.sync.subscribeRepos.repoOp'; 43 + } 44 + 45 + 46 + /** 47 + * Create an instance from an array. 48 + * 49 + * @param array $data The data array 50 + * @return static 51 + */ 52 + public static function fromArray(array $data): static 53 + { 54 + return new static( 55 + action: $data['action'], 56 + path: $data['path'], 57 + cid: $data['cid'], 58 + prev: $data['prev'] ?? null 59 + ); 60 + } 61 + 62 + }
+75
src/Generated/Com/Atproto/Sync/SubscribeRepos/Sync.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Com\Atproto\Sync\SubscribeRepos; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Updates the repo to a new state, without necessarily including that state on 10 + * the firehose. Used to recover from broken commit streams, data loss 11 + * incidents, or in situations where upstream host does not know recent state of 12 + * the repository. 13 + * 14 + * Lexicon: com.atproto.sync.subscribeRepos.sync 15 + * Type: object 16 + * 17 + * @property int $seq The stream sequence number of this message. 18 + * @property string $did The account this repo event corresponds to. Must match that in the commit object. 19 + * @property string $blocks CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'. 20 + * @property string $rev The rev of the commit. This value must match that in the commit object. 21 + * @property Carbon $time Timestamp of when this message was originally broadcast. 22 + * 23 + * Constraints: 24 + * - Required: seq, did, blocks, rev, time 25 + * - did: Format: did 26 + * - blocks: Max length: 10000 27 + * - time: Format: datetime 28 + */ 29 + class Sync extends Data 30 + { 31 + 32 + /** 33 + * @param int $seq The stream sequence number of this message. 34 + * @param string $did The account this repo event corresponds to. Must match that in the commit object. 35 + * @param string $blocks CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'. 36 + * @param string $rev The rev of the commit. This value must match that in the commit object. 37 + * @param Carbon $time Timestamp of when this message was originally broadcast. 38 + */ 39 + public function __construct( 40 + public readonly int $seq, 41 + public readonly string $did, 42 + public readonly string $blocks, 43 + public readonly string $rev, 44 + public readonly Carbon $time 45 + ) {} 46 + 47 + /** 48 + * Get the lexicon NSID for this data type. 49 + * 50 + * @return string 51 + */ 52 + public static function getLexicon(): string 53 + { 54 + return 'com.atproto.sync.subscribeRepos.sync'; 55 + } 56 + 57 + 58 + /** 59 + * Create an instance from an array. 60 + * 61 + * @param array $data The data array 62 + * @return static 63 + */ 64 + public static function fromArray(array $data): static 65 + { 66 + return new static( 67 + seq: $data['seq'], 68 + did: $data['did'], 69 + blocks: $data['blocks'], 70 + rev: $data['rev'], 71 + time: Carbon::parse($data['time']) 72 + ); 73 + } 74 + 75 + }
+83
src/Generated/Tools/Ozone/Communication/Defs/TemplateView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Communication\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: tools.ozone.communication.defs.templateView 10 + * Type: object 11 + * 12 + * @property string $id 13 + * @property string $name Name of the template. 14 + * @property string|null $subject Content of the template, can contain markdown and variable placeholders. 15 + * @property string $contentMarkdown Subject of the message, used in emails. 16 + * @property bool $disabled 17 + * @property string|null $lang Message language. 18 + * @property string $lastUpdatedBy DID of the user who last updated the template. 19 + * @property Carbon $createdAt 20 + * @property Carbon $updatedAt 21 + * 22 + * Constraints: 23 + * - Required: id, name, contentMarkdown, disabled, lastUpdatedBy, createdAt, updatedAt 24 + * - lang: Format: language 25 + * - lastUpdatedBy: Format: did 26 + * - createdAt: Format: datetime 27 + * - updatedAt: Format: datetime 28 + */ 29 + class TemplateView extends Data 30 + { 31 + 32 + /** 33 + * @param string $name Name of the template. 34 + * @param string $contentMarkdown Subject of the message, used in emails. 35 + * @param string $lastUpdatedBy DID of the user who last updated the template. 36 + * @param string|null $subject Content of the template, can contain markdown and variable placeholders. 37 + * @param string|null $lang Message language. 38 + */ 39 + public function __construct( 40 + public readonly string $id, 41 + public readonly string $name, 42 + public readonly string $contentMarkdown, 43 + public readonly bool $disabled, 44 + public readonly string $lastUpdatedBy, 45 + public readonly Carbon $createdAt, 46 + public readonly Carbon $updatedAt, 47 + public readonly ?string $subject = null, 48 + public readonly ?string $lang = null 49 + ) {} 50 + 51 + /** 52 + * Get the lexicon NSID for this data type. 53 + * 54 + * @return string 55 + */ 56 + public static function getLexicon(): string 57 + { 58 + return 'tools.ozone.communication.defs.templateView'; 59 + } 60 + 61 + 62 + /** 63 + * Create an instance from an array. 64 + * 65 + * @param array $data The data array 66 + * @return static 67 + */ 68 + public static function fromArray(array $data): static 69 + { 70 + return new static( 71 + id: $data['id'], 72 + name: $data['name'], 73 + contentMarkdown: $data['contentMarkdown'], 74 + disabled: $data['disabled'], 75 + lastUpdatedBy: $data['lastUpdatedBy'], 76 + createdAt: Carbon::parse($data['createdAt']), 77 + updatedAt: Carbon::parse($data['updatedAt']), 78 + subject: $data['subject'] ?? null, 79 + lang: $data['lang'] ?? null 80 + ); 81 + } 82 + 83 + }
+64
src/Generated/Tools/Ozone/Moderation/Defs/AccountEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Logs account status related events on a repo subject. Normally captured by 10 + * automod from the firehose and emitted to ozone for historical tracking. 11 + * 12 + * Lexicon: tools.ozone.moderation.defs.accountEvent 13 + * Type: object 14 + * 15 + * @property string|null $comment 16 + * @property bool $active Indicates that the account has a repository which can be fetched from the host that emitted this event. 17 + * @property string|null $status 18 + * @property Carbon $timestamp 19 + * 20 + * Constraints: 21 + * - Required: timestamp, active 22 + * - timestamp: Format: datetime 23 + */ 24 + class AccountEvent extends Data 25 + { 26 + 27 + /** 28 + * @param bool $active Indicates that the account has a repository which can be fetched from the host that emitted this event. 29 + */ 30 + public function __construct( 31 + public readonly bool $active, 32 + public readonly Carbon $timestamp, 33 + public readonly ?string $comment = null, 34 + public readonly ?string $status = null 35 + ) {} 36 + 37 + /** 38 + * Get the lexicon NSID for this data type. 39 + * 40 + * @return string 41 + */ 42 + public static function getLexicon(): string 43 + { 44 + return 'tools.ozone.moderation.defs.accountEvent'; 45 + } 46 + 47 + 48 + /** 49 + * Create an instance from an array. 50 + * 51 + * @param array $data The data array 52 + * @return static 53 + */ 54 + public static function fromArray(array $data): static 55 + { 56 + return new static( 57 + active: $data['active'], 58 + timestamp: Carbon::parse($data['timestamp']), 59 + comment: $data['comment'] ?? null, 60 + status: $data['status'] ?? null 61 + ); 62 + } 63 + 64 + }
+70
src/Generated/Tools/Ozone/Moderation/Defs/AccountHosting.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: tools.ozone.moderation.defs.accountHosting 10 + * Type: object 11 + * 12 + * @property string $status 13 + * @property Carbon|null $updatedAt 14 + * @property Carbon|null $createdAt 15 + * @property Carbon|null $deletedAt 16 + * @property Carbon|null $deactivatedAt 17 + * @property Carbon|null $reactivatedAt 18 + * 19 + * Constraints: 20 + * - Required: status 21 + * - updatedAt: Format: datetime 22 + * - createdAt: Format: datetime 23 + * - deletedAt: Format: datetime 24 + * - deactivatedAt: Format: datetime 25 + * - reactivatedAt: Format: datetime 26 + */ 27 + class AccountHosting extends Data 28 + { 29 + 30 + /** 31 + */ 32 + public function __construct( 33 + public readonly string $status, 34 + public readonly ?Carbon $updatedAt = null, 35 + public readonly ?Carbon $createdAt = null, 36 + public readonly ?Carbon $deletedAt = null, 37 + public readonly ?Carbon $deactivatedAt = null, 38 + public readonly ?Carbon $reactivatedAt = null 39 + ) {} 40 + 41 + /** 42 + * Get the lexicon NSID for this data type. 43 + * 44 + * @return string 45 + */ 46 + public static function getLexicon(): string 47 + { 48 + return 'tools.ozone.moderation.defs.accountHosting'; 49 + } 50 + 51 + 52 + /** 53 + * Create an instance from an array. 54 + * 55 + * @param array $data The data array 56 + * @return static 57 + */ 58 + public static function fromArray(array $data): static 59 + { 60 + return new static( 61 + status: $data['status'], 62 + updatedAt: isset($data['updatedAt']) ? Carbon::parse($data['updatedAt']) : null, 63 + createdAt: isset($data['createdAt']) ? Carbon::parse($data['createdAt']) : null, 64 + deletedAt: isset($data['deletedAt']) ? Carbon::parse($data['deletedAt']) : null, 65 + deactivatedAt: isset($data['deactivatedAt']) ? Carbon::parse($data['deactivatedAt']) : null, 66 + reactivatedAt: isset($data['reactivatedAt']) ? Carbon::parse($data['reactivatedAt']) : null 67 + ); 68 + } 69 + 70 + }
+65
src/Generated/Tools/Ozone/Moderation/Defs/AccountStats.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Statistics about a particular account subject 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.accountStats 11 + * Type: object 12 + * 13 + * @property int|null $reportCount Total number of reports on the account 14 + * @property int|null $appealCount Total number of appeals against a moderation action on the account 15 + * @property int|null $suspendCount Number of times the account was suspended 16 + * @property int|null $escalateCount Number of times the account was escalated 17 + * @property int|null $takedownCount Number of times the account was taken down 18 + */ 19 + class AccountStats extends Data 20 + { 21 + 22 + /** 23 + * @param int|null $reportCount Total number of reports on the account 24 + * @param int|null $appealCount Total number of appeals against a moderation action on the account 25 + * @param int|null $suspendCount Number of times the account was suspended 26 + * @param int|null $escalateCount Number of times the account was escalated 27 + * @param int|null $takedownCount Number of times the account was taken down 28 + */ 29 + public function __construct( 30 + public readonly ?int $reportCount = null, 31 + public readonly ?int $appealCount = null, 32 + public readonly ?int $suspendCount = null, 33 + public readonly ?int $escalateCount = null, 34 + public readonly ?int $takedownCount = null 35 + ) {} 36 + 37 + /** 38 + * Get the lexicon NSID for this data type. 39 + * 40 + * @return string 41 + */ 42 + public static function getLexicon(): string 43 + { 44 + return 'tools.ozone.moderation.defs.accountStats'; 45 + } 46 + 47 + 48 + /** 49 + * Create an instance from an array. 50 + * 51 + * @param array $data The data array 52 + * @return static 53 + */ 54 + public static function fromArray(array $data): static 55 + { 56 + return new static( 57 + reportCount: $data['reportCount'] ?? null, 58 + appealCount: $data['appealCount'] ?? null, 59 + suspendCount: $data['suspendCount'] ?? null, 60 + escalateCount: $data['escalateCount'] ?? null, 61 + takedownCount: $data['takedownCount'] ?? null 62 + ); 63 + } 64 + 65 + }
+66
src/Generated/Tools/Ozone/Moderation/Defs/AccountStrike.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Strike information for an account 10 + * 11 + * Lexicon: tools.ozone.moderation.defs.accountStrike 12 + * Type: object 13 + * 14 + * @property int|null $activeStrikeCount Current number of active strikes (excluding expired strikes) 15 + * @property int|null $totalStrikeCount Total number of strikes ever received (including expired strikes) 16 + * @property Carbon|null $firstStrikeAt Timestamp of the first strike received 17 + * @property Carbon|null $lastStrikeAt Timestamp of the most recent strike received 18 + * 19 + * Constraints: 20 + * - firstStrikeAt: Format: datetime 21 + * - lastStrikeAt: Format: datetime 22 + */ 23 + class AccountStrike extends Data 24 + { 25 + 26 + /** 27 + * @param int|null $activeStrikeCount Current number of active strikes (excluding expired strikes) 28 + * @param int|null $totalStrikeCount Total number of strikes ever received (including expired strikes) 29 + * @param Carbon|null $firstStrikeAt Timestamp of the first strike received 30 + * @param Carbon|null $lastStrikeAt Timestamp of the most recent strike received 31 + */ 32 + public function __construct( 33 + public readonly ?int $activeStrikeCount = null, 34 + public readonly ?int $totalStrikeCount = null, 35 + public readonly ?Carbon $firstStrikeAt = null, 36 + public readonly ?Carbon $lastStrikeAt = null 37 + ) {} 38 + 39 + /** 40 + * Get the lexicon NSID for this data type. 41 + * 42 + * @return string 43 + */ 44 + public static function getLexicon(): string 45 + { 46 + return 'tools.ozone.moderation.defs.accountStrike'; 47 + } 48 + 49 + 50 + /** 51 + * Create an instance from an array. 52 + * 53 + * @param array $data The data array 54 + * @return static 55 + */ 56 + public static function fromArray(array $data): static 57 + { 58 + return new static( 59 + activeStrikeCount: $data['activeStrikeCount'] ?? null, 60 + totalStrikeCount: $data['totalStrikeCount'] ?? null, 61 + firstStrikeAt: isset($data['firstStrikeAt']) ? Carbon::parse($data['firstStrikeAt']) : null, 62 + lastStrikeAt: isset($data['lastStrikeAt']) ? Carbon::parse($data['lastStrikeAt']) : null 63 + ); 64 + } 65 + 66 + }
+78
src/Generated/Tools/Ozone/Moderation/Defs/AgeAssuranceEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Age assurance info coming directly from users. Only works on DID subjects. 10 + * 11 + * Lexicon: tools.ozone.moderation.defs.ageAssuranceEvent 12 + * Type: object 13 + * 14 + * @property Carbon $createdAt The date and time of this write operation. 15 + * @property string $status The status of the age assurance process. 16 + * @property string $attemptId The unique identifier for this instance of the age assurance flow, in UUID format. 17 + * @property string|null $initIp The IP address used when initiating the AA flow. 18 + * @property string|null $initUa The user agent used when initiating the AA flow. 19 + * @property string|null $completeIp The IP address used when completing the AA flow. 20 + * @property string|null $completeUa The user agent used when completing the AA flow. 21 + * 22 + * Constraints: 23 + * - Required: createdAt, status, attemptId 24 + * - createdAt: Format: datetime 25 + */ 26 + class AgeAssuranceEvent extends Data 27 + { 28 + 29 + /** 30 + * @param Carbon $createdAt The date and time of this write operation. 31 + * @param string $status The status of the age assurance process. 32 + * @param string $attemptId The unique identifier for this instance of the age assurance flow, in UUID format. 33 + * @param string|null $initIp The IP address used when initiating the AA flow. 34 + * @param string|null $initUa The user agent used when initiating the AA flow. 35 + * @param string|null $completeIp The IP address used when completing the AA flow. 36 + * @param string|null $completeUa The user agent used when completing the AA flow. 37 + */ 38 + public function __construct( 39 + public readonly Carbon $createdAt, 40 + public readonly string $status, 41 + public readonly string $attemptId, 42 + public readonly ?string $initIp = null, 43 + public readonly ?string $initUa = null, 44 + public readonly ?string $completeIp = null, 45 + public readonly ?string $completeUa = null 46 + ) {} 47 + 48 + /** 49 + * Get the lexicon NSID for this data type. 50 + * 51 + * @return string 52 + */ 53 + public static function getLexicon(): string 54 + { 55 + return 'tools.ozone.moderation.defs.ageAssuranceEvent'; 56 + } 57 + 58 + 59 + /** 60 + * Create an instance from an array. 61 + * 62 + * @param array $data The data array 63 + * @return static 64 + */ 65 + public static function fromArray(array $data): static 66 + { 67 + return new static( 68 + createdAt: Carbon::parse($data['createdAt']), 69 + status: $data['status'], 70 + attemptId: $data['attemptId'], 71 + initIp: $data['initIp'] ?? null, 72 + initUa: $data['initUa'] ?? null, 73 + completeIp: $data['completeIp'] ?? null, 74 + completeUa: $data['completeUa'] ?? null 75 + ); 76 + } 77 + 78 + }
+56
src/Generated/Tools/Ozone/Moderation/Defs/AgeAssuranceOverrideEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Age assurance status override by moderators. Only works on DID subjects. 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.ageAssuranceOverrideEvent 11 + * Type: object 12 + * 13 + * @property string $status The status to be set for the user decided by a moderator, overriding whatever value the user had previously. Use reset to default to original state. 14 + * @property string $comment Comment describing the reason for the override. 15 + * 16 + * Constraints: 17 + * - Required: comment, status 18 + */ 19 + class AgeAssuranceOverrideEvent extends Data 20 + { 21 + 22 + /** 23 + * @param string $status The status to be set for the user decided by a moderator, overriding whatever value the user had previously. Use reset to default to original state. 24 + * @param string $comment Comment describing the reason for the override. 25 + */ 26 + public function __construct( 27 + public readonly string $status, 28 + public readonly string $comment 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'tools.ozone.moderation.defs.ageAssuranceOverrideEvent'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + status: $data['status'], 52 + comment: $data['comment'] 53 + ); 54 + } 55 + 56 + }
+69
src/Generated/Tools/Ozone/Moderation/Defs/BlobView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\BlobView\Moderation; 8 + use SocialDept\Schema\Support\UnionHelper; 9 + 10 + /** 11 + * Lexicon: tools.ozone.moderation.defs.blobView 12 + * Type: object 13 + * 14 + * @property string $cid 15 + * @property string $mimeType 16 + * @property int $size 17 + * @property Carbon $createdAt 18 + * @property mixed $details 19 + * @property mixed $moderation 20 + * 21 + * Constraints: 22 + * - Required: cid, mimeType, size, createdAt 23 + * - cid: Format: cid 24 + * - createdAt: Format: datetime 25 + */ 26 + class BlobView extends Data 27 + { 28 + 29 + /** 30 + */ 31 + public function __construct( 32 + public readonly string $cid, 33 + public readonly string $mimeType, 34 + public readonly int $size, 35 + public readonly Carbon $createdAt, 36 + public readonly mixed $details = null, 37 + public readonly mixed $moderation = null 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'tools.ozone.moderation.defs.blobView'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + cid: $data['cid'], 61 + mimeType: $data['mimeType'], 62 + size: $data['size'], 63 + createdAt: Carbon::parse($data['createdAt']), 64 + details: isset($data['details']) ? UnionHelper::validateOpenUnion($data['details']) : null, 65 + moderation: $data['moderation'] ?? null 66 + ); 67 + } 68 + 69 + }
+48
src/Generated/Tools/Ozone/Moderation/Defs/CancelScheduledTakedownEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Logs cancellation of a scheduled takedown action for an account. 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.cancelScheduledTakedownEvent 11 + * Type: object 12 + * 13 + * @property string|null $comment 14 + */ 15 + class CancelScheduledTakedownEvent extends Data 16 + { 17 + 18 + /** 19 + */ 20 + public function __construct( 21 + public readonly ?string $comment = null 22 + ) {} 23 + 24 + /** 25 + * Get the lexicon NSID for this data type. 26 + * 27 + * @return string 28 + */ 29 + public static function getLexicon(): string 30 + { 31 + return 'tools.ozone.moderation.defs.cancelScheduledTakedownEvent'; 32 + } 33 + 34 + 35 + /** 36 + * Create an instance from an array. 37 + * 38 + * @param array $data The data array 39 + * @return static 40 + */ 41 + public static function fromArray(array $data): static 42 + { 43 + return new static( 44 + comment: $data['comment'] ?? null 45 + ); 46 + } 47 + 48 + }
+68
src/Generated/Tools/Ozone/Moderation/Defs/IdentityEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Logs identity related events on a repo subject. Normally captured by automod 10 + * from the firehose and emitted to ozone for historical tracking. 11 + * 12 + * Lexicon: tools.ozone.moderation.defs.identityEvent 13 + * Type: object 14 + * 15 + * @property string|null $comment 16 + * @property string|null $handle 17 + * @property string|null $pdsHost 18 + * @property bool|null $tombstone 19 + * @property Carbon $timestamp 20 + * 21 + * Constraints: 22 + * - Required: timestamp 23 + * - handle: Format: handle 24 + * - pdsHost: Format: uri 25 + * - timestamp: Format: datetime 26 + */ 27 + class IdentityEvent extends Data 28 + { 29 + 30 + /** 31 + */ 32 + public function __construct( 33 + public readonly Carbon $timestamp, 34 + public readonly ?string $comment = null, 35 + public readonly ?string $handle = null, 36 + public readonly ?string $pdsHost = null, 37 + public readonly ?bool $tombstone = null 38 + ) {} 39 + 40 + /** 41 + * Get the lexicon NSID for this data type. 42 + * 43 + * @return string 44 + */ 45 + public static function getLexicon(): string 46 + { 47 + return 'tools.ozone.moderation.defs.identityEvent'; 48 + } 49 + 50 + 51 + /** 52 + * Create an instance from an array. 53 + * 54 + * @param array $data The data array 55 + * @return static 56 + */ 57 + public static function fromArray(array $data): static 58 + { 59 + return new static( 60 + timestamp: Carbon::parse($data['timestamp']), 61 + comment: $data['comment'] ?? null, 62 + handle: $data['handle'] ?? null, 63 + pdsHost: $data['pdsHost'] ?? null, 64 + tombstone: $data['tombstone'] ?? null 65 + ); 66 + } 67 + 68 + }
+52
src/Generated/Tools/Ozone/Moderation/Defs/ImageDetails.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.moderation.defs.imageDetails 9 + * Type: object 10 + * 11 + * @property int $width 12 + * @property int $height 13 + * 14 + * Constraints: 15 + * - Required: width, height 16 + */ 17 + class ImageDetails extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly int $width, 24 + public readonly int $height 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'tools.ozone.moderation.defs.imageDetails'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + width: $data['width'], 48 + height: $data['height'] 49 + ); 50 + } 51 + 52 + }
+50
src/Generated/Tools/Ozone/Moderation/Defs/ModEventAcknowledge.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.moderation.defs.modEventAcknowledge 9 + * Type: object 10 + * 11 + * @property string|null $comment 12 + * @property bool|null $acknowledgeAccountSubjects If true, all other reports on content authored by this account will be resolved (acknowledged). 13 + */ 14 + class ModEventAcknowledge extends Data 15 + { 16 + 17 + /** 18 + * @param bool|null $acknowledgeAccountSubjects If true, all other reports on content authored by this account will be resolved (acknowledged). 19 + */ 20 + public function __construct( 21 + public readonly ?string $comment = null, 22 + public readonly ?bool $acknowledgeAccountSubjects = null 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'tools.ozone.moderation.defs.modEventAcknowledge'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + comment: $data['comment'] ?? null, 46 + acknowledgeAccountSubjects: $data['acknowledgeAccountSubjects'] ?? null 47 + ); 48 + } 49 + 50 + }
+53
src/Generated/Tools/Ozone/Moderation/Defs/ModEventComment.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Add a comment to a subject. An empty comment will clear any previously set 9 + * sticky comment. 10 + * 11 + * Lexicon: tools.ozone.moderation.defs.modEventComment 12 + * Type: object 13 + * 14 + * @property string|null $comment 15 + * @property bool|null $sticky Make the comment persistent on the subject 16 + */ 17 + class ModEventComment extends Data 18 + { 19 + 20 + /** 21 + * @param bool|null $sticky Make the comment persistent on the subject 22 + */ 23 + public function __construct( 24 + public readonly ?string $comment = null, 25 + public readonly ?bool $sticky = null 26 + ) {} 27 + 28 + /** 29 + * Get the lexicon NSID for this data type. 30 + * 31 + * @return string 32 + */ 33 + public static function getLexicon(): string 34 + { 35 + return 'tools.ozone.moderation.defs.modEventComment'; 36 + } 37 + 38 + 39 + /** 40 + * Create an instance from an array. 41 + * 42 + * @param array $data The data array 43 + * @return static 44 + */ 45 + public static function fromArray(array $data): static 46 + { 47 + return new static( 48 + comment: $data['comment'] ?? null, 49 + sticky: $data['sticky'] ?? null 50 + ); 51 + } 52 + 53 + }
+48
src/Generated/Tools/Ozone/Moderation/Defs/ModEventDivert.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Divert a record's blobs to a 3rd party service for further scanning/tagging 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventDivert 11 + * Type: object 12 + * 13 + * @property string|null $comment 14 + */ 15 + class ModEventDivert extends Data 16 + { 17 + 18 + /** 19 + */ 20 + public function __construct( 21 + public readonly ?string $comment = null 22 + ) {} 23 + 24 + /** 25 + * Get the lexicon NSID for this data type. 26 + * 27 + * @return string 28 + */ 29 + public static function getLexicon(): string 30 + { 31 + return 'tools.ozone.moderation.defs.modEventDivert'; 32 + } 33 + 34 + 35 + /** 36 + * Create an instance from an array. 37 + * 38 + * @param array $data The data array 39 + * @return static 40 + */ 41 + public static function fromArray(array $data): static 42 + { 43 + return new static( 44 + comment: $data['comment'] ?? null 45 + ); 46 + } 47 + 48 + }
+83
src/Generated/Tools/Ozone/Moderation/Defs/ModEventEmail.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Keep a log of outgoing email to a user 10 + * 11 + * Lexicon: tools.ozone.moderation.defs.modEventEmail 12 + * Type: object 13 + * 14 + * @property string $subjectLine The subject line of the email sent to the user. 15 + * @property string|null $content The content of the email sent to the user. 16 + * @property string|null $comment Additional comment about the outgoing comm. 17 + * @property array<string>|null $policies Names/Keywords of the policies that necessitated the email. 18 + * @property string|null $severityLevel Severity level of the violation. Normally 'sev-1' that adds strike on repeat offense 19 + * @property int|null $strikeCount Number of strikes to assign to the user for this violation. Normally 0 as an indicator of a warning and only added as a strike on a repeat offense. 20 + * @property Carbon|null $strikeExpiresAt When the strike should expire. If not provided, the strike never expires. 21 + * @property bool|null $isDelivered Indicates whether the email was successfully delivered to the user's inbox. 22 + * 23 + * Constraints: 24 + * - Required: subjectLine 25 + * - policies: Max length: 5 26 + * - strikeExpiresAt: Format: datetime 27 + */ 28 + class ModEventEmail extends Data 29 + { 30 + 31 + /** 32 + * @param string $subjectLine The subject line of the email sent to the user. 33 + * @param string|null $content The content of the email sent to the user. 34 + * @param string|null $comment Additional comment about the outgoing comm. 35 + * @param array<string>|null $policies Names/Keywords of the policies that necessitated the email. 36 + * @param string|null $severityLevel Severity level of the violation. Normally 'sev-1' that adds strike on repeat offense 37 + * @param int|null $strikeCount Number of strikes to assign to the user for this violation. Normally 0 as an indicator of a warning and only added as a strike on a repeat offense. 38 + * @param Carbon|null $strikeExpiresAt When the strike should expire. If not provided, the strike never expires. 39 + * @param bool|null $isDelivered Indicates whether the email was successfully delivered to the user's inbox. 40 + */ 41 + public function __construct( 42 + public readonly string $subjectLine, 43 + public readonly ?string $content = null, 44 + public readonly ?string $comment = null, 45 + public readonly ?array $policies = null, 46 + public readonly ?string $severityLevel = null, 47 + public readonly ?int $strikeCount = null, 48 + public readonly ?Carbon $strikeExpiresAt = null, 49 + public readonly ?bool $isDelivered = null 50 + ) {} 51 + 52 + /** 53 + * Get the lexicon NSID for this data type. 54 + * 55 + * @return string 56 + */ 57 + public static function getLexicon(): string 58 + { 59 + return 'tools.ozone.moderation.defs.modEventEmail'; 60 + } 61 + 62 + 63 + /** 64 + * Create an instance from an array. 65 + * 66 + * @param array $data The data array 67 + * @return static 68 + */ 69 + public static function fromArray(array $data): static 70 + { 71 + return new static( 72 + subjectLine: $data['subjectLine'], 73 + content: $data['content'] ?? null, 74 + comment: $data['comment'] ?? null, 75 + policies: $data['policies'] ?? null, 76 + severityLevel: $data['severityLevel'] ?? null, 77 + strikeCount: $data['strikeCount'] ?? null, 78 + strikeExpiresAt: isset($data['strikeExpiresAt']) ? Carbon::parse($data['strikeExpiresAt']) : null, 79 + isDelivered: $data['isDelivered'] ?? null 80 + ); 81 + } 82 + 83 + }
+46
src/Generated/Tools/Ozone/Moderation/Defs/ModEventEscalate.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.moderation.defs.modEventEscalate 9 + * Type: object 10 + * 11 + * @property string|null $comment 12 + */ 13 + class ModEventEscalate extends Data 14 + { 15 + 16 + /** 17 + */ 18 + public function __construct( 19 + public readonly ?string $comment = null 20 + ) {} 21 + 22 + /** 23 + * Get the lexicon NSID for this data type. 24 + * 25 + * @return string 26 + */ 27 + public static function getLexicon(): string 28 + { 29 + return 'tools.ozone.moderation.defs.modEventEscalate'; 30 + } 31 + 32 + 33 + /** 34 + * Create an instance from an array. 35 + * 36 + * @param array $data The data array 37 + * @return static 38 + */ 39 + public static function fromArray(array $data): static 40 + { 41 + return new static( 42 + comment: $data['comment'] ?? null 43 + ); 44 + } 45 + 46 + }
+61
src/Generated/Tools/Ozone/Moderation/Defs/ModEventLabel.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Apply/Negate labels on a subject 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventLabel 11 + * Type: object 12 + * 13 + * @property string|null $comment 14 + * @property array<string> $createLabelVals 15 + * @property array<string> $negateLabelVals 16 + * @property int|null $durationInHours Indicates how long the label will remain on the subject. Only applies on labels that are being added. 17 + * 18 + * Constraints: 19 + * - Required: createLabelVals, negateLabelVals 20 + */ 21 + class ModEventLabel extends Data 22 + { 23 + 24 + /** 25 + * @param int|null $durationInHours Indicates how long the label will remain on the subject. Only applies on labels that are being added. 26 + */ 27 + public function __construct( 28 + public readonly array $createLabelVals, 29 + public readonly array $negateLabelVals, 30 + public readonly ?string $comment = null, 31 + public readonly ?int $durationInHours = null 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'tools.ozone.moderation.defs.modEventLabel'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + createLabelVals: $data['createLabelVals'], 55 + negateLabelVals: $data['negateLabelVals'], 56 + comment: $data['comment'] ?? null, 57 + durationInHours: $data['durationInHours'] ?? null 58 + ); 59 + } 60 + 61 + }
+55
src/Generated/Tools/Ozone/Moderation/Defs/ModEventMute.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Mute incoming reports on a subject 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventMute 11 + * Type: object 12 + * 13 + * @property string|null $comment 14 + * @property int $durationInHours Indicates how long the subject should remain muted. 15 + * 16 + * Constraints: 17 + * - Required: durationInHours 18 + */ 19 + class ModEventMute extends Data 20 + { 21 + 22 + /** 23 + * @param int $durationInHours Indicates how long the subject should remain muted. 24 + */ 25 + public function __construct( 26 + public readonly int $durationInHours, 27 + public readonly ?string $comment = null 28 + ) {} 29 + 30 + /** 31 + * Get the lexicon NSID for this data type. 32 + * 33 + * @return string 34 + */ 35 + public static function getLexicon(): string 36 + { 37 + return 'tools.ozone.moderation.defs.modEventMute'; 38 + } 39 + 40 + 41 + /** 42 + * Create an instance from an array. 43 + * 44 + * @param array $data The data array 45 + * @return static 46 + */ 47 + public static function fromArray(array $data): static 48 + { 49 + return new static( 50 + durationInHours: $data['durationInHours'], 51 + comment: $data['comment'] ?? null 52 + ); 53 + } 54 + 55 + }
+52
src/Generated/Tools/Ozone/Moderation/Defs/ModEventMuteReporter.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Mute incoming reports from an account 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventMuteReporter 11 + * Type: object 12 + * 13 + * @property string|null $comment 14 + * @property int|null $durationInHours Indicates how long the account should remain muted. Falsy value here means a permanent mute. 15 + */ 16 + class ModEventMuteReporter extends Data 17 + { 18 + 19 + /** 20 + * @param int|null $durationInHours Indicates how long the account should remain muted. Falsy value here means a permanent mute. 21 + */ 22 + public function __construct( 23 + public readonly ?string $comment = null, 24 + public readonly ?int $durationInHours = null 25 + ) {} 26 + 27 + /** 28 + * Get the lexicon NSID for this data type. 29 + * 30 + * @return string 31 + */ 32 + public static function getLexicon(): string 33 + { 34 + return 'tools.ozone.moderation.defs.modEventMuteReporter'; 35 + } 36 + 37 + 38 + /** 39 + * Create an instance from an array. 40 + * 41 + * @param array $data The data array 42 + * @return static 43 + */ 44 + public static function fromArray(array $data): static 45 + { 46 + return new static( 47 + comment: $data['comment'] ?? null, 48 + durationInHours: $data['durationInHours'] ?? null 49 + ); 50 + } 51 + 52 + }
+56
src/Generated/Tools/Ozone/Moderation/Defs/ModEventPriorityScore.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Set priority score of the subject. Higher score means higher priority. 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventPriorityScore 11 + * Type: object 12 + * 13 + * @property string|null $comment 14 + * @property int $score 15 + * 16 + * Constraints: 17 + * - Required: score 18 + * - score: Maximum: 100 19 + * - score: Minimum: 0 20 + */ 21 + class ModEventPriorityScore extends Data 22 + { 23 + 24 + /** 25 + */ 26 + public function __construct( 27 + public readonly int $score, 28 + public readonly ?string $comment = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'tools.ozone.moderation.defs.modEventPriorityScore'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + score: $data['score'], 52 + comment: $data['comment'] ?? null 53 + ); 54 + } 55 + 56 + }
+59
src/Generated/Tools/Ozone/Moderation/Defs/ModEventReport.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Moderation\ReasonType; 7 + 8 + /** 9 + * Report a subject 10 + * 11 + * Lexicon: tools.ozone.moderation.defs.modEventReport 12 + * Type: object 13 + * 14 + * @property string|null $comment 15 + * @property bool|null $isReporterMuted Set to true if the reporter was muted from reporting at the time of the event. These reports won't impact the reviewState of the subject. 16 + * @property ReasonType $reportType 17 + * 18 + * Constraints: 19 + * - Required: reportType 20 + */ 21 + class ModEventReport extends Data 22 + { 23 + 24 + /** 25 + * @param bool|null $isReporterMuted Set to true if the reporter was muted from reporting at the time of the event. These reports won't impact the reviewState of the subject. 26 + */ 27 + public function __construct( 28 + public readonly ReasonType $reportType, 29 + public readonly ?string $comment = null, 30 + public readonly ?bool $isReporterMuted = null 31 + ) {} 32 + 33 + /** 34 + * Get the lexicon NSID for this data type. 35 + * 36 + * @return string 37 + */ 38 + public static function getLexicon(): string 39 + { 40 + return 'tools.ozone.moderation.defs.modEventReport'; 41 + } 42 + 43 + 44 + /** 45 + * Create an instance from an array. 46 + * 47 + * @param array $data The data array 48 + * @return static 49 + */ 50 + public static function fromArray(array $data): static 51 + { 52 + return new static( 53 + reportType: Defs::fromArray($data['reportType']), 54 + comment: $data['comment'] ?? null, 55 + isReporterMuted: $data['isReporterMuted'] ?? null 56 + ); 57 + } 58 + 59 + }
+49
src/Generated/Tools/Ozone/Moderation/Defs/ModEventResolveAppeal.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Resolve appeal on a subject 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventResolveAppeal 11 + * Type: object 12 + * 13 + * @property string|null $comment Describe resolution. 14 + */ 15 + class ModEventResolveAppeal extends Data 16 + { 17 + 18 + /** 19 + * @param string|null $comment Describe resolution. 20 + */ 21 + public function __construct( 22 + public readonly ?string $comment = null 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'tools.ozone.moderation.defs.modEventResolveAppeal'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + comment: $data['comment'] ?? null 46 + ); 47 + } 48 + 49 + }
+64
src/Generated/Tools/Ozone/Moderation/Defs/ModEventReverseTakedown.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Revert take down action on a subject 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventReverseTakedown 11 + * Type: object 12 + * 13 + * @property string|null $comment Describe reasoning behind the reversal. 14 + * @property array<string>|null $policies Names/Keywords of the policy infraction for which takedown is being reversed. 15 + * @property string|null $severityLevel Severity level of the violation. Usually set from the last policy infraction's severity. 16 + * @property int|null $strikeCount Number of strikes to subtract from the user's strike count. Usually set from the last policy infraction's severity. 17 + * 18 + * Constraints: 19 + * - policies: Max length: 5 20 + */ 21 + class ModEventReverseTakedown extends Data 22 + { 23 + 24 + /** 25 + * @param string|null $comment Describe reasoning behind the reversal. 26 + * @param array<string>|null $policies Names/Keywords of the policy infraction for which takedown is being reversed. 27 + * @param string|null $severityLevel Severity level of the violation. Usually set from the last policy infraction's severity. 28 + * @param int|null $strikeCount Number of strikes to subtract from the user's strike count. Usually set from the last policy infraction's severity. 29 + */ 30 + public function __construct( 31 + public readonly ?string $comment = null, 32 + public readonly ?array $policies = null, 33 + public readonly ?string $severityLevel = null, 34 + public readonly ?int $strikeCount = null 35 + ) {} 36 + 37 + /** 38 + * Get the lexicon NSID for this data type. 39 + * 40 + * @return string 41 + */ 42 + public static function getLexicon(): string 43 + { 44 + return 'tools.ozone.moderation.defs.modEventReverseTakedown'; 45 + } 46 + 47 + 48 + /** 49 + * Create an instance from an array. 50 + * 51 + * @param array $data The data array 52 + * @return static 53 + */ 54 + public static function fromArray(array $data): static 55 + { 56 + return new static( 57 + comment: $data['comment'] ?? null, 58 + policies: $data['policies'] ?? null, 59 + severityLevel: $data['severityLevel'] ?? null, 60 + strikeCount: $data['strikeCount'] ?? null 61 + ); 62 + } 63 + 64 + }
+60
src/Generated/Tools/Ozone/Moderation/Defs/ModEventTag.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Add/Remove a tag on a subject 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventTag 11 + * Type: object 12 + * 13 + * @property array<string> $add Tags to be added to the subject. If already exists, won't be duplicated. 14 + * @property array<string> $remove Tags to be removed to the subject. Ignores a tag If it doesn't exist, won't be duplicated. 15 + * @property string|null $comment Additional comment about added/removed tags. 16 + * 17 + * Constraints: 18 + * - Required: add, remove 19 + */ 20 + class ModEventTag extends Data 21 + { 22 + 23 + /** 24 + * @param array<string> $add Tags to be added to the subject. If already exists, won't be duplicated. 25 + * @param array<string> $remove Tags to be removed to the subject. Ignores a tag If it doesn't exist, won't be duplicated. 26 + * @param string|null $comment Additional comment about added/removed tags. 27 + */ 28 + public function __construct( 29 + public readonly array $add, 30 + public readonly array $remove, 31 + public readonly ?string $comment = null 32 + ) {} 33 + 34 + /** 35 + * Get the lexicon NSID for this data type. 36 + * 37 + * @return string 38 + */ 39 + public static function getLexicon(): string 40 + { 41 + return 'tools.ozone.moderation.defs.modEventTag'; 42 + } 43 + 44 + 45 + /** 46 + * Create an instance from an array. 47 + * 48 + * @param array $data The data array 49 + * @return static 50 + */ 51 + public static function fromArray(array $data): static 52 + { 53 + return new static( 54 + add: $data['add'], 55 + remove: $data['remove'], 56 + comment: $data['comment'] ?? null 57 + ); 58 + } 59 + 60 + }
+81
src/Generated/Tools/Ozone/Moderation/Defs/ModEventTakedown.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Take down a subject permanently or temporarily 10 + * 11 + * Lexicon: tools.ozone.moderation.defs.modEventTakedown 12 + * Type: object 13 + * 14 + * @property string|null $comment 15 + * @property int|null $durationInHours Indicates how long the takedown should be in effect before automatically expiring. 16 + * @property bool|null $acknowledgeAccountSubjects If true, all other reports on content authored by this account will be resolved (acknowledged). 17 + * @property array<string>|null $policies Names/Keywords of the policies that drove the decision. 18 + * @property string|null $severityLevel Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.). 19 + * @property array<string>|null $targetServices List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services. 20 + * @property int|null $strikeCount Number of strikes to assign to the user for this violation. 21 + * @property Carbon|null $strikeExpiresAt When the strike should expire. If not provided, the strike never expires. 22 + * 23 + * Constraints: 24 + * - policies: Max length: 5 25 + * - strikeExpiresAt: Format: datetime 26 + */ 27 + class ModEventTakedown extends Data 28 + { 29 + 30 + /** 31 + * @param int|null $durationInHours Indicates how long the takedown should be in effect before automatically expiring. 32 + * @param bool|null $acknowledgeAccountSubjects If true, all other reports on content authored by this account will be resolved (acknowledged). 33 + * @param array<string>|null $policies Names/Keywords of the policies that drove the decision. 34 + * @param string|null $severityLevel Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.). 35 + * @param array<string>|null $targetServices List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services. 36 + * @param int|null $strikeCount Number of strikes to assign to the user for this violation. 37 + * @param Carbon|null $strikeExpiresAt When the strike should expire. If not provided, the strike never expires. 38 + */ 39 + public function __construct( 40 + public readonly ?string $comment = null, 41 + public readonly ?int $durationInHours = null, 42 + public readonly ?bool $acknowledgeAccountSubjects = null, 43 + public readonly ?array $policies = null, 44 + public readonly ?string $severityLevel = null, 45 + public readonly ?array $targetServices = null, 46 + public readonly ?int $strikeCount = null, 47 + public readonly ?Carbon $strikeExpiresAt = null 48 + ) {} 49 + 50 + /** 51 + * Get the lexicon NSID for this data type. 52 + * 53 + * @return string 54 + */ 55 + public static function getLexicon(): string 56 + { 57 + return 'tools.ozone.moderation.defs.modEventTakedown'; 58 + } 59 + 60 + 61 + /** 62 + * Create an instance from an array. 63 + * 64 + * @param array $data The data array 65 + * @return static 66 + */ 67 + public static function fromArray(array $data): static 68 + { 69 + return new static( 70 + comment: $data['comment'] ?? null, 71 + durationInHours: $data['durationInHours'] ?? null, 72 + acknowledgeAccountSubjects: $data['acknowledgeAccountSubjects'] ?? null, 73 + policies: $data['policies'] ?? null, 74 + severityLevel: $data['severityLevel'] ?? null, 75 + targetServices: $data['targetServices'] ?? null, 76 + strikeCount: $data['strikeCount'] ?? null, 77 + strikeExpiresAt: isset($data['strikeExpiresAt']) ? Carbon::parse($data['strikeExpiresAt']) : null 78 + ); 79 + } 80 + 81 + }
+49
src/Generated/Tools/Ozone/Moderation/Defs/ModEventUnmute.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Unmute action on a subject 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventUnmute 11 + * Type: object 12 + * 13 + * @property string|null $comment Describe reasoning behind the reversal. 14 + */ 15 + class ModEventUnmute extends Data 16 + { 17 + 18 + /** 19 + * @param string|null $comment Describe reasoning behind the reversal. 20 + */ 21 + public function __construct( 22 + public readonly ?string $comment = null 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'tools.ozone.moderation.defs.modEventUnmute'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + comment: $data['comment'] ?? null 46 + ); 47 + } 48 + 49 + }
+49
src/Generated/Tools/Ozone/Moderation/Defs/ModEventUnmuteReporter.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Unmute incoming reports from an account 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modEventUnmuteReporter 11 + * Type: object 12 + * 13 + * @property string|null $comment Describe reasoning behind the reversal. 14 + */ 15 + class ModEventUnmuteReporter extends Data 16 + { 17 + 18 + /** 19 + * @param string|null $comment Describe reasoning behind the reversal. 20 + */ 21 + public function __construct( 22 + public readonly ?string $comment = null 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'tools.ozone.moderation.defs.modEventUnmuteReporter'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + comment: $data['comment'] ?? null 46 + ); 47 + } 48 + 49 + }
+78
src/Generated/Tools/Ozone/Moderation/Defs/ModEventView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\ModEventView\ModTool; 8 + use SocialDept\Schema\Support\UnionHelper; 9 + 10 + /** 11 + * Lexicon: tools.ozone.moderation.defs.modEventView 12 + * Type: object 13 + * 14 + * @property int $id 15 + * @property mixed $event 16 + * @property mixed $subject 17 + * @property array<string> $subjectBlobCids 18 + * @property string $createdBy 19 + * @property Carbon $createdAt 20 + * @property string|null $creatorHandle 21 + * @property string|null $subjectHandle 22 + * @property mixed $modTool 23 + * 24 + * Constraints: 25 + * - Required: id, event, subject, subjectBlobCids, createdBy, createdAt 26 + * - createdBy: Format: did 27 + * - createdAt: Format: datetime 28 + */ 29 + class ModEventView extends Data 30 + { 31 + 32 + /** 33 + */ 34 + public function __construct( 35 + public readonly int $id, 36 + public readonly mixed $event, 37 + public readonly mixed $subject, 38 + public readonly array $subjectBlobCids, 39 + public readonly string $createdBy, 40 + public readonly Carbon $createdAt, 41 + public readonly ?string $creatorHandle = null, 42 + public readonly ?string $subjectHandle = null, 43 + public readonly mixed $modTool = null 44 + ) {} 45 + 46 + /** 47 + * Get the lexicon NSID for this data type. 48 + * 49 + * @return string 50 + */ 51 + public static function getLexicon(): string 52 + { 53 + return 'tools.ozone.moderation.defs.modEventView'; 54 + } 55 + 56 + 57 + /** 58 + * Create an instance from an array. 59 + * 60 + * @param array $data The data array 61 + * @return static 62 + */ 63 + public static function fromArray(array $data): static 64 + { 65 + return new static( 66 + id: $data['id'], 67 + event: UnionHelper::validateOpenUnion($data['event']), 68 + subject: UnionHelper::validateOpenUnion($data['subject']), 69 + subjectBlobCids: $data['subjectBlobCids'], 70 + createdBy: $data['createdBy'], 71 + createdAt: Carbon::parse($data['createdAt']), 72 + creatorHandle: $data['creatorHandle'] ?? null, 73 + subjectHandle: $data['subjectHandle'] ?? null, 74 + modTool: $data['modTool'] ?? null 75 + ); 76 + } 77 + 78 + }
+73
src/Generated/Tools/Ozone/Moderation/Defs/ModEventViewDetail.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\ModEventViewDetail\BlobView; 8 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\ModEventViewDetail\ModTool; 9 + use SocialDept\Schema\Support\UnionHelper; 10 + 11 + /** 12 + * Lexicon: tools.ozone.moderation.defs.modEventViewDetail 13 + * Type: object 14 + * 15 + * @property int $id 16 + * @property mixed $event 17 + * @property mixed $subject 18 + * @property array $subjectBlobs 19 + * @property string $createdBy 20 + * @property Carbon $createdAt 21 + * @property mixed $modTool 22 + * 23 + * Constraints: 24 + * - Required: id, event, subject, subjectBlobs, createdBy, createdAt 25 + * - createdBy: Format: did 26 + * - createdAt: Format: datetime 27 + */ 28 + class ModEventViewDetail extends Data 29 + { 30 + 31 + /** 32 + */ 33 + public function __construct( 34 + public readonly int $id, 35 + public readonly mixed $event, 36 + public readonly mixed $subject, 37 + public readonly array $subjectBlobs, 38 + public readonly string $createdBy, 39 + public readonly Carbon $createdAt, 40 + public readonly mixed $modTool = null 41 + ) {} 42 + 43 + /** 44 + * Get the lexicon NSID for this data type. 45 + * 46 + * @return string 47 + */ 48 + public static function getLexicon(): string 49 + { 50 + return 'tools.ozone.moderation.defs.modEventViewDetail'; 51 + } 52 + 53 + 54 + /** 55 + * Create an instance from an array. 56 + * 57 + * @param array $data The data array 58 + * @return static 59 + */ 60 + public static function fromArray(array $data): static 61 + { 62 + return new static( 63 + id: $data['id'], 64 + event: UnionHelper::validateOpenUnion($data['event']), 65 + subject: UnionHelper::validateOpenUnion($data['subject']), 66 + subjectBlobs: $data['subjectBlobs'] ?? [], 67 + createdBy: $data['createdBy'], 68 + createdAt: Carbon::parse($data['createdAt']), 69 + modTool: $data['modTool'] ?? null 70 + ); 71 + } 72 + 73 + }
+56
src/Generated/Tools/Ozone/Moderation/Defs/ModTool.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Moderation tool information for tracing the source of the action 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.modTool 11 + * Type: object 12 + * 13 + * @property string $name Name/identifier of the source (e.g., 'automod', 'ozone/workspace') 14 + * @property mixed $meta Additional arbitrary metadata about the source 15 + * 16 + * Constraints: 17 + * - Required: name 18 + */ 19 + class ModTool extends Data 20 + { 21 + 22 + /** 23 + * @param string $name Name/identifier of the source (e.g., 'automod', 'ozone/workspace') 24 + * @param mixed $meta Additional arbitrary metadata about the source 25 + */ 26 + public function __construct( 27 + public readonly string $name, 28 + public readonly mixed $meta = null 29 + ) {} 30 + 31 + /** 32 + * Get the lexicon NSID for this data type. 33 + * 34 + * @return string 35 + */ 36 + public static function getLexicon(): string 37 + { 38 + return 'tools.ozone.moderation.defs.modTool'; 39 + } 40 + 41 + 42 + /** 43 + * Create an instance from an array. 44 + * 45 + * @param array $data The data array 46 + * @return static 47 + */ 48 + public static function fromArray(array $data): static 49 + { 50 + return new static( 51 + name: $data['name'], 52 + meta: $data['meta'] ?? null 53 + ); 54 + } 55 + 56 + }
+47
src/Generated/Tools/Ozone/Moderation/Defs/Moderation.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\Moderation\SubjectStatusView; 7 + 8 + /** 9 + * Lexicon: tools.ozone.moderation.defs.moderation 10 + * Type: object 11 + * 12 + * @property mixed $subjectStatus 13 + */ 14 + class Moderation extends Data 15 + { 16 + 17 + /** 18 + */ 19 + public function __construct( 20 + public readonly mixed $subjectStatus = null 21 + ) {} 22 + 23 + /** 24 + * Get the lexicon NSID for this data type. 25 + * 26 + * @return string 27 + */ 28 + public static function getLexicon(): string 29 + { 30 + return 'tools.ozone.moderation.defs.moderation'; 31 + } 32 + 33 + 34 + /** 35 + * Create an instance from an array. 36 + * 37 + * @param array $data The data array 38 + * @return static 39 + */ 40 + public static function fromArray(array $data): static 41 + { 42 + return new static( 43 + subjectStatus: $data['subjectStatus'] ?? null 44 + ); 45 + } 46 + 47 + }
+47
src/Generated/Tools/Ozone/Moderation/Defs/ModerationDetail.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\ModerationDetail\SubjectStatusView; 7 + 8 + /** 9 + * Lexicon: tools.ozone.moderation.defs.moderationDetail 10 + * Type: object 11 + * 12 + * @property mixed $subjectStatus 13 + */ 14 + class ModerationDetail extends Data 15 + { 16 + 17 + /** 18 + */ 19 + public function __construct( 20 + public readonly mixed $subjectStatus = null 21 + ) {} 22 + 23 + /** 24 + * Get the lexicon NSID for this data type. 25 + * 26 + * @return string 27 + */ 28 + public static function getLexicon(): string 29 + { 30 + return 'tools.ozone.moderation.defs.moderationDetail'; 31 + } 32 + 33 + 34 + /** 35 + * Create an instance from an array. 36 + * 37 + * @param array $data The data array 38 + * @return static 39 + */ 40 + public static function fromArray(array $data): static 41 + { 42 + return new static( 43 + subjectStatus: $data['subjectStatus'] ?? null 44 + ); 45 + } 46 + 47 + }
+64
src/Generated/Tools/Ozone/Moderation/Defs/RecordEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Logs lifecycle event on a record subject. Normally captured by automod from 10 + * the firehose and emitted to ozone for historical tracking. 11 + * 12 + * Lexicon: tools.ozone.moderation.defs.recordEvent 13 + * Type: object 14 + * 15 + * @property string|null $comment 16 + * @property string $op 17 + * @property string|null $cid 18 + * @property Carbon $timestamp 19 + * 20 + * Constraints: 21 + * - Required: timestamp, op 22 + * - cid: Format: cid 23 + * - timestamp: Format: datetime 24 + */ 25 + class RecordEvent extends Data 26 + { 27 + 28 + /** 29 + */ 30 + public function __construct( 31 + public readonly string $op, 32 + public readonly Carbon $timestamp, 33 + public readonly ?string $comment = null, 34 + public readonly ?string $cid = null 35 + ) {} 36 + 37 + /** 38 + * Get the lexicon NSID for this data type. 39 + * 40 + * @return string 41 + */ 42 + public static function getLexicon(): string 43 + { 44 + return 'tools.ozone.moderation.defs.recordEvent'; 45 + } 46 + 47 + 48 + /** 49 + * Create an instance from an array. 50 + * 51 + * @param array $data The data array 52 + * @return static 53 + */ 54 + public static function fromArray(array $data): static 55 + { 56 + return new static( 57 + op: $data['op'], 58 + timestamp: Carbon::parse($data['timestamp']), 59 + comment: $data['comment'] ?? null, 60 + cid: $data['cid'] ?? null 61 + ); 62 + } 63 + 64 + }
+62
src/Generated/Tools/Ozone/Moderation/Defs/RecordHosting.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Lexicon: tools.ozone.moderation.defs.recordHosting 10 + * Type: object 11 + * 12 + * @property string $status 13 + * @property Carbon|null $updatedAt 14 + * @property Carbon|null $createdAt 15 + * @property Carbon|null $deletedAt 16 + * 17 + * Constraints: 18 + * - Required: status 19 + * - updatedAt: Format: datetime 20 + * - createdAt: Format: datetime 21 + * - deletedAt: Format: datetime 22 + */ 23 + class RecordHosting extends Data 24 + { 25 + 26 + /** 27 + */ 28 + public function __construct( 29 + public readonly string $status, 30 + public readonly ?Carbon $updatedAt = null, 31 + public readonly ?Carbon $createdAt = null, 32 + public readonly ?Carbon $deletedAt = null 33 + ) {} 34 + 35 + /** 36 + * Get the lexicon NSID for this data type. 37 + * 38 + * @return string 39 + */ 40 + public static function getLexicon(): string 41 + { 42 + return 'tools.ozone.moderation.defs.recordHosting'; 43 + } 44 + 45 + 46 + /** 47 + * Create an instance from an array. 48 + * 49 + * @param array $data The data array 50 + * @return static 51 + */ 52 + public static function fromArray(array $data): static 53 + { 54 + return new static( 55 + status: $data['status'], 56 + updatedAt: isset($data['updatedAt']) ? Carbon::parse($data['updatedAt']) : null, 57 + createdAt: isset($data['createdAt']) ? Carbon::parse($data['createdAt']) : null, 58 + deletedAt: isset($data['deletedAt']) ? Carbon::parse($data['deletedAt']) : null 59 + ); 60 + } 61 + 62 + }
+73
src/Generated/Tools/Ozone/Moderation/Defs/RecordView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\RecordView\Moderation; 8 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\RecordView\RepoView; 9 + 10 + /** 11 + * Lexicon: tools.ozone.moderation.defs.recordView 12 + * Type: object 13 + * 14 + * @property string $uri 15 + * @property string $cid 16 + * @property mixed $value 17 + * @property array<string> $blobCids 18 + * @property Carbon $indexedAt 19 + * @property mixed $moderation 20 + * @property mixed $repo 21 + * 22 + * Constraints: 23 + * - Required: uri, cid, value, blobCids, indexedAt, moderation, repo 24 + * - uri: Format: at-uri 25 + * - cid: Format: cid 26 + * - indexedAt: Format: datetime 27 + */ 28 + class RecordView extends Data 29 + { 30 + 31 + /** 32 + */ 33 + public function __construct( 34 + public readonly string $uri, 35 + public readonly string $cid, 36 + public readonly mixed $value, 37 + public readonly array $blobCids, 38 + public readonly Carbon $indexedAt, 39 + public readonly mixed $moderation, 40 + public readonly mixed $repo 41 + ) {} 42 + 43 + /** 44 + * Get the lexicon NSID for this data type. 45 + * 46 + * @return string 47 + */ 48 + public static function getLexicon(): string 49 + { 50 + return 'tools.ozone.moderation.defs.recordView'; 51 + } 52 + 53 + 54 + /** 55 + * Create an instance from an array. 56 + * 57 + * @param array $data The data array 58 + * @return static 59 + */ 60 + public static function fromArray(array $data): static 61 + { 62 + return new static( 63 + uri: $data['uri'], 64 + cid: $data['cid'], 65 + value: $data['value'], 66 + blobCids: $data['blobCids'], 67 + indexedAt: Carbon::parse($data['indexedAt']), 68 + moderation: $data['moderation'], 69 + repo: $data['repo'] 70 + ); 71 + } 72 + 73 + }
+78
src/Generated/Tools/Ozone/Moderation/Defs/RecordViewDetail.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 8 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\RecordViewDetail\BlobView; 9 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\RecordViewDetail\ModerationDetail; 10 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\RecordViewDetail\RepoView; 11 + 12 + /** 13 + * Lexicon: tools.ozone.moderation.defs.recordViewDetail 14 + * Type: object 15 + * 16 + * @property string $uri 17 + * @property string $cid 18 + * @property mixed $value 19 + * @property array $blobs 20 + * @property array<Label>|null $labels 21 + * @property Carbon $indexedAt 22 + * @property mixed $moderation 23 + * @property mixed $repo 24 + * 25 + * Constraints: 26 + * - Required: uri, cid, value, blobs, indexedAt, moderation, repo 27 + * - uri: Format: at-uri 28 + * - cid: Format: cid 29 + * - indexedAt: Format: datetime 30 + */ 31 + class RecordViewDetail extends Data 32 + { 33 + 34 + /** 35 + */ 36 + public function __construct( 37 + public readonly string $uri, 38 + public readonly string $cid, 39 + public readonly mixed $value, 40 + public readonly array $blobs, 41 + public readonly Carbon $indexedAt, 42 + public readonly mixed $moderation, 43 + public readonly mixed $repo, 44 + public readonly ?array $labels = null 45 + ) {} 46 + 47 + /** 48 + * Get the lexicon NSID for this data type. 49 + * 50 + * @return string 51 + */ 52 + public static function getLexicon(): string 53 + { 54 + return 'tools.ozone.moderation.defs.recordViewDetail'; 55 + } 56 + 57 + 58 + /** 59 + * Create an instance from an array. 60 + * 61 + * @param array $data The data array 62 + * @return static 63 + */ 64 + public static function fromArray(array $data): static 65 + { 66 + return new static( 67 + uri: $data['uri'], 68 + cid: $data['cid'], 69 + value: $data['value'], 70 + blobs: $data['blobs'] ?? [], 71 + indexedAt: Carbon::parse($data['indexedAt']), 72 + moderation: $data['moderation'], 73 + repo: $data['repo'], 74 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [] 75 + ); 76 + } 77 + 78 + }
+50
src/Generated/Tools/Ozone/Moderation/Defs/RecordViewNotFound.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.moderation.defs.recordViewNotFound 9 + * Type: object 10 + * 11 + * @property string $uri 12 + * 13 + * Constraints: 14 + * - Required: uri 15 + * - uri: Format: at-uri 16 + */ 17 + class RecordViewNotFound extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $uri 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'tools.ozone.moderation.defs.recordViewNotFound'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + uri: $data['uri'] 47 + ); 48 + } 49 + 50 + }
+77
src/Generated/Tools/Ozone/Moderation/Defs/RecordsStats.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Statistics about a set of record subject items 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.recordsStats 11 + * Type: object 12 + * 13 + * @property int|null $totalReports Cumulative sum of the number of reports on the items in the set 14 + * @property int|null $reportedCount Number of items that were reported at least once 15 + * @property int|null $escalatedCount Number of items that were escalated at least once 16 + * @property int|null $appealedCount Number of items that were appealed at least once 17 + * @property int|null $subjectCount Total number of item in the set 18 + * @property int|null $pendingCount Number of item currently in "reviewOpen" or "reviewEscalated" state 19 + * @property int|null $processedCount Number of item currently in "reviewNone" or "reviewClosed" state 20 + * @property int|null $takendownCount Number of item currently taken down 21 + */ 22 + class RecordsStats extends Data 23 + { 24 + 25 + /** 26 + * @param int|null $totalReports Cumulative sum of the number of reports on the items in the set 27 + * @param int|null $reportedCount Number of items that were reported at least once 28 + * @param int|null $escalatedCount Number of items that were escalated at least once 29 + * @param int|null $appealedCount Number of items that were appealed at least once 30 + * @param int|null $subjectCount Total number of item in the set 31 + * @param int|null $pendingCount Number of item currently in "reviewOpen" or "reviewEscalated" state 32 + * @param int|null $processedCount Number of item currently in "reviewNone" or "reviewClosed" state 33 + * @param int|null $takendownCount Number of item currently taken down 34 + */ 35 + public function __construct( 36 + public readonly ?int $totalReports = null, 37 + public readonly ?int $reportedCount = null, 38 + public readonly ?int $escalatedCount = null, 39 + public readonly ?int $appealedCount = null, 40 + public readonly ?int $subjectCount = null, 41 + public readonly ?int $pendingCount = null, 42 + public readonly ?int $processedCount = null, 43 + public readonly ?int $takendownCount = null 44 + ) {} 45 + 46 + /** 47 + * Get the lexicon NSID for this data type. 48 + * 49 + * @return string 50 + */ 51 + public static function getLexicon(): string 52 + { 53 + return 'tools.ozone.moderation.defs.recordsStats'; 54 + } 55 + 56 + 57 + /** 58 + * Create an instance from an array. 59 + * 60 + * @param array $data The data array 61 + * @return static 62 + */ 63 + public static function fromArray(array $data): static 64 + { 65 + return new static( 66 + totalReports: $data['totalReports'] ?? null, 67 + reportedCount: $data['reportedCount'] ?? null, 68 + escalatedCount: $data['escalatedCount'] ?? null, 69 + appealedCount: $data['appealedCount'] ?? null, 70 + subjectCount: $data['subjectCount'] ?? null, 71 + pendingCount: $data['pendingCount'] ?? null, 72 + processedCount: $data['processedCount'] ?? null, 73 + takendownCount: $data['takendownCount'] ?? null 74 + ); 75 + } 76 + 77 + }
+87
src/Generated/Tools/Ozone/Moderation/Defs/RepoView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Admin\ThreatSignature; 8 + use SocialDept\Schema\Generated\Com\Atproto\Server\InviteCode; 9 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\RepoView\Moderation; 10 + 11 + /** 12 + * Lexicon: tools.ozone.moderation.defs.repoView 13 + * Type: object 14 + * 15 + * @property string $did 16 + * @property string $handle 17 + * @property string|null $email 18 + * @property array $relatedRecords 19 + * @property Carbon $indexedAt 20 + * @property mixed $moderation 21 + * @property InviteCode|null $invitedBy 22 + * @property bool|null $invitesDisabled 23 + * @property string|null $inviteNote 24 + * @property Carbon|null $deactivatedAt 25 + * @property array<ThreatSignature>|null $threatSignatures 26 + * 27 + * Constraints: 28 + * - Required: did, handle, relatedRecords, indexedAt, moderation 29 + * - did: Format: did 30 + * - handle: Format: handle 31 + * - indexedAt: Format: datetime 32 + * - deactivatedAt: Format: datetime 33 + */ 34 + class RepoView extends Data 35 + { 36 + 37 + /** 38 + */ 39 + public function __construct( 40 + public readonly string $did, 41 + public readonly string $handle, 42 + public readonly array $relatedRecords, 43 + public readonly Carbon $indexedAt, 44 + public readonly mixed $moderation, 45 + public readonly ?string $email = null, 46 + public readonly ?InviteCode $invitedBy = null, 47 + public readonly ?bool $invitesDisabled = null, 48 + public readonly ?string $inviteNote = null, 49 + public readonly ?Carbon $deactivatedAt = null, 50 + public readonly ?array $threatSignatures = null 51 + ) {} 52 + 53 + /** 54 + * Get the lexicon NSID for this data type. 55 + * 56 + * @return string 57 + */ 58 + public static function getLexicon(): string 59 + { 60 + return 'tools.ozone.moderation.defs.repoView'; 61 + } 62 + 63 + 64 + /** 65 + * Create an instance from an array. 66 + * 67 + * @param array $data The data array 68 + * @return static 69 + */ 70 + public static function fromArray(array $data): static 71 + { 72 + return new static( 73 + did: $data['did'], 74 + handle: $data['handle'], 75 + relatedRecords: $data['relatedRecords'], 76 + indexedAt: Carbon::parse($data['indexedAt']), 77 + moderation: $data['moderation'], 78 + email: $data['email'] ?? null, 79 + invitedBy: isset($data['invitedBy']) ? Defs::fromArray($data['invitedBy']) : null, 80 + invitesDisabled: $data['invitesDisabled'] ?? null, 81 + inviteNote: $data['inviteNote'] ?? null, 82 + deactivatedAt: isset($data['deactivatedAt']) ? Carbon::parse($data['deactivatedAt']) : null, 83 + threatSignatures: isset($data['threatSignatures']) ? array_map(fn ($item) => Defs::fromArray($item), $data['threatSignatures']) : [] 84 + ); 85 + } 86 + 87 + }
+98
src/Generated/Tools/Ozone/Moderation/Defs/RepoViewDetail.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Com\Atproto\Admin\ThreatSignature; 8 + use SocialDept\Schema\Generated\Com\Atproto\Label\Label; 9 + use SocialDept\Schema\Generated\Com\Atproto\Server\InviteCode; 10 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\RepoViewDetail\ModerationDetail; 11 + 12 + /** 13 + * Lexicon: tools.ozone.moderation.defs.repoViewDetail 14 + * Type: object 15 + * 16 + * @property string $did 17 + * @property string $handle 18 + * @property string|null $email 19 + * @property array $relatedRecords 20 + * @property Carbon $indexedAt 21 + * @property mixed $moderation 22 + * @property array<Label>|null $labels 23 + * @property InviteCode|null $invitedBy 24 + * @property array<InviteCode>|null $invites 25 + * @property bool|null $invitesDisabled 26 + * @property string|null $inviteNote 27 + * @property Carbon|null $emailConfirmedAt 28 + * @property Carbon|null $deactivatedAt 29 + * @property array<ThreatSignature>|null $threatSignatures 30 + * 31 + * Constraints: 32 + * - Required: did, handle, relatedRecords, indexedAt, moderation 33 + * - did: Format: did 34 + * - handle: Format: handle 35 + * - indexedAt: Format: datetime 36 + * - emailConfirmedAt: Format: datetime 37 + * - deactivatedAt: Format: datetime 38 + */ 39 + class RepoViewDetail extends Data 40 + { 41 + 42 + /** 43 + */ 44 + public function __construct( 45 + public readonly string $did, 46 + public readonly string $handle, 47 + public readonly array $relatedRecords, 48 + public readonly Carbon $indexedAt, 49 + public readonly mixed $moderation, 50 + public readonly ?string $email = null, 51 + public readonly ?array $labels = null, 52 + public readonly ?InviteCode $invitedBy = null, 53 + public readonly ?array $invites = null, 54 + public readonly ?bool $invitesDisabled = null, 55 + public readonly ?string $inviteNote = null, 56 + public readonly ?Carbon $emailConfirmedAt = null, 57 + public readonly ?Carbon $deactivatedAt = null, 58 + public readonly ?array $threatSignatures = null 59 + ) {} 60 + 61 + /** 62 + * Get the lexicon NSID for this data type. 63 + * 64 + * @return string 65 + */ 66 + public static function getLexicon(): string 67 + { 68 + return 'tools.ozone.moderation.defs.repoViewDetail'; 69 + } 70 + 71 + 72 + /** 73 + * Create an instance from an array. 74 + * 75 + * @param array $data The data array 76 + * @return static 77 + */ 78 + public static function fromArray(array $data): static 79 + { 80 + return new static( 81 + did: $data['did'], 82 + handle: $data['handle'], 83 + relatedRecords: $data['relatedRecords'], 84 + indexedAt: Carbon::parse($data['indexedAt']), 85 + moderation: $data['moderation'], 86 + email: $data['email'] ?? null, 87 + labels: isset($data['labels']) ? array_map(fn ($item) => Defs::fromArray($item), $data['labels']) : [], 88 + invitedBy: isset($data['invitedBy']) ? Defs::fromArray($data['invitedBy']) : null, 89 + invites: isset($data['invites']) ? array_map(fn ($item) => Defs::fromArray($item), $data['invites']) : [], 90 + invitesDisabled: $data['invitesDisabled'] ?? null, 91 + inviteNote: $data['inviteNote'] ?? null, 92 + emailConfirmedAt: isset($data['emailConfirmedAt']) ? Carbon::parse($data['emailConfirmedAt']) : null, 93 + deactivatedAt: isset($data['deactivatedAt']) ? Carbon::parse($data['deactivatedAt']) : null, 94 + threatSignatures: isset($data['threatSignatures']) ? array_map(fn ($item) => Defs::fromArray($item), $data['threatSignatures']) : [] 95 + ); 96 + } 97 + 98 + }
+50
src/Generated/Tools/Ozone/Moderation/Defs/RepoViewNotFound.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.moderation.defs.repoViewNotFound 9 + * Type: object 10 + * 11 + * @property string $did 12 + * 13 + * Constraints: 14 + * - Required: did 15 + * - did: Format: did 16 + */ 17 + class RepoViewNotFound extends Data 18 + { 19 + 20 + /** 21 + */ 22 + public function __construct( 23 + public readonly string $did 24 + ) {} 25 + 26 + /** 27 + * Get the lexicon NSID for this data type. 28 + * 29 + * @return string 30 + */ 31 + public static function getLexicon(): string 32 + { 33 + return 'tools.ozone.moderation.defs.repoViewNotFound'; 34 + } 35 + 36 + 37 + /** 38 + * Create an instance from an array. 39 + * 40 + * @param array $data The data array 41 + * @return static 42 + */ 43 + public static function fromArray(array $data): static 44 + { 45 + return new static( 46 + did: $data['did'] 47 + ); 48 + } 49 + 50 + }
+82
src/Generated/Tools/Ozone/Moderation/Defs/ReporterStats.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.moderation.defs.reporterStats 9 + * Type: object 10 + * 11 + * @property string $did 12 + * @property int $accountReportCount The total number of reports made by the user on accounts. 13 + * @property int $recordReportCount The total number of reports made by the user on records. 14 + * @property int $reportedAccountCount The total number of accounts reported by the user. 15 + * @property int $reportedRecordCount The total number of records reported by the user. 16 + * @property int $takendownAccountCount The total number of accounts taken down as a result of the user's reports. 17 + * @property int $takendownRecordCount The total number of records taken down as a result of the user's reports. 18 + * @property int $labeledAccountCount The total number of accounts labeled as a result of the user's reports. 19 + * @property int $labeledRecordCount The total number of records labeled as a result of the user's reports. 20 + * 21 + * Constraints: 22 + * - Required: did, accountReportCount, recordReportCount, reportedAccountCount, reportedRecordCount, takendownAccountCount, takendownRecordCount, labeledAccountCount, labeledRecordCount 23 + * - did: Format: did 24 + */ 25 + class ReporterStats extends Data 26 + { 27 + 28 + /** 29 + * @param int $accountReportCount The total number of reports made by the user on accounts. 30 + * @param int $recordReportCount The total number of reports made by the user on records. 31 + * @param int $reportedAccountCount The total number of accounts reported by the user. 32 + * @param int $reportedRecordCount The total number of records reported by the user. 33 + * @param int $takendownAccountCount The total number of accounts taken down as a result of the user's reports. 34 + * @param int $takendownRecordCount The total number of records taken down as a result of the user's reports. 35 + * @param int $labeledAccountCount The total number of accounts labeled as a result of the user's reports. 36 + * @param int $labeledRecordCount The total number of records labeled as a result of the user's reports. 37 + */ 38 + public function __construct( 39 + public readonly string $did, 40 + public readonly int $accountReportCount, 41 + public readonly int $recordReportCount, 42 + public readonly int $reportedAccountCount, 43 + public readonly int $reportedRecordCount, 44 + public readonly int $takendownAccountCount, 45 + public readonly int $takendownRecordCount, 46 + public readonly int $labeledAccountCount, 47 + public readonly int $labeledRecordCount 48 + ) {} 49 + 50 + /** 51 + * Get the lexicon NSID for this data type. 52 + * 53 + * @return string 54 + */ 55 + public static function getLexicon(): string 56 + { 57 + return 'tools.ozone.moderation.defs.reporterStats'; 58 + } 59 + 60 + 61 + /** 62 + * Create an instance from an array. 63 + * 64 + * @param array $data The data array 65 + * @return static 66 + */ 67 + public static function fromArray(array $data): static 68 + { 69 + return new static( 70 + did: $data['did'], 71 + accountReportCount: $data['accountReportCount'], 72 + recordReportCount: $data['recordReportCount'], 73 + reportedAccountCount: $data['reportedAccountCount'], 74 + reportedRecordCount: $data['reportedRecordCount'], 75 + takendownAccountCount: $data['takendownAccountCount'], 76 + takendownRecordCount: $data['takendownRecordCount'], 77 + labeledAccountCount: $data['labeledAccountCount'], 78 + labeledRecordCount: $data['labeledRecordCount'] 79 + ); 80 + } 81 + 82 + }
+52
src/Generated/Tools/Ozone/Moderation/Defs/RevokeAccountCredentialsEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Account credentials revocation by moderators. Only works on DID subjects. 9 + * 10 + * Lexicon: tools.ozone.moderation.defs.revokeAccountCredentialsEvent 11 + * Type: object 12 + * 13 + * @property string $comment Comment describing the reason for the revocation. 14 + * 15 + * Constraints: 16 + * - Required: comment 17 + */ 18 + class RevokeAccountCredentialsEvent extends Data 19 + { 20 + 21 + /** 22 + * @param string $comment Comment describing the reason for the revocation. 23 + */ 24 + public function __construct( 25 + public readonly string $comment 26 + ) {} 27 + 28 + /** 29 + * Get the lexicon NSID for this data type. 30 + * 31 + * @return string 32 + */ 33 + public static function getLexicon(): string 34 + { 35 + return 'tools.ozone.moderation.defs.revokeAccountCredentialsEvent'; 36 + } 37 + 38 + 39 + /** 40 + * Create an instance from an array. 41 + * 42 + * @param array $data The data array 43 + * @return static 44 + */ 45 + public static function fromArray(array $data): static 46 + { 47 + return new static( 48 + comment: $data['comment'] 49 + ); 50 + } 51 + 52 + }
+63
src/Generated/Tools/Ozone/Moderation/Defs/ScheduleTakedownEvent.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * Logs a scheduled takedown action for an account. 10 + * 11 + * Lexicon: tools.ozone.moderation.defs.scheduleTakedownEvent 12 + * Type: object 13 + * 14 + * @property string|null $comment 15 + * @property Carbon|null $executeAt 16 + * @property Carbon|null $executeAfter 17 + * @property Carbon|null $executeUntil 18 + * 19 + * Constraints: 20 + * - executeAt: Format: datetime 21 + * - executeAfter: Format: datetime 22 + * - executeUntil: Format: datetime 23 + */ 24 + class ScheduleTakedownEvent extends Data 25 + { 26 + 27 + /** 28 + */ 29 + public function __construct( 30 + public readonly ?string $comment = null, 31 + public readonly ?Carbon $executeAt = null, 32 + public readonly ?Carbon $executeAfter = null, 33 + public readonly ?Carbon $executeUntil = null 34 + ) {} 35 + 36 + /** 37 + * Get the lexicon NSID for this data type. 38 + * 39 + * @return string 40 + */ 41 + public static function getLexicon(): string 42 + { 43 + return 'tools.ozone.moderation.defs.scheduleTakedownEvent'; 44 + } 45 + 46 + 47 + /** 48 + * Create an instance from an array. 49 + * 50 + * @param array $data The data array 51 + * @return static 52 + */ 53 + public static function fromArray(array $data): static 54 + { 55 + return new static( 56 + comment: $data['comment'] ?? null, 57 + executeAt: isset($data['executeAt']) ? Carbon::parse($data['executeAt']) : null, 58 + executeAfter: isset($data['executeAfter']) ? Carbon::parse($data['executeAfter']) : null, 59 + executeUntil: isset($data['executeUntil']) ? Carbon::parse($data['executeUntil']) : null 60 + ); 61 + } 62 + 63 + }
+117
src/Generated/Tools/Ozone/Moderation/Defs/ScheduledActionView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + 8 + /** 9 + * View of a scheduled moderation action 10 + * 11 + * Lexicon: tools.ozone.moderation.defs.scheduledActionView 12 + * Type: object 13 + * 14 + * @property int $id Auto-incrementing row ID 15 + * @property string $action Type of action to be executed 16 + * @property mixed $eventData Serialized event object that will be propagated to the event when performed 17 + * @property string $did Subject DID for the action 18 + * @property Carbon|null $executeAt Exact time to execute the action 19 + * @property Carbon|null $executeAfter Earliest time to execute the action (for randomized scheduling) 20 + * @property Carbon|null $executeUntil Latest time to execute the action (for randomized scheduling) 21 + * @property bool|null $randomizeExecution Whether execution time should be randomized within the specified range 22 + * @property string $createdBy DID of the user who created this scheduled action 23 + * @property Carbon $createdAt When the scheduled action was created 24 + * @property Carbon|null $updatedAt When the scheduled action was last updated 25 + * @property string $status Current status of the scheduled action 26 + * @property Carbon|null $lastExecutedAt When the action was last attempted to be executed 27 + * @property string|null $lastFailureReason Reason for the last execution failure 28 + * @property int|null $executionEventId ID of the moderation event created when action was successfully executed 29 + * 30 + * Constraints: 31 + * - Required: id, action, did, createdBy, createdAt, status 32 + * - did: Format: did 33 + * - executeAt: Format: datetime 34 + * - executeAfter: Format: datetime 35 + * - executeUntil: Format: datetime 36 + * - createdBy: Format: did 37 + * - createdAt: Format: datetime 38 + * - updatedAt: Format: datetime 39 + * - lastExecutedAt: Format: datetime 40 + */ 41 + class ScheduledActionView extends Data 42 + { 43 + 44 + /** 45 + * @param int $id Auto-incrementing row ID 46 + * @param string $action Type of action to be executed 47 + * @param string $did Subject DID for the action 48 + * @param string $createdBy DID of the user who created this scheduled action 49 + * @param Carbon $createdAt When the scheduled action was created 50 + * @param string $status Current status of the scheduled action 51 + * @param mixed $eventData Serialized event object that will be propagated to the event when performed 52 + * @param Carbon|null $executeAt Exact time to execute the action 53 + * @param Carbon|null $executeAfter Earliest time to execute the action (for randomized scheduling) 54 + * @param Carbon|null $executeUntil Latest time to execute the action (for randomized scheduling) 55 + * @param bool|null $randomizeExecution Whether execution time should be randomized within the specified range 56 + * @param Carbon|null $updatedAt When the scheduled action was last updated 57 + * @param Carbon|null $lastExecutedAt When the action was last attempted to be executed 58 + * @param string|null $lastFailureReason Reason for the last execution failure 59 + * @param int|null $executionEventId ID of the moderation event created when action was successfully executed 60 + */ 61 + public function __construct( 62 + public readonly int $id, 63 + public readonly string $action, 64 + public readonly string $did, 65 + public readonly string $createdBy, 66 + public readonly Carbon $createdAt, 67 + public readonly string $status, 68 + public readonly mixed $eventData = null, 69 + public readonly ?Carbon $executeAt = null, 70 + public readonly ?Carbon $executeAfter = null, 71 + public readonly ?Carbon $executeUntil = null, 72 + public readonly ?bool $randomizeExecution = null, 73 + public readonly ?Carbon $updatedAt = null, 74 + public readonly ?Carbon $lastExecutedAt = null, 75 + public readonly ?string $lastFailureReason = null, 76 + public readonly ?int $executionEventId = null 77 + ) {} 78 + 79 + /** 80 + * Get the lexicon NSID for this data type. 81 + * 82 + * @return string 83 + */ 84 + public static function getLexicon(): string 85 + { 86 + return 'tools.ozone.moderation.defs.scheduledActionView'; 87 + } 88 + 89 + 90 + /** 91 + * Create an instance from an array. 92 + * 93 + * @param array $data The data array 94 + * @return static 95 + */ 96 + public static function fromArray(array $data): static 97 + { 98 + return new static( 99 + id: $data['id'], 100 + action: $data['action'], 101 + did: $data['did'], 102 + createdBy: $data['createdBy'], 103 + createdAt: Carbon::parse($data['createdAt']), 104 + status: $data['status'], 105 + eventData: $data['eventData'] ?? null, 106 + executeAt: isset($data['executeAt']) ? Carbon::parse($data['executeAt']) : null, 107 + executeAfter: isset($data['executeAfter']) ? Carbon::parse($data['executeAfter']) : null, 108 + executeUntil: isset($data['executeUntil']) ? Carbon::parse($data['executeUntil']) : null, 109 + randomizeExecution: $data['randomizeExecution'] ?? null, 110 + updatedAt: isset($data['updatedAt']) ? Carbon::parse($data['updatedAt']) : null, 111 + lastExecutedAt: isset($data['lastExecutedAt']) ? Carbon::parse($data['lastExecutedAt']) : null, 112 + lastFailureReason: $data['lastFailureReason'] ?? null, 113 + executionEventId: $data['executionEventId'] ?? null 114 + ); 115 + } 116 + 117 + }
+149
src/Generated/Tools/Ozone/Moderation/Defs/SubjectStatusView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use Carbon\Carbon; 6 + use SocialDept\Schema\Data\Data; 7 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\SubjectStatusView\AccountStats; 8 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\SubjectStatusView\AccountStrike; 9 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\SubjectStatusView\RecordsStats; 10 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\SubjectStatusView\SubjectReviewState; 11 + use SocialDept\Schema\Support\UnionHelper; 12 + 13 + /** 14 + * Lexicon: tools.ozone.moderation.defs.subjectStatusView 15 + * Type: object 16 + * 17 + * @property int $id 18 + * @property mixed $subject 19 + * @property mixed $hosting 20 + * @property array<string>|null $subjectBlobCids 21 + * @property string|null $subjectRepoHandle 22 + * @property Carbon $updatedAt Timestamp referencing when the last update was made to the moderation status of the subject 23 + * @property Carbon $createdAt Timestamp referencing the first moderation status impacting event was emitted on the subject 24 + * @property mixed $reviewState 25 + * @property string|null $comment Sticky comment on the subject. 26 + * @property int|null $priorityScore Numeric value representing the level of priority. Higher score means higher priority. 27 + * @property Carbon|null $muteUntil 28 + * @property Carbon|null $muteReportingUntil 29 + * @property string|null $lastReviewedBy 30 + * @property Carbon|null $lastReviewedAt 31 + * @property Carbon|null $lastReportedAt 32 + * @property Carbon|null $lastAppealedAt Timestamp referencing when the author of the subject appealed a moderation action 33 + * @property bool|null $takendown 34 + * @property bool|null $appealed True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators. 35 + * @property Carbon|null $suspendUntil 36 + * @property array<string>|null $tags 37 + * @property mixed $accountStats Statistics related to the account subject 38 + * @property mixed $recordsStats Statistics related to the record subjects authored by the subject's account 39 + * @property mixed $accountStrike Strike information for the account (account-level only) 40 + * @property string|null $ageAssuranceState Current age assurance state of the subject. 41 + * @property string|null $ageAssuranceUpdatedBy Whether or not the last successful update to age assurance was made by the user or admin. 42 + * 43 + * Constraints: 44 + * - Required: id, subject, createdAt, updatedAt, reviewState 45 + * - updatedAt: Format: datetime 46 + * - createdAt: Format: datetime 47 + * - priorityScore: Maximum: 100 48 + * - priorityScore: Minimum: 0 49 + * - muteUntil: Format: datetime 50 + * - muteReportingUntil: Format: datetime 51 + * - lastReviewedBy: Format: did 52 + * - lastReviewedAt: Format: datetime 53 + * - lastReportedAt: Format: datetime 54 + * - lastAppealedAt: Format: datetime 55 + * - suspendUntil: Format: datetime 56 + */ 57 + class SubjectStatusView extends Data 58 + { 59 + 60 + /** 61 + * @param Carbon $updatedAt Timestamp referencing when the last update was made to the moderation status of the subject 62 + * @param Carbon $createdAt Timestamp referencing the first moderation status impacting event was emitted on the subject 63 + * @param string|null $comment Sticky comment on the subject. 64 + * @param int|null $priorityScore Numeric value representing the level of priority. Higher score means higher priority. 65 + * @param Carbon|null $lastAppealedAt Timestamp referencing when the author of the subject appealed a moderation action 66 + * @param bool|null $appealed True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators. 67 + * @param mixed $accountStats Statistics related to the account subject 68 + * @param mixed $recordsStats Statistics related to the record subjects authored by the subject's account 69 + * @param mixed $accountStrike Strike information for the account (account-level only) 70 + * @param string|null $ageAssuranceState Current age assurance state of the subject. 71 + * @param string|null $ageAssuranceUpdatedBy Whether or not the last successful update to age assurance was made by the user or admin. 72 + */ 73 + public function __construct( 74 + public readonly int $id, 75 + public readonly mixed $subject, 76 + public readonly Carbon $updatedAt, 77 + public readonly Carbon $createdAt, 78 + public readonly mixed $reviewState, 79 + public readonly mixed $hosting = null, 80 + public readonly ?array $subjectBlobCids = null, 81 + public readonly ?string $subjectRepoHandle = null, 82 + public readonly ?string $comment = null, 83 + public readonly ?int $priorityScore = null, 84 + public readonly ?Carbon $muteUntil = null, 85 + public readonly ?Carbon $muteReportingUntil = null, 86 + public readonly ?string $lastReviewedBy = null, 87 + public readonly ?Carbon $lastReviewedAt = null, 88 + public readonly ?Carbon $lastReportedAt = null, 89 + public readonly ?Carbon $lastAppealedAt = null, 90 + public readonly ?bool $takendown = null, 91 + public readonly ?bool $appealed = null, 92 + public readonly ?Carbon $suspendUntil = null, 93 + public readonly ?array $tags = null, 94 + public readonly mixed $accountStats = null, 95 + public readonly mixed $recordsStats = null, 96 + public readonly mixed $accountStrike = null, 97 + public readonly ?string $ageAssuranceState = null, 98 + public readonly ?string $ageAssuranceUpdatedBy = null 99 + ) {} 100 + 101 + /** 102 + * Get the lexicon NSID for this data type. 103 + * 104 + * @return string 105 + */ 106 + public static function getLexicon(): string 107 + { 108 + return 'tools.ozone.moderation.defs.subjectStatusView'; 109 + } 110 + 111 + 112 + /** 113 + * Create an instance from an array. 114 + * 115 + * @param array $data The data array 116 + * @return static 117 + */ 118 + public static function fromArray(array $data): static 119 + { 120 + return new static( 121 + id: $data['id'], 122 + subject: UnionHelper::validateOpenUnion($data['subject']), 123 + updatedAt: Carbon::parse($data['updatedAt']), 124 + createdAt: Carbon::parse($data['createdAt']), 125 + reviewState: $data['reviewState'], 126 + hosting: isset($data['hosting']) ? UnionHelper::validateOpenUnion($data['hosting']) : null, 127 + subjectBlobCids: $data['subjectBlobCids'] ?? null, 128 + subjectRepoHandle: $data['subjectRepoHandle'] ?? null, 129 + comment: $data['comment'] ?? null, 130 + priorityScore: $data['priorityScore'] ?? null, 131 + muteUntil: isset($data['muteUntil']) ? Carbon::parse($data['muteUntil']) : null, 132 + muteReportingUntil: isset($data['muteReportingUntil']) ? Carbon::parse($data['muteReportingUntil']) : null, 133 + lastReviewedBy: $data['lastReviewedBy'] ?? null, 134 + lastReviewedAt: isset($data['lastReviewedAt']) ? Carbon::parse($data['lastReviewedAt']) : null, 135 + lastReportedAt: isset($data['lastReportedAt']) ? Carbon::parse($data['lastReportedAt']) : null, 136 + lastAppealedAt: isset($data['lastAppealedAt']) ? Carbon::parse($data['lastAppealedAt']) : null, 137 + takendown: $data['takendown'] ?? null, 138 + appealed: $data['appealed'] ?? null, 139 + suspendUntil: isset($data['suspendUntil']) ? Carbon::parse($data['suspendUntil']) : null, 140 + tags: $data['tags'] ?? null, 141 + accountStats: $data['accountStats'] ?? null, 142 + recordsStats: $data['recordsStats'] ?? null, 143 + accountStrike: $data['accountStrike'] ?? null, 144 + ageAssuranceState: $data['ageAssuranceState'] ?? null, 145 + ageAssuranceUpdatedBy: $data['ageAssuranceUpdatedBy'] ?? null 146 + ); 147 + } 148 + 149 + }
+72
src/Generated/Tools/Ozone/Moderation/Defs/SubjectView.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + use SocialDept\Schema\Generated\Com\Atproto\Moderation\SubjectType; 7 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\SubjectView\RecordViewDetail; 8 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\SubjectView\RepoViewDetail; 9 + use SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs\SubjectView\SubjectStatusView; 10 + use SocialDept\Schema\Support\UnionHelper; 11 + 12 + /** 13 + * Detailed view of a subject. For record subjects, the author's repo and 14 + * profile will be returned. 15 + * 16 + * Lexicon: tools.ozone.moderation.defs.subjectView 17 + * Type: object 18 + * 19 + * @property SubjectType $type 20 + * @property string $subject 21 + * @property mixed $status 22 + * @property mixed $repo 23 + * @property mixed $profile 24 + * @property mixed $record 25 + * 26 + * Constraints: 27 + * - Required: type, subject 28 + */ 29 + class SubjectView extends Data 30 + { 31 + 32 + /** 33 + */ 34 + public function __construct( 35 + public readonly SubjectType $type, 36 + public readonly string $subject, 37 + public readonly mixed $status = null, 38 + public readonly mixed $repo = null, 39 + public readonly mixed $profile = null, 40 + public readonly mixed $record = null 41 + ) {} 42 + 43 + /** 44 + * Get the lexicon NSID for this data type. 45 + * 46 + * @return string 47 + */ 48 + public static function getLexicon(): string 49 + { 50 + return 'tools.ozone.moderation.defs.subjectView'; 51 + } 52 + 53 + 54 + /** 55 + * Create an instance from an array. 56 + * 57 + * @param array $data The data array 58 + * @return static 59 + */ 60 + public static function fromArray(array $data): static 61 + { 62 + return new static( 63 + type: Defs::fromArray($data['type']), 64 + subject: $data['subject'], 65 + status: $data['status'] ?? null, 66 + repo: $data['repo'] ?? null, 67 + profile: isset($data['profile']) ? UnionHelper::validateOpenUnion($data['profile']) : null, 68 + record: $data['record'] ?? null 69 + ); 70 + } 71 + 72 + }
+55
src/Generated/Tools/Ozone/Moderation/Defs/VideoDetails.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation\Defs; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.moderation.defs.videoDetails 9 + * Type: object 10 + * 11 + * @property int $width 12 + * @property int $height 13 + * @property int $length 14 + * 15 + * Constraints: 16 + * - Required: width, height, length 17 + */ 18 + class VideoDetails extends Data 19 + { 20 + 21 + /** 22 + */ 23 + public function __construct( 24 + public readonly int $width, 25 + public readonly int $height, 26 + public readonly int $length 27 + ) {} 28 + 29 + /** 30 + * Get the lexicon NSID for this data type. 31 + * 32 + * @return string 33 + */ 34 + public static function getLexicon(): string 35 + { 36 + return 'tools.ozone.moderation.defs.videoDetails'; 37 + } 38 + 39 + 40 + /** 41 + * Create an instance from an array. 42 + * 43 + * @param array $data The data array 44 + * @return static 45 + */ 46 + public static function fromArray(array $data): static 47 + { 48 + return new static( 49 + width: $data['width'], 50 + height: $data['height'], 51 + length: $data['length'] 52 + ); 53 + } 54 + 55 + }
+11
src/Generated/Tools/Ozone/Moderation/SubjectReviewState.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Moderation; 4 + 5 + enum SubjectReviewState: string 6 + { 7 + case ReviewOpen = '#reviewOpen'; 8 + case ReviewEscalated = '#reviewEscalated'; 9 + case ReviewClosed = '#reviewClosed'; 10 + case ReviewNone = '#reviewNone'; 11 + }
+49
src/Generated/Tools/Ozone/Server/GetConfig/ServiceConfig.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Server\GetConfig; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.server.getConfig.serviceConfig 9 + * Type: object 10 + * 11 + * @property string|null $url 12 + * 13 + * Constraints: 14 + * - url: Format: uri 15 + */ 16 + class ServiceConfig extends Data 17 + { 18 + 19 + /** 20 + */ 21 + public function __construct( 22 + public readonly ?string $url = null 23 + ) {} 24 + 25 + /** 26 + * Get the lexicon NSID for this data type. 27 + * 28 + * @return string 29 + */ 30 + public static function getLexicon(): string 31 + { 32 + return 'tools.ozone.server.getConfig.serviceConfig'; 33 + } 34 + 35 + 36 + /** 37 + * Create an instance from an array. 38 + * 39 + * @param array $data The data array 40 + * @return static 41 + */ 42 + public static function fromArray(array $data): static 43 + { 44 + return new static( 45 + url: $data['url'] ?? null 46 + ); 47 + } 48 + 49 + }
+46
src/Generated/Tools/Ozone/Server/GetConfig/ViewerConfig.php
··· 1 + <?php 2 + 3 + namespace SocialDept\Schema\Generated\Tools\Ozone\Server\GetConfig; 4 + 5 + use SocialDept\Schema\Data\Data; 6 + 7 + /** 8 + * Lexicon: tools.ozone.server.getConfig.viewerConfig 9 + * Type: object 10 + * 11 + * @property string|null $role 12 + */ 13 + class ViewerConfig extends Data 14 + { 15 + 16 + /** 17 + */ 18 + public function __construct( 19 + public readonly ?string $role = null 20 + ) {} 21 + 22 + /** 23 + * Get the lexicon NSID for this data type. 24 + * 25 + * @return string 26 + */ 27 + public static function getLexicon(): string 28 + { 29 + return 'tools.ozone.server.getConfig.viewerConfig'; 30 + } 31 + 32 + 33 + /** 34 + * Create an instance from an array. 35 + * 36 + * @param array $data The data array 37 + * @return static 38 + */ 39 + public static function fromArray(array $data): static 40 + { 41 + return new static( 42 + role: $data['role'] ?? null 43 + ); 44 + } 45 + 46 + }