. // }}} namespace App\Entity; use App\Core\Entity; use DateTimeInterface; /** * Entity for user's email confimation * * @category DB * @package GNUsocial * * @author Zach Copley * @copyright 2010 StatusNet Inc. * @author Mikael Nordfeldth * @copyright 2009-2014 Free Software Foundation, Inc http://www.fsf.org * @author Hugo Sales * @copyright 2020-2021 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ class ConfirmAddress extends Entity { // {{{ Autocode // @codeCoverageIgnoreStart private string $code; private ?int $user_id = 0; private string $address; private ?string $address_extra = null; private string $address_type; private ?\DateTimeInterface $claimed = null; private \DateTimeInterface $sent; private \DateTimeInterface $modified; public function setCode(string $code): self { $this->code = \mb_substr($code, 0, 32); return $this; } public function getCode(): string { return $this->code; } public function setUserId(?int $user_id): self { $this->user_id = $user_id; return $this; } public function getUserId(): ?int { return $this->user_id; } public function setAddress(string $address): self { $this->address = \mb_substr($address, 0, 191); return $this; } public function getAddress(): string { return $this->address; } public function setAddressExtra(?string $address_extra): self { $this->address_extra = \is_null($address_extra) ? null : \mb_substr($address_extra, 0, 191); return $this; } public function getAddressExtra(): ?string { return $this->address_extra; } public function setAddressType(string $address_type): self { $this->address_type = \mb_substr($address_type, 0, 8); return $this; } public function getAddressType(): string { return $this->address_type; } public function setClaimed(?\DateTimeInterface $claimed): self { $this->claimed = $claimed; return $this; } public function getClaimed(): ?\DateTimeInterface { return $this->claimed; } public function setSent(\DateTimeInterface $sent): self { $this->sent = $sent; return $this; } public function getSent(): \DateTimeInterface { return $this->sent; } public function setModified(\DateTimeInterface $modified): self { $this->modified = $modified; return $this; } public function getModified(): \DateTimeInterface { return $this->modified; } // @codeCoverageIgnoreEnd // }}} Autocode public static function schemaDef(): array { return [ 'name' => 'confirm_address', 'fields' => [ 'code' => ['type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'good random code'], 'user_id' => ['type' => 'int', 'foreign key' => true, 'target' => 'LocalUser.id', 'name' => 'confirm_address_user_id_fkey', 'multiplicity' => 'one to one', 'default' => 0, 'description' => 'user who requested confirmation'], 'address' => ['type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'address (email, xmpp, SMS, etc.)'], 'address_extra' => ['type' => 'varchar', 'length' => 191, 'description' => 'carrier ID, for SMS'], 'address_type' => ['type' => 'varchar', 'length' => 8, 'not null' => true, 'description' => 'address type ("email", "xmpp", "sms")'], 'claimed' => ['type' => 'datetime', 'description' => 'date this was claimed for queueing'], 'sent' => ['type' => 'datetime', 'not null' => true, 'default' => 'CURRENT_TIMESTAMP', 'description' => 'date this was sent for queueing'], 'modified' => ['type' => 'timestamp', 'not null' => true, 'default' => 'CURRENT_TIMESTAMP', 'description' => 'date this record was modified'], ], 'primary key' => ['code'], ]; } }