diff --git a/src/Entity/Actor.php b/src/Entity/Actor.php index 1b7c0e4a56..3a36b83478 100644 --- a/src/Entity/Actor.php +++ b/src/Entity/Actor.php @@ -59,6 +59,7 @@ class Actor extends Entity private string $nickname; private ?string $fullname = null; private int $roles = 4; + private int $type; private ?string $homepage; private ?string $bio; private ?string $location; @@ -117,6 +118,17 @@ class Actor extends Entity return $this->roles; } + public function setType(int $type): self + { + $this->type = $type; + return $this; + } + + public function getType(): int + { + return $this->type; + } + public function setHomepage(?string $homepage): self { $this->homepage = $homepage; @@ -230,6 +242,12 @@ class Actor extends Entity // @codeCoverageIgnoreEnd // }}} Autocode + public const PERSON = 1; + public const GROUP = 2; + public const ORGANIZATION = 3; + public const BUSINESS = 4; + public const BOT = 5; + public static function cacheKeys(int $actor_id, mixed $other = null): array { return [ @@ -519,6 +537,7 @@ class Actor extends Entity 'nickname' => ['type' => 'varchar', 'length' => 64, 'not null' => true, 'description' => 'nickname or username'], 'fullname' => ['type' => 'text', 'description' => 'display name'], 'roles' => ['type' => 'int', 'not null' => true, 'default' => UserRoles::USER, 'description' => 'Bitmap of permissions this actor has'], + 'type' => ['type' => 'int', 'not null' => true, 'description' => 'The type of actor (person, group, bot, etc)'], 'homepage' => ['type' => 'text', 'description' => 'identifying URL'], 'bio' => ['type' => 'text', 'description' => 'descriptive biography'], 'location' => ['type' => 'text', 'description' => 'physical location'],