Something went wrong. Try again.
Parse and validate AT Protocol Lexicons with DTO generation for Laravel
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990<?php
namespace SocialDept\AtpSchema\Generated\Com\Atproto\Admin\Defs;
use Carbon\Carbon;use SocialDept\AtpSchema\Data\Data;use SocialDept\AtpSchema\Generated\Com\Atproto\Server\Defs\InviteCode;
/** * GENERATED CODE - DO NOT EDIT * * Lexicon: com.atproto.admin.defs.accountView * Type: object * * @property string $did * @property string $handle * @property string|null $email * @property array|null $relatedRecords * @property Carbon $indexedAt * @property InviteCode|null $invitedBy * @property array<InviteCode>|null $invites * @property bool|null $invitesDisabled * @property Carbon|null $emailConfirmedAt * @property string|null $inviteNote * @property Carbon|null $deactivatedAt * @property array|null $threatSignatures * * Constraints: * - Required: did, handle, indexedAt * - did: Format: did * - handle: Format: handle * - indexedAt: Format: datetime * - emailConfirmedAt: Format: datetime * - deactivatedAt: Format: datetime */class AccountView extends Data{ public function __construct( public readonly string $did, public readonly string $handle, public readonly Carbon $indexedAt, public readonly ?string $email = null, public readonly ?array $relatedRecords = null, public readonly ?InviteCode $invitedBy = null, public readonly ?array $invites = null, public readonly ?bool $invitesDisabled = null, public readonly ?Carbon $emailConfirmedAt = null, public readonly ?string $inviteNote = null, public readonly ?Carbon $deactivatedAt = null, public readonly ?array $threatSignatures = null ) { }
/** * Get the lexicon NSID for this data type. * * @return string */ public static function getLexicon(): string { return 'com.atproto.admin.defs.accountView'; }
/** * Create an instance from an array. * * @param array $data The data array * @return static */ public static function fromArray(array $data): static { return new static( did: $data['did'], handle: $data['handle'], indexedAt: Carbon::parse($data['indexedAt']), email: $data['email'] ?? null, relatedRecords: $data['relatedRecords'] ?? null, invitedBy: isset($data['invitedBy']) ? InviteCode::fromArray($data['invitedBy']) : null, invites: isset($data['invites']) ? array_map(fn ($item) => InviteCode::fromArray($item), $data['invites']) : [], invitesDisabled: $data['invitesDisabled'] ?? null, emailConfirmedAt: isset($data['emailConfirmedAt']) ? Carbon::parse($data['emailConfirmedAt']) : null, inviteNote: $data['inviteNote'] ?? null, deactivatedAt: isset($data['deactivatedAt']) ? Carbon::parse($data['deactivatedAt']) : null, threatSignatures: $data['threatSignatures'] ?? [] ); }
}