Something went wrong. Try again.
A barebones implementation of an atproto PDS in PHP and Slim Framework 4.
pds php atproto
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576<?php
declare(strict_types=1);
namespace App\Domain\Account;
use App\Domain\Common\StringNormalizer;use DateTimeImmutable;use JsonSerializable;
class Account implements JsonSerializable{ private string $did;
private string $email;
private string $passwordScrypt;
private ?DateTimeImmutable $emailConfirmedAt;
private bool $invitesDisabled;
public function __construct( string $did, string $email, string $passwordScrypt, ?DateTimeImmutable $emailConfirmedAt = null, bool $invitesDisabled = false ) { $this->did = $did; $this->email = StringNormalizer::normalizeEmail($email); $this->passwordScrypt = $passwordScrypt; $this->emailConfirmedAt = $emailConfirmedAt; $this->invitesDisabled = $invitesDisabled; }
public function getDid(): string { return $this->did; }
public function getEmail(): string { return $this->email; }
public function getPasswordScrypt(): string { return $this->passwordScrypt; }
public function getEmailConfirmedAt(): ?DateTimeImmutable { return $this->emailConfirmedAt; }
public function isInvitesDisabled(): bool { return $this->invitesDisabled; }
/** * @return array<string, mixed> */ #[\ReturnTypeWillChange] public function jsonSerialize(): array { return [ 'did' => $this->did, 'email' => $this->email, 'emailConfirmedAt' => $this->emailConfirmedAt?->format(DATE_ATOM), 'invitesDisabled' => $this->invitesDisabled, ]; }}